@firestone-hs/simulate-bgs-battle 1.1.573 → 1.1.575
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 +2 -0
- package/dist/bgs-player-entity.js.map +1 -1
- package/dist/board-secret.d.ts +1 -0
- package/dist/board-secret.js.map +1 -1
- package/dist/cards/impl/_card-mappings.js +2 -0
- package/dist/cards/impl/_card-mappings.js.map +1 -1
- package/dist/cards/impl/hero-power/rapid-reanimation.js +1 -2
- package/dist/cards/impl/hero-power/rapid-reanimation.js.map +1 -1
- package/dist/cards/impl/minion/corrupted-bristler.js +1 -1
- package/dist/cards/impl/minion/corrupted-bristler.js.map +1 -1
- package/dist/cards/impl/minion/fire-forged-evoker.js +2 -1
- package/dist/cards/impl/minion/fire-forged-evoker.js.map +1 -1
- package/dist/cards/impl/minion/flighty-scout.js +1 -1
- package/dist/cards/impl/minion/flighty-scout.js.map +1 -1
- package/dist/cards/impl/minion/humongozz.d.ts +2 -0
- package/dist/cards/impl/minion/humongozz.js +17 -0
- package/dist/cards/impl/minion/humongozz.js.map +1 -0
- package/dist/cards/impl/spell/fleeting-vigor.js +1 -1
- package/dist/cards/impl/spell/fleeting-vigor.js.map +1 -1
- package/dist/cards/impl/trinket/eclectic-shrine.js +1 -1
- package/dist/cards/impl/trinket/eclectic-shrine.js.map +1 -1
- package/dist/input-sanitation.js +0 -1
- package/dist/input-sanitation.js.map +1 -1
- package/dist/simulation/auras.js +16 -13
- package/dist/simulation/auras.js.map +1 -1
- package/dist/simulation/deathrattle-effects.js +14 -4
- package/dist/simulation/deathrattle-effects.js.map +1 -1
- package/dist/simulation/deathrattle-spawns.js +1 -0
- package/dist/simulation/deathrattle-spawns.js.map +1 -1
- package/dist/simulation/stats.js.map +1 -1
- package/package.json +1 -1
|
@@ -67,6 +67,8 @@ export interface BgsPlayerGlobalInfo {
|
|
|
67
67
|
BeetleHealthBuff?: number;
|
|
68
68
|
ElementalAttackBuff?: number;
|
|
69
69
|
ElementalHealthBuff?: number;
|
|
70
|
+
TavernSpellHealthBuff?: number;
|
|
71
|
+
TavernSpellAttackBuff?: number;
|
|
70
72
|
MutatedLasherAttackBuff?: number;
|
|
71
73
|
MutatedLasherHealthBuff?: number;
|
|
72
74
|
BattlecriesTriggeredThisGame?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bgs-player-entity.js","sourceRoot":"","sources":["../src/bgs-player-entity.ts"],"names":[],"mappings":"","sourcesContent":["import { BoardEntity } from './board-entity';\r\nimport { BoardSecret } from './board-secret';\r\n\r\nexport interface BgsPlayerEntity {\r\n\tcardId: string;\r\n\t// readonly nonGhostCardId?: string;\r\n\thpLeft: number;\r\n\treadonly tavernTier: number;\r\n\theroPowers: readonly BgsHeroPower[];\r\n\r\n\t/** @deprecated */\r\n\theroPowerId?: string | undefined | null;\r\n\t/** @deprecated */\r\n\treadonly heroPowerEntityId?: number;\r\n\t/** @deprecated */\r\n\treadonly heroPowerUsed: boolean;\r\n\t/** @deprecated */\r\n\treadonly heroPowerInfo?: number | string;\r\n\t/** @deprecated */\r\n\theroPowerInfo2?: number;\r\n\t/** @deprecated */\r\n\tavengeCurrent?: number;\r\n\t/** @deprecated */\r\n\tavengeDefault?: number;\r\n\t// For Ozumat\r\n\t/** @deprecated */\r\n\theroPowerActivated?: boolean;\r\n\r\n\tfriendly?: boolean;\r\n\tentityId?: number;\r\n\tquestEntities: BgsQuestEntity[];\r\n\tquestRewards?: string[];\r\n\tquestRewardEntities?: {\r\n\t\tcardId: string;\r\n\t\tentityId: number;\r\n\t\tavengeDefault?: number;\r\n\t\tavengeCurrent?: number;\r\n\t\tscriptDataNum1: number;\r\n\t}[];\r\n\thand?: BoardEntity[];\r\n\tsecrets?: BoardSecret[];\r\n\ttrinkets?: BoardTrinket[];\r\n\tglobalInfo?: BgsPlayerGlobalInfo;\r\n\tstartOfCombatDone?: boolean;\r\n\r\n\tdeadEyeDamageDone?: number;\r\n\trapidReanimationMinion?: BoardEntity;\r\n\trapidReanimationIndexFromLeft?: number;\r\n\trapidReanimationIndexFromRight?: number;\r\n}\r\n\r\nexport interface BgsHeroPower {\r\n\tcardId: string;\r\n\tentityId: number;\r\n\tused: boolean;\r\n\tinfo: number | string;\r\n\tinfo2: number;\r\n\tavengeCurrent?: number;\r\n\tavengeDefault?: number;\r\n\t// For Ozumat's Tentacular\r\n\tactivated?: boolean;\r\n}\r\n\r\nexport interface BgsPlayerGlobalInfo {\r\n\tEternalKnightsDeadThisGame?: number;\r\n\tSanlaynScribesDeadThisGame?: number;\r\n\tUndeadAttackBonus?: number;\r\n\tFrostlingBonus?: number;\r\n\tBloodGemAttackBonus?: number;\r\n\tBloodGemHealthBonus?: number;\r\n\tGoldrinnBuffAtk?: number;\r\n\tGoldrinnBuffHealth?: number;\r\n\tSpellsCastThisGame?: number;\r\n\tTavernSpellsCastThisGame?: number;\r\n\tPiratesPlayedThisGame?: number;\r\n\tBeastsSummonedThisGame?: number;\r\n\tMagnetizedThisGame?: number;\r\n\tPiratesSummonedThisGame?: number;\r\n\tPirateAttackBonus?: number;\r\n\tAstralAutomatonsSummonedThisGame?: number;\r\n\tChoralAttackBuff?: number;\r\n\tChoralHealthBuff?: number;\r\n\tBeetleAttackBuff?: number;\r\n\tBeetleHealthBuff?: number;\r\n\tElementalAttackBuff?: number;\r\n\tElementalHealthBuff?: number;\r\n\tMutatedLasherAttackBuff?: number;\r\n\tMutatedLasherHealthBuff?: number;\r\n\tBattlecriesTriggeredThisGame?: number;\r\n\tFriendlyMinionsDeadLastCombat?: number;\r\n}\r\n\r\nexport interface BgsQuestEntity {\r\n\tCardId: string;\r\n\tRewardDbfId: number;\r\n\tProgressCurrent: number;\r\n\tProgressTotal: number;\r\n}\r\n\r\nexport interface BoardTrinket {\r\n\tcardId: string;\r\n\tentityId: number;\r\n\tscriptDataNum1: number;\r\n\tscriptDataNum6?: number;\r\n\trememberedMinion?: BoardEntity;\r\n\tavengeDefault?: number;\r\n\tavengeCurrent?: number;\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"bgs-player-entity.js","sourceRoot":"","sources":["../src/bgs-player-entity.ts"],"names":[],"mappings":"","sourcesContent":["import { BoardEntity } from './board-entity';\r\nimport { BoardSecret } from './board-secret';\r\n\r\nexport interface BgsPlayerEntity {\r\n\tcardId: string;\r\n\t// readonly nonGhostCardId?: string;\r\n\thpLeft: number;\r\n\treadonly tavernTier: number;\r\n\theroPowers: readonly BgsHeroPower[];\r\n\r\n\t/** @deprecated */\r\n\theroPowerId?: string | undefined | null;\r\n\t/** @deprecated */\r\n\treadonly heroPowerEntityId?: number;\r\n\t/** @deprecated */\r\n\treadonly heroPowerUsed: boolean;\r\n\t/** @deprecated */\r\n\treadonly heroPowerInfo?: number | string;\r\n\t/** @deprecated */\r\n\theroPowerInfo2?: number;\r\n\t/** @deprecated */\r\n\tavengeCurrent?: number;\r\n\t/** @deprecated */\r\n\tavengeDefault?: number;\r\n\t// For Ozumat\r\n\t/** @deprecated */\r\n\theroPowerActivated?: boolean;\r\n\r\n\tfriendly?: boolean;\r\n\tentityId?: number;\r\n\tquestEntities: BgsQuestEntity[];\r\n\tquestRewards?: string[];\r\n\tquestRewardEntities?: {\r\n\t\tcardId: string;\r\n\t\tentityId: number;\r\n\t\tavengeDefault?: number;\r\n\t\tavengeCurrent?: number;\r\n\t\tscriptDataNum1: number;\r\n\t}[];\r\n\thand?: BoardEntity[];\r\n\tsecrets?: BoardSecret[];\r\n\ttrinkets?: BoardTrinket[];\r\n\tglobalInfo?: BgsPlayerGlobalInfo;\r\n\tstartOfCombatDone?: boolean;\r\n\r\n\tdeadEyeDamageDone?: number;\r\n\trapidReanimationMinion?: BoardEntity;\r\n\trapidReanimationIndexFromLeft?: number;\r\n\trapidReanimationIndexFromRight?: number;\r\n}\r\n\r\nexport interface BgsHeroPower {\r\n\tcardId: string;\r\n\tentityId: number;\r\n\tused: boolean;\r\n\tinfo: number | string;\r\n\tinfo2: number;\r\n\tavengeCurrent?: number;\r\n\tavengeDefault?: number;\r\n\t// For Ozumat's Tentacular\r\n\tactivated?: boolean;\r\n}\r\n\r\nexport interface BgsPlayerGlobalInfo {\r\n\tEternalKnightsDeadThisGame?: number;\r\n\tSanlaynScribesDeadThisGame?: number;\r\n\tUndeadAttackBonus?: number;\r\n\tFrostlingBonus?: number;\r\n\tBloodGemAttackBonus?: number;\r\n\tBloodGemHealthBonus?: number;\r\n\tGoldrinnBuffAtk?: number;\r\n\tGoldrinnBuffHealth?: number;\r\n\tSpellsCastThisGame?: number;\r\n\tTavernSpellsCastThisGame?: number;\r\n\tPiratesPlayedThisGame?: number;\r\n\tBeastsSummonedThisGame?: number;\r\n\tMagnetizedThisGame?: number;\r\n\tPiratesSummonedThisGame?: number;\r\n\tPirateAttackBonus?: number;\r\n\tAstralAutomatonsSummonedThisGame?: number;\r\n\tChoralAttackBuff?: number;\r\n\tChoralHealthBuff?: number;\r\n\tBeetleAttackBuff?: number;\r\n\tBeetleHealthBuff?: number;\r\n\tElementalAttackBuff?: number;\r\n\tElementalHealthBuff?: number;\r\n\tTavernSpellHealthBuff?: number;\r\n\tTavernSpellAttackBuff?: number;\r\n\tMutatedLasherAttackBuff?: number;\r\n\tMutatedLasherHealthBuff?: number;\r\n\tBattlecriesTriggeredThisGame?: number;\r\n\tFriendlyMinionsDeadLastCombat?: number;\r\n}\r\n\r\nexport interface BgsQuestEntity {\r\n\tCardId: string;\r\n\tRewardDbfId: number;\r\n\tProgressCurrent: number;\r\n\tProgressTotal: number;\r\n}\r\n\r\nexport interface BoardTrinket {\r\n\tcardId: string;\r\n\tentityId: number;\r\n\tscriptDataNum1: number;\r\n\tscriptDataNum6?: number;\r\n\trememberedMinion?: BoardEntity;\r\n\tavengeDefault?: number;\r\n\tavengeCurrent?: number;\r\n}\r\n"]}
|
package/dist/board-secret.d.ts
CHANGED
package/dist/board-secret.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board-secret.js","sourceRoot":"","sources":["../src/board-secret.ts"],"names":[],"mappings":"","sourcesContent":["export interface BoardSecret {\r\n\tentityId: number;\r\n\tcardId: string;\r\n\ttriggered?: boolean;\r\n\tscriptDataNum1?: number;\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"board-secret.js","sourceRoot":"","sources":["../src/board-secret.ts"],"names":[],"mappings":"","sourcesContent":["export interface BoardSecret {\r\n\tentityId: number;\r\n\tcardId: string;\r\n\ttriggered?: boolean;\r\n\tscriptDataNum1?: number;\r\n\tscriptDataNum2?: number;\r\n}\r\n"]}
|
|
@@ -79,6 +79,7 @@ const handless_forsaken_1 = require("./minion/handless-forsaken");
|
|
|
79
79
|
const harmless_bonehead_1 = require("./minion/harmless-bonehead");
|
|
80
80
|
const holo_rover_1 = require("./minion/holo-rover");
|
|
81
81
|
const humming_bird_1 = require("./minion/humming-bird");
|
|
82
|
+
const humongozz_1 = require("./minion/humongozz");
|
|
82
83
|
const hungry_snapjaw_1 = require("./minion/hungry-snapjaw");
|
|
83
84
|
const hunter_of_gatherers_1 = require("./minion/hunter-of-gatherers");
|
|
84
85
|
const hydralisk_1 = require("./minion/hydralisk");
|
|
@@ -243,6 +244,7 @@ const cards = [
|
|
|
243
244
|
surfing_slyvar_1.SurfingSylvar,
|
|
244
245
|
goldgrubber_1.GoldGrubber,
|
|
245
246
|
unholy_sanctum_1.UnholySanctum,
|
|
247
|
+
humongozz_1.Humongozz,
|
|
246
248
|
drustfallen_butcher_1.DrustfallenButcher,
|
|
247
249
|
noisul_of_the_many_faces_1.NoisulOfTheManyFaces,
|
|
248
250
|
firescale_hoarder_1.FirescaleHoarder,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_card-mappings.js","sourceRoot":"","sources":["../../../src/cards/impl/_card-mappings.ts"],"names":[],"mappings":"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","sourcesContent":["import { Card } from '../card.interface';\r\nimport { SharingIsCaring } from './bg-spell/sharing-is-caring';\r\nimport { CrystalInfuserEnchantment } from './enchantments/crystal-infuser-enchantment';\r\nimport { GloriousGloop } from './hero-power/glorious-gloop';\r\nimport { AdmiralElizaGoreblade } from './minion/admiral-eliza-goreblade';\r\nimport { Alleycat } from './minion/alleycat';\r\nimport { AmplifyingLightspawn } from './minion/amplifying-lightspawn';\r\nimport { AnubarakNerubianKing } from './minion/anubarak-nerubian-king';\r\nimport { ApprenticeOfSefin } from './minion/apprentice-of-sefin';\r\nimport { ArcaneCannoneer } from './minion/arcane-cannoneer';\r\nimport { Archimonde } from './minion/archimonde';\r\nimport { AridAtrocity } from './minion/arid-atrocity';\r\nimport { AshenCorruptor } from './minion/ashen-corruptor';\r\nimport { AssistantGuard } from './minion/assistant-guard';\r\nimport { AutoAssembler } from './minion/auto-assembler';\r\nimport { AutoAssemblerEnchantment } from './minion/auto-assembler-enchantment';\r\nimport { Baneling } from './minion/baneling';\r\nimport { Bannerboar } from './minion/bannerboar';\r\nimport { Battlecruiser } from './minion/battlecruiser';\r\nimport { Beetle } from './minion/beetle';\r\nimport { BellowingTyrant } from './minion/bellowing-tyrant';\r\nimport { BirdBuddy } from './minion/bird-buddy';\r\nimport { BlazingSkyfin } from './minion/blazing-skyfin';\r\nimport { BoarGamer } from './minion/boar-gamer';\r\nimport { BongoBopper } from './minion/bongo-bopper';\r\nimport { Bonker } from './minion/bonker';\r\nimport { BriarbackBookie } from './minion/briarback-bookie';\r\nimport { BronzeSteward } from './minion/bronze-steward';\r\nimport { BubbleGunner } from './minion/bubble-gunner';\r\nimport { BuzzingVermin } from './minion/buzzing-vermin';\r\nimport { CadaverCaretaker } from './minion/cadaver-caretaker';\r\nimport { CaptainBonerender } from './minion/captain-bonerender';\r\nimport { Carrier } from './minion/carrier';\r\nimport { ChampionOfThePrimus } from './minion/champion-of-the-primus';\r\nimport { Charlga } from './minion/charlga';\r\nimport { ClunkerJunker } from './minion/clunker-junker';\r\nimport { CoilskarSapper } from './minion/coilskar-sapper';\r\nimport { Colossus } from './minion/colossus';\r\nimport { CorruptedBristler } from './minion/corrupted-bristler';\r\nimport { CruiseController } from './minion/cruise-controller';\r\nimport { DastardlyDrust } from './minion/dastardly-drust';\r\nimport { Deadstomper } from './minion/deadstomper';\r\nimport { DeathlyStriker } from './minion/deathly-striker';\r\nimport { DefiantShipwright } from './minion/defiant-shipwright';\r\nimport { DeflectoBot } from './minion/deflecto-bot';\r\nimport { DreamingThornweaver } from './minion/dreaming-thornweaver';\r\nimport { DrustfallenButcher } from './minion/drustfallen-butcher';\r\nimport { EchoingRoar } from './minion/echoing-roar';\r\nimport { EfficientEngineer } from './minion/efficient-engineer';\r\nimport { ElectricSynthesizer } from './minion/electric-synthesizer';\r\nimport { EliteNavigator } from './minion/elite-navigator';\r\nimport { FairyGillmother } from './minion/fairy-gillmother';\r\nimport { FaunaWhisperer } from './minion/fauna-whisperer';\r\nimport { FireForgedEvoker } from './minion/fire-forged-evoker';\r\nimport { FirescaleHoarder } from './minion/firescale-hoarder';\r\nimport { FireworksFanatic } from './minion/fireworks-fanatic';\r\nimport { FlightyScout } from './minion/flighty-scout';\r\nimport { ForestRover } from './minion/forest-rover';\r\nimport { FountainChiller } from './minion/fountain-chiller';\r\nimport { GemRat } from './minion/gem-rat';\r\nimport { GemSmuggler } from './minion/gem-smuggler';\r\nimport { GeneralDrakkisath } from './minion/general-drakkisath';\r\nimport { GentleDjinni } from './minion/gentle-djinni';\r\nimport { GentleStag } from './minion/gentle-stag';\r\nimport { GlowgulletWarlord } from './minion/glowgullet-warlord';\r\nimport { GlowingCinder } from './minion/glowing-cinder';\r\nimport { GoldGrubber } from './minion/goldgrubber';\r\nimport { GoldrinnTheGreatWolf } from './minion/goldrinn-the-great-wolf';\r\nimport { GormlingGourmet } from './minion/gormling-gourmet';\r\nimport { GreaseBot } from './minion/grease-bot';\r\nimport { Greenskeeper } from './minion/greenskeeper';\r\nimport { GrimscaleElegist } from './minion/grimscale-elegist';\r\nimport { GrittyHeadhunter } from './minion/gritty-headhunter';\r\nimport { Hackerfin } from './minion/hackerfin';\r\nimport { HandlessForsaken } from './minion/handless-forsaken';\r\nimport { HarmlessBonehead } from './minion/harmless-bonehead';\r\nimport { HoloRover } from './minion/holo-rover';\r\nimport { HummingBird } from './minion/humming-bird';\r\nimport { HungrySnapjaw } from './minion/hungry-snapjaw';\r\nimport { HunterOfGatherers } from './minion/hunter-of-gatherers';\r\nimport { Hydralisk } from './minion/hydralisk';\r\nimport { IgnitionSpecialist } from './minion/ignition-specialist';\r\nimport { Immortal } from './minion/immortal';\r\nimport { ImplantSubject } from './minion/implant-subject';\r\nimport { ImposingPercussionist } from './minion/imposing-percussionist';\r\nimport { ImpulsiveTrickster } from './minion/impulsive-trickster';\r\nimport { IndomitableMount } from './minion/indomitable-mount';\r\nimport { InspiringUnderdog } from './minion/inspiring-underdog';\r\nimport { InterrogatorWhitemane } from './minion/interrogator-whitemane';\r\nimport { KalecgosArcaneAspect } from './minion/kalecgos-arcane-aspect';\r\nimport { KangorsApprentice } from './minion/kangors-apprentice';\r\nimport { KarmicChameleon } from './minion/karmic-chameleon';\r\nimport { KingBagurgle } from './minion/king-bagurgle';\r\nimport { LeeroyTheReckless } from './minion/leeroy-the-reckless';\r\nimport { LightfangEnforcer } from './minion/lightfang-enforcer';\r\nimport { LokholarFrostforgeer } from './minion/lokholar-frostforger';\r\nimport { LovesickBalladist } from './minion/lovesick-balladist';\r\nimport { LowFlier } from './minion/low-flier';\r\nimport { Lurker } from './minion/lurker';\r\nimport { Manasaber } from './minion/manasaber';\r\nimport { MarqueeTicker } from './minion/marquee-ticker';\r\nimport { MawCaster } from './minion/maw-caster';\r\nimport { MechaJaraxxus } from './minion/mecha-jaraxxus';\r\nimport { MechagnomeInterpreter } from './minion/mechagnome-interpreter';\r\nimport { MechanizedGiftHorse } from './minion/mechanized-gift-horse';\r\nimport { Mechorse } from './minion/mechorse';\r\nimport { MenagerieJug } from './minion/menagerie-jug';\r\nimport { MetallicHunter } from './minion/metallic-hunter';\r\nimport { MisfitDragonling } from './minion/misfit-dragonling';\r\nimport { MonstrousMacaw } from './minion/monstrous-macaw';\r\nimport { MoonsteelJuggernaut } from './minion/moonsteel-juggernaut';\r\nimport { Mothership } from './minion/mothership';\r\nimport { Mummifier } from './minion/mummifier';\r\nimport { MurkbrineExpeditioner } from './minion/murkbrine-expeditioner';\r\nimport { Murky } from './minion/murky';\r\nimport { Mutalisk } from './minion/mutalisk';\r\nimport { MutatedLasher } from './minion/mutated-lasher';\r\nimport { MythraxTheUnraveler } from './minion/mythrax';\r\nimport { NeonAgent } from './minion/neon-agent';\r\nimport { NerubianDeathswarmer } from './minion/nerubian-deathswarmer';\r\nimport { NestSwarmer } from './minion/nest-swarmer';\r\nimport { NetherDrake } from './minion/nether-drake';\r\nimport { NightmareParTeaGuest } from './minion/nightmare-par-tea-guest';\r\nimport { Niuzao } from './minion/niuzao';\r\nimport { NoisulOfTheManyFaces } from './minion/noisul-of-the-many-faces';\r\nimport { OozelingGladiator } from './minion/oozeling-gladiator';\r\nimport { OperaticBelcher } from './minion/operatic-belcher';\r\nimport { OutbackSmolderer } from './minion/outback-smolderer';\r\nimport { ParchedWanderer } from './minion/parched-wanderer';\r\nimport { PeggySturdybone } from './minion/peggy-sturdybone';\r\nimport { PrimalfinLookout } from './minion/primalfin-lookout';\r\nimport { PrizedPromoDrake } from './minion/prized-promo-drake';\r\nimport { RapscallionRecruiter } from './minion/rapscallion-recruiter';\r\nimport { RazorfenGeomancer } from './minion/razorfen-geomancer';\r\nimport { RazorgoreTheUntamed } from './minion/razorgore-the-untamed';\r\nimport { RecklessCliffdiver } from './minion/reckless-cliffdiver';\r\nimport { RicketyRepairbot } from './minion/rickety-repairbot';\r\nimport { RipsnarlCaptain } from './minion/ripsnarl-captain';\r\nimport { Roach } from './minion/roach';\r\nimport { RodeoPerformer } from './minion/rodeo-performer';\r\nimport { RunedProgenitor } from './minion/runed-progenitor';\r\nimport { RylakMetalhead } from './minion/rylak-metalhead';\r\nimport { SaltyHog } from './minion/salty-hog';\r\nimport { SandSwirler } from './minion/sand-swirler';\r\nimport { SanlaynScribe } from './minion/sanlayn-scribe';\r\nimport { Scallywag } from './minion/scallywag';\r\nimport { SelflessHero } from './minion/selfless-hero';\r\nimport { Shadowdancer } from './minion/shadowdancer';\r\nimport { SharptoothSnapper } from './minion/sharptooth-snapper';\r\nimport { ShellCollector } from './minion/shell-collector';\r\nimport { ShowyCyclist } from './minion/showy-cyclist';\r\nimport { SilithidBurrower } from './minion/silithid-burrower';\r\nimport { SilkyShimmermoth } from './minion/silky-shimmermoth';\r\nimport { SilverHandedRecruit } from './minion/silver-handed-recruit';\r\nimport { SindoreiStraightShot } from './minion/sinodorei-straight-shot';\r\nimport { SkulkingBristlemane } from './minion/skulking-bristlemane';\r\nimport { SkyPirateFlagbearer } from './minion/sky-pirate-flagbearer';\r\nimport { SkyPirateFlagbearerEnchantment } from './minion/sky-pirate-flagbearer-enchantment';\r\nimport { SlumberSorcerer } from './minion/slumber-sorcerer';\r\nimport { SlyRaptor } from './minion/sly-raptor';\r\nimport { Smolderwing } from './minion/smolderwing';\r\nimport { SoulRewinder } from './minion/soul-rewinder';\r\nimport { Spacefarer } from './minion/spacefarer';\r\nimport { SpiritedWhimsydrake } from './minion/spirited-whimsydrake';\r\nimport { SpringySpriggan } from './minion/springy-spriggan';\r\nimport { StitchedSalvager } from './minion/stitched-salvager';\r\nimport { SurfingSylvar } from './minion/surfing-slyvar';\r\nimport { Swampstriker } from './minion/swampstriker';\r\nimport { Thorncaller } from './minion/thorncaller';\r\nimport { ThreeLilQuilboar } from './minion/three-lil-quilboar';\r\nimport { ThunderingAbomination } from './minion/thundering-abomination';\r\nimport { Tichondrius } from './minion/tichondrius';\r\nimport { TransmutedBramblewitch } from './minion/transmuted-bramblewitch';\r\nimport { TunnelBlaster } from './minion/tunnel-blaster';\r\nimport { TurquoiseSkitterer } from './minion/turquoise-skitterer';\r\nimport { TwilightPrimordium } from './minion/twilight-primordium';\r\nimport { Ultralisk } from './minion/ultralisk';\r\nimport { UltravioletAscendant } from './minion/ultraviolet-ascendant';\r\nimport { ValiantTiger } from './minion/valiant-tiger';\r\nimport { VoidRay } from './minion/void-ray';\r\nimport { VorkaiGuardian } from './minion/vorkai-guardian';\r\nimport { WanderingWight } from './minion/wandering-wight';\r\nimport { WhelpSmuggler } from './minion/whelp-smuggler';\r\nimport { WildfireElemental } from './minion/wildfire-elemental';\r\nimport { WispInTheShell } from './minion/wisp-in-the-shell';\r\nimport { Zergling } from './minion/zergling';\r\nimport { AllPurposeKibble } from './trinket/all-purpose-kibble';\r\nimport { ArmOfTheEmpire } from './trinket/arm-of-the-empire';\r\nimport { BalefulIncense } from './trinket/baleful-incense';\r\nimport { BassgillPortrait } from './trinket/bassgill-portrait';\r\nimport { BattleHorn } from './trinket/battle-horn';\r\nimport { BeetleBand } from './trinket/beetle-band';\r\nimport { BirdFeeder } from './trinket/bird-feeder';\r\nimport { CrochetedSungill } from './trinket/crocheted-sungill';\r\nimport { DivineSignet } from './trinket/divine-signet';\r\nimport { EclecticShrine } from './trinket/eclectic-shrine';\r\nimport { FaerieDragonScale } from './trinket/faerie-dragon-scale';\r\nimport { HeraldSticker } from './trinket/herald-sticker';\r\nimport { HogwashBasin } from './trinket/hogwash-basin';\r\nimport { UnholySanctum } from './trinket/unholy-sanctum';\r\nimport { VashjirAnemone } from './trinket/vashjir-anemone';\r\nimport { YulonSticker } from './trinket/yulon-sticker';\r\n\r\nconst cards = [\r\n\tFireworksFanatic,\r\n\tBassgillPortrait,\r\n\tApprenticeOfSefin,\r\n\tGormlingGourmet,\r\n\tFlightyScout,\r\n\tGrimscaleElegist,\r\n\tMurkbrineExpeditioner,\r\n\tDivineSignet,\r\n\tSilithidBurrower,\r\n\tCrochetedSungill,\r\n\tBeetleBand,\r\n\tHeraldSticker,\r\n\tAllPurposeKibble,\r\n\tSilkyShimmermoth,\r\n\tAlleycat,\r\n\tFaunaWhisperer,\r\n\tSlumberSorcerer,\r\n\tCoilskarSapper,\r\n\tMonstrousMacaw,\r\n\tHogwashBasin,\r\n\tDreamingThornweaver,\r\n\tSkulkingBristlemane,\r\n\tSharptoothSnapper,\r\n\tValiantTiger,\r\n\tAmplifyingLightspawn,\r\n\tGlowingCinder,\r\n\tSandSwirler,\r\n\tBonker,\r\n\tThorncaller,\r\n\tVashjirAnemone,\r\n\tGlowgulletWarlord,\r\n\tCorruptedBristler,\r\n\tGreenskeeper,\r\n\tMawCaster,\r\n\tDastardlyDrust,\r\n\tEliteNavigator,\r\n\tSurfingSylvar,\r\n\tGoldGrubber,\r\n\tUnholySanctum,\r\n\tDrustfallenButcher,\r\n\tNoisulOfTheManyFaces,\r\n\tFirescaleHoarder,\r\n\tIgnitionSpecialist,\r\n\tBalefulIncense,\r\n\tSpiritedWhimsydrake,\r\n\tBirdFeeder,\r\n\tFireForgedEvoker,\r\n\tBronzeSteward,\r\n\tMetallicHunter,\r\n\tYulonSticker,\r\n\tBattleHorn,\r\n\tFaerieDragonScale,\r\n\tSpringySpriggan,\r\n\tRicketyRepairbot,\r\n\tMechagnomeInterpreter,\r\n\tAutoAssembler,\r\n\tAutoAssemblerEnchantment,\r\n\tDeadstomper,\r\n\tArmOfTheEmpire,\r\n\tBattlecruiser,\r\n\tSharingIsCaring,\r\n\tLowFlier,\r\n\tZergling,\r\n\tHydralisk,\r\n\tBaneling,\r\n\tMutalisk,\r\n\tLurker,\r\n\tRoach,\r\n\tUltralisk,\r\n\tColossus,\r\n\tCarrier,\r\n\tImmortal,\r\n\tVoidRay,\r\n\tMothership,\r\n\tCaptainBonerender,\r\n\tGentleStag,\r\n\tBellowingTyrant,\r\n\tStitchedSalvager,\r\n\tMythraxTheUnraveler,\r\n\tWildfireElemental,\r\n\tHoloRover,\r\n\tForestRover,\r\n\tBeetle,\r\n\tBuzzingVermin,\r\n\tGemRat,\r\n\tNestSwarmer,\r\n\tRunedProgenitor,\r\n\tTurquoiseSkitterer,\r\n\tEfficientEngineer,\r\n\tNetherDrake,\r\n\tElectricSynthesizer,\r\n\tEclecticShrine,\r\n\tSelflessHero,\r\n\tNightmareParTeaGuest,\r\n\tVorkaiGuardian,\r\n\tOutbackSmolderer,\r\n\tRazorgoreTheUntamed,\r\n\tUltravioletAscendant,\r\n\tTwilightPrimordium,\r\n\tGentleDjinni,\r\n\tMoonsteelJuggernaut,\r\n\tMarqueeTicker,\r\n\tRecklessCliffdiver,\r\n\tFountainChiller,\r\n\tNeonAgent,\r\n\tLokholarFrostforgeer,\r\n\tImplantSubject,\r\n\tHackerfin,\r\n\tBubbleGunner,\r\n\tFairyGillmother,\r\n\tShowyCyclist,\r\n\tArcaneCannoneer,\r\n\tMutatedLasher,\r\n\tGloriousGloop,\r\n\tSilverHandedRecruit,\r\n\tSaltyHog,\r\n\tSpacefarer,\r\n\tGrittyHeadhunter,\r\n\tCrystalInfuserEnchantment,\r\n\tBoarGamer,\r\n\tBannerboar,\r\n\tWanderingWight,\r\n\tDeathlyStriker,\r\n\tWispInTheShell,\r\n\tHandlessForsaken,\r\n\tHarmlessBonehead,\r\n\tCadaverCaretaker,\r\n\tHungrySnapjaw,\r\n\tNiuzao,\r\n\tBirdBuddy,\r\n\tSlyRaptor,\r\n\tManasaber,\r\n\tRylakMetalhead,\r\n\tHummingBird,\r\n\tMechanizedGiftHorse,\r\n\tMechorse,\r\n\tIndomitableMount,\r\n\tKarmicChameleon,\r\n\tGoldrinnTheGreatWolf,\r\n\tImpulsiveTrickster,\r\n\tMechaJaraxxus,\r\n\tWhelpSmuggler,\r\n\tHunterOfGatherers,\r\n\tBlazingSkyfin,\r\n\tGeneralDrakkisath,\r\n\tSmolderwing,\r\n\tMisfitDragonling,\r\n\tKalecgosArcaneAspect,\r\n\tGreaseBot,\r\n\tClunkerJunker,\r\n\tKangorsApprentice,\r\n\tDeflectoBot,\r\n\tSwampstriker,\r\n\tMurky,\r\n\tOperaticBelcher,\r\n\tParchedWanderer,\r\n\tPrimalfinLookout,\r\n\tKingBagurgle,\r\n\tShellCollector,\r\n\tTunnelBlaster,\r\n\tLeeroyTheReckless,\r\n\tInterrogatorWhitemane,\r\n\tOozelingGladiator,\r\n\tRodeoPerformer,\r\n\tAssistantGuard,\r\n\tAridAtrocity,\r\n\tInspiringUnderdog,\r\n\tLightfangEnforcer,\r\n\tDefiantShipwright,\r\n\tPeggySturdybone,\r\n\tRapscallionRecruiter,\r\n\tLovesickBalladist,\r\n\tAdmiralElizaGoreblade,\r\n\tSkyPirateFlagbearer,\r\n\tSkyPirateFlagbearerEnchantment,\r\n\tCruiseController,\r\n\tRipsnarlCaptain,\r\n\tScallywag,\r\n\tRazorfenGeomancer,\r\n\tCharlga,\r\n\tGemSmuggler,\r\n\tBongoBopper,\r\n\tThreeLilQuilboar,\r\n\tAnubarakNerubianKing,\r\n\tNerubianDeathswarmer,\r\n\tSindoreiStraightShot,\r\n\tChampionOfThePrimus,\r\n\tMummifier,\r\n\tEchoingRoar,\r\n\tMenagerieJug,\r\n\tThunderingAbomination,\r\n\tPrizedPromoDrake,\r\n\tTransmutedBramblewitch,\r\n\tImposingPercussionist,\r\n\tSoulRewinder,\r\n\tTichondrius,\r\n\tArchimonde,\r\n\tSanlaynScribe,\r\n\tBriarbackBookie,\r\n\tShadowdancer,\r\n\tAshenCorruptor,\r\n];\r\n\r\nexport const cardMappings: { [cardId: string]: Card } = {};\r\nfor (const card of cards) {\r\n\tconst cardIds = card.cardIds ?? [];\r\n\tfor (const cardId of cardIds) {\r\n\t\tcardMappings[cardId] = card;\r\n\t}\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"_card-mappings.js","sourceRoot":"","sources":["../../../src/cards/impl/_card-mappings.ts"],"names":[],"mappings":"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","sourcesContent":["import { Card } from '../card.interface';\r\nimport { SharingIsCaring } from './bg-spell/sharing-is-caring';\r\nimport { CrystalInfuserEnchantment } from './enchantments/crystal-infuser-enchantment';\r\nimport { GloriousGloop } from './hero-power/glorious-gloop';\r\nimport { AdmiralElizaGoreblade } from './minion/admiral-eliza-goreblade';\r\nimport { Alleycat } from './minion/alleycat';\r\nimport { AmplifyingLightspawn } from './minion/amplifying-lightspawn';\r\nimport { AnubarakNerubianKing } from './minion/anubarak-nerubian-king';\r\nimport { ApprenticeOfSefin } from './minion/apprentice-of-sefin';\r\nimport { ArcaneCannoneer } from './minion/arcane-cannoneer';\r\nimport { Archimonde } from './minion/archimonde';\r\nimport { AridAtrocity } from './minion/arid-atrocity';\r\nimport { AshenCorruptor } from './minion/ashen-corruptor';\r\nimport { AssistantGuard } from './minion/assistant-guard';\r\nimport { AutoAssembler } from './minion/auto-assembler';\r\nimport { AutoAssemblerEnchantment } from './minion/auto-assembler-enchantment';\r\nimport { Baneling } from './minion/baneling';\r\nimport { Bannerboar } from './minion/bannerboar';\r\nimport { Battlecruiser } from './minion/battlecruiser';\r\nimport { Beetle } from './minion/beetle';\r\nimport { BellowingTyrant } from './minion/bellowing-tyrant';\r\nimport { BirdBuddy } from './minion/bird-buddy';\r\nimport { BlazingSkyfin } from './minion/blazing-skyfin';\r\nimport { BoarGamer } from './minion/boar-gamer';\r\nimport { BongoBopper } from './minion/bongo-bopper';\r\nimport { Bonker } from './minion/bonker';\r\nimport { BriarbackBookie } from './minion/briarback-bookie';\r\nimport { BronzeSteward } from './minion/bronze-steward';\r\nimport { BubbleGunner } from './minion/bubble-gunner';\r\nimport { BuzzingVermin } from './minion/buzzing-vermin';\r\nimport { CadaverCaretaker } from './minion/cadaver-caretaker';\r\nimport { CaptainBonerender } from './minion/captain-bonerender';\r\nimport { Carrier } from './minion/carrier';\r\nimport { ChampionOfThePrimus } from './minion/champion-of-the-primus';\r\nimport { Charlga } from './minion/charlga';\r\nimport { ClunkerJunker } from './minion/clunker-junker';\r\nimport { CoilskarSapper } from './minion/coilskar-sapper';\r\nimport { Colossus } from './minion/colossus';\r\nimport { CorruptedBristler } from './minion/corrupted-bristler';\r\nimport { CruiseController } from './minion/cruise-controller';\r\nimport { DastardlyDrust } from './minion/dastardly-drust';\r\nimport { Deadstomper } from './minion/deadstomper';\r\nimport { DeathlyStriker } from './minion/deathly-striker';\r\nimport { DefiantShipwright } from './minion/defiant-shipwright';\r\nimport { DeflectoBot } from './minion/deflecto-bot';\r\nimport { DreamingThornweaver } from './minion/dreaming-thornweaver';\r\nimport { DrustfallenButcher } from './minion/drustfallen-butcher';\r\nimport { EchoingRoar } from './minion/echoing-roar';\r\nimport { EfficientEngineer } from './minion/efficient-engineer';\r\nimport { ElectricSynthesizer } from './minion/electric-synthesizer';\r\nimport { EliteNavigator } from './minion/elite-navigator';\r\nimport { FairyGillmother } from './minion/fairy-gillmother';\r\nimport { FaunaWhisperer } from './minion/fauna-whisperer';\r\nimport { FireForgedEvoker } from './minion/fire-forged-evoker';\r\nimport { FirescaleHoarder } from './minion/firescale-hoarder';\r\nimport { FireworksFanatic } from './minion/fireworks-fanatic';\r\nimport { FlightyScout } from './minion/flighty-scout';\r\nimport { ForestRover } from './minion/forest-rover';\r\nimport { FountainChiller } from './minion/fountain-chiller';\r\nimport { GemRat } from './minion/gem-rat';\r\nimport { GemSmuggler } from './minion/gem-smuggler';\r\nimport { GeneralDrakkisath } from './minion/general-drakkisath';\r\nimport { GentleDjinni } from './minion/gentle-djinni';\r\nimport { GentleStag } from './minion/gentle-stag';\r\nimport { GlowgulletWarlord } from './minion/glowgullet-warlord';\r\nimport { GlowingCinder } from './minion/glowing-cinder';\r\nimport { GoldGrubber } from './minion/goldgrubber';\r\nimport { GoldrinnTheGreatWolf } from './minion/goldrinn-the-great-wolf';\r\nimport { GormlingGourmet } from './minion/gormling-gourmet';\r\nimport { GreaseBot } from './minion/grease-bot';\r\nimport { Greenskeeper } from './minion/greenskeeper';\r\nimport { GrimscaleElegist } from './minion/grimscale-elegist';\r\nimport { GrittyHeadhunter } from './minion/gritty-headhunter';\r\nimport { Hackerfin } from './minion/hackerfin';\r\nimport { HandlessForsaken } from './minion/handless-forsaken';\r\nimport { HarmlessBonehead } from './minion/harmless-bonehead';\r\nimport { HoloRover } from './minion/holo-rover';\r\nimport { HummingBird } from './minion/humming-bird';\r\nimport { Humongozz } from './minion/humongozz';\r\nimport { HungrySnapjaw } from './minion/hungry-snapjaw';\r\nimport { HunterOfGatherers } from './minion/hunter-of-gatherers';\r\nimport { Hydralisk } from './minion/hydralisk';\r\nimport { IgnitionSpecialist } from './minion/ignition-specialist';\r\nimport { Immortal } from './minion/immortal';\r\nimport { ImplantSubject } from './minion/implant-subject';\r\nimport { ImposingPercussionist } from './minion/imposing-percussionist';\r\nimport { ImpulsiveTrickster } from './minion/impulsive-trickster';\r\nimport { IndomitableMount } from './minion/indomitable-mount';\r\nimport { InspiringUnderdog } from './minion/inspiring-underdog';\r\nimport { InterrogatorWhitemane } from './minion/interrogator-whitemane';\r\nimport { KalecgosArcaneAspect } from './minion/kalecgos-arcane-aspect';\r\nimport { KangorsApprentice } from './minion/kangors-apprentice';\r\nimport { KarmicChameleon } from './minion/karmic-chameleon';\r\nimport { KingBagurgle } from './minion/king-bagurgle';\r\nimport { LeeroyTheReckless } from './minion/leeroy-the-reckless';\r\nimport { LightfangEnforcer } from './minion/lightfang-enforcer';\r\nimport { LokholarFrostforgeer } from './minion/lokholar-frostforger';\r\nimport { LovesickBalladist } from './minion/lovesick-balladist';\r\nimport { LowFlier } from './minion/low-flier';\r\nimport { Lurker } from './minion/lurker';\r\nimport { Manasaber } from './minion/manasaber';\r\nimport { MarqueeTicker } from './minion/marquee-ticker';\r\nimport { MawCaster } from './minion/maw-caster';\r\nimport { MechaJaraxxus } from './minion/mecha-jaraxxus';\r\nimport { MechagnomeInterpreter } from './minion/mechagnome-interpreter';\r\nimport { MechanizedGiftHorse } from './minion/mechanized-gift-horse';\r\nimport { Mechorse } from './minion/mechorse';\r\nimport { MenagerieJug } from './minion/menagerie-jug';\r\nimport { MetallicHunter } from './minion/metallic-hunter';\r\nimport { MisfitDragonling } from './minion/misfit-dragonling';\r\nimport { MonstrousMacaw } from './minion/monstrous-macaw';\r\nimport { MoonsteelJuggernaut } from './minion/moonsteel-juggernaut';\r\nimport { Mothership } from './minion/mothership';\r\nimport { Mummifier } from './minion/mummifier';\r\nimport { MurkbrineExpeditioner } from './minion/murkbrine-expeditioner';\r\nimport { Murky } from './minion/murky';\r\nimport { Mutalisk } from './minion/mutalisk';\r\nimport { MutatedLasher } from './minion/mutated-lasher';\r\nimport { MythraxTheUnraveler } from './minion/mythrax';\r\nimport { NeonAgent } from './minion/neon-agent';\r\nimport { NerubianDeathswarmer } from './minion/nerubian-deathswarmer';\r\nimport { NestSwarmer } from './minion/nest-swarmer';\r\nimport { NetherDrake } from './minion/nether-drake';\r\nimport { NightmareParTeaGuest } from './minion/nightmare-par-tea-guest';\r\nimport { Niuzao } from './minion/niuzao';\r\nimport { NoisulOfTheManyFaces } from './minion/noisul-of-the-many-faces';\r\nimport { OozelingGladiator } from './minion/oozeling-gladiator';\r\nimport { OperaticBelcher } from './minion/operatic-belcher';\r\nimport { OutbackSmolderer } from './minion/outback-smolderer';\r\nimport { ParchedWanderer } from './minion/parched-wanderer';\r\nimport { PeggySturdybone } from './minion/peggy-sturdybone';\r\nimport { PrimalfinLookout } from './minion/primalfin-lookout';\r\nimport { PrizedPromoDrake } from './minion/prized-promo-drake';\r\nimport { RapscallionRecruiter } from './minion/rapscallion-recruiter';\r\nimport { RazorfenGeomancer } from './minion/razorfen-geomancer';\r\nimport { RazorgoreTheUntamed } from './minion/razorgore-the-untamed';\r\nimport { RecklessCliffdiver } from './minion/reckless-cliffdiver';\r\nimport { RicketyRepairbot } from './minion/rickety-repairbot';\r\nimport { RipsnarlCaptain } from './minion/ripsnarl-captain';\r\nimport { Roach } from './minion/roach';\r\nimport { RodeoPerformer } from './minion/rodeo-performer';\r\nimport { RunedProgenitor } from './minion/runed-progenitor';\r\nimport { RylakMetalhead } from './minion/rylak-metalhead';\r\nimport { SaltyHog } from './minion/salty-hog';\r\nimport { SandSwirler } from './minion/sand-swirler';\r\nimport { SanlaynScribe } from './minion/sanlayn-scribe';\r\nimport { Scallywag } from './minion/scallywag';\r\nimport { SelflessHero } from './minion/selfless-hero';\r\nimport { Shadowdancer } from './minion/shadowdancer';\r\nimport { SharptoothSnapper } from './minion/sharptooth-snapper';\r\nimport { ShellCollector } from './minion/shell-collector';\r\nimport { ShowyCyclist } from './minion/showy-cyclist';\r\nimport { SilithidBurrower } from './minion/silithid-burrower';\r\nimport { SilkyShimmermoth } from './minion/silky-shimmermoth';\r\nimport { SilverHandedRecruit } from './minion/silver-handed-recruit';\r\nimport { SindoreiStraightShot } from './minion/sinodorei-straight-shot';\r\nimport { SkulkingBristlemane } from './minion/skulking-bristlemane';\r\nimport { SkyPirateFlagbearer } from './minion/sky-pirate-flagbearer';\r\nimport { SkyPirateFlagbearerEnchantment } from './minion/sky-pirate-flagbearer-enchantment';\r\nimport { SlumberSorcerer } from './minion/slumber-sorcerer';\r\nimport { SlyRaptor } from './minion/sly-raptor';\r\nimport { Smolderwing } from './minion/smolderwing';\r\nimport { SoulRewinder } from './minion/soul-rewinder';\r\nimport { Spacefarer } from './minion/spacefarer';\r\nimport { SpiritedWhimsydrake } from './minion/spirited-whimsydrake';\r\nimport { SpringySpriggan } from './minion/springy-spriggan';\r\nimport { StitchedSalvager } from './minion/stitched-salvager';\r\nimport { SurfingSylvar } from './minion/surfing-slyvar';\r\nimport { Swampstriker } from './minion/swampstriker';\r\nimport { Thorncaller } from './minion/thorncaller';\r\nimport { ThreeLilQuilboar } from './minion/three-lil-quilboar';\r\nimport { ThunderingAbomination } from './minion/thundering-abomination';\r\nimport { Tichondrius } from './minion/tichondrius';\r\nimport { TransmutedBramblewitch } from './minion/transmuted-bramblewitch';\r\nimport { TunnelBlaster } from './minion/tunnel-blaster';\r\nimport { TurquoiseSkitterer } from './minion/turquoise-skitterer';\r\nimport { TwilightPrimordium } from './minion/twilight-primordium';\r\nimport { Ultralisk } from './minion/ultralisk';\r\nimport { UltravioletAscendant } from './minion/ultraviolet-ascendant';\r\nimport { ValiantTiger } from './minion/valiant-tiger';\r\nimport { VoidRay } from './minion/void-ray';\r\nimport { VorkaiGuardian } from './minion/vorkai-guardian';\r\nimport { WanderingWight } from './minion/wandering-wight';\r\nimport { WhelpSmuggler } from './minion/whelp-smuggler';\r\nimport { WildfireElemental } from './minion/wildfire-elemental';\r\nimport { WispInTheShell } from './minion/wisp-in-the-shell';\r\nimport { Zergling } from './minion/zergling';\r\nimport { AllPurposeKibble } from './trinket/all-purpose-kibble';\r\nimport { ArmOfTheEmpire } from './trinket/arm-of-the-empire';\r\nimport { BalefulIncense } from './trinket/baleful-incense';\r\nimport { BassgillPortrait } from './trinket/bassgill-portrait';\r\nimport { BattleHorn } from './trinket/battle-horn';\r\nimport { BeetleBand } from './trinket/beetle-band';\r\nimport { BirdFeeder } from './trinket/bird-feeder';\r\nimport { CrochetedSungill } from './trinket/crocheted-sungill';\r\nimport { DivineSignet } from './trinket/divine-signet';\r\nimport { EclecticShrine } from './trinket/eclectic-shrine';\r\nimport { FaerieDragonScale } from './trinket/faerie-dragon-scale';\r\nimport { HeraldSticker } from './trinket/herald-sticker';\r\nimport { HogwashBasin } from './trinket/hogwash-basin';\r\nimport { UnholySanctum } from './trinket/unholy-sanctum';\r\nimport { VashjirAnemone } from './trinket/vashjir-anemone';\r\nimport { YulonSticker } from './trinket/yulon-sticker';\r\n\r\nconst cards = [\r\n\tFireworksFanatic,\r\n\tBassgillPortrait,\r\n\tApprenticeOfSefin,\r\n\tGormlingGourmet,\r\n\tFlightyScout,\r\n\tGrimscaleElegist,\r\n\tMurkbrineExpeditioner,\r\n\tDivineSignet,\r\n\tSilithidBurrower,\r\n\tCrochetedSungill,\r\n\tBeetleBand,\r\n\tHeraldSticker,\r\n\tAllPurposeKibble,\r\n\tSilkyShimmermoth,\r\n\tAlleycat,\r\n\tFaunaWhisperer,\r\n\tSlumberSorcerer,\r\n\tCoilskarSapper,\r\n\tMonstrousMacaw,\r\n\tHogwashBasin,\r\n\tDreamingThornweaver,\r\n\tSkulkingBristlemane,\r\n\tSharptoothSnapper,\r\n\tValiantTiger,\r\n\tAmplifyingLightspawn,\r\n\tGlowingCinder,\r\n\tSandSwirler,\r\n\tBonker,\r\n\tThorncaller,\r\n\tVashjirAnemone,\r\n\tGlowgulletWarlord,\r\n\tCorruptedBristler,\r\n\tGreenskeeper,\r\n\tMawCaster,\r\n\tDastardlyDrust,\r\n\tEliteNavigator,\r\n\tSurfingSylvar,\r\n\tGoldGrubber,\r\n\tUnholySanctum,\r\n\tHumongozz,\r\n\tDrustfallenButcher,\r\n\tNoisulOfTheManyFaces,\r\n\tFirescaleHoarder,\r\n\tIgnitionSpecialist,\r\n\tBalefulIncense,\r\n\tSpiritedWhimsydrake,\r\n\tBirdFeeder,\r\n\tFireForgedEvoker,\r\n\tBronzeSteward,\r\n\tMetallicHunter,\r\n\tYulonSticker,\r\n\tBattleHorn,\r\n\tFaerieDragonScale,\r\n\tSpringySpriggan,\r\n\tRicketyRepairbot,\r\n\tMechagnomeInterpreter,\r\n\tAutoAssembler,\r\n\tAutoAssemblerEnchantment,\r\n\tDeadstomper,\r\n\tArmOfTheEmpire,\r\n\tBattlecruiser,\r\n\tSharingIsCaring,\r\n\tLowFlier,\r\n\tZergling,\r\n\tHydralisk,\r\n\tBaneling,\r\n\tMutalisk,\r\n\tLurker,\r\n\tRoach,\r\n\tUltralisk,\r\n\tColossus,\r\n\tCarrier,\r\n\tImmortal,\r\n\tVoidRay,\r\n\tMothership,\r\n\tCaptainBonerender,\r\n\tGentleStag,\r\n\tBellowingTyrant,\r\n\tStitchedSalvager,\r\n\tMythraxTheUnraveler,\r\n\tWildfireElemental,\r\n\tHoloRover,\r\n\tForestRover,\r\n\tBeetle,\r\n\tBuzzingVermin,\r\n\tGemRat,\r\n\tNestSwarmer,\r\n\tRunedProgenitor,\r\n\tTurquoiseSkitterer,\r\n\tEfficientEngineer,\r\n\tNetherDrake,\r\n\tElectricSynthesizer,\r\n\tEclecticShrine,\r\n\tSelflessHero,\r\n\tNightmareParTeaGuest,\r\n\tVorkaiGuardian,\r\n\tOutbackSmolderer,\r\n\tRazorgoreTheUntamed,\r\n\tUltravioletAscendant,\r\n\tTwilightPrimordium,\r\n\tGentleDjinni,\r\n\tMoonsteelJuggernaut,\r\n\tMarqueeTicker,\r\n\tRecklessCliffdiver,\r\n\tFountainChiller,\r\n\tNeonAgent,\r\n\tLokholarFrostforgeer,\r\n\tImplantSubject,\r\n\tHackerfin,\r\n\tBubbleGunner,\r\n\tFairyGillmother,\r\n\tShowyCyclist,\r\n\tArcaneCannoneer,\r\n\tMutatedLasher,\r\n\tGloriousGloop,\r\n\tSilverHandedRecruit,\r\n\tSaltyHog,\r\n\tSpacefarer,\r\n\tGrittyHeadhunter,\r\n\tCrystalInfuserEnchantment,\r\n\tBoarGamer,\r\n\tBannerboar,\r\n\tWanderingWight,\r\n\tDeathlyStriker,\r\n\tWispInTheShell,\r\n\tHandlessForsaken,\r\n\tHarmlessBonehead,\r\n\tCadaverCaretaker,\r\n\tHungrySnapjaw,\r\n\tNiuzao,\r\n\tBirdBuddy,\r\n\tSlyRaptor,\r\n\tManasaber,\r\n\tRylakMetalhead,\r\n\tHummingBird,\r\n\tMechanizedGiftHorse,\r\n\tMechorse,\r\n\tIndomitableMount,\r\n\tKarmicChameleon,\r\n\tGoldrinnTheGreatWolf,\r\n\tImpulsiveTrickster,\r\n\tMechaJaraxxus,\r\n\tWhelpSmuggler,\r\n\tHunterOfGatherers,\r\n\tBlazingSkyfin,\r\n\tGeneralDrakkisath,\r\n\tSmolderwing,\r\n\tMisfitDragonling,\r\n\tKalecgosArcaneAspect,\r\n\tGreaseBot,\r\n\tClunkerJunker,\r\n\tKangorsApprentice,\r\n\tDeflectoBot,\r\n\tSwampstriker,\r\n\tMurky,\r\n\tOperaticBelcher,\r\n\tParchedWanderer,\r\n\tPrimalfinLookout,\r\n\tKingBagurgle,\r\n\tShellCollector,\r\n\tTunnelBlaster,\r\n\tLeeroyTheReckless,\r\n\tInterrogatorWhitemane,\r\n\tOozelingGladiator,\r\n\tRodeoPerformer,\r\n\tAssistantGuard,\r\n\tAridAtrocity,\r\n\tInspiringUnderdog,\r\n\tLightfangEnforcer,\r\n\tDefiantShipwright,\r\n\tPeggySturdybone,\r\n\tRapscallionRecruiter,\r\n\tLovesickBalladist,\r\n\tAdmiralElizaGoreblade,\r\n\tSkyPirateFlagbearer,\r\n\tSkyPirateFlagbearerEnchantment,\r\n\tCruiseController,\r\n\tRipsnarlCaptain,\r\n\tScallywag,\r\n\tRazorfenGeomancer,\r\n\tCharlga,\r\n\tGemSmuggler,\r\n\tBongoBopper,\r\n\tThreeLilQuilboar,\r\n\tAnubarakNerubianKing,\r\n\tNerubianDeathswarmer,\r\n\tSindoreiStraightShot,\r\n\tChampionOfThePrimus,\r\n\tMummifier,\r\n\tEchoingRoar,\r\n\tMenagerieJug,\r\n\tThunderingAbomination,\r\n\tPrizedPromoDrake,\r\n\tTransmutedBramblewitch,\r\n\tImposingPercussionist,\r\n\tSoulRewinder,\r\n\tTichondrius,\r\n\tArchimonde,\r\n\tSanlaynScribe,\r\n\tBriarbackBookie,\r\n\tShadowdancer,\r\n\tAshenCorruptor,\r\n];\r\n\r\nexport const cardMappings: { [cardId: string]: Card } = {};\r\nfor (const card of cards) {\r\n\tconst cardIds = card.cardIds ?? [];\r\n\tfor (const cardId of cardIds) {\r\n\t\tcardMappings[cardId] = card;\r\n\t}\r\n}\r\n"]}
|
|
@@ -16,8 +16,7 @@ exports.RapidReanimation = {
|
|
|
16
16
|
a.enchantments.find((e) => e.cardId === "BG25_HERO_103pe").originEntityId || b.entityId - a.entityId)[0];
|
|
17
17
|
if (minionThatWillDie) {
|
|
18
18
|
const rapidReanimationIndexFromLeft = input.playerBoard.indexOf(minionThatWillDie);
|
|
19
|
-
input.playerEntity.rapidReanimationIndexFromRight =
|
|
20
|
-
input.playerBoard.length - 1 - rapidReanimationIndexFromLeft;
|
|
19
|
+
input.playerEntity.rapidReanimationIndexFromRight = 0;
|
|
21
20
|
const minionToCopy = (0, utils_1.copyEntity)(minionThatWillDie);
|
|
22
21
|
(0, add_minion_to_board_1.removeAurasFromSelf)(minionToCopy, input.playerBoard, input.playerEntity, input.gameState);
|
|
23
22
|
input.playerEntity.rapidReanimationMinion = minionToCopy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rapid-reanimation.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/rapid-reanimation.ts"],"names":[],"mappings":";;;AAEA,iFAA8E;AAE9E,0CAA4C;AAG/B,QAAA,gBAAgB,GAAsB;IAClD,mBAAmB,EAAE,YAAY;IACjC,OAAO,EAAE,kBAAyC;IAClD,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,wBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBAM1E,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW;qBACzC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,sBAAuD,CAAC,CAC3F;qBACA,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACR,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,sBAAuD,CAAC;qBACzF,cAAc;oBACf,CAAC,CAAC,YAAY,CAAC,IAAI,CAClB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,sBAAuD,CACtE,CAAC,cAAc,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAC7C,CAAC,CAAC,CAAC,CAAC;gBACN,IAAI,iBAAiB,EAAE;oBAUtB,MAAM,6BAA6B,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"rapid-reanimation.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/rapid-reanimation.ts"],"names":[],"mappings":";;;AAEA,iFAA8E;AAE9E,0CAA4C;AAG/B,QAAA,gBAAgB,GAAsB;IAClD,mBAAmB,EAAE,YAAY;IACjC,OAAO,EAAE,kBAAyC;IAClD,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,wBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBAM1E,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW;qBACzC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,sBAAuD,CAAC,CAC3F;qBACA,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACR,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,sBAAuD,CAAC;qBACzF,cAAc;oBACf,CAAC,CAAC,YAAY,CAAC,IAAI,CAClB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,sBAAuD,CACtE,CAAC,cAAc,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAC7C,CAAC,CAAC,CAAC,CAAC;gBACN,IAAI,iBAAiB,EAAE;oBAUtB,MAAM,6BAA6B,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;oBAEnF,KAAK,CAAC,YAAY,CAAC,8BAA8B,GAAG,CAAC,CAAC;oBAEtD,MAAM,YAAY,GAAG,IAAA,kBAAU,EAAC,iBAAiB,CAAC,CAAC;oBAGnD,IAAA,yCAAmB,EAAC,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBAC1F,KAAK,CAAC,YAAY,CAAC,sBAAsB,GAAG,YAAY,CAAC;oBACzD,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC;oBACxC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,KAAK,CAAC,YAAY,EAClB,iBAAiB,EACjB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;oBACF,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,CAAC;iBACpE;aACD;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { removeAurasFromSelf } from '../../../simulation/add-minion-to-board';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { copyEntity } from '../../../utils';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const RapidReanimation: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'pre-combat',\r\n\tcardIds: [CardIds.TeronGorefiend_RapidReanimation],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (RapidReanimation.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\t// Getting the right enchantment can be tricky. The RapidReanimation enchantment can sometimes be\r\n\t\t\t\t// in the Graveyard zone, so we can't filter them out. In that case, we can have multiple\r\n\t\t\t\t// enchantments\r\n\t\t\t\t// However, because of how things are handled in the logs, we should be able to always take the one *\r\n\t\t\t\t// with the biggest entityId\r\n\t\t\t\tconst minionThatWillDie = input.playerBoard\r\n\t\t\t\t\t.filter((m) =>\r\n\t\t\t\t\t\tm.enchantments.some((e) => e.cardId === CardIds.RapidReanimation_ImpendingDeathEnchantment),\r\n\t\t\t\t\t)\r\n\t\t\t\t\t.sort(\r\n\t\t\t\t\t\t(a, b) =>\r\n\t\t\t\t\t\t\tb.enchantments.find((e) => e.cardId === CardIds.RapidReanimation_ImpendingDeathEnchantment)\r\n\t\t\t\t\t\t\t\t.originEntityId -\r\n\t\t\t\t\t\t\t\ta.enchantments.find(\r\n\t\t\t\t\t\t\t\t\t(e) => e.cardId === CardIds.RapidReanimation_ImpendingDeathEnchantment,\r\n\t\t\t\t\t\t\t\t).originEntityId || b.entityId - a.entityId,\r\n\t\t\t\t\t)[0];\r\n\t\t\t\tif (minionThatWillDie) {\r\n\t\t\t\t\t// So this is a bit tricky (as all the stuff with indices...). Because in practice it's more likely that players use Rapid Reanimation\r\n\t\t\t\t\t// on minions that they want to die quickly, most of the time they will be placed\r\n\t\t\t\t\t// to the left of the board\r\n\t\t\t\t\t// So using a left-based index (usually 0) is more likely to be correct after minions spawn on the board\r\n\t\t\t\t\t// Update: this looks like it's not the case, and looking at\r\n\t\t\t\t\t// http://replays.firestoneapp.com/?reviewId=2e6b389f-d904-43a2-a7cd-928a60d973ce&turn=11&action=1\r\n\t\t\t\t\t// the index seems to be right-based at least in some cases\r\n\t\t\t\t\t// Looks like even this is wrong:\r\n\t\t\t\t\t// http://replays.firestoneapp.com/?reviewId=9a46ab39-ccf0-478c-a010-68f2abb06c6f&turn=9&action=0\r\n\t\t\t\t\tconst rapidReanimationIndexFromLeft = input.playerBoard.indexOf(minionThatWillDie);\r\n\t\t\t\t\t// This is a bug in HS, but changing it for now so that sims match what the game does\r\n\t\t\t\t\tinput.playerEntity.rapidReanimationIndexFromRight = 0;\r\n\t\t\t\t\t// input.playerBoard.length - 1 - rapidReanimationIndexFromLeft;\r\n\t\t\t\t\tconst minionToCopy = copyEntity(minionThatWillDie);\r\n\t\t\t\t\t// We don't reapply auras when resummoning\r\n\t\t\t\t\t// Actually we should: a dead Goldrinn is then buffed by the auras upon resummon\r\n\t\t\t\t\tremoveAurasFromSelf(minionToCopy, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t\t\tinput.playerEntity.rapidReanimationMinion = minionToCopy;\r\n\t\t\t\t\tminionThatWillDie.definitelyDead = true;\r\n\t\t\t\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tminionThatWillDie,\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);\r\n\t\t\t\t\treturn { hasTriggered: true, shouldRecomputeCurrentAttacker: true };\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -6,7 +6,7 @@ exports.CorruptedBristler = {
|
|
|
6
6
|
cardIds: ["BG32_431", "BG32_431_G"],
|
|
7
7
|
deathrattleSpawn: (minion, input) => {
|
|
8
8
|
var _a, _b;
|
|
9
|
-
let bloodGemEnchantments = (_a = minion.enchantments) === null || _a === void 0 ? void 0 : _a.filter((e) => e.cardId === "
|
|
9
|
+
let bloodGemEnchantments = (_a = minion.enchantments) === null || _a === void 0 ? void 0 : _a.filter((e) => e.cardId === "BG20_GEMe");
|
|
10
10
|
if ((bloodGemEnchantments === null || bloodGemEnchantments === void 0 ? void 0 : bloodGemEnchantments.length) === 0) {
|
|
11
11
|
bloodGemEnchantments = (_b = minion.enchantments) === null || _b === void 0 ? void 0 : _b.filter((e) => e.cardId === "BG20_GEMe");
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corrupted-bristler.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/corrupted-bristler.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,iBAAiB,GAAyB;IACtD,OAAO,EAAE,0BAA0E;IACnF,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;;QACnG,IAAI,oBAAoB,GAAG,MAAA,MAAM,CAAC,YAAY,0CAAE,MAAM,CACrD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"corrupted-bristler.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/corrupted-bristler.ts"],"names":[],"mappings":";;;AAGA,+EAAiF;AAGpE,QAAA,iBAAiB,GAAyB;IACtD,OAAO,EAAE,0BAA0E;IACnF,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAgC,EAA0B,EAAE;;QACnG,IAAI,oBAAoB,GAAG,MAAA,MAAM,CAAC,YAAY,0CAAE,MAAM,CACrD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,gBAAyC,CACxD,CAAC;QACF,IAAI,CAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,MAAM,MAAK,CAAC,EAAE;YACvC,oBAAoB,GAAG,MAAA,MAAM,CAAC,YAAY,0CAAE,MAAM,CACjD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,gBAAyC,CACxD,CAAC;SACF;QACD,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,IAAI,CAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,MAAM,IAAG,CAAC,EAAE;YACrC,MAAM,cAAc,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,iBAAiB,mCAAI,CAAC,CAAA,EAAA,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5G,MAAM,cAAc,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,iBAAiB,mCAAI,CAAC,CAAA,EAAA,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5G,IAAI,cAAc,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,EAAE;gBAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;oBAC9B,MAAM,MAAM,GAAG,IAAA,4CAAuB,yBAErC,CAAC,EACD,KAAK,CACL,CAAC;oBACF,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;wBACpB,CAAC,CAAC,MAAM,GAAG,cAAc,CAAC;wBAC1B,CAAC,CAAC,MAAM,GAAG,cAAc,CAAC;oBAC3B,CAAC,CAAC,CAAC;oBACH,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;iBAC1B;aACD;SACD;QACD,OAAO,SAAS,CAAC;IAClB,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 CorruptedBristler: DeathrattleSpawnCard = {\r\n\tcardIds: [CardIds.CorruptedBristler_BG32_431, CardIds.CorruptedBristler_BG32_431_G],\r\n\tdeathrattleSpawn: (minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[] => {\r\n\t\tlet bloodGemEnchantments = minion.enchantments?.filter(\r\n\t\t\t(e) => e.cardId === CardIds.BloodGem_BloodGemEnchantment,\r\n\t\t);\r\n\t\tif (bloodGemEnchantments?.length === 0) {\r\n\t\t\tbloodGemEnchantments = minion.enchantments?.filter(\r\n\t\t\t\t(e) => e.cardId === CardIds.BloodGem_BloodGemEnchantment,\r\n\t\t\t);\r\n\t\t}\r\n\t\tconst allSpawns = [];\r\n\t\tif (bloodGemEnchantments?.length > 0) {\r\n\t\t\tconst bloodGemAttack = bloodGemEnchantments.map((e) => e.tagScriptDataNum1 ?? 0).reduce((a, b) => a + b, 0);\r\n\t\t\tconst bloodGemHealth = bloodGemEnchantments.map((e) => e.tagScriptDataNum2 ?? 0).reduce((a, b) => a + b, 0);\r\n\t\t\tif (bloodGemAttack > 0 || bloodGemHealth > 0) {\r\n\t\t\t\tconst mult = minion.cardId === CardIds.CorruptedBristler_BG32_431_G ? 2 : 1;\r\n\t\t\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\t\t\tconst spawns = simplifiedSpawnEntities(\r\n\t\t\t\t\t\tCardIds.BloodGolemSticker_BloodGolemToken_BG30_MagicItem_442t,\r\n\t\t\t\t\t\t1,\r\n\t\t\t\t\t\tinput,\r\n\t\t\t\t\t);\r\n\t\t\t\t\tspawns.forEach((b) => {\r\n\t\t\t\t\t\tb.attack = bloodGemAttack;\r\n\t\t\t\t\t\tb.health = bloodGemHealth;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tallSpawns.push(...spawns);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn allSpawns;\r\n\t},\r\n};\r\n"]}
|
|
@@ -6,7 +6,8 @@ const utils_1 = require("../../../utils");
|
|
|
6
6
|
exports.FireForgedEvoker = {
|
|
7
7
|
cardIds: ["BG32_822", "BG32_822_G"],
|
|
8
8
|
startOfCombat: (minion, input) => {
|
|
9
|
-
const
|
|
9
|
+
const mult = minion.cardId === "BG32_822_G" ? 2 : 1;
|
|
10
|
+
const buff = mult + minion.scriptDataNum2;
|
|
10
11
|
(0, utils_1.addStatsToBoard)(minion, input.playerBoard, input.playerEntity, buff, buff, input.gameState, reference_data_1.Race[reference_data_1.Race.DRAGON]);
|
|
11
12
|
return { hasTriggered: true, shouldRecomputeCurrentAttacker: false };
|
|
12
13
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fire-forged-evoker.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/fire-forged-evoker.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,0CAAiD;AAGpC,QAAA,gBAAgB,GAAsB;IAClD,OAAO,EAAE,0BAAwE;IACjF,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"fire-forged-evoker.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/fire-forged-evoker.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,0CAAiD;AAGpC,QAAA,gBAAgB,GAAsB;IAClD,OAAO,EAAE,0BAAwE;IACjF,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC;QAC1C,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,qBAAI,CAAC,qBAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/G,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;IACtE,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\nexport const FireForgedEvoker: StartOfCombatCard = {\r\n\tcardIds: [CardIds.FireForgedEvoker_BG32_822, CardIds.FireForgedEvoker_BG32_822_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.FireForgedEvoker_BG32_822_G ? 2 : 1;\r\n\t\tconst buff = mult + minion.scriptDataNum2;\r\n\t\taddStatsToBoard(minion, input.playerBoard, input.playerEntity, buff, buff, input.gameState, Race[Race.DRAGON]);\r\n\t\treturn { hasTriggered: true, shouldRecomputeCurrentAttacker: false };\r\n\t},\r\n};\r\n"]}
|
|
@@ -8,7 +8,7 @@ exports.FlightyScout = {
|
|
|
8
8
|
cardIds: ["BG32_330", "BG32_330_G"],
|
|
9
9
|
startOfCombatFromHand: true,
|
|
10
10
|
startOfCombat: (minion, input) => {
|
|
11
|
-
if (!input.playerEntity.hand.includes(minion)) {
|
|
11
|
+
if (!input.playerEntity.hand.includes(minion) || minion.locked) {
|
|
12
12
|
return { hasTriggered: false, shouldRecomputeCurrentAttacker: false };
|
|
13
13
|
}
|
|
14
14
|
const copy = (0, utils_1.copyEntity)(minion);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flighty-scout.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/flighty-scout.ts"],"names":[],"mappings":";;;AAEA,+EAAuE;AACvE,uDAAiE;AAEjE,0CAA4C;AAG/B,QAAA,YAAY,GAA8B;IACtD,OAAO,EAAE,0BAAgE;IACzE,qBAAqB,EAAE,IAAI;IAC3B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"flighty-scout.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/flighty-scout.ts"],"names":[],"mappings":";;;AAEA,+EAAuE;AACvE,uDAAiE;AAEjE,0CAA4C;AAG/B,QAAA,YAAY,GAA8B;IACtD,OAAO,EAAE,0BAAgE;IACzE,qBAAqB,EAAE,IAAI;IAC3B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE;YAC/D,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;SACtE;QAED,MAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,MAAM,CAAC,CAAC;QAChC,IAAI,MAAM,CAAC,MAAM,iBAAoC,EAAE;YACtD,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;SAC9B;QAED,MAAM,UAAU,GAAG,IAAA,kCAAa,EAC/B,IAAI,CAAC,MAAM,EACX,CAAC,EACD,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,YAAY,CAAC,QAAQ,EAC3B,KAAK,EACL,KAAK,EACL,KAAK,EACL,IAAI,CACJ,CAAC;QACF,MAAM,MAAM,GAAG,IAAA,4BAAmB,EACjC,UAAU,EACV,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,MAAM,EACN,CAAC,EACD,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;QAEF,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC;IACtE,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { spawnEntities } from '../../../simulation/deathrattle-spawns';\r\nimport { performEntitySpawns } from '../../../simulation/spawns';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { copyEntity } from '../../../utils';\r\nimport { StartOfCombatFromHandCard } from '../../card.interface';\r\n\r\nexport const FlightyScout: StartOfCombatFromHandCard = {\r\n\tcardIds: [CardIds.FlightyScout_BG32_330, CardIds.FlightyScout_BG32_330_G],\r\n\tstartOfCombatFromHand: true,\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tif (!input.playerEntity.hand.includes(minion) || minion.locked) {\r\n\t\t\treturn { hasTriggered: false, shouldRecomputeCurrentAttacker: false };\r\n\t\t}\r\n\r\n\t\tconst copy = copyEntity(minion);\r\n\t\tif (minion.cardId === CardIds.FlightyScout_BG32_330_G) {\r\n\t\t\tcopy.attack = 2 * copy.attack;\r\n\t\t\tcopy.health = 2 * copy.health;\r\n\t\t}\r\n\r\n\t\tconst newMinions = spawnEntities(\r\n\t\t\tcopy.cardId,\r\n\t\t\t1,\r\n\t\t\tinput.playerBoard,\r\n\t\t\tinput.playerEntity,\r\n\t\t\tinput.opponentBoard,\r\n\t\t\tinput.opponentEntity,\r\n\t\t\tinput.gameState,\r\n\t\t\tinput.playerEntity.friendly,\r\n\t\t\tfalse,\r\n\t\t\tfalse,\r\n\t\t\tfalse,\r\n\t\t\tcopy,\r\n\t\t);\r\n\t\tconst spawns = performEntitySpawns(\r\n\t\t\tnewMinions,\r\n\t\t\tinput.playerBoard,\r\n\t\t\tinput.playerEntity,\r\n\t\t\tminion,\r\n\t\t\t0,\r\n\t\t\tinput.opponentBoard,\r\n\t\t\tinput.opponentEntity,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\r\n\t\treturn { hasTriggered: true, shouldRecomputeCurrentAttacker: false };\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Humongozz = void 0;
|
|
4
|
+
exports.Humongozz = {
|
|
5
|
+
cardIds: ["BG32_341", "BG32_341_G"],
|
|
6
|
+
onSpawned: (minion, input) => {
|
|
7
|
+
const mult = minion.cardId === "BG32_341_G" ? 2 : 1;
|
|
8
|
+
input.hero.globalInfo.TavernSpellAttackBuff += 1 * mult;
|
|
9
|
+
input.hero.globalInfo.TavernSpellHealthBuff += 2 * mult;
|
|
10
|
+
},
|
|
11
|
+
onDespawned: (minion, input) => {
|
|
12
|
+
const mult = minion.cardId === "BG32_341_G" ? 2 : 1;
|
|
13
|
+
input.hero.globalInfo.TavernSpellAttackBuff -= 1 * mult;
|
|
14
|
+
input.hero.globalInfo.TavernSpellHealthBuff -= 2 * mult;
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=humongozz.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"humongozz.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/humongozz.ts"],"names":[],"mappings":";;;AAKa,QAAA,SAAS,GAAoC;IACzD,OAAO,EAAE,0BAA0D;IACnE,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAmB,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,IAAI,CAAC,GAAG,IAAI,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,IAAI,CAAC,GAAG,IAAI,CAAC;IACzD,CAAC;IACD,WAAW,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,IAAI,CAAC,GAAG,IAAI,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,IAAI,CAAC,GAAG,IAAI,CAAC;IACzD,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { OnDespawnInput, OnSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { OnDespawnedCard, OnSpawnedCard } from '../../card.interface';\r\n\r\nexport const Humongozz: OnSpawnedCard & OnDespawnedCard = {\r\n\tcardIds: [CardIds.Humongozz_BG32_341, CardIds.Humongozz_BG32_341_G],\r\n\tonSpawned: (minion: BoardEntity, input: OnSpawnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.Humongozz_BG32_341_G ? 2 : 1;\r\n\t\tinput.hero.globalInfo.TavernSpellAttackBuff += 1 * mult;\r\n\t\tinput.hero.globalInfo.TavernSpellHealthBuff += 2 * mult;\r\n\t},\r\n\tonDespawned: (minion: BoardEntity, input: OnDespawnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.Humongozz_BG32_341_G ? 2 : 1;\r\n\t\tinput.hero.globalInfo.TavernSpellAttackBuff -= 1 * mult;\r\n\t\tinput.hero.globalInfo.TavernSpellHealthBuff -= 2 * mult;\r\n\t},\r\n};\r\n"]}
|
|
@@ -4,7 +4,7 @@ exports.FleetingVigor = void 0;
|
|
|
4
4
|
const utils_1 = require("../../../utils");
|
|
5
5
|
exports.FleetingVigor = {
|
|
6
6
|
startOfCombat: (secret, input) => {
|
|
7
|
-
(0, utils_1.addStatsToBoard)(secret, input.playerBoard, input.playerEntity,
|
|
7
|
+
(0, utils_1.addStatsToBoard)(secret, input.playerBoard, input.playerEntity, secret.scriptDataNum1, secret.scriptDataNum2, input.gameState);
|
|
8
8
|
return true;
|
|
9
9
|
},
|
|
10
10
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleeting-vigor.js","sourceRoot":"","sources":["../../../../src/cards/impl/spell/fleeting-vigor.ts"],"names":[],"mappings":";;;AAEA,0CAAiD;AAEpC,QAAA,aAAa,GAAG;IAC5B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,IAAA,uBAAe,
|
|
1
|
+
{"version":3,"file":"fleeting-vigor.js","sourceRoot":"","sources":["../../../../src/cards/impl/spell/fleeting-vigor.ts"],"names":[],"mappings":";;;AAEA,0CAAiD;AAEpC,QAAA,aAAa,GAAG;IAC5B,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,IAAA,uBAAe,EACd,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,cAAc,EACrB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { BoardSecret } from '../../../board-secret';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { addStatsToBoard } from '../../../utils';\r\n\r\nexport const FleetingVigor = {\r\n\tstartOfCombat: (secret: BoardSecret, input: SoCInput) => {\r\n\t\taddStatsToBoard(\r\n\t\t\tsecret,\r\n\t\t\tinput.playerBoard,\r\n\t\t\tinput.playerEntity,\r\n\t\t\tsecret.scriptDataNum1,\r\n\t\t\tsecret.scriptDataNum2,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -24,7 +24,7 @@ exports.EclecticShrine = {
|
|
|
24
24
|
return (_a = (0, utils_1.getEffectiveTribesForEntity)(e, input.playerEntity, input.gameState.anomalies, input.gameState.allCards)) === null || _a === void 0 ? void 0 : _a.includes(reference_data_1.Race.ALL);
|
|
25
25
|
}),
|
|
26
26
|
];
|
|
27
|
-
const stats =
|
|
27
|
+
const stats = (_a = trinket.scriptDataNum1) !== null && _a !== void 0 ? _a : 2;
|
|
28
28
|
allMinions.forEach((e) => {
|
|
29
29
|
(0, stats_1.modifyStats)(e, trinket, stats, stats, input.playerBoard, input.playerEntity, input.gameState);
|
|
30
30
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eclectic-shrine.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/eclectic-shrine.ts"],"names":[],"mappings":";;;AAAA,iEAA2E;AAG3E,qDAAwD;AACxD,0CAA6D;AAE7D,2DAA0D;AAE7C,QAAA,cAAc,GAAsB;IAChD,mBAAmB,EAAE,YAAY;IACjC,OAAO,EAAE,sBAA2C;IACpD,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;;QACzD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAC/C,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,IAAA,mCAA2B,EAC5B,CAAC,EACD,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CAAC,MAAM,CACT,CAAC;YACF,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,EAAE;;gBACL,OAAA,CAAC,CAAA,MAAA,IAAA,mCAA2B,EAC3B,CAAC,EACD,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,0CAAE,QAAQ,CAAC,qBAAI,CAAC,GAAG,CAAC,CAAA,CAAA;aAAA,CACtB,CAAC;YACF,MAAM,eAAe,GAAG,IAAA,2BAAa,EAAC,eAAe,EAAE,6BAAY,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC/F,MAAM,UAAU,GAAG;gBAClB,GAAG,eAAe;gBAClB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;;oBAC/B,OAAA,MAAA,IAAA,mCAA2B,EAC1B,CAAC,EACD,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,0CAAE,QAAQ,CAAC,qBAAI,CAAC,GAAG,CAAC,CAAA;iBAAA,CACrB;aACD,CAAC;YACF,MAAM,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"eclectic-shrine.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/eclectic-shrine.ts"],"names":[],"mappings":";;;AAAA,iEAA2E;AAG3E,qDAAwD;AACxD,0CAA6D;AAE7D,2DAA0D;AAE7C,QAAA,cAAc,GAAsB;IAChD,mBAAmB,EAAE,YAAY;IACjC,OAAO,EAAE,sBAA2C;IACpD,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;;QACzD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAC/C,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,IAAA,mCAA2B,EAC5B,CAAC,EACD,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,CAAC,MAAM,CACT,CAAC;YACF,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,EAAE;;gBACL,OAAA,CAAC,CAAA,MAAA,IAAA,mCAA2B,EAC3B,CAAC,EACD,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,0CAAE,QAAQ,CAAC,qBAAI,CAAC,GAAG,CAAC,CAAA,CAAA;aAAA,CACtB,CAAC;YACF,MAAM,eAAe,GAAG,IAAA,2BAAa,EAAC,eAAe,EAAE,6BAAY,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC/F,MAAM,UAAU,GAAG;gBAClB,GAAG,eAAe;gBAClB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;;oBAC/B,OAAA,MAAA,IAAA,mCAA2B,EAC1B,CAAC,EACD,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,0CAAE,QAAQ,CAAC,qBAAI,CAAC,GAAG,CAAC,CAAA;iBAAA,CACrB;aACD,CAAC;YACF,MAAM,KAAK,GAAG,MAAA,OAAO,CAAC,cAAc,mCAAI,CAAC,CAAC;YAC1C,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACxB,IAAA,mBAAW,EAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;CACD,CAAC","sourcesContent":["import { ALL_BG_RACES, CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { getEffectiveTribesForEntity } from '../../../utils';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\nimport { selectMinions } from '../hero-power/wax-warband';\r\n\r\nexport const EclecticShrine: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'pre-combat',\r\n\tcardIds: [CardIds.EclecticShrine_BG32_MagicItem_280],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tif (input.playerBoard.length > 0) {\r\n\t\t\tconst boardWithTribes = input.playerBoard.filter(\r\n\t\t\t\t(e) =>\r\n\t\t\t\t\t!!getEffectiveTribesForEntity(\r\n\t\t\t\t\t\te,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t\t).length,\r\n\t\t\t);\r\n\t\t\tconst boardWithoutAll = boardWithTribes.filter(\r\n\t\t\t\t(e) =>\r\n\t\t\t\t\t!getEffectiveTribesForEntity(\r\n\t\t\t\t\t\te,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t\t)?.includes(Race.ALL),\r\n\t\t\t);\r\n\t\t\tconst selectedMinions = selectMinions(boardWithoutAll, ALL_BG_RACES, input.gameState.allCards);\r\n\t\t\tconst allMinions = [\r\n\t\t\t\t...selectedMinions,\r\n\t\t\t\t...boardWithTribes.filter((e) =>\r\n\t\t\t\t\tgetEffectiveTribesForEntity(\r\n\t\t\t\t\t\te,\r\n\t\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\t\t\tinput.gameState.allCards,\r\n\t\t\t\t\t)?.includes(Race.ALL),\r\n\t\t\t\t),\r\n\t\t\t];\r\n\t\t\tconst stats = trinket.scriptDataNum1 ?? 2;\r\n\t\t\tallMinions.forEach((e) => {\r\n\t\t\t\tmodifyStats(e, trinket, stats, stats, input.playerBoard, input.playerEntity, input.gameState);\r\n\t\t\t});\r\n\t\t\ttrinket.scriptDataNum1++;\r\n\t\t\treturn true;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
package/dist/input-sanitation.js
CHANGED
|
@@ -57,7 +57,6 @@ const buildFinalInputForPlayer = (playerInfo, isPlayer, anomalies, cards, cardsD
|
|
|
57
57
|
const { board, hand } = buildFinalInputBoard(playerInfo, isPlayer, cardsData, cards);
|
|
58
58
|
const isGhost = ((_a = playerInfo.player) === null || _a === void 0 ? void 0 : _a.hpLeft) != null && playerInfo.player.hpLeft <= 0;
|
|
59
59
|
playerInfo.player.secrets = (_d = (_c = ((_b = playerInfo.player.secrets) !== null && _b !== void 0 ? _b : playerInfo.secrets)) === null || _c === void 0 ? void 0 : _c.filter((e) => !!(e === null || e === void 0 ? void 0 : e.cardId))) !== null && _d !== void 0 ? _d : [];
|
|
60
|
-
playerInfo.player.secrets.forEach((secret) => (secret.scriptDataNum1 = 0));
|
|
61
60
|
playerInfo.player.trinkets = ((_f = (_e = playerInfo.player.trinkets) === null || _e === void 0 ? void 0 : _e.filter((e) => !!(e === null || e === void 0 ? void 0 : e.cardId))) !== null && _f !== void 0 ? _f : []).sort((a, b) => a.entityId - b.entityId);
|
|
62
61
|
playerInfo.player.friendly = isPlayer;
|
|
63
62
|
playerInfo.player.globalInfo = (_g = playerInfo.player.globalInfo) !== null && _g !== void 0 ? _g : {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-sanitation.js","sourceRoot":"","sources":["../src/input-sanitation.ts"],"names":[],"mappings":"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","sourcesContent":["import { AllCardsService, CardIds, normalizeHeroCardId } from '@firestone-hs/reference-data';\r\nimport { BgsBattleInfo } from './bgs-battle-info';\r\nimport { BgsBoardInfo } from './bgs-board-info';\r\nimport { BgsHeroPower, BgsPlayerEntity } from './bgs-player-entity';\r\nimport { BoardEntity } from './board-entity';\r\nimport { CardsData } from './cards/cards-data';\r\nimport { setImplicitDataHero, setMissingAuras } from './simulation/auras';\r\nimport { fixEnchantments } from './simulation/enchantments';\r\nimport { addImpliedMechanics } from './utils';\r\n\r\nexport const buildFinalInput = (\r\n\tbattleInput: BgsBattleInfo,\r\n\tcards: AllCardsService,\r\n\tcardsData: CardsData,\r\n): BgsBattleInfo => {\r\n\tconst entityIdContainer = { entityId: 999_999_999 };\r\n\r\n\tconst {\r\n\t\tboard: playerBoard,\r\n\t\thand: playerHand,\r\n\t\tplayer: playerEntity,\r\n\t} = buildFinalInputForPlayer(\r\n\t\tbattleInput.playerBoard,\r\n\t\ttrue,\r\n\t\tbattleInput.gameState.anomalies,\r\n\t\tcards,\r\n\t\tcardsData,\r\n\t\tentityIdContainer,\r\n\t);\r\n\tconst {\r\n\t\tboard: playerTeammateBoard,\r\n\t\thand: playerTeammateHand,\r\n\t\tplayer: playerTeammateEntity,\r\n\t} = buildFinalInputForPlayer(\r\n\t\tbattleInput.playerTeammateBoard,\r\n\t\ttrue,\r\n\t\tbattleInput.gameState.anomalies,\r\n\t\tcards,\r\n\t\tcardsData,\r\n\t\tentityIdContainer,\r\n\t);\r\n\r\n\tconst {\r\n\t\tboard: opponentBoard,\r\n\t\thand: opponentHand,\r\n\t\tplayer: opponentEntity,\r\n\t} = buildFinalInputForPlayer(\r\n\t\tbattleInput.opponentBoard,\r\n\t\tfalse,\r\n\t\tbattleInput.gameState.anomalies,\r\n\t\tcards,\r\n\t\tcardsData,\r\n\t\tentityIdContainer,\r\n\t);\r\n\tconst {\r\n\t\tboard: opponentTeammateBoard,\r\n\t\thand: opponentTeammateHand,\r\n\t\tplayer: opponentTeammateEntity,\r\n\t} = buildFinalInputForPlayer(\r\n\t\tbattleInput.opponentTeammateBoard,\r\n\t\tfalse,\r\n\t\tbattleInput.gameState.anomalies,\r\n\t\tcards,\r\n\t\tcardsData,\r\n\t\tentityIdContainer,\r\n\t);\r\n\r\n\t// We do this so that we can have mutated objects inside the simulation and still\r\n\t// be able to start from a fresh copy for each simulation\r\n\tconst inputReady: BgsBattleInfo = {\r\n\t\tplayerBoard: {\r\n\t\t\tboard: playerBoard,\r\n\t\t\tplayer: {\r\n\t\t\t\t...playerEntity,\r\n\t\t\t\thand: playerHand,\r\n\t\t\t},\r\n\t\t},\r\n\t\tplayerTeammateBoard: !!playerTeammateEntity\r\n\t\t\t? {\r\n\t\t\t\t\tboard: playerTeammateBoard,\r\n\t\t\t\t\tplayer: {\r\n\t\t\t\t\t\t...playerTeammateEntity,\r\n\t\t\t\t\t\thand: playerTeammateHand,\r\n\t\t\t\t\t},\r\n\t\t\t }\r\n\t\t\t: null,\r\n\t\topponentBoard: {\r\n\t\t\tboard: opponentBoard,\r\n\t\t\tplayer: {\r\n\t\t\t\t...opponentEntity,\r\n\t\t\t\thand: opponentHand,\r\n\t\t\t},\r\n\t\t},\r\n\t\topponentTeammateBoard: !!opponentTeammateEntity\r\n\t\t\t? {\r\n\t\t\t\t\tboard: opponentTeammateBoard,\r\n\t\t\t\t\tplayer: {\r\n\t\t\t\t\t\t...opponentTeammateEntity,\r\n\t\t\t\t\t\thand: opponentTeammateHand,\r\n\t\t\t\t\t},\r\n\t\t\t }\r\n\t\t\t: null,\r\n\t\tgameState: battleInput.gameState,\r\n\t} as BgsBattleInfo;\r\n\treturn inputReady;\r\n};\r\n\r\nconst buildFinalInputForPlayer = (\r\n\tplayerInfo: BgsBoardInfo,\r\n\tisPlayer: boolean,\r\n\tanomalies: readonly string[],\r\n\tcards: AllCardsService,\r\n\tcardsData: CardsData,\r\n\tentityIdContainer: { entityId: number },\r\n): { board: BoardEntity[]; hand: BoardEntity[]; player: BgsPlayerEntity } => {\r\n\tif (!playerInfo) {\r\n\t\treturn { board: [], hand: [], player: null };\r\n\t}\r\n\r\n\tconst { board, hand } = buildFinalInputBoard(playerInfo, isPlayer, cardsData, cards);\r\n\tconst isGhost = playerInfo.player?.hpLeft != null && playerInfo.player.hpLeft <= 0;\r\n\tplayerInfo.player.secrets = (playerInfo.player.secrets ?? playerInfo.secrets)?.filter((e) => !!e?.cardId) ?? [];\r\n\t// Add the scriptDataNum1 only on the start of combat phase, so that it doesn't trigger too soon\r\n\tplayerInfo.player.secrets.forEach((secret) => (secret.scriptDataNum1 = 0));\r\n\t// Trinkets don't seem to trigger when facing the ghost\r\n\t// http://replays.firestoneapp.com/?reviewId=4ad32e03-2620-4fb1-8b43-cad55afd30fc&turn=27&action=2\r\n\t// One of the trinkets is Blood Golem Sticker, and no Blood Golem is summoned\r\n\t// Looks like that's not always the case:\r\n\t// http://replays.firestoneapp.com/?reviewId=9958e8d3-4388-4e6f-9b36-35f3a08be2f6&turn=25&action=4\r\n\t// playerInfo.player.trinkets = isGhost ? [] : playerInfo.player.trinkets?.filter((e) => !!e?.cardId) ?? [];\r\n\tplayerInfo.player.trinkets = (playerInfo.player.trinkets?.filter((e) => !!e?.cardId) ?? []).sort(\r\n\t\t(a, b) => a.entityId - b.entityId,\r\n\t);\r\n\tplayerInfo.player.friendly = isPlayer;\r\n\tplayerInfo.player.globalInfo = playerInfo.player.globalInfo ?? {};\r\n\tplayerInfo.player.globalInfo.PirateAttackBonus = playerInfo.player.globalInfo.PirateAttackBonus ?? 0;\r\n\tplayerInfo.player.heroPowers = playerInfo.player.heroPowers?.length\r\n\t\t? playerInfo.player.heroPowers.map((hp, index) => sanitizeHeroPower(hp, index, playerInfo.player, cards))\r\n\t\t: [\r\n\t\t\t\t{\r\n\t\t\t\t\tcardId: playerInfo.player.heroPowerId,\r\n\t\t\t\t\tentityId: playerInfo.player.heroPowerEntityId,\r\n\t\t\t\t\tused: playerInfo.player.heroPowerUsed,\r\n\t\t\t\t\tinfo: playerInfo.player.heroPowerInfo,\r\n\t\t\t\t\tinfo2: playerInfo.player.heroPowerInfo2,\r\n\t\t\t\t} as BgsHeroPower,\r\n\t\t ];\r\n\t// playerInfo.player.heroPowerId =\r\n\t// \tplayerInfo.player.trinkets.find((t) => t.scriptDataNum6 === 3)?.cardId ??\r\n\t// \t(normalizeHeroCardId(playerInfo.player.cardId, cards) === CardIds.SireDenathrius_BG24_HERO_100\r\n\t// \t\t? playerInfo.player.questRewardEntities?.[0]?.cardId\r\n\t// \t\t: null) ??\r\n\t// \tplayerInfo.player.heroPowerId;\r\n\tplayerInfo.player.cardId = isGhost ? CardIds.Kelthuzad_TB_BaconShop_HERO_KelThuzad : playerInfo.player.cardId;\r\n\tplayerInfo.player.hpLeft = Math.max(1, playerInfo.player.hpLeft);\r\n\t// When using the simulator, the aura is not applied when receiving the board state.\r\n\tsetMissingAuras(board, playerInfo.player, anomalies, cards);\r\n\t// Avenge, maxHealth, etc.\r\n\t// setImplicitData(playerBoard, cardsData);\r\n\t// setImplicitData(opponentBoard, cardsData);\r\n\t// Avenge, globalInfo\r\n\tsetImplicitDataHero(playerInfo.player, cardsData, isPlayer, entityIdContainer);\r\n\treturn { board, hand, player: playerInfo.player };\r\n};\r\n\r\nconst sanitizeHeroPower = (\r\n\thp: BgsHeroPower,\r\n\tindex: number,\r\n\tplayer: BgsPlayerEntity,\r\n\tcards: AllCardsService,\r\n): BgsHeroPower => {\r\n\tif (index !== 0) {\r\n\t\treturn hp;\r\n\t}\r\n\r\n\thp.cardId =\r\n\t\tplayer.trinkets.find((t) => t.scriptDataNum6 === 3)?.cardId ??\r\n\t\t(normalizeHeroCardId(player.cardId, cards) === CardIds.SireDenathrius_BG24_HERO_100\r\n\t\t\t? player.questRewardEntities?.[0]?.cardId\r\n\t\t\t: null) ??\r\n\t\thp.cardId;\r\n\treturn hp;\r\n};\r\n\r\nconst buildFinalInputBoard = (\r\n\tplayerInfo: BgsBoardInfo,\r\n\tisPlayer: boolean,\r\n\tcardsData: CardsData,\r\n\tcards: AllCardsService,\r\n): { board: BoardEntity[]; hand: BoardEntity[] } => {\r\n\tconst board = playerInfo.board\r\n\t\t.map((entity) => fixEnchantments(entity, cards))\r\n\t\t.map((entity) => ({\r\n\t\t\t...entity,\r\n\t\t\tinInitialState: true,\r\n\t\t\tscriptDataNum1: cardsData.defaultScriptDataNum(entity.cardId) || entity.scriptDataNum1,\r\n\t\t}))\r\n\t\t.map((entity) => ({ ...addImpliedMechanics(entity, cardsData), friendly: isPlayer } as BoardEntity));\r\n\tconst hand =\r\n\t\tplayerInfo.player.hand\r\n\t\t\t?.map((entity) => ({ ...entity, inInitialState: true }))\r\n\t\t\t.map((entity) => ({ ...addImpliedMechanics(entity, cardsData), friendly: isPlayer } as BoardEntity)) ?? [];\r\n\r\n\treturn { board, hand };\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"input-sanitation.js","sourceRoot":"","sources":["../src/input-sanitation.ts"],"names":[],"mappings":"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","sourcesContent":["import { AllCardsService, CardIds, normalizeHeroCardId } from '@firestone-hs/reference-data';\r\nimport { BgsBattleInfo } from './bgs-battle-info';\r\nimport { BgsBoardInfo } from './bgs-board-info';\r\nimport { BgsHeroPower, BgsPlayerEntity } from './bgs-player-entity';\r\nimport { BoardEntity } from './board-entity';\r\nimport { CardsData } from './cards/cards-data';\r\nimport { setImplicitDataHero, setMissingAuras } from './simulation/auras';\r\nimport { fixEnchantments } from './simulation/enchantments';\r\nimport { addImpliedMechanics } from './utils';\r\n\r\nexport const buildFinalInput = (\r\n\tbattleInput: BgsBattleInfo,\r\n\tcards: AllCardsService,\r\n\tcardsData: CardsData,\r\n): BgsBattleInfo => {\r\n\tconst entityIdContainer = { entityId: 999_999_999 };\r\n\r\n\tconst {\r\n\t\tboard: playerBoard,\r\n\t\thand: playerHand,\r\n\t\tplayer: playerEntity,\r\n\t} = buildFinalInputForPlayer(\r\n\t\tbattleInput.playerBoard,\r\n\t\ttrue,\r\n\t\tbattleInput.gameState.anomalies,\r\n\t\tcards,\r\n\t\tcardsData,\r\n\t\tentityIdContainer,\r\n\t);\r\n\tconst {\r\n\t\tboard: playerTeammateBoard,\r\n\t\thand: playerTeammateHand,\r\n\t\tplayer: playerTeammateEntity,\r\n\t} = buildFinalInputForPlayer(\r\n\t\tbattleInput.playerTeammateBoard,\r\n\t\ttrue,\r\n\t\tbattleInput.gameState.anomalies,\r\n\t\tcards,\r\n\t\tcardsData,\r\n\t\tentityIdContainer,\r\n\t);\r\n\r\n\tconst {\r\n\t\tboard: opponentBoard,\r\n\t\thand: opponentHand,\r\n\t\tplayer: opponentEntity,\r\n\t} = buildFinalInputForPlayer(\r\n\t\tbattleInput.opponentBoard,\r\n\t\tfalse,\r\n\t\tbattleInput.gameState.anomalies,\r\n\t\tcards,\r\n\t\tcardsData,\r\n\t\tentityIdContainer,\r\n\t);\r\n\tconst {\r\n\t\tboard: opponentTeammateBoard,\r\n\t\thand: opponentTeammateHand,\r\n\t\tplayer: opponentTeammateEntity,\r\n\t} = buildFinalInputForPlayer(\r\n\t\tbattleInput.opponentTeammateBoard,\r\n\t\tfalse,\r\n\t\tbattleInput.gameState.anomalies,\r\n\t\tcards,\r\n\t\tcardsData,\r\n\t\tentityIdContainer,\r\n\t);\r\n\r\n\t// We do this so that we can have mutated objects inside the simulation and still\r\n\t// be able to start from a fresh copy for each simulation\r\n\tconst inputReady: BgsBattleInfo = {\r\n\t\tplayerBoard: {\r\n\t\t\tboard: playerBoard,\r\n\t\t\tplayer: {\r\n\t\t\t\t...playerEntity,\r\n\t\t\t\thand: playerHand,\r\n\t\t\t},\r\n\t\t},\r\n\t\tplayerTeammateBoard: !!playerTeammateEntity\r\n\t\t\t? {\r\n\t\t\t\t\tboard: playerTeammateBoard,\r\n\t\t\t\t\tplayer: {\r\n\t\t\t\t\t\t...playerTeammateEntity,\r\n\t\t\t\t\t\thand: playerTeammateHand,\r\n\t\t\t\t\t},\r\n\t\t\t }\r\n\t\t\t: null,\r\n\t\topponentBoard: {\r\n\t\t\tboard: opponentBoard,\r\n\t\t\tplayer: {\r\n\t\t\t\t...opponentEntity,\r\n\t\t\t\thand: opponentHand,\r\n\t\t\t},\r\n\t\t},\r\n\t\topponentTeammateBoard: !!opponentTeammateEntity\r\n\t\t\t? {\r\n\t\t\t\t\tboard: opponentTeammateBoard,\r\n\t\t\t\t\tplayer: {\r\n\t\t\t\t\t\t...opponentTeammateEntity,\r\n\t\t\t\t\t\thand: opponentTeammateHand,\r\n\t\t\t\t\t},\r\n\t\t\t }\r\n\t\t\t: null,\r\n\t\tgameState: battleInput.gameState,\r\n\t} as BgsBattleInfo;\r\n\treturn inputReady;\r\n};\r\n\r\nconst buildFinalInputForPlayer = (\r\n\tplayerInfo: BgsBoardInfo,\r\n\tisPlayer: boolean,\r\n\tanomalies: readonly string[],\r\n\tcards: AllCardsService,\r\n\tcardsData: CardsData,\r\n\tentityIdContainer: { entityId: number },\r\n): { board: BoardEntity[]; hand: BoardEntity[]; player: BgsPlayerEntity } => {\r\n\tif (!playerInfo) {\r\n\t\treturn { board: [], hand: [], player: null };\r\n\t}\r\n\r\n\tconst { board, hand } = buildFinalInputBoard(playerInfo, isPlayer, cardsData, cards);\r\n\tconst isGhost = playerInfo.player?.hpLeft != null && playerInfo.player.hpLeft <= 0;\r\n\tplayerInfo.player.secrets = (playerInfo.player.secrets ?? playerInfo.secrets)?.filter((e) => !!e?.cardId) ?? [];\r\n\t// Add the scriptDataNum1 only on the start of combat phase, so that it doesn't trigger too soon\r\n\t// Don't do this, as secrets like Fleeting Vigor use this info to tell how much buff it will apply\r\n\t// playerInfo.player.secrets.forEach((secret) => (secret.scriptDataNum1 = 0));\r\n\t// Trinkets don't seem to trigger when facing the ghost\r\n\t// http://replays.firestoneapp.com/?reviewId=4ad32e03-2620-4fb1-8b43-cad55afd30fc&turn=27&action=2\r\n\t// One of the trinkets is Blood Golem Sticker, and no Blood Golem is summoned\r\n\t// Looks like that's not always the case:\r\n\t// http://replays.firestoneapp.com/?reviewId=9958e8d3-4388-4e6f-9b36-35f3a08be2f6&turn=25&action=4\r\n\t// playerInfo.player.trinkets = isGhost ? [] : playerInfo.player.trinkets?.filter((e) => !!e?.cardId) ?? [];\r\n\tplayerInfo.player.trinkets = (playerInfo.player.trinkets?.filter((e) => !!e?.cardId) ?? []).sort(\r\n\t\t(a, b) => a.entityId - b.entityId,\r\n\t);\r\n\tplayerInfo.player.friendly = isPlayer;\r\n\tplayerInfo.player.globalInfo = playerInfo.player.globalInfo ?? {};\r\n\tplayerInfo.player.globalInfo.PirateAttackBonus = playerInfo.player.globalInfo.PirateAttackBonus ?? 0;\r\n\tplayerInfo.player.heroPowers = playerInfo.player.heroPowers?.length\r\n\t\t? playerInfo.player.heroPowers.map((hp, index) => sanitizeHeroPower(hp, index, playerInfo.player, cards))\r\n\t\t: [\r\n\t\t\t\t{\r\n\t\t\t\t\tcardId: playerInfo.player.heroPowerId,\r\n\t\t\t\t\tentityId: playerInfo.player.heroPowerEntityId,\r\n\t\t\t\t\tused: playerInfo.player.heroPowerUsed,\r\n\t\t\t\t\tinfo: playerInfo.player.heroPowerInfo,\r\n\t\t\t\t\tinfo2: playerInfo.player.heroPowerInfo2,\r\n\t\t\t\t} as BgsHeroPower,\r\n\t\t ];\r\n\t// playerInfo.player.heroPowerId =\r\n\t// \tplayerInfo.player.trinkets.find((t) => t.scriptDataNum6 === 3)?.cardId ??\r\n\t// \t(normalizeHeroCardId(playerInfo.player.cardId, cards) === CardIds.SireDenathrius_BG24_HERO_100\r\n\t// \t\t? playerInfo.player.questRewardEntities?.[0]?.cardId\r\n\t// \t\t: null) ??\r\n\t// \tplayerInfo.player.heroPowerId;\r\n\tplayerInfo.player.cardId = isGhost ? CardIds.Kelthuzad_TB_BaconShop_HERO_KelThuzad : playerInfo.player.cardId;\r\n\tplayerInfo.player.hpLeft = Math.max(1, playerInfo.player.hpLeft);\r\n\t// When using the simulator, the aura is not applied when receiving the board state.\r\n\tsetMissingAuras(board, playerInfo.player, anomalies, cards);\r\n\t// Avenge, maxHealth, etc.\r\n\t// setImplicitData(playerBoard, cardsData);\r\n\t// setImplicitData(opponentBoard, cardsData);\r\n\t// Avenge, globalInfo\r\n\tsetImplicitDataHero(playerInfo.player, cardsData, isPlayer, entityIdContainer);\r\n\treturn { board, hand, player: playerInfo.player };\r\n};\r\n\r\nconst sanitizeHeroPower = (\r\n\thp: BgsHeroPower,\r\n\tindex: number,\r\n\tplayer: BgsPlayerEntity,\r\n\tcards: AllCardsService,\r\n): BgsHeroPower => {\r\n\tif (index !== 0) {\r\n\t\treturn hp;\r\n\t}\r\n\r\n\thp.cardId =\r\n\t\tplayer.trinkets.find((t) => t.scriptDataNum6 === 3)?.cardId ??\r\n\t\t(normalizeHeroCardId(player.cardId, cards) === CardIds.SireDenathrius_BG24_HERO_100\r\n\t\t\t? player.questRewardEntities?.[0]?.cardId\r\n\t\t\t: null) ??\r\n\t\thp.cardId;\r\n\treturn hp;\r\n};\r\n\r\nconst buildFinalInputBoard = (\r\n\tplayerInfo: BgsBoardInfo,\r\n\tisPlayer: boolean,\r\n\tcardsData: CardsData,\r\n\tcards: AllCardsService,\r\n): { board: BoardEntity[]; hand: BoardEntity[] } => {\r\n\tconst board = playerInfo.board\r\n\t\t.map((entity) => fixEnchantments(entity, cards))\r\n\t\t.map((entity) => ({\r\n\t\t\t...entity,\r\n\t\t\tinInitialState: true,\r\n\t\t\tscriptDataNum1: cardsData.defaultScriptDataNum(entity.cardId) || entity.scriptDataNum1,\r\n\t\t}))\r\n\t\t.map((entity) => ({ ...addImpliedMechanics(entity, cardsData), friendly: isPlayer } as BoardEntity));\r\n\tconst hand =\r\n\t\tplayerInfo.player.hand\r\n\t\t\t?.map((entity) => ({ ...entity, inInitialState: true }))\r\n\t\t\t.map((entity) => ({ ...addImpliedMechanics(entity, cardsData), friendly: isPlayer } as BoardEntity)) ?? [];\r\n\r\n\treturn { board, hand };\r\n};\r\n"]}
|
package/dist/simulation/auras.js
CHANGED
|
@@ -84,7 +84,7 @@ const setMissingAura = (board, minionCardId, enchantmentCardId, attack, health,
|
|
|
84
84
|
}
|
|
85
85
|
};
|
|
86
86
|
const setImplicitDataHero = (hero, cardsData, isPlayer, entityIdContainer) => {
|
|
87
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;
|
|
87
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5;
|
|
88
88
|
for (const heroPower of hero.heroPowers) {
|
|
89
89
|
const avengeValue = cardsData.avengeValue(heroPower.cardId);
|
|
90
90
|
if (avengeValue > 0) {
|
|
@@ -119,7 +119,7 @@ const setImplicitDataHero = (hero, cardsData, isPlayer, entityIdContainer) => {
|
|
|
119
119
|
...trinket,
|
|
120
120
|
avengeDefault: cardsData.avengeValue(trinket.cardId),
|
|
121
121
|
avengeCurrent: cardsData.avengeValue(trinket.cardId),
|
|
122
|
-
scriptDataNum1: cardsData.defaultScriptDataNum(trinket.cardId),
|
|
122
|
+
scriptDataNum1: cardsData.defaultScriptDataNum(trinket.cardId) || trinket.scriptDataNum1,
|
|
123
123
|
}));
|
|
124
124
|
hero.entityId = hero.entityId || entityIdContainer.entityId--;
|
|
125
125
|
hero.hand = (_d = hero.hand) !== null && _d !== void 0 ? _d : [];
|
|
@@ -136,19 +136,22 @@ const setImplicitDataHero = (hero, cardsData, isPlayer, entityIdContainer) => {
|
|
|
136
136
|
hero.globalInfo.BeetleHealthBuff = (_m = hero.globalInfo.BeetleHealthBuff) !== null && _m !== void 0 ? _m : 0;
|
|
137
137
|
hero.globalInfo.ElementalAttackBuff = (_o = hero.globalInfo.ElementalAttackBuff) !== null && _o !== void 0 ? _o : 0;
|
|
138
138
|
hero.globalInfo.ElementalHealthBuff = (_p = hero.globalInfo.ElementalHealthBuff) !== null && _p !== void 0 ? _p : 0;
|
|
139
|
-
hero.globalInfo.
|
|
140
|
-
hero.globalInfo.
|
|
141
|
-
hero.globalInfo.
|
|
142
|
-
hero.globalInfo.
|
|
143
|
-
hero.globalInfo.
|
|
139
|
+
hero.globalInfo.TavernSpellAttackBuff = (_q = hero.globalInfo.TavernSpellAttackBuff) !== null && _q !== void 0 ? _q : 0;
|
|
140
|
+
hero.globalInfo.TavernSpellHealthBuff = (_r = hero.globalInfo.TavernSpellHealthBuff) !== null && _r !== void 0 ? _r : 0;
|
|
141
|
+
hero.globalInfo.MutatedLasherAttackBuff = (_s = hero.globalInfo.MutatedLasherAttackBuff) !== null && _s !== void 0 ? _s : 0;
|
|
142
|
+
hero.globalInfo.MutatedLasherHealthBuff = (_t = hero.globalInfo.MutatedLasherHealthBuff) !== null && _t !== void 0 ? _t : 0;
|
|
143
|
+
hero.globalInfo.TavernSpellsCastThisGame = (_u = hero.globalInfo.TavernSpellsCastThisGame) !== null && _u !== void 0 ? _u : 0;
|
|
144
|
+
hero.globalInfo.SpellsCastThisGame = (_v = hero.globalInfo.SpellsCastThisGame) !== null && _v !== void 0 ? _v : 0;
|
|
145
|
+
hero.globalInfo.UndeadAttackBonus = (_w = hero.globalInfo.UndeadAttackBonus) !== null && _w !== void 0 ? _w : 0;
|
|
146
|
+
hero.globalInfo.FrostlingBonus = (_x = hero.globalInfo.FrostlingBonus) !== null && _x !== void 0 ? _x : 0;
|
|
144
147
|
hero.globalInfo.BloodGemAttackBonus =
|
|
145
|
-
((
|
|
146
|
-
((_x = (_w = hero.questRewardEntities) === null || _w === void 0 ? void 0 : _w.filter((e) => e.cardId === "BG27_Reward_815").length) !== null && _x !== void 0 ? _x : 0);
|
|
147
|
-
hero.globalInfo.BloodGemHealthBonus =
|
|
148
|
-
((_y = hero.globalInfo.BloodGemHealthBonus) !== null && _y !== void 0 ? _y : 0) +
|
|
148
|
+
((_y = hero.globalInfo.BloodGemAttackBonus) !== null && _y !== void 0 ? _y : 0) +
|
|
149
149
|
((_0 = (_z = hero.questRewardEntities) === null || _z === void 0 ? void 0 : _z.filter((e) => e.cardId === "BG27_Reward_815").length) !== null && _0 !== void 0 ? _0 : 0);
|
|
150
|
-
hero.globalInfo.
|
|
151
|
-
|
|
150
|
+
hero.globalInfo.BloodGemHealthBonus =
|
|
151
|
+
((_1 = hero.globalInfo.BloodGemHealthBonus) !== null && _1 !== void 0 ? _1 : 0) +
|
|
152
|
+
((_3 = (_2 = hero.questRewardEntities) === null || _2 === void 0 ? void 0 : _2.filter((e) => e.cardId === "BG27_Reward_815").length) !== null && _3 !== void 0 ? _3 : 0);
|
|
153
|
+
hero.globalInfo.GoldrinnBuffAtk = (_4 = hero.globalInfo.GoldrinnBuffAtk) !== null && _4 !== void 0 ? _4 : 0;
|
|
154
|
+
hero.globalInfo.GoldrinnBuffHealth = (_5 = hero.globalInfo.GoldrinnBuffHealth) !== null && _5 !== void 0 ? _5 : 0;
|
|
152
155
|
};
|
|
153
156
|
exports.setImplicitDataHero = setImplicitDataHero;
|
|
154
157
|
const clearStealthIfNeeded = (board, hero, otherBoard, otherHero, gameState) => {
|