@firestone-hs/simulate-bgs-battle 1.1.754 → 1.1.755
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cards/card.interface.d.ts +1 -1
- package/dist/cards/card.interface.js.map +1 -1
- package/dist/cards/impl/_card-mappings.js +5 -0
- package/dist/cards/impl/_card-mappings.js.map +1 -1
- package/dist/cards/impl/enchantments/deaths-embrace.js +0 -2
- package/dist/cards/impl/enchantments/deaths-embrace.js.map +1 -1
- package/dist/cards/impl/enchantments/doppelganger.d.ts +2 -0
- package/dist/cards/impl/enchantments/doppelganger.js +26 -0
- package/dist/cards/impl/enchantments/doppelganger.js.map +1 -0
- package/dist/cards/impl/minion/abyssal-bruiser.js +0 -2
- package/dist/cards/impl/minion/abyssal-bruiser.js.map +1 -1
- package/dist/cards/impl/minion/de-volition-ist.js +0 -3
- package/dist/cards/impl/minion/de-volition-ist.js.map +1 -1
- package/dist/cards/impl/minion/maritime-extortionist.js +0 -2
- package/dist/cards/impl/minion/maritime-extortionist.js.map +1 -1
- package/dist/cards/impl/trinket/hammer-of-twilight.d.ts +3 -0
- package/dist/cards/impl/trinket/hammer-of-twilight.js +80 -0
- package/dist/cards/impl/trinket/hammer-of-twilight.js.map +1 -0
- package/dist/simulation/deity.js +3 -0
- package/dist/simulation/deity.js.map +1 -1
- package/dist/simulation/discard.js +7 -1
- package/dist/simulation/discard.js.map +1 -1
- package/package.json +1 -1
|
@@ -197,7 +197,7 @@ export interface OnCardAddedToHandCard extends Card {
|
|
|
197
197
|
}
|
|
198
198
|
export declare const hasOnCardAddedToHand: (card: Card) => card is OnCardAddedToHandCard;
|
|
199
199
|
export interface OnDiscardCard extends Card {
|
|
200
|
-
onDiscard(entity: BoardEntity, input: DiscardInput): void;
|
|
200
|
+
onDiscard(entity: BoardEntity | BoardTrinket, input: DiscardInput): void;
|
|
201
201
|
}
|
|
202
202
|
export declare const hasOnDiscard: (card: Card) => card is OnDiscardCard;
|
|
203
203
|
export interface OnThisDiscardedCard extends Card {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.interface.js","sourceRoot":"","sources":["../../src/cards/card.interface.ts"],"names":[],"mappings":"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","sourcesContent":["import { BgsPlayerEntity, BgsQuestEntity, BoardTrinket } from '../bgs-player-entity';\r\nimport { BoardEnchantment, BoardEntity } from '../board-entity';\r\nimport { BoardSecret } from '../board-secret';\r\nimport { OnDivineShieldUpdatedInput } from '../keywords/divine-shield';\r\nimport { OnRebornUpdatedInput } from '../keywords/reborn';\r\nimport { OnStealthUpdatedInput } from '../keywords/stealth';\r\nimport { OnTauntUpdatedInput } from '../keywords/taunt';\r\nimport { OnVenomousUpdatedInput } from '../keywords/venomous';\r\nimport { OnWindfuryUpdatedInput } from '../keywords/windfury';\r\nimport { OnGlobalInfoUpdatedInput } from '../mechanics/player-global-effects';\r\nimport {\r\n\tOnDespawnInput,\r\n\tOnFriendlyMinionSummonedTrinketInput,\r\n\tOnOtherSpawnAuraInput,\r\n\tOnOtherSpawnInput,\r\n\tOnSpawnInput,\r\n} from '../simulation/add-minion-to-board';\r\nimport {\r\n\tOnAfterDeathInput,\r\n\tOnAfterFriendlyMinionDeathInput,\r\n\tOnDeathInput,\r\n\tOnMinionKilledInput,\r\n} from '../simulation/attack';\r\nimport { AvengeInput } from '../simulation/avenge';\r\nimport { BattlecryInput, OnBattlecryTriggeredInput } from '../simulation/battlecries';\r\nimport { PlayedBloodGemsOnAnyInput, PlayedBloodGemsOnMeInput } from '../simulation/blood-gems';\r\nimport { OnCardAddedToHandInput } from '../simulation/cards-in-hand';\r\nimport { AfterDealDamageInput, AfterFriendlyMinionDamagedInput } from '../simulation/damage-effects';\r\nimport { AfterHeroDamagedInput } from '../simulation/damage-to-hero';\r\nimport { DeathrattleTriggeredInput } from '../simulation/deathrattle-on-trigger';\r\nimport { FullGameState } from '../simulation/internal-game-state';\r\nimport {\r\n\tOnAfterMagnetizeInput,\r\n\tOnAfterMagnetizeSelfInput,\r\n\tOnBeforeMagnetizeInput,\r\n\tOnBeforeMagnetizeSelfInput,\r\n} from '../simulation/magnetize';\r\nimport { OnAttackInput } from '../simulation/on-attack';\r\nimport { OnMinionAttackedInput } from '../simulation/on-being-attacked';\r\nimport { RebornEffectInput } from '../simulation/reborn';\r\nimport { SoCInput } from '../simulation/start-of-combat/start-of-combat-input';\r\nimport { OnStatsChangedInput } from '../simulation/stats';\r\nimport { OnGildedInput } from '../simulation/utils/golden';\r\n\r\nexport interface Card {\r\n\t// Maybe should make this mandatory\r\n\tcardIds?: readonly string[];\r\n\t// Method syntax keeps parameters bivariant so implementations can narrow (e.g. BoardEntity).\r\n\tstartOfCombat?(\r\n\t\ttrinket: BoardEntity | BoardTrinket | BgsPlayerEntity | BoardSecret,\r\n\t\tinput: SoCInput,\r\n\t): boolean | { hasTriggered: boolean; shouldRecomputeCurrentAttacker: boolean };\r\n}\r\n\r\nexport interface DefaultChargesCard extends Card {\r\n\tdefaultCharges(entity: BoardEntity): number;\r\n}\r\nexport const hasDefaultCharges = (card: Card): card is DefaultChargesCard =>\r\n\t(card as DefaultChargesCard)?.defaultCharges !== undefined;\r\n\r\nexport interface StartOfCombatCard extends Card {\r\n\tstartOfCombatTiming?: StartOfCombatTiming;\r\n\tstartOfCombat(\r\n\t\ttrinket: BoardEntity | BoardTrinket | BgsPlayerEntity | BoardSecret,\r\n\t\tinput: SoCInput,\r\n\t): boolean | { hasTriggered: boolean; shouldRecomputeCurrentAttacker: boolean };\r\n}\r\nexport const hasStartOfCombat = (card: Card): card is StartOfCombatCard =>\r\n\t(card as StartOfCombatCard)?.startOfCombat !== undefined;\r\nexport interface StartOfCombatFromHandCard extends StartOfCombatCard {\r\n\tstartOfCombatFromHand: true;\r\n}\r\nexport const hasStartOfCombatFromHand = (card: Card): card is StartOfCombatFromHandCard =>\r\n\t(card as StartOfCombatFromHandCard)?.startOfCombatFromHand !== undefined;\r\nexport type StartOfCombatTiming = 'start-of-combat' | 'pre-combat' | 'illidan';\r\n\r\nexport interface TavernSpellCard extends Card {\r\n\tcastTavernSpell(spellCardId: string, input: CastSpellInput): void;\r\n}\r\nexport const hasCastTavernSpell = (card: Card): card is TavernSpellCard =>\r\n\t(card as TavernSpellCard)?.castTavernSpell !== undefined;\r\n\r\nexport interface OnTavernSpellCastCard extends Card {\r\n\tonTavernSpellCast(entity: BoardEntity | BoardTrinket, input: CastSpellInput): void;\r\n}\r\nexport const hasOnTavernSpellCast = (card: Card): card is OnTavernSpellCastCard =>\r\n\t(card as OnTavernSpellCastCard)?.onTavernSpellCast !== undefined;\r\n\r\nexport interface OnBeforeTavernSpellCastCard extends Card {\r\n\tonBeforeTavernSpellCast(entity: BoardEntity | BoardTrinket, input: CastSpellInput): void;\r\n}\r\nexport const hasOnBeforeTavernSpellCast = (card: Card): card is OnBeforeTavernSpellCastCard =>\r\n\t(card as OnBeforeTavernSpellCastCard)?.onBeforeTavernSpellCast !== undefined;\r\n\r\nexport interface AfterTavernSpellCastCard extends Card {\r\n\tafterTavernSpellCast(entity: BoardEntity | BoardTrinket, input: CastSpellInput): void;\r\n}\r\nexport const hasAfterTavernSpellCast = (card: Card): card is AfterTavernSpellCastCard =>\r\n\t(card as AfterTavernSpellCastCard)?.afterTavernSpellCast !== undefined;\r\n\r\n// Whenever this attacks\r\nexport interface RallyCard extends Card {\r\n\trally(\r\n\t\tminion: BoardEntity | BoardTrinket | BoardEnchantment,\r\n\t\tinput: OnAttackInput,\r\n\t): { dmgDoneByAttacker: number; dmgDoneByDefender: number };\r\n}\r\nexport const hasRally = (card: Card): card is RallyCard => (card as RallyCard)?.rally !== undefined;\r\n\r\nexport interface OnWheneverAnotherMinionAttacksCard extends Card {\r\n\tonWheneverAnotherMinionAttacks(\r\n\t\tminion: BoardEntity | BoardTrinket | BoardEnchantment,\r\n\t\tinput: OnAttackInput,\r\n\t): { dmgDoneByAttacker: number; dmgDoneByDefender: number };\r\n}\r\nexport const hasOnWheneverAnotherMinionAttacks = (card: Card): card is OnWheneverAnotherMinionAttacksCard =>\r\n\t(card as OnWheneverAnotherMinionAttacksCard)?.onWheneverAnotherMinionAttacks !== undefined;\r\n\r\nexport interface AfterAnotherMinionAttacksCard extends Card {\r\n\tafterAnotherMinionAttacks(\r\n\t\tminion: BoardEntity | BoardTrinket | BoardEnchantment,\r\n\t\tinput: OnAttackInput,\r\n\t): { dmgDoneByAttacker: number; dmgDoneByDefender: number };\r\n}\r\nexport const hasAfterAnotherMinionAttacks = (card: Card): card is AfterAnotherMinionAttacksCard =>\r\n\t(card as AfterAnotherMinionAttacksCard)?.afterAnotherMinionAttacks !== undefined;\r\n\r\nexport interface AfterThisAttacksCard extends Card {\r\n\tafterThisAttacks(\r\n\t\tminion: BoardEntity,\r\n\t\tinput: OnAttackInput,\r\n\t): { dmgDoneByAttacker: number; dmgDoneByDefender: number };\r\n}\r\nexport const hasAfterThisAttacks = (card: Card): card is AfterThisAttacksCard =>\r\n\t(card as AfterThisAttacksCard)?.afterThisAttacks !== undefined;\r\n\r\nexport interface OnMinionAttackedCard extends Card {\r\n\tonAttacked(minion: BoardEntity, input: OnMinionAttackedInput): void;\r\n}\r\nexport const hasOnMinionAttacked = (card: Card): card is OnMinionAttackedCard =>\r\n\t(card as OnMinionAttackedCard)?.onAttacked !== undefined;\r\n\r\nexport interface OnSpawnedCard extends Card {\r\n\tonSpawned(minion: BoardEntity, input: OnSpawnInput): void;\r\n}\r\nexport const hasOnSpawned = (card: Card): card is OnSpawnedCard => (card as OnSpawnedCard)?.onSpawned !== undefined;\r\n\r\nexport interface DeityCard extends Card {\r\n\tonAwaken(minion: BoardEntity, input: DeityAwakenInput): void;\r\n}\r\nexport const hasOnAwaken = (card: Card): card is DeityCard => (card as DeityCard)?.onAwaken !== undefined;\r\nexport interface OnSpawnedEnchantmentCard extends Card {\r\n\tonSpawnedEnchantment(minion: BoardEntity, enchantment: BoardEnchantment, input: OnSpawnInput): void;\r\n}\r\nexport const hasOnSpawnedEnchantment = (card: Card): card is OnSpawnedEnchantmentCard =>\r\n\t(card as OnSpawnedEnchantmentCard)?.onSpawnedEnchantment !== undefined;\r\n\r\nexport interface OnOtherSpawnedAuraCard extends Card {\r\n\tonOtherSpawnedAura(minion: BoardEntity, input: OnOtherSpawnAuraInput): void;\r\n}\r\nexport const hasOnOtherAuraSpawned = (card: Card): card is OnOtherSpawnedAuraCard =>\r\n\t(card as OnOtherSpawnedAuraCard)?.onOtherSpawnedAura !== undefined;\r\n\r\nexport interface OnOtherSpawnedCard extends Card {\r\n\tonOtherSpawned(minion: BoardEntity | BoardTrinket, input: OnOtherSpawnInput): void;\r\n}\r\nexport const hasOnOtherSpawned = (card: Card): card is OnOtherSpawnedCard =>\r\n\t(card as OnOtherSpawnedCard)?.onOtherSpawned !== undefined;\r\n\r\nexport interface AfterOtherSpawnedCard extends Card {\r\n\tafterOtherSpawned(minion: BoardEntity | BoardTrinket, input: OnOtherSpawnInput): void;\r\n}\r\nexport const hasAfterOtherSpawned = (card: Card): card is AfterOtherSpawnedCard =>\r\n\t(card as AfterOtherSpawnedCard)?.afterOtherSpawned !== undefined;\r\n\r\nexport interface OnFriendlyMinionSummonedTrinketCard extends Card {\r\n\tonFriendlyMinionSummoned(trinket: BoardTrinket, input: OnFriendlyMinionSummonedTrinketInput): void;\r\n}\r\nexport const hasOnFriendlyMinionSummonedTrinket = (card: Card): card is OnFriendlyMinionSummonedTrinketCard =>\r\n\t(card as OnFriendlyMinionSummonedTrinketCard)?.onFriendlyMinionSummoned !== undefined;\r\n\r\nexport interface OnDespawnedCard extends Card {\r\n\tonDespawned(minion: BoardEntity, input: OnDespawnInput): void;\r\n}\r\nexport const hasOnDespawned = (card: Card): card is OnDespawnedCard =>\r\n\t(card as OnDespawnedCard)?.onDespawned !== undefined;\r\n\r\nexport const OnDespawnedEnchantmentCard = (card: Card): card is OnDespawnedEnchantmentCard =>\r\n\t(card as OnDespawnedEnchantmentCard)?.onDespawnedEnchantment !== undefined;\r\nexport interface OnDespawnedEnchantmentCard extends Card {\r\n\tonDespawnedEnchantment(minion: BoardEntity, enchantment: BoardEnchantment, input: OnDespawnInput): void;\r\n}\r\nexport const hasOnDespawnedEnchantment = (card: Card): card is OnDespawnedEnchantmentCard =>\r\n\t(card as OnDespawnedEnchantmentCard)?.onDespawnedEnchantment !== undefined;\r\n\r\nexport interface DeathrattleSpawnCard extends Card {\r\n\tdeathrattleSpawn(minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[];\r\n}\r\nexport const hasDeathrattleSpawn = (card: Card): card is DeathrattleSpawnCard =>\r\n\t(card as DeathrattleSpawnCard)?.deathrattleSpawn !== undefined;\r\n\r\n/** Deathrattle that does not return board spawns (hand buffs, stat grants, etc.). */\r\nexport interface DeathrattleEffectCard extends Card {\r\n\tdeathrattleEffect(minion: BoardEntity, input: DeathrattleTriggeredInput): void;\r\n}\r\nexport const hasDeathrattleEffect = (card: Card): card is DeathrattleEffectCard =>\r\n\t(card as DeathrattleEffectCard)?.deathrattleEffect !== undefined;\r\n\r\nexport interface BattlecryCard extends Card {\r\n\t// boolean return type is used only for conditional battlecries (eg cards that only work as battlecries if a specific trinket\r\n\t// is in game)\r\n\tbattlecry(minion: BoardEntity, input: BattlecryInput): boolean;\r\n}\r\nexport const hasBattlecry = (card: Card): card is BattlecryCard => (card as BattlecryCard)?.battlecry !== undefined;\r\n\r\nexport interface RebornEffectCard extends Card {\r\n\trebornEffect(minion: BoardEntity | BoardTrinket, input: RebornEffectInput): void;\r\n}\r\nexport const hasRebornEffect = (card: Card): card is RebornEffectCard =>\r\n\t(card as RebornEffectCard)?.rebornEffect !== undefined;\r\n\r\nexport interface RebornSelfEffectCard extends Card {\r\n\trebornSelfEffect(minion: BoardEntity, input: RebornEffectInput): void;\r\n}\r\nexport const hasRebornSelfEffect = (card: Card): card is RebornSelfEffectCard =>\r\n\t(card as RebornSelfEffectCard)?.rebornSelfEffect !== undefined;\r\n\r\nexport interface BeforeRebornSelfEffectCard extends Card {\r\n\tbeforeRebornSelfEffect(minion: BoardEntity, input: RebornEffectInput): void;\r\n}\r\nexport const hasBeforeRebornSelfEffect = (card: Card): card is BeforeRebornSelfEffectCard =>\r\n\t(card as BeforeRebornSelfEffectCard)?.beforeRebornSelfEffect !== undefined;\r\n\r\n// When a minion is reborn, some attributes need to be transferred to the new minion\r\nexport interface RebornSelfAttributeTransferCard extends Card {\r\n\trebornSelfAttributeTransfer: (keyof BoardEntity)[];\r\n}\r\nexport const hasRebornSelfAttributeTransfer = (card: Card): card is RebornSelfAttributeTransferCard =>\r\n\t(card as RebornSelfAttributeTransferCard)?.rebornSelfAttributeTransfer !== undefined;\r\n\r\nexport interface AfterRebornCard extends Card {\r\n\tafterReborn(minion: BoardEntity | BoardTrinket, input: RebornEffectInput): void;\r\n}\r\nexport const hasAfterReborn = (card: Card): card is AfterRebornCard =>\r\n\t(card as AfterRebornCard)?.afterReborn !== undefined;\r\n\r\nexport interface OnBattlecryTriggeredCard extends Card {\r\n\tonBattlecryTriggered(minion: BoardEntity | BoardTrinket, input: OnBattlecryTriggeredInput): void;\r\n}\r\nexport const hasOnBattlecryTriggered = (card: Card): card is OnBattlecryTriggeredCard =>\r\n\t(card as OnBattlecryTriggeredCard)?.onBattlecryTriggered !== undefined;\r\n\r\nexport interface AvengeCard extends Card {\r\n\tavenge(minion: BoardEntity | BoardTrinket, input: AvengeInput): void | readonly BoardEntity[];\r\n\tbaseAvengeValue(cardId: string): number;\r\n}\r\nexport const hasAvenge = (card: Card): card is AvengeCard => (card as AvengeCard)?.avenge !== undefined;\r\n\r\nexport interface DefaultScriptDataNumCard extends Card {\r\n\tdefaultScriptDataNum(cardId: string): number;\r\n}\r\nexport const hasDefaultScriptDataNum = (card: Card): card is DefaultScriptDataNumCard =>\r\n\t(card as DefaultScriptDataNumCard)?.defaultScriptDataNum !== undefined;\r\n\r\n/** To use when another deathrattle is triggered */\r\nexport interface DeathrattleTriggeredCard extends Card {\r\n\tonDeathrattleTriggered(\r\n\t\tminion: BoardEntity | BoardTrinket | BoardEnchantment,\r\n\t\tinput: DeathrattleTriggeredInput,\r\n\t): void;\r\n}\r\nexport const hasOnDeathrattleTriggered = (card: Card): card is DeathrattleTriggeredCard =>\r\n\t(card as DeathrattleTriggeredCard)?.onDeathrattleTriggered !== undefined;\r\n\r\nexport interface DeathrattleTriggeredEnchantmentCard extends Card {\r\n\tonDeathrattleTriggeredEnchantment(\r\n\t\tenchantedMinion: BoardEntity,\r\n\t\tenchantment: BoardEnchantment,\r\n\t\tinput: DeathrattleTriggeredInput,\r\n\t): void;\r\n}\r\nexport const hasOnDeathrattleTriggeredEnchantment = (card: Card): card is DeathrattleTriggeredEnchantmentCard =>\r\n\t(card as DeathrattleTriggeredEnchantmentCard)?.onDeathrattleTriggeredEnchantment !== undefined;\r\n\r\n/** Despite the name, this covers all deathrattle effects on an enchantment, not just the spawning ones */\r\nexport interface DeathrattleSpawnEnchantmentCard extends Card {\r\n\tdeathrattleSpawnEnchantmentEffect(\r\n\t\tenchantment: BoardEnchantment,\r\n\t\tminion: BoardEntity | null | undefined,\r\n\t\tinput: DeathrattleTriggeredInput,\r\n\t): readonly BoardEntity[];\r\n\tcardIds: readonly string[];\r\n}\r\nexport const hasDeathrattleSpawnEnchantment = (card: Card): card is DeathrattleSpawnEnchantmentCard =>\r\n\t(card as DeathrattleSpawnEnchantmentCard)?.deathrattleSpawnEnchantmentEffect !== undefined;\r\n\r\nexport interface OnCardAddedToHandCard extends Card {\r\n\tonCardAddedToHand(entity: BoardEntity | BgsQuestEntity | BoardTrinket, input: OnCardAddedToHandInput): void;\r\n}\r\nexport const hasOnCardAddedToHand = (card: Card): card is OnCardAddedToHandCard =>\r\n\t(card as OnCardAddedToHandCard)?.onCardAddedToHand !== undefined;\r\n\r\nexport interface OnDiscardCard extends Card {\r\n\tonDiscard(entity: BoardEntity, input: DiscardInput): void;\r\n}\r\nexport const hasOnDiscard = (card: Card): card is OnDiscardCard => (card as OnDiscardCard)?.onDiscard !== undefined;\r\n\r\nexport interface OnThisDiscardedCard extends Card {\r\n\tonThisDiscarded(card: BoardEntity, input: DiscardInput): void;\r\n}\r\nexport const hasOnThisDiscarded = (card: Card): card is OnThisDiscardedCard =>\r\n\t(card as OnThisDiscardedCard)?.onThisDiscarded !== undefined;\r\n\r\nexport interface EndOfTurnCard extends Card {\r\n\t// Use BattlecryInput because it's the only way end of turn effects are triggered\r\n\tendOfTurn(entity: BoardEntity, input: EndOfTurnInput): void;\r\n}\r\nexport const hasEndOfTurn = (card: Card): card is EndOfTurnCard => (card as EndOfTurnCard)?.endOfTurn !== undefined;\r\nexport type EndOfTurnInput = BattlecryInput;\r\n\r\nexport interface OnDivineShieldUpdatedCard extends Card {\r\n\tonDivineShieldUpdated(entity: BoardEntity | BoardTrinket, input: OnDivineShieldUpdatedInput): void;\r\n}\r\nexport const hasOnDivineShieldUpdated = (card: Card): card is OnDivineShieldUpdatedCard =>\r\n\t(card as OnDivineShieldUpdatedCard)?.onDivineShieldUpdated !== undefined;\r\n\r\nexport interface OnTauntUpdatedCard extends Card {\r\n\tonTauntUpdated(\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnTauntUpdatedInput,\r\n\t): void;\r\n}\r\nexport const hasOnTauntUpdated = (card: Card): card is OnTauntUpdatedCard =>\r\n\t(card as OnTauntUpdatedCard)?.onTauntUpdated !== undefined;\r\n\r\nexport interface OnRebornUpdatedCard extends Card {\r\n\tonRebornUpdated(\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnRebornUpdatedInput,\r\n\t): void;\r\n}\r\nexport const hasOnRebornUpdated = (card: Card): card is OnRebornUpdatedCard =>\r\n\t(card as OnRebornUpdatedCard)?.onRebornUpdated !== undefined;\r\n\r\nexport interface OnStealthUpdatedCard extends Card {\r\n\tonStealthUpdated(\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnStealthUpdatedInput,\r\n\t): void;\r\n}\r\nexport const hasOnStealthUpdated = (card: Card): card is OnStealthUpdatedCard =>\r\n\t(card as OnStealthUpdatedCard)?.onStealthUpdated !== undefined;\r\n\r\nexport interface OnVenomousUpdatedCard extends Card {\r\n\tonVenomousUpdated(\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnVenomousUpdatedInput,\r\n\t): void;\r\n}\r\nexport const hasOnVenomousUpdated = (card: Card): card is OnVenomousUpdatedCard =>\r\n\t(card as OnVenomousUpdatedCard)?.onVenomousUpdated !== undefined;\r\n\r\nexport interface OnWindfuryUpdatedCard extends Card {\r\n\tonWindfuryUpdated(\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnWindfuryUpdatedInput,\r\n\t): void;\r\n}\r\nexport const hasOnWindfuryUpdated = (card: Card): card is OnWindfuryUpdatedCard =>\r\n\t(card as OnWindfuryUpdatedCard)?.onWindfuryUpdated !== undefined;\r\n\r\nexport interface OnStatsChangedCard extends Card {\r\n\tonStatsChanged(entity: BoardEntity, input: OnStatsChangedInput): void;\r\n}\r\nexport const hasOnStatsChanged = (card: Card): card is OnStatsChangedCard =>\r\n\t(card as OnStatsChangedCard)?.onStatsChanged !== undefined;\r\n\r\nexport interface AfterHeroDamagedCard extends Card {\r\n\tafterHeroDamaged(entity: BoardEntity | BoardTrinket, input: AfterHeroDamagedInput): void;\r\n}\r\nexport const hasAfterHeroDamaged = (card: Card): card is AfterHeroDamagedCard =>\r\n\t(card as AfterHeroDamagedCard)?.afterHeroDamaged !== undefined;\r\n\r\nexport interface OnDamagedCard extends Card {\r\n\tonDamaged(entity: BoardEntity, input: OnDamagedInput): void;\r\n}\r\nexport const hasOnDamaged = (card: Card): card is OnDamagedCard => (card as OnDamagedCard)?.onDamaged !== undefined;\r\n\r\nexport interface AfterDealDamageCard extends Card {\r\n\t// Called whenever damage is dealt, both on the friendly and enemy side\r\n\t// So you need to check the \"friendly\" flag\r\n\t// TODO: the \"after\" here waits for spawns, eg reborn / deathrattle\r\n\t// eg https://replays.firestoneapp.com/?reviewId=05860f41-1ea4-41f8-9c55-b6c854fa5f5a&turn=17&action=10\r\n\t// The reborn Rylak is buffed by Lord of the Ruins\r\n\tafterDealDamage(entity: BoardEntity, input: AfterDealDamageInput): void;\r\n}\r\nexport const hasAfterDealDamage = (card: Card): card is AfterDealDamageCard =>\r\n\t(card as AfterDealDamageCard)?.afterDealDamage !== undefined;\r\n\r\nexport interface AfterFriendlyMinionDamagedTrinketCard extends Card {\r\n\tafterFriendlyMinionDamaged(trinket: BoardTrinket, input: AfterFriendlyMinionDamagedInput): void;\r\n}\r\nexport const hasAfterFriendlyMinionDamagedTrinket = (card: Card): card is AfterFriendlyMinionDamagedTrinketCard =>\r\n\t(card as AfterFriendlyMinionDamagedTrinketCard)?.afterFriendlyMinionDamaged !== undefined;\r\n\r\nexport interface OnDeathCard extends Card {\r\n\tonDeath(entity: BoardEntity, input: OnDeathInput): void;\r\n}\r\nexport const hasOnDeath = (card: Card): card is OnDeathCard => (card as OnDeathCard)?.onDeath !== undefined;\r\n\r\nexport interface OnAfterDeathCard extends Card {\r\n\tonAfterDeath(entity: BoardEntity | BoardTrinket, input: OnAfterDeathInput): void;\r\n}\r\nexport const hasOnAfterDeath = (card: Card): card is OnAfterDeathCard =>\r\n\t(card as OnAfterDeathCard)?.onAfterDeath !== undefined;\r\n\r\n/**\r\n * After any friendly board minion dies (during `applyWheneverMinionDiesEffect`). Filter in the card\r\n * (e.g. only if `input.deadEntity.taunt`). Board minions and trinkets that implement this are dispatched\r\n * from `deathrattle-effects`.\r\n */\r\nexport interface OnAfterFriendlyMinionDeathCard extends Card {\r\n\tonAfterFriendlyMinionDeath(listener: BoardEntity | BoardTrinket, input: OnAfterFriendlyMinionDeathInput): void;\r\n}\r\nexport const hasOnAfterFriendlyMinionDeath = (card: Card): card is OnAfterFriendlyMinionDeathCard =>\r\n\t(card as OnAfterFriendlyMinionDeathCard)?.onAfterFriendlyMinionDeath !== undefined;\r\n\r\nexport interface OnMinionKilledCard extends Card {\r\n\tonMinionKilled(\r\n\t\tentity: BoardEntity,\r\n\t\tinput: OnMinionKilledInput,\r\n\t): { dmgDoneByAttacker: number; dmgDoneByDefender: number };\r\n}\r\nexport const hasOnMinionKilled = (card: Card): card is OnMinionKilledCard =>\r\n\t(card as OnMinionKilledCard)?.onMinionKilled !== undefined;\r\n\r\nexport interface OnBeforeMagnetizeCard extends Card {\r\n\tonBeforeMagnetize(entity: BoardEntity | BoardTrinket, input: OnBeforeMagnetizeInput): void;\r\n}\r\nexport const hasOnBeforeMagnetize = (card: Card): card is OnBeforeMagnetizeCard =>\r\n\t(card as OnBeforeMagnetizeCard)?.onBeforeMagnetize !== undefined;\r\n\r\nexport interface OnBeforeMagnetizeSelfCard extends Card {\r\n\tonBeforeMagnetizeSelf(entity: BoardEntity, input: OnBeforeMagnetizeSelfInput): void;\r\n}\r\nexport const hasOnBeforeMagnetizeSelf = (card: Card): card is OnBeforeMagnetizeSelfCard =>\r\n\t(card as OnBeforeMagnetizeSelfCard)?.onBeforeMagnetizeSelf !== undefined;\r\n\r\nexport interface OnAfterMagnetizeToSelfCard extends Card {\r\n\tonAfterMagnetizeToSelf(entity: BoardEntity, input: OnAfterMagnetizeSelfInput): void;\r\n}\r\nexport const hasOnAfterMagnetizeToSelf = (card: Card): card is OnAfterMagnetizeToSelfCard =>\r\n\t(card as OnAfterMagnetizeToSelfCard)?.onAfterMagnetizeToSelf !== undefined;\r\n\r\nexport interface OnAfterMagnetizeSelfCard extends Card {\r\n\tonAfterMagnetizeSelf(entity: BoardEntity, input: OnAfterMagnetizeInput): void;\r\n}\r\nexport const hasOnAfterMagnetizeSelf = (card: Card): card is OnAfterMagnetizeSelfCard =>\r\n\t(card as OnAfterMagnetizeSelfCard)?.onAfterMagnetizeSelf !== undefined;\r\n\r\nexport interface OnAfterMagnetizeCard extends Card {\r\n\tonAfterMagnetize(entity: BoardEntity | BoardTrinket, input: OnAfterMagnetizeInput): void;\r\n}\r\nexport const hasOnAfterMagnetize = (card: Card): card is OnAfterMagnetizeCard =>\r\n\t(card as OnAfterMagnetizeCard)?.onAfterMagnetize !== undefined;\r\n\r\nexport interface OnSpawnFailCard extends Card {\r\n\tonSpawnFail(entity: BoardEntity, input: OnSpawnFailInput): void;\r\n}\r\nexport const hasOnSpawnFail = (card: Card): card is OnSpawnFailCard =>\r\n\t(card as OnSpawnFailCard)?.onSpawnFail !== undefined;\r\n\r\nexport interface PlayedBloodGemsOnMeCard extends Card {\r\n\tplayedBloodGemsOnMe(entity: BoardEntity, input: PlayedBloodGemsOnMeInput): void;\r\n}\r\nexport const hasPlayedBloodGemsOnMe = (card: Card): card is PlayedBloodGemsOnMeCard =>\r\n\t(card as PlayedBloodGemsOnMeCard)?.playedBloodGemsOnMe !== undefined;\r\n\r\nexport interface PlayedBloodGemsOnAnyCard extends Card {\r\n\tplayedBloodGemsOnAny(entity: BoardEntity, input: PlayedBloodGemsOnAnyInput): void;\r\n}\r\nexport const hasPlayedBloodGemsOnAny = (card: Card): card is PlayedBloodGemsOnAnyCard =>\r\n\t(card as PlayedBloodGemsOnAnyCard)?.playedBloodGemsOnAny !== undefined;\r\n\r\nexport interface OnGlobalInfoUpdatedCard extends Card {\r\n\tonGlobalInfoUpdated(entity: BoardEntity, input: OnGlobalInfoUpdatedInput): void;\r\n}\r\nexport const hasOnGlobalInfoUpdated = (card: Card): card is OnGlobalInfoUpdatedCard =>\r\n\t(card as OnGlobalInfoUpdatedCard)?.onGlobalInfoUpdated !== undefined;\r\n\r\nexport interface OnGlobalInfoUpdatedEnchantmentCard extends Card {\r\n\tonGlobalInfoUpdatedEnchantment(\r\n\t\tentity: BoardEntity,\r\n\t\tenchantment: BoardEnchantment,\r\n\t\tinput: OnGlobalInfoUpdatedInput,\r\n\t): void;\r\n}\r\nexport const hasOnGlobalInfoUpdatedEnchantment = (card: Card): card is OnGlobalInfoUpdatedEnchantmentCard =>\r\n\t(card as OnGlobalInfoUpdatedEnchantmentCard)?.onGlobalInfoUpdatedEnchantment !== undefined;\r\n\r\nexport interface OnGildedCard extends Card {\r\n\tonGilded(entity: BoardEntity, input: OnGildedInput): void;\r\n}\r\nexport const hasOnGilded = (card: Card): card is OnGildedCard => (card as OnGildedCard)?.onGilded !== undefined;\r\n\r\nexport interface OnSpawnFailInput {\r\n\tfailedSpawn: BoardEntity;\r\n\tboard: BoardEntity[];\r\n\thero: BgsPlayerEntity;\r\n\tgameState: FullGameState;\r\n}\r\n\r\nexport interface DeityAwakenInput {\r\n\thero: BgsPlayerEntity;\r\n\tboard: BoardEntity[];\r\n\totherHero: BgsPlayerEntity;\r\n\totherBoard: BoardEntity[];\r\n\tgameState: FullGameState;\r\n}\r\n\r\nexport interface DiscardInput {\r\n\tdiscarded: BoardEntity;\r\n\thero: BgsPlayerEntity;\r\n\tboard: BoardEntity[];\r\n\totherHero: BgsPlayerEntity;\r\n\totherBoard: BoardEntity[];\r\n\tgameState: FullGameState;\r\n}\r\n\r\nexport interface CastSpellInput {\r\n\tspellCardId: string;\r\n\tsource: BoardEntity | BoardTrinket | BgsPlayerEntity;\r\n\ttarget: BoardEntity;\r\n\tboard: BoardEntity[];\r\n\thero: BgsPlayerEntity;\r\n\totherBoard: BoardEntity[];\r\n\totherHero: BgsPlayerEntity;\r\n\tgameState: FullGameState;\r\n}\r\nexport interface OnDamagedInput {\r\n\tdamagedEntity: BoardEntity;\r\n\tdamageDealer: BoardEntity | BgsPlayerEntity;\r\n\tdamage: number;\r\n\tboard: BoardEntity[];\r\n\thero: BgsPlayerEntity;\r\n\totherHero: BgsPlayerEntity;\r\n\tgameState: FullGameState;\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"card.interface.js","sourceRoot":"","sources":["../../src/cards/card.interface.ts"],"names":[],"mappings":"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","sourcesContent":["import { BgsPlayerEntity, BgsQuestEntity, BoardTrinket } from '../bgs-player-entity';\r\nimport { BoardEnchantment, BoardEntity } from '../board-entity';\r\nimport { BoardSecret } from '../board-secret';\r\nimport { OnDivineShieldUpdatedInput } from '../keywords/divine-shield';\r\nimport { OnRebornUpdatedInput } from '../keywords/reborn';\r\nimport { OnStealthUpdatedInput } from '../keywords/stealth';\r\nimport { OnTauntUpdatedInput } from '../keywords/taunt';\r\nimport { OnVenomousUpdatedInput } from '../keywords/venomous';\r\nimport { OnWindfuryUpdatedInput } from '../keywords/windfury';\r\nimport { OnGlobalInfoUpdatedInput } from '../mechanics/player-global-effects';\r\nimport {\r\n\tOnDespawnInput,\r\n\tOnFriendlyMinionSummonedTrinketInput,\r\n\tOnOtherSpawnAuraInput,\r\n\tOnOtherSpawnInput,\r\n\tOnSpawnInput,\r\n} from '../simulation/add-minion-to-board';\r\nimport {\r\n\tOnAfterDeathInput,\r\n\tOnAfterFriendlyMinionDeathInput,\r\n\tOnDeathInput,\r\n\tOnMinionKilledInput,\r\n} from '../simulation/attack';\r\nimport { AvengeInput } from '../simulation/avenge';\r\nimport { BattlecryInput, OnBattlecryTriggeredInput } from '../simulation/battlecries';\r\nimport { PlayedBloodGemsOnAnyInput, PlayedBloodGemsOnMeInput } from '../simulation/blood-gems';\r\nimport { OnCardAddedToHandInput } from '../simulation/cards-in-hand';\r\nimport { AfterDealDamageInput, AfterFriendlyMinionDamagedInput } from '../simulation/damage-effects';\r\nimport { AfterHeroDamagedInput } from '../simulation/damage-to-hero';\r\nimport { DeathrattleTriggeredInput } from '../simulation/deathrattle-on-trigger';\r\nimport { FullGameState } from '../simulation/internal-game-state';\r\nimport {\r\n\tOnAfterMagnetizeInput,\r\n\tOnAfterMagnetizeSelfInput,\r\n\tOnBeforeMagnetizeInput,\r\n\tOnBeforeMagnetizeSelfInput,\r\n} from '../simulation/magnetize';\r\nimport { OnAttackInput } from '../simulation/on-attack';\r\nimport { OnMinionAttackedInput } from '../simulation/on-being-attacked';\r\nimport { RebornEffectInput } from '../simulation/reborn';\r\nimport { SoCInput } from '../simulation/start-of-combat/start-of-combat-input';\r\nimport { OnStatsChangedInput } from '../simulation/stats';\r\nimport { OnGildedInput } from '../simulation/utils/golden';\r\n\r\nexport interface Card {\r\n\t// Maybe should make this mandatory\r\n\tcardIds?: readonly string[];\r\n\t// Method syntax keeps parameters bivariant so implementations can narrow (e.g. BoardEntity).\r\n\tstartOfCombat?(\r\n\t\ttrinket: BoardEntity | BoardTrinket | BgsPlayerEntity | BoardSecret,\r\n\t\tinput: SoCInput,\r\n\t): boolean | { hasTriggered: boolean; shouldRecomputeCurrentAttacker: boolean };\r\n}\r\n\r\nexport interface DefaultChargesCard extends Card {\r\n\tdefaultCharges(entity: BoardEntity): number;\r\n}\r\nexport const hasDefaultCharges = (card: Card): card is DefaultChargesCard =>\r\n\t(card as DefaultChargesCard)?.defaultCharges !== undefined;\r\n\r\nexport interface StartOfCombatCard extends Card {\r\n\tstartOfCombatTiming?: StartOfCombatTiming;\r\n\tstartOfCombat(\r\n\t\ttrinket: BoardEntity | BoardTrinket | BgsPlayerEntity | BoardSecret,\r\n\t\tinput: SoCInput,\r\n\t): boolean | { hasTriggered: boolean; shouldRecomputeCurrentAttacker: boolean };\r\n}\r\nexport const hasStartOfCombat = (card: Card): card is StartOfCombatCard =>\r\n\t(card as StartOfCombatCard)?.startOfCombat !== undefined;\r\nexport interface StartOfCombatFromHandCard extends StartOfCombatCard {\r\n\tstartOfCombatFromHand: true;\r\n}\r\nexport const hasStartOfCombatFromHand = (card: Card): card is StartOfCombatFromHandCard =>\r\n\t(card as StartOfCombatFromHandCard)?.startOfCombatFromHand !== undefined;\r\nexport type StartOfCombatTiming = 'start-of-combat' | 'pre-combat' | 'illidan';\r\n\r\nexport interface TavernSpellCard extends Card {\r\n\tcastTavernSpell(spellCardId: string, input: CastSpellInput): void;\r\n}\r\nexport const hasCastTavernSpell = (card: Card): card is TavernSpellCard =>\r\n\t(card as TavernSpellCard)?.castTavernSpell !== undefined;\r\n\r\nexport interface OnTavernSpellCastCard extends Card {\r\n\tonTavernSpellCast(entity: BoardEntity | BoardTrinket, input: CastSpellInput): void;\r\n}\r\nexport const hasOnTavernSpellCast = (card: Card): card is OnTavernSpellCastCard =>\r\n\t(card as OnTavernSpellCastCard)?.onTavernSpellCast !== undefined;\r\n\r\nexport interface OnBeforeTavernSpellCastCard extends Card {\r\n\tonBeforeTavernSpellCast(entity: BoardEntity | BoardTrinket, input: CastSpellInput): void;\r\n}\r\nexport const hasOnBeforeTavernSpellCast = (card: Card): card is OnBeforeTavernSpellCastCard =>\r\n\t(card as OnBeforeTavernSpellCastCard)?.onBeforeTavernSpellCast !== undefined;\r\n\r\nexport interface AfterTavernSpellCastCard extends Card {\r\n\tafterTavernSpellCast(entity: BoardEntity | BoardTrinket, input: CastSpellInput): void;\r\n}\r\nexport const hasAfterTavernSpellCast = (card: Card): card is AfterTavernSpellCastCard =>\r\n\t(card as AfterTavernSpellCastCard)?.afterTavernSpellCast !== undefined;\r\n\r\n// Whenever this attacks\r\nexport interface RallyCard extends Card {\r\n\trally(\r\n\t\tminion: BoardEntity | BoardTrinket | BoardEnchantment,\r\n\t\tinput: OnAttackInput,\r\n\t): { dmgDoneByAttacker: number; dmgDoneByDefender: number };\r\n}\r\nexport const hasRally = (card: Card): card is RallyCard => (card as RallyCard)?.rally !== undefined;\r\n\r\nexport interface OnWheneverAnotherMinionAttacksCard extends Card {\r\n\tonWheneverAnotherMinionAttacks(\r\n\t\tminion: BoardEntity | BoardTrinket | BoardEnchantment,\r\n\t\tinput: OnAttackInput,\r\n\t): { dmgDoneByAttacker: number; dmgDoneByDefender: number };\r\n}\r\nexport const hasOnWheneverAnotherMinionAttacks = (card: Card): card is OnWheneverAnotherMinionAttacksCard =>\r\n\t(card as OnWheneverAnotherMinionAttacksCard)?.onWheneverAnotherMinionAttacks !== undefined;\r\n\r\nexport interface AfterAnotherMinionAttacksCard extends Card {\r\n\tafterAnotherMinionAttacks(\r\n\t\tminion: BoardEntity | BoardTrinket | BoardEnchantment,\r\n\t\tinput: OnAttackInput,\r\n\t): { dmgDoneByAttacker: number; dmgDoneByDefender: number };\r\n}\r\nexport const hasAfterAnotherMinionAttacks = (card: Card): card is AfterAnotherMinionAttacksCard =>\r\n\t(card as AfterAnotherMinionAttacksCard)?.afterAnotherMinionAttacks !== undefined;\r\n\r\nexport interface AfterThisAttacksCard extends Card {\r\n\tafterThisAttacks(\r\n\t\tminion: BoardEntity,\r\n\t\tinput: OnAttackInput,\r\n\t): { dmgDoneByAttacker: number; dmgDoneByDefender: number };\r\n}\r\nexport const hasAfterThisAttacks = (card: Card): card is AfterThisAttacksCard =>\r\n\t(card as AfterThisAttacksCard)?.afterThisAttacks !== undefined;\r\n\r\nexport interface OnMinionAttackedCard extends Card {\r\n\tonAttacked(minion: BoardEntity, input: OnMinionAttackedInput): void;\r\n}\r\nexport const hasOnMinionAttacked = (card: Card): card is OnMinionAttackedCard =>\r\n\t(card as OnMinionAttackedCard)?.onAttacked !== undefined;\r\n\r\nexport interface OnSpawnedCard extends Card {\r\n\tonSpawned(minion: BoardEntity, input: OnSpawnInput): void;\r\n}\r\nexport const hasOnSpawned = (card: Card): card is OnSpawnedCard => (card as OnSpawnedCard)?.onSpawned !== undefined;\r\n\r\nexport interface DeityCard extends Card {\r\n\tonAwaken(minion: BoardEntity, input: DeityAwakenInput): void;\r\n}\r\nexport const hasOnAwaken = (card: Card): card is DeityCard => (card as DeityCard)?.onAwaken !== undefined;\r\nexport interface OnSpawnedEnchantmentCard extends Card {\r\n\tonSpawnedEnchantment(minion: BoardEntity, enchantment: BoardEnchantment, input: OnSpawnInput): void;\r\n}\r\nexport const hasOnSpawnedEnchantment = (card: Card): card is OnSpawnedEnchantmentCard =>\r\n\t(card as OnSpawnedEnchantmentCard)?.onSpawnedEnchantment !== undefined;\r\n\r\nexport interface OnOtherSpawnedAuraCard extends Card {\r\n\tonOtherSpawnedAura(minion: BoardEntity, input: OnOtherSpawnAuraInput): void;\r\n}\r\nexport const hasOnOtherAuraSpawned = (card: Card): card is OnOtherSpawnedAuraCard =>\r\n\t(card as OnOtherSpawnedAuraCard)?.onOtherSpawnedAura !== undefined;\r\n\r\nexport interface OnOtherSpawnedCard extends Card {\r\n\tonOtherSpawned(minion: BoardEntity | BoardTrinket, input: OnOtherSpawnInput): void;\r\n}\r\nexport const hasOnOtherSpawned = (card: Card): card is OnOtherSpawnedCard =>\r\n\t(card as OnOtherSpawnedCard)?.onOtherSpawned !== undefined;\r\n\r\nexport interface AfterOtherSpawnedCard extends Card {\r\n\tafterOtherSpawned(minion: BoardEntity | BoardTrinket, input: OnOtherSpawnInput): void;\r\n}\r\nexport const hasAfterOtherSpawned = (card: Card): card is AfterOtherSpawnedCard =>\r\n\t(card as AfterOtherSpawnedCard)?.afterOtherSpawned !== undefined;\r\n\r\nexport interface OnFriendlyMinionSummonedTrinketCard extends Card {\r\n\tonFriendlyMinionSummoned(trinket: BoardTrinket, input: OnFriendlyMinionSummonedTrinketInput): void;\r\n}\r\nexport const hasOnFriendlyMinionSummonedTrinket = (card: Card): card is OnFriendlyMinionSummonedTrinketCard =>\r\n\t(card as OnFriendlyMinionSummonedTrinketCard)?.onFriendlyMinionSummoned !== undefined;\r\n\r\nexport interface OnDespawnedCard extends Card {\r\n\tonDespawned(minion: BoardEntity, input: OnDespawnInput): void;\r\n}\r\nexport const hasOnDespawned = (card: Card): card is OnDespawnedCard =>\r\n\t(card as OnDespawnedCard)?.onDespawned !== undefined;\r\n\r\nexport const OnDespawnedEnchantmentCard = (card: Card): card is OnDespawnedEnchantmentCard =>\r\n\t(card as OnDespawnedEnchantmentCard)?.onDespawnedEnchantment !== undefined;\r\nexport interface OnDespawnedEnchantmentCard extends Card {\r\n\tonDespawnedEnchantment(minion: BoardEntity, enchantment: BoardEnchantment, input: OnDespawnInput): void;\r\n}\r\nexport const hasOnDespawnedEnchantment = (card: Card): card is OnDespawnedEnchantmentCard =>\r\n\t(card as OnDespawnedEnchantmentCard)?.onDespawnedEnchantment !== undefined;\r\n\r\nexport interface DeathrattleSpawnCard extends Card {\r\n\tdeathrattleSpawn(minion: BoardEntity, input: DeathrattleTriggeredInput): readonly BoardEntity[];\r\n}\r\nexport const hasDeathrattleSpawn = (card: Card): card is DeathrattleSpawnCard =>\r\n\t(card as DeathrattleSpawnCard)?.deathrattleSpawn !== undefined;\r\n\r\n/** Deathrattle that does not return board spawns (hand buffs, stat grants, etc.). */\r\nexport interface DeathrattleEffectCard extends Card {\r\n\tdeathrattleEffect(minion: BoardEntity, input: DeathrattleTriggeredInput): void;\r\n}\r\nexport const hasDeathrattleEffect = (card: Card): card is DeathrattleEffectCard =>\r\n\t(card as DeathrattleEffectCard)?.deathrattleEffect !== undefined;\r\n\r\nexport interface BattlecryCard extends Card {\r\n\t// boolean return type is used only for conditional battlecries (eg cards that only work as battlecries if a specific trinket\r\n\t// is in game)\r\n\tbattlecry(minion: BoardEntity, input: BattlecryInput): boolean;\r\n}\r\nexport const hasBattlecry = (card: Card): card is BattlecryCard => (card as BattlecryCard)?.battlecry !== undefined;\r\n\r\nexport interface RebornEffectCard extends Card {\r\n\trebornEffect(minion: BoardEntity | BoardTrinket, input: RebornEffectInput): void;\r\n}\r\nexport const hasRebornEffect = (card: Card): card is RebornEffectCard =>\r\n\t(card as RebornEffectCard)?.rebornEffect !== undefined;\r\n\r\nexport interface RebornSelfEffectCard extends Card {\r\n\trebornSelfEffect(minion: BoardEntity, input: RebornEffectInput): void;\r\n}\r\nexport const hasRebornSelfEffect = (card: Card): card is RebornSelfEffectCard =>\r\n\t(card as RebornSelfEffectCard)?.rebornSelfEffect !== undefined;\r\n\r\nexport interface BeforeRebornSelfEffectCard extends Card {\r\n\tbeforeRebornSelfEffect(minion: BoardEntity, input: RebornEffectInput): void;\r\n}\r\nexport const hasBeforeRebornSelfEffect = (card: Card): card is BeforeRebornSelfEffectCard =>\r\n\t(card as BeforeRebornSelfEffectCard)?.beforeRebornSelfEffect !== undefined;\r\n\r\n// When a minion is reborn, some attributes need to be transferred to the new minion\r\nexport interface RebornSelfAttributeTransferCard extends Card {\r\n\trebornSelfAttributeTransfer: (keyof BoardEntity)[];\r\n}\r\nexport const hasRebornSelfAttributeTransfer = (card: Card): card is RebornSelfAttributeTransferCard =>\r\n\t(card as RebornSelfAttributeTransferCard)?.rebornSelfAttributeTransfer !== undefined;\r\n\r\nexport interface AfterRebornCard extends Card {\r\n\tafterReborn(minion: BoardEntity | BoardTrinket, input: RebornEffectInput): void;\r\n}\r\nexport const hasAfterReborn = (card: Card): card is AfterRebornCard =>\r\n\t(card as AfterRebornCard)?.afterReborn !== undefined;\r\n\r\nexport interface OnBattlecryTriggeredCard extends Card {\r\n\tonBattlecryTriggered(minion: BoardEntity | BoardTrinket, input: OnBattlecryTriggeredInput): void;\r\n}\r\nexport const hasOnBattlecryTriggered = (card: Card): card is OnBattlecryTriggeredCard =>\r\n\t(card as OnBattlecryTriggeredCard)?.onBattlecryTriggered !== undefined;\r\n\r\nexport interface AvengeCard extends Card {\r\n\tavenge(minion: BoardEntity | BoardTrinket, input: AvengeInput): void | readonly BoardEntity[];\r\n\tbaseAvengeValue(cardId: string): number;\r\n}\r\nexport const hasAvenge = (card: Card): card is AvengeCard => (card as AvengeCard)?.avenge !== undefined;\r\n\r\nexport interface DefaultScriptDataNumCard extends Card {\r\n\tdefaultScriptDataNum(cardId: string): number;\r\n}\r\nexport const hasDefaultScriptDataNum = (card: Card): card is DefaultScriptDataNumCard =>\r\n\t(card as DefaultScriptDataNumCard)?.defaultScriptDataNum !== undefined;\r\n\r\n/** To use when another deathrattle is triggered */\r\nexport interface DeathrattleTriggeredCard extends Card {\r\n\tonDeathrattleTriggered(\r\n\t\tminion: BoardEntity | BoardTrinket | BoardEnchantment,\r\n\t\tinput: DeathrattleTriggeredInput,\r\n\t): void;\r\n}\r\nexport const hasOnDeathrattleTriggered = (card: Card): card is DeathrattleTriggeredCard =>\r\n\t(card as DeathrattleTriggeredCard)?.onDeathrattleTriggered !== undefined;\r\n\r\nexport interface DeathrattleTriggeredEnchantmentCard extends Card {\r\n\tonDeathrattleTriggeredEnchantment(\r\n\t\tenchantedMinion: BoardEntity,\r\n\t\tenchantment: BoardEnchantment,\r\n\t\tinput: DeathrattleTriggeredInput,\r\n\t): void;\r\n}\r\nexport const hasOnDeathrattleTriggeredEnchantment = (card: Card): card is DeathrattleTriggeredEnchantmentCard =>\r\n\t(card as DeathrattleTriggeredEnchantmentCard)?.onDeathrattleTriggeredEnchantment !== undefined;\r\n\r\n/** Despite the name, this covers all deathrattle effects on an enchantment, not just the spawning ones */\r\nexport interface DeathrattleSpawnEnchantmentCard extends Card {\r\n\tdeathrattleSpawnEnchantmentEffect(\r\n\t\tenchantment: BoardEnchantment,\r\n\t\tminion: BoardEntity | null | undefined,\r\n\t\tinput: DeathrattleTriggeredInput,\r\n\t): readonly BoardEntity[];\r\n\tcardIds: readonly string[];\r\n}\r\nexport const hasDeathrattleSpawnEnchantment = (card: Card): card is DeathrattleSpawnEnchantmentCard =>\r\n\t(card as DeathrattleSpawnEnchantmentCard)?.deathrattleSpawnEnchantmentEffect !== undefined;\r\n\r\nexport interface OnCardAddedToHandCard extends Card {\r\n\tonCardAddedToHand(entity: BoardEntity | BgsQuestEntity | BoardTrinket, input: OnCardAddedToHandInput): void;\r\n}\r\nexport const hasOnCardAddedToHand = (card: Card): card is OnCardAddedToHandCard =>\r\n\t(card as OnCardAddedToHandCard)?.onCardAddedToHand !== undefined;\r\n\r\nexport interface OnDiscardCard extends Card {\r\n\tonDiscard(entity: BoardEntity | BoardTrinket, input: DiscardInput): void;\r\n}\r\nexport const hasOnDiscard = (card: Card): card is OnDiscardCard => (card as OnDiscardCard)?.onDiscard !== undefined;\r\n\r\nexport interface OnThisDiscardedCard extends Card {\r\n\tonThisDiscarded(card: BoardEntity, input: DiscardInput): void;\r\n}\r\nexport const hasOnThisDiscarded = (card: Card): card is OnThisDiscardedCard =>\r\n\t(card as OnThisDiscardedCard)?.onThisDiscarded !== undefined;\r\n\r\nexport interface EndOfTurnCard extends Card {\r\n\t// Use BattlecryInput because it's the only way end of turn effects are triggered\r\n\tendOfTurn(entity: BoardEntity, input: EndOfTurnInput): void;\r\n}\r\nexport const hasEndOfTurn = (card: Card): card is EndOfTurnCard => (card as EndOfTurnCard)?.endOfTurn !== undefined;\r\nexport type EndOfTurnInput = BattlecryInput;\r\n\r\nexport interface OnDivineShieldUpdatedCard extends Card {\r\n\tonDivineShieldUpdated(entity: BoardEntity | BoardTrinket, input: OnDivineShieldUpdatedInput): void;\r\n}\r\nexport const hasOnDivineShieldUpdated = (card: Card): card is OnDivineShieldUpdatedCard =>\r\n\t(card as OnDivineShieldUpdatedCard)?.onDivineShieldUpdated !== undefined;\r\n\r\nexport interface OnTauntUpdatedCard extends Card {\r\n\tonTauntUpdated(\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnTauntUpdatedInput,\r\n\t): void;\r\n}\r\nexport const hasOnTauntUpdated = (card: Card): card is OnTauntUpdatedCard =>\r\n\t(card as OnTauntUpdatedCard)?.onTauntUpdated !== undefined;\r\n\r\nexport interface OnRebornUpdatedCard extends Card {\r\n\tonRebornUpdated(\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnRebornUpdatedInput,\r\n\t): void;\r\n}\r\nexport const hasOnRebornUpdated = (card: Card): card is OnRebornUpdatedCard =>\r\n\t(card as OnRebornUpdatedCard)?.onRebornUpdated !== undefined;\r\n\r\nexport interface OnStealthUpdatedCard extends Card {\r\n\tonStealthUpdated(\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnStealthUpdatedInput,\r\n\t): void;\r\n}\r\nexport const hasOnStealthUpdated = (card: Card): card is OnStealthUpdatedCard =>\r\n\t(card as OnStealthUpdatedCard)?.onStealthUpdated !== undefined;\r\n\r\nexport interface OnVenomousUpdatedCard extends Card {\r\n\tonVenomousUpdated(\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnVenomousUpdatedInput,\r\n\t): void;\r\n}\r\nexport const hasOnVenomousUpdated = (card: Card): card is OnVenomousUpdatedCard =>\r\n\t(card as OnVenomousUpdatedCard)?.onVenomousUpdated !== undefined;\r\n\r\nexport interface OnWindfuryUpdatedCard extends Card {\r\n\tonWindfuryUpdated(\r\n\t\tentity: BoardEntity,\r\n\t\timpactedEntity: BoardEntity,\r\n\t\tpreviousValue: boolean,\r\n\t\tinput: OnWindfuryUpdatedInput,\r\n\t): void;\r\n}\r\nexport const hasOnWindfuryUpdated = (card: Card): card is OnWindfuryUpdatedCard =>\r\n\t(card as OnWindfuryUpdatedCard)?.onWindfuryUpdated !== undefined;\r\n\r\nexport interface OnStatsChangedCard extends Card {\r\n\tonStatsChanged(entity: BoardEntity, input: OnStatsChangedInput): void;\r\n}\r\nexport const hasOnStatsChanged = (card: Card): card is OnStatsChangedCard =>\r\n\t(card as OnStatsChangedCard)?.onStatsChanged !== undefined;\r\n\r\nexport interface AfterHeroDamagedCard extends Card {\r\n\tafterHeroDamaged(entity: BoardEntity | BoardTrinket, input: AfterHeroDamagedInput): void;\r\n}\r\nexport const hasAfterHeroDamaged = (card: Card): card is AfterHeroDamagedCard =>\r\n\t(card as AfterHeroDamagedCard)?.afterHeroDamaged !== undefined;\r\n\r\nexport interface OnDamagedCard extends Card {\r\n\tonDamaged(entity: BoardEntity, input: OnDamagedInput): void;\r\n}\r\nexport const hasOnDamaged = (card: Card): card is OnDamagedCard => (card as OnDamagedCard)?.onDamaged !== undefined;\r\n\r\nexport interface AfterDealDamageCard extends Card {\r\n\t// Called whenever damage is dealt, both on the friendly and enemy side\r\n\t// So you need to check the \"friendly\" flag\r\n\t// TODO: the \"after\" here waits for spawns, eg reborn / deathrattle\r\n\t// eg https://replays.firestoneapp.com/?reviewId=05860f41-1ea4-41f8-9c55-b6c854fa5f5a&turn=17&action=10\r\n\t// The reborn Rylak is buffed by Lord of the Ruins\r\n\tafterDealDamage(entity: BoardEntity, input: AfterDealDamageInput): void;\r\n}\r\nexport const hasAfterDealDamage = (card: Card): card is AfterDealDamageCard =>\r\n\t(card as AfterDealDamageCard)?.afterDealDamage !== undefined;\r\n\r\nexport interface AfterFriendlyMinionDamagedTrinketCard extends Card {\r\n\tafterFriendlyMinionDamaged(trinket: BoardTrinket, input: AfterFriendlyMinionDamagedInput): void;\r\n}\r\nexport const hasAfterFriendlyMinionDamagedTrinket = (card: Card): card is AfterFriendlyMinionDamagedTrinketCard =>\r\n\t(card as AfterFriendlyMinionDamagedTrinketCard)?.afterFriendlyMinionDamaged !== undefined;\r\n\r\nexport interface OnDeathCard extends Card {\r\n\tonDeath(entity: BoardEntity, input: OnDeathInput): void;\r\n}\r\nexport const hasOnDeath = (card: Card): card is OnDeathCard => (card as OnDeathCard)?.onDeath !== undefined;\r\n\r\nexport interface OnAfterDeathCard extends Card {\r\n\tonAfterDeath(entity: BoardEntity | BoardTrinket, input: OnAfterDeathInput): void;\r\n}\r\nexport const hasOnAfterDeath = (card: Card): card is OnAfterDeathCard =>\r\n\t(card as OnAfterDeathCard)?.onAfterDeath !== undefined;\r\n\r\n/**\r\n * After any friendly board minion dies (during `applyWheneverMinionDiesEffect`). Filter in the card\r\n * (e.g. only if `input.deadEntity.taunt`). Board minions and trinkets that implement this are dispatched\r\n * from `deathrattle-effects`.\r\n */\r\nexport interface OnAfterFriendlyMinionDeathCard extends Card {\r\n\tonAfterFriendlyMinionDeath(listener: BoardEntity | BoardTrinket, input: OnAfterFriendlyMinionDeathInput): void;\r\n}\r\nexport const hasOnAfterFriendlyMinionDeath = (card: Card): card is OnAfterFriendlyMinionDeathCard =>\r\n\t(card as OnAfterFriendlyMinionDeathCard)?.onAfterFriendlyMinionDeath !== undefined;\r\n\r\nexport interface OnMinionKilledCard extends Card {\r\n\tonMinionKilled(\r\n\t\tentity: BoardEntity,\r\n\t\tinput: OnMinionKilledInput,\r\n\t): { dmgDoneByAttacker: number; dmgDoneByDefender: number };\r\n}\r\nexport const hasOnMinionKilled = (card: Card): card is OnMinionKilledCard =>\r\n\t(card as OnMinionKilledCard)?.onMinionKilled !== undefined;\r\n\r\nexport interface OnBeforeMagnetizeCard extends Card {\r\n\tonBeforeMagnetize(entity: BoardEntity | BoardTrinket, input: OnBeforeMagnetizeInput): void;\r\n}\r\nexport const hasOnBeforeMagnetize = (card: Card): card is OnBeforeMagnetizeCard =>\r\n\t(card as OnBeforeMagnetizeCard)?.onBeforeMagnetize !== undefined;\r\n\r\nexport interface OnBeforeMagnetizeSelfCard extends Card {\r\n\tonBeforeMagnetizeSelf(entity: BoardEntity, input: OnBeforeMagnetizeSelfInput): void;\r\n}\r\nexport const hasOnBeforeMagnetizeSelf = (card: Card): card is OnBeforeMagnetizeSelfCard =>\r\n\t(card as OnBeforeMagnetizeSelfCard)?.onBeforeMagnetizeSelf !== undefined;\r\n\r\nexport interface OnAfterMagnetizeToSelfCard extends Card {\r\n\tonAfterMagnetizeToSelf(entity: BoardEntity, input: OnAfterMagnetizeSelfInput): void;\r\n}\r\nexport const hasOnAfterMagnetizeToSelf = (card: Card): card is OnAfterMagnetizeToSelfCard =>\r\n\t(card as OnAfterMagnetizeToSelfCard)?.onAfterMagnetizeToSelf !== undefined;\r\n\r\nexport interface OnAfterMagnetizeSelfCard extends Card {\r\n\tonAfterMagnetizeSelf(entity: BoardEntity, input: OnAfterMagnetizeInput): void;\r\n}\r\nexport const hasOnAfterMagnetizeSelf = (card: Card): card is OnAfterMagnetizeSelfCard =>\r\n\t(card as OnAfterMagnetizeSelfCard)?.onAfterMagnetizeSelf !== undefined;\r\n\r\nexport interface OnAfterMagnetizeCard extends Card {\r\n\tonAfterMagnetize(entity: BoardEntity | BoardTrinket, input: OnAfterMagnetizeInput): void;\r\n}\r\nexport const hasOnAfterMagnetize = (card: Card): card is OnAfterMagnetizeCard =>\r\n\t(card as OnAfterMagnetizeCard)?.onAfterMagnetize !== undefined;\r\n\r\nexport interface OnSpawnFailCard extends Card {\r\n\tonSpawnFail(entity: BoardEntity, input: OnSpawnFailInput): void;\r\n}\r\nexport const hasOnSpawnFail = (card: Card): card is OnSpawnFailCard =>\r\n\t(card as OnSpawnFailCard)?.onSpawnFail !== undefined;\r\n\r\nexport interface PlayedBloodGemsOnMeCard extends Card {\r\n\tplayedBloodGemsOnMe(entity: BoardEntity, input: PlayedBloodGemsOnMeInput): void;\r\n}\r\nexport const hasPlayedBloodGemsOnMe = (card: Card): card is PlayedBloodGemsOnMeCard =>\r\n\t(card as PlayedBloodGemsOnMeCard)?.playedBloodGemsOnMe !== undefined;\r\n\r\nexport interface PlayedBloodGemsOnAnyCard extends Card {\r\n\tplayedBloodGemsOnAny(entity: BoardEntity, input: PlayedBloodGemsOnAnyInput): void;\r\n}\r\nexport const hasPlayedBloodGemsOnAny = (card: Card): card is PlayedBloodGemsOnAnyCard =>\r\n\t(card as PlayedBloodGemsOnAnyCard)?.playedBloodGemsOnAny !== undefined;\r\n\r\nexport interface OnGlobalInfoUpdatedCard extends Card {\r\n\tonGlobalInfoUpdated(entity: BoardEntity, input: OnGlobalInfoUpdatedInput): void;\r\n}\r\nexport const hasOnGlobalInfoUpdated = (card: Card): card is OnGlobalInfoUpdatedCard =>\r\n\t(card as OnGlobalInfoUpdatedCard)?.onGlobalInfoUpdated !== undefined;\r\n\r\nexport interface OnGlobalInfoUpdatedEnchantmentCard extends Card {\r\n\tonGlobalInfoUpdatedEnchantment(\r\n\t\tentity: BoardEntity,\r\n\t\tenchantment: BoardEnchantment,\r\n\t\tinput: OnGlobalInfoUpdatedInput,\r\n\t): void;\r\n}\r\nexport const hasOnGlobalInfoUpdatedEnchantment = (card: Card): card is OnGlobalInfoUpdatedEnchantmentCard =>\r\n\t(card as OnGlobalInfoUpdatedEnchantmentCard)?.onGlobalInfoUpdatedEnchantment !== undefined;\r\n\r\nexport interface OnGildedCard extends Card {\r\n\tonGilded(entity: BoardEntity, input: OnGildedInput): void;\r\n}\r\nexport const hasOnGilded = (card: Card): card is OnGildedCard => (card as OnGildedCard)?.onGilded !== undefined;\r\n\r\nexport interface OnSpawnFailInput {\r\n\tfailedSpawn: BoardEntity;\r\n\tboard: BoardEntity[];\r\n\thero: BgsPlayerEntity;\r\n\tgameState: FullGameState;\r\n}\r\n\r\nexport interface DeityAwakenInput {\r\n\thero: BgsPlayerEntity;\r\n\tboard: BoardEntity[];\r\n\totherHero: BgsPlayerEntity;\r\n\totherBoard: BoardEntity[];\r\n\tgameState: FullGameState;\r\n}\r\n\r\nexport interface DiscardInput {\r\n\tdiscarded: BoardEntity;\r\n\thero: BgsPlayerEntity;\r\n\tboard: BoardEntity[];\r\n\totherHero: BgsPlayerEntity;\r\n\totherBoard: BoardEntity[];\r\n\tgameState: FullGameState;\r\n}\r\n\r\nexport interface CastSpellInput {\r\n\tspellCardId: string;\r\n\tsource: BoardEntity | BoardTrinket | BgsPlayerEntity;\r\n\ttarget: BoardEntity;\r\n\tboard: BoardEntity[];\r\n\thero: BgsPlayerEntity;\r\n\totherBoard: BoardEntity[];\r\n\totherHero: BgsPlayerEntity;\r\n\tgameState: FullGameState;\r\n}\r\nexport interface OnDamagedInput {\r\n\tdamagedEntity: BoardEntity;\r\n\tdamageDealer: BoardEntity | BgsPlayerEntity;\r\n\tdamage: number;\r\n\tboard: BoardEntity[];\r\n\thero: BgsPlayerEntity;\r\n\totherHero: BgsPlayerEntity;\r\n\tgameState: FullGameState;\r\n}\r\n"]}
|
|
@@ -55,6 +55,7 @@ const charisma_1 = require("./enchantments/charisma");
|
|
|
55
55
|
const consanguinity_1 = require("./enchantments/consanguinity");
|
|
56
56
|
const deaths_embrace_1 = require("./enchantments/deaths-embrace");
|
|
57
57
|
const defensive_sacrifice_1 = require("./enchantments/defensive-sacrifice");
|
|
58
|
+
const doppelganger_1 = require("./enchantments/doppelganger");
|
|
58
59
|
const demonology_1 = require("./enchantments/demonology");
|
|
59
60
|
const fresh_perspective_1 = require("./enchantments/fresh-perspective");
|
|
60
61
|
const golemancy_1 = require("./enchantments/golemancy");
|
|
@@ -765,6 +766,7 @@ const vicious_mindslasher_1 = require("./minion/vicious-mindslasher");
|
|
|
765
766
|
const yshaarj_1 = require("./minion/yshaarj");
|
|
766
767
|
const converter_portrait_1 = require("./trinket/converter-portrait");
|
|
767
768
|
const corrupted_baton_1 = require("./trinket/corrupted-baton");
|
|
769
|
+
const hammer_of_twilight_1 = require("./trinket/hammer-of-twilight");
|
|
768
770
|
const snarky_portrait_1 = require("./trinket/snarky-portrait");
|
|
769
771
|
const cards = [
|
|
770
772
|
shiny_ring_1.ShinyRing,
|
|
@@ -1471,6 +1473,7 @@ const cards = [
|
|
|
1471
1473
|
admiration_1.Admiration,
|
|
1472
1474
|
jaws_of_death_1.JawsOfDeath,
|
|
1473
1475
|
invulnerability_1.Invulnerability,
|
|
1476
|
+
doppelganger_1.Doppelganger,
|
|
1474
1477
|
golemancy_1.Golemancy,
|
|
1475
1478
|
hostility_1.Hostility,
|
|
1476
1479
|
transcendence_1.Transcendence,
|
|
@@ -1532,6 +1535,8 @@ const cards = [
|
|
|
1532
1535
|
energizing_chamber_1.EnergizingChamber,
|
|
1533
1536
|
corrupted_baton_1.CorruptedBaton,
|
|
1534
1537
|
converter_portrait_1.ConverterPortrait,
|
|
1538
|
+
hammer_of_twilight_1.HammerOfTwilight,
|
|
1539
|
+
hammer_of_twilight_1.TwilightOfLife,
|
|
1535
1540
|
snarky_portrait_1.SnarkyPortrait,
|
|
1536
1541
|
iron_groundskeeper_1.IronGroundskeeper,
|
|
1537
1542
|
];
|
|
@@ -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 { AzeriteEmpowerment } from './bg-spell/azerite-empowerment';\r\nimport { BackToBack } from './bg-spell/back-to-back';\r\nimport { BloodGemBarrage } from './bg-spell/blood-gem-barrage';\r\nimport { BloodGemQuilboarDivineShieldSpell } from './bg-spell/blood-gem-quilboar-divine-shield';\r\nimport { BloodGemQuilboarRebornSpell } from './bg-spell/blood-gem-quilboar-reborn';\r\nimport { BloodGemQuilboarTauntSpell } from './bg-spell/blood-gem-quilboar-taunt';\r\nimport { BroodOfNozdormu } from './bg-spell/brood-of-nozdormu';\r\nimport { Butchering } from './bg-spell/butchering';\r\nimport { ChefsChoice } from './bg-spell/chefs-choice';\r\nimport { Conflagration } from './bg-spell/conflagration';\r\nimport { DeepwaterClan } from './bg-spell/deepwater-clan';\r\nimport { EyesOfTheEarthMother } from './bg-spell/eyes-of-the-earth-mother';\r\nimport { FriendlyBounty } from './bg-spell/friendly-bounty';\r\nimport { HandOfDeios } from './bg-spell/hand-of-deios';\r\nimport { HealthyBounty } from './bg-spell/healthy-bounty';\r\nimport { HostileBounty } from './bg-spell/hostile-bounty';\r\nimport { JailerSticker306 } from './bg-spell/jailer-sticker-306';\r\nimport { JailerSticker733 } from './bg-spell/jailer-sticker-733';\r\nimport { MenagerieTableware } from './bg-spell/menagerie-tableware';\r\nimport { MightOfStormwind } from './bg-spell/might-of-stormwind';\r\nimport { MightyDragonbreath } from './bg-spell/mighty-dragonbreath';\r\nimport { MisplacedTeaSet } from './bg-spell/misplaced-tea-set';\r\nimport { MurkysFish } from './bg-spell/murkys-fish';\r\nimport { NaturalBlessing } from './bg-spell/natural-blessing';\r\nimport { OphidianStaff } from './bg-spell/ophidian-staff';\r\nimport { QueensCommand } from './bg-spell/queens-command';\r\nimport { RepairJob } from './bg-spell/repair-job';\r\nimport { SelfishBounty } from './bg-spell/selfish-bounty';\r\nimport { SharingIsCaring } from './bg-spell/sharing-is-caring';\r\nimport { ShiftingTide } from './bg-spell/shifting-tide';\r\nimport { ShinyRing } from './bg-spell/shiny-ring';\r\nimport { TimewarpedBananas } from './bg-spell/timewarped-bananas';\r\nimport { TimewarpedChefsChoice } from './bg-spell/timewarped-chefs-choice';\r\nimport { TimewarpedCloningDevice } from './bg-spell/timewarped-cloning-device';\r\nimport { TimewarpedConch } from './bg-spell/timewarped-conch';\r\nimport { TimewarpedCorpse } from './bg-spell/timewarped-corpse';\r\nimport { TimewarpedEvolution } from './bg-spell/timewarped-evolution';\r\nimport { TimewarpedGoldenizer } from './bg-spell/timewarped-goldenizer';\r\nimport { TimewarpedMasterThief } from './bg-spell/timewarped-master-thief';\r\nimport { TimewarpedOnTheHouse } from './bg-spell/timewarped-on-the-house';\r\nimport { TimewarpedRatInTheCage } from './bg-spell/timewarped-rat-in-the-cage';\r\nimport { TimewarpedRitual } from './bg-spell/timewarped-ritual';\r\nimport { TimewarpedSpecial } from './bg-spell/timewarped-special';\r\nimport { TimewarpedThief } from './bg-spell/timewarped-thief';\r\nimport { TombTurning } from './bg-spell/tomb-turning';\r\nimport { WaveOfGold } from './bg-spell/wave-of-gold';\r\nimport { WeaponsForge } from './bg-spell/weapons-forge';\r\nimport { WinnersBread } from './bg-spell/winners-bread';\r\nimport { Admiration } from './enchantments/admiration';\r\nimport { Charisma } from './enchantments/charisma';\r\nimport { Consanguinity } from './enchantments/consanguinity';\r\nimport { DeathsEmbrace } from './enchantments/deaths-embrace';\r\nimport { DefensiveSacrifice } from './enchantments/defensive-sacrifice';\r\nimport { Demonology } from './enchantments/demonology';\r\nimport { FreshPerspective } from './enchantments/fresh-perspective';\r\nimport { Golemancy } from './enchantments/golemancy';\r\nimport { Hostility } from './enchantments/hostility';\r\nimport { Invulnerability } from './enchantments/invulnerability';\r\nimport { JawsOfDeath } from './enchantments/jaws-of-death';\r\nimport { MysticEssence } from './enchantments/mystic-essence';\r\nimport { OffensiveSacrifice } from './enchantments/offensive-sacrifice';\r\nimport { Resistance } from './enchantments/resistance';\r\nimport { SpellSiphon } from './enchantments/spell-siphon';\r\nimport { TorethsBlessing } from './enchantments/toreths-blessing';\r\nimport { Transcendence } from './enchantments/transcendence';\r\nimport { AvatarOfNzoth } from './hero-power/avatar-of-nzoth';\r\nimport { DieInsects } from './hero-power/die-insects';\r\nimport { FireTheCannons } from './hero-power/fire-the-cannons';\r\nimport { FragrantPhylactery } from './hero-power/fragrant-phylactery';\r\nimport { FragrantPhylacteryEnchantment } from './hero-power/fragrant-phylactery-enchantment';\r\nimport { FrostwolfFervor } from './hero-power/frostwolf-fervor';\r\nimport { GloriousGloop } from './hero-power/glorious-gloop';\r\nimport { LoackAndLoad } from './hero-power/lock-and-load';\r\nimport { MurlocKing } from './hero-power/murloc-king';\r\nimport { MurlocKingEnchantment } from './hero-power/murloc-king-enchantment';\r\nimport { NefariousFire } from './hero-power/nefarious-fire';\r\nimport { RunicEmpowerment } from './hero-power/runic-empowerment';\r\nimport { Stormpike } from './hero-power/stormpike';\r\nimport { SwattingInsects } from './hero-power/swatting-insects';\r\nimport { AbyssalBruiser } from './minion/abyssal-bruiser';\r\nimport { AdmiralElizaGoreblade } from './minion/admiral-eliza-goreblade';\r\nimport { AllSeeingElder } from './minion/all-seeing-elder';\r\nimport { Alleycat } from './minion/alleycat';\r\nimport { AnubarakNerubianKing } from './minion/anubarak-nerubian-king';\r\nimport { ApexisGuardian } from './minion/apexis-guardian';\r\nimport { ApprenticeOfSefin } from './minion/apprentice-of-sefin';\r\nimport { ArcaneCannoneer } from './minion/arcane-cannoneer';\r\nimport { Archaedas } from './minion/archaedas';\r\nimport { Archimonde } from './minion/archimonde';\r\nimport { Arfus } from './minion/arfus';\r\nimport { AridAtrocity } from './minion/arid-atrocity';\r\nimport { AshenCorruptor } from './minion/ashen-corruptor';\r\nimport { AssistantGuard } from './minion/assistant-guard';\r\nimport { AutoAccelerator } from './minion/auto-accelerator';\r\nimport { AutoAssembler } from './minion/auto-assembler';\r\nimport { AutoAssemblerEnchantment } from './minion/auto-assembler-enchantment';\r\nimport { AvalancheCaller } from './minion/avalanche-caller';\r\nimport { AzsharanCutlassier } from './minion/azsharan-cutlassier';\r\nimport { BabyNzoth } from './minion/baby-nzoth';\r\nimport { BabyYshaarj } from './minion/baby-yshaarj';\r\nimport { BananaSlamma } from './minion/banana-slamma';\r\nimport { Baneling } from './minion/baneling';\r\nimport { Bannerboar } from './minion/bannerboar';\r\nimport { BarrierBanshee } from './minion/barrier-banshee';\r\nimport { Bassgill } from './minion/bassgill';\r\nimport { Battlecruiser } from './minion/battlecruiser';\r\nimport { Beetle } from './minion/beetle';\r\nimport { BellowingTyrant } from './minion/bellowing-tyrant';\r\nimport { BigwigBandit } from './minion/bigwig-bandit';\r\nimport { BileSpitter } from './minion/bile-spitter';\r\nimport { BilgewaterBreakout } from './minion/bilgewater-breakout';\r\nimport { BirdBuddy } from './minion/bird-buddy';\r\nimport { BlackChromadrake } from './minion/black-chromadrake';\r\nimport { BlazingSkyfin } from './minion/blazing-skyfin';\r\nimport { BloodsnoutWarlord } from './minion/bloodsnout-warlord';\r\nimport { BlueChromadrake } from './minion/blue-chromadrake';\r\nimport { BlueVolumizer } from './minion/blue-volumizer';\r\nimport { BlueWhelp } from './minion/blue-whelp';\r\nimport { BluesySiren } from './minion/bluesy-siren';\r\nimport { BoarGamer } from './minion/boar-gamer';\r\nimport { BongoBopper } from './minion/bongo-bopper';\r\nimport { Bonker } from './minion/bonker';\r\nimport { BoomInABox } from './minion/boom-in-a-box';\r\nimport { BrambleTunneler } from './minion/bramble-tunneler';\r\nimport { BrannsEpicEgg } from './minion/branns-epic-egg';\r\nimport { BrazenBuccaneer } from './minion/brazen-buccaneer';\r\nimport { BriarbackBookie } from './minion/briarback-bookie';\r\nimport { BriarbackDrummer } from './minion/briarback-drummer';\r\nimport { BrinyBootlegger } from './minion/briny-bootlegger';\r\nimport { Bristlebach } from './minion/bristlebach';\r\nimport { BristlebackBully } from './minion/bristleback-bully';\r\nimport { BristlemaneScrapsmith } from './minion/bristlemane-scrapsmith';\r\nimport { BronzeChromadrake } from './minion/bronze-chromadrake';\r\nimport { BronzeSteward } from './minion/bronze-steward';\r\nimport { BronzeTimewalker } from './minion/bronze-timewalker';\r\nimport { BubbleGunner } from './minion/bubble-gunner';\r\nimport { BuddingGreenthumb } from './minion/budding-greenthumb';\r\nimport { BurgeoningWhelp } from './minion/burgeoning-whelp';\r\nimport { BuzzingVermin } from './minion/buzzing-vermin';\r\nimport { CadaverCaretaker } from './minion/cadaver-caretaker';\r\nimport { CageGnawer } from './minion/cage-gnawer';\r\nimport { CampfireShadow } from './minion/campfire-shadow';\r\nimport { CanopySwinger } from './minion/canopy-swinger';\r\nimport { CaptainBonerender } from './minion/captain-bonerender';\r\nimport { CaptainCookie } from './minion/captain-cookie';\r\nimport { CarapaceRaiser } from './minion/carapace-raiser';\r\nimport { Carrier } from './minion/carrier';\r\nimport { CataclysmicHarbinger } from './minion/cataclysmic-harbinger';\r\nimport { ChampionOfThePrimus } from './minion/champion-of-the-primus';\r\nimport { ChargingCzarina } from './minion/charging-czarina';\r\nimport { Charlga } from './minion/charlga';\r\nimport { Charmwing } from './minion/charmwing';\r\nimport { ChoralMrrrglr } from './minion/choral-mrrrglr';\r\nimport { ClunkerJunker } from './minion/clunker-junker';\r\nimport { CoilskarSapper } from './minion/coilskar-sapper';\r\nimport { ColdlightDiver } from './minion/coldlight-diver';\r\nimport { Colossus } from './minion/colossus';\r\nimport { ConsummateConqueror } from './minion/consummate-conqueror';\r\nimport { ConveyorConstruct } from './minion/conveyor-construct';\r\nimport { CorruptedBristler } from './minion/corrupted-bristler';\r\nimport { CostumeEnthusiast } from './minion/costume-enthusiast';\r\nimport { CousinErrgl } from './minion/cousin-errgl';\r\nimport { CrimsonVindicator } from './minion/crimson-vindicator';\r\nimport { CruiseController } from './minion/cruise-controller';\r\nimport { CrystalInfuserEnchantment } from './minion/crystal-infuser-enchantment';\r\nimport { CupcakePeddler } from './minion/cupcake-peddler';\r\nimport { DastardlyDrust } from './minion/dastardly-drust';\r\nimport { DeadSeaRavager } from './minion/dead-sea-ravager';\r\nimport { Deadstomper } from './minion/deadstomper';\r\nimport { DeathlyStriker } from './minion/deathly-striker';\r\nimport { Deathstrider } from './minion/deathstrider';\r\nimport { DeepwaterChieftain } from './minion/deepwater-chieftain';\r\nimport { DefiantShipwright } from './minion/defiant-shipwright';\r\nimport { DeflectoBot } from './minion/deflecto-bot';\r\nimport { DeterminedDefender } from './minion/determined-defender';\r\nimport { DevoutHellcaller } from './minion/devout-hellcaller';\r\nimport { DiremuckForager } from './minion/diremuck-forager';\r\nimport { DisguisedGraverobber } from './minion/disguised-graverobber';\r\nimport { DivineSparkbot } from './minion/divine-sparkbot';\r\nimport { DraconicWarden } from './minion/draconic-warden';\r\nimport { DrakkariEmbalmer } from './minion/drakkari-embalmer';\r\nimport { Dramaloc } from './minion/dramaloc';\r\nimport { DreamingThornweaver } from './minion/dreaming-thornweaver';\r\nimport { DrustfallenButcher } from './minion/drustfallen-butcher';\r\nimport { DustboneDevastator } from './minion/dustbone-devastator';\r\nimport { EarthsongShaman } from './minion/earthsong-shaman';\r\nimport { EchoingRoar } from './minion/echoing-roar';\r\nimport { EfficientEngineer } from './minion/efficient-engineer';\r\nimport { ElderTaggawag } from './minion/elder-taggawag';\r\nimport { ElectricSynthesizer } from './minion/electric-synthesizer';\r\nimport { ElementiumSquirrelBomb } from './minion/elementium-squirrel-bomb';\r\nimport { EliteNavigator } from './minion/elite-navigator';\r\nimport { EnchantedSentinel } from './minion/enchanted-sentinel';\r\nimport { EredarEscapist } from './minion/eredar-escapist';\r\nimport { EternalTycoon } from './minion/eternal-tycoon';\r\nimport { ExceptionalCaretaker } from './minion/exceptionnal-caretaker';\r\nimport { ExpertAviator } from './minion/expert-aviator';\r\nimport { ExpertTechnician } from './minion/expert-technician';\r\nimport { FairyGillmother } from './minion/fairy-gillmother';\r\nimport { FallingSkyGolem } from './minion/falling-sky-golem';\r\nimport { FaunaWhisperer } from './minion/fauna-whisperer';\r\nimport { FelfireConjurer } from './minion/felfire-conjurer';\r\nimport { Felhorn } from './minion/felhorn';\r\nimport { Festergut } from './minion/festergut';\r\nimport { FireForgedEvoker } from './minion/fire-forged-evoker';\r\nimport { FirelandsFugitive } from './minion/firelands-fugitive';\r\nimport { FirescaleHoarder } from './minion/firescale-hoarder';\r\nimport { FireworksFanatic } from './minion/fireworks-fanatic';\r\nimport { Fishbait } from './minion/fishbait';\r\nimport { FleeingFugitive } from './minion/fleeing-fugitive';\r\nimport { FlightyScout } from './minion/flighty-scout';\r\nimport { FlitteringBat } from './minion/flittering-bat';\r\nimport { FloatingWatcher } from './minion/floating-watcher';\r\nimport { FlotsamFlinger } from './minion/flotsam-flinger';\r\nimport { FlourishingFrostling } from './minion/flourishing-frostling';\r\nimport { ForestRover } from './minion/forest-rover';\r\nimport { ForsakenWeaver } from './minion/forsaken-weaver';\r\nimport { FountainChiller } from './minion/fountain-chiller';\r\nimport { FriendlyBouncer } from './minion/friendly-bouncer';\r\nimport { FriendlyGeist } from './minion/friendly-geist';\r\nimport { FrostwolfLieutenant } from './minion/frostwolf-lieutenant';\r\nimport { Futurefin } from './minion/futurefin';\r\nimport { GatekeeperAmalgam } from './minion/gatekeeper-amalgam';\r\nimport { GearedGuard } from './minion/geared-guard';\r\nimport { GemRat } from './minion/gem-rat';\r\nimport { GemSmuggler } from './minion/gem-smuggler';\r\nimport { Gemsplitter } from './minion/gemsplitter';\r\nimport { GeneralDrakkisath } from './minion/general-drakkisath';\r\nimport { GentleDjinni } from './minion/gentle-djinni';\r\nimport { GentleStag } from './minion/gentle-stag';\r\nimport { GhoulOfTheFeast } from './minion/ghoul-of-the-feast';\r\nimport { GildedGargoyle } from './minion/gilded-gargoyle';\r\nimport { Glambot } from './minion/glambot';\r\nimport { GleamingTrader } from './minion/gleaming-trader';\r\nimport { GlimGuardian } from './minion/glim-guardian';\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 { GreedySnaketongue } from './minion/greedy-snaketongue';\r\nimport { GreenChromadrake } from './minion/green-chromadrake';\r\nimport { GreenVolumizer } from './minion/green-volumizer';\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 { HardyOrca } from './minion/hardy-orca';\r\nimport { HarmlessBonehead } from './minion/harmless-bonehead';\r\nimport { HeadhunterGryphon } from './minion/headhunter-gryphon';\r\nimport { HeroicUnderdog } from './minion/heroic-underdog';\r\nimport { HighkeeperRa } from './minion/highkeeper-ra';\r\nimport { HoardingHyena } from './minion/hoarding-hyena';\r\nimport { HogWatcher } from './minion/hog-watcher';\r\nimport { HoloRover } from './minion/holo-rover';\r\nimport { HotSpringer } from './minion/hot-springer';\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 { HuntingTigerShark } from './minion/hunting-tiger-shark';\r\nimport { Hydralisk } from './minion/hydralisk';\r\nimport { IcesnarlTheMighty } from './minion/icesnarl-the-mighty';\r\nimport { IgnitionSpecialist } from './minion/ignition-specialist';\r\nimport { Immortal } from './minion/immortal';\r\nimport { ImpLusionist } from './minion/imp-lusionist';\r\nimport { ImplantSubject } from './minion/implant-subject';\r\nimport { ImposingPercussionist } from './minion/imposing-percussionist';\r\nimport { ImpulsiveTrickster } from './minion/impulsive-trickster';\r\nimport { IncubationResearcher } from './minion/incubation-researcher';\r\nimport { IndomitableMount } from './minion/indomitable-mount';\r\nimport { IngeniousInventor } from './minion/ingenious-inventor';\r\nimport { InspiringUnderdog } from './minion/inspiring-underdog';\r\nimport { InterrogatorWhitemane } from './minion/interrogator-whitemane';\r\nimport { IrateRooster } from './minion/irate-rooster';\r\nimport { JailbirdJuggernaut } from './minion/jailbird-juggernaut';\r\nimport { JellyBelly } from './minion/jelly-belly';\r\nimport { JunkJouster } from './minion/junk-jouster';\r\nimport { KalecgosArcaneAspect } from './minion/kalecgos-arcane-aspect';\r\nimport { KangorsApprentice } from './minion/kangors-apprentice';\r\nimport { KarmicChameleon } from './minion/karmic-chameleon';\r\nimport { Kilrek } from './minion/kilrek';\r\nimport { KingBagurgle } from './minion/king-bagurgle';\r\nimport { LadySinestra } from './minion/lady-sinestra';\r\nimport { LeeroyTheReckless } from './minion/leeroy-the-reckless';\r\nimport { LeylineSurfacer } from './minion/leyline-surfacer';\r\nimport { LightfangEnforcer } from './minion/lightfang-enforcer';\r\nimport { LightfeatherScreecher } from './minion/lightfeather-screecher';\r\nimport { LivingAzerite } from './minion/living-azerite';\r\nimport { LockedUpMutineer } from './minion/locked-up-mutineer';\r\nimport { LokholarFrostforger } from './minion/lokholar-frostforger';\r\nimport { LordOfTheRuins } from './minion/lord-of-the-ruins';\r\nimport { LostCityLooter } from './minion/lost-city-looter';\r\nimport { LovesickBalladist } from './minion/lovesick-balladist';\r\nimport { LowFlier } from './minion/low-flier';\r\nimport { LoyalHenchman } from './minion/loyal-henchman';\r\nimport { Lurker } from './minion/lurker';\r\nimport { LurkingLeviathan } from './minion/lurking-leviathan';\r\nimport { MagicfinApprentice } from './minion/magicfin-apprentice';\r\nimport { Malorne } from './minion/malorne';\r\nimport { MamaMrrglton } from './minion/mama-mrrglton';\r\nimport { Manasaber } from './minion/manasaber';\r\nimport { MaritimeExtortionist } from './minion/maritime-extortionist';\r\nimport { MarqueeTicker } from './minion/marquee-ticker';\r\nimport { MasterGadrin } from './minion/master-gadrin';\r\nimport { MawCaster } from './minion/maw-caster';\r\nimport { MawswornSoulkeeper } from './minion/mawsworn-soulkeeper';\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 { MetalDispenser } from './minion/metal-dispenser';\r\nimport { MetallicHunter } from './minion/metallic-hunter';\r\nimport { MisfitDragonling } from './minion/misfit-dragonling';\r\nimport { MoatCustodian } from './minion/moat-custodian';\r\nimport { Monstrosity } from './minion/monstrosity';\r\nimport { MonstrousMacaw } from './minion/monstrous-macaw';\r\nimport { MoonBaconJazzer } from './minion/moon-bacon-jazzer';\r\nimport { MoonsteelJuggernaut } from './minion/moonsteel-juggernaut';\r\nimport { Mothership } from './minion/mothership';\r\nimport { MotleyPhalanx } from './minion/motley-phalanx';\r\nimport { Mummifier } from './minion/mummifier';\r\nimport { Murcules } from './minion/murcules';\r\nimport { MurkbrineExpeditioner } from './minion/murkbrine-expeditioner';\r\nimport { Murky } from './minion/murky';\r\nimport { MurkySpashFisher } from './minion/murky-spash-fisher';\r\nimport { Mutalisk } from './minion/mutalisk';\r\nimport { MutatedLasher } from './minion/mutated-lasher';\r\nimport { MythraxTheUnraveler } from './minion/mythrax';\r\nimport { NalaaTheRedeemer } from './minion/nalaa-the-redeemer';\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 { NightbaneIgnited } from './minion/nightbane-ignited';\r\nimport { NightmareParTeaGuest } from './minion/nightmare-par-tea-guest';\r\nimport { NimbleHatchling } from './minion/nimble-hatchling';\r\nimport { Niuzao } from './minion/niuzao';\r\nimport { NoisulOfTheManyFaces } from './minion/noisul-of-the-many-faces';\r\nimport { ObsidianRavager } from './minion/obisidian-ravager';\r\nimport { OozelingGladiator } from './minion/oozeling-gladiator';\r\nimport { OperaticBelcher } from './minion/operatic-belcher';\r\nimport { OranomonosTheWilted } from './minion/oranomonos-the-wilted';\r\nimport { OutbackSmolderer } from './minion/outback-smolderer';\r\nimport { PaintSmudger } from './minion/paint-smudger';\r\nimport { PapaMrrglton } from './minion/papa-mrrglton';\r\nimport { ParchedWanderer } from './minion/parched-wanderer';\r\nimport { PashmarTheVengeful } from './minion/pashmar-the-vengeful';\r\nimport { PeggySturdybone } from './minion/peggy-sturdybone';\r\nimport { Photobomber } from './minion/photobomber';\r\nimport { PilotedWhirlOTron } from './minion/piloted-whirl-o-tron';\r\nimport { Plaguerunner } from './minion/plaguerunner';\r\nimport { Plankwalker } from './minion/plankwalker';\r\nimport { PolarizingBeatboxer } from './minion/polarizing-beatboxer';\r\nimport { Poultron } from './minion/poultron';\r\nimport { PrimalfinLookout } from './minion/primalfin-lookout';\r\nimport { PrimevalMonstrosity } from './minion/primeval-monstrosity';\r\nimport { PrizedPromoDrake } from './minion/prized-promo-drake';\r\nimport { Probius } from './minion/probius';\r\nimport { ProdigiousTusker } from './minion/prodigious-tusker';\r\nimport { ProfoundThinker } from './minion/profound-thinker';\r\nimport { Psychus } from './minion/psychus';\r\nimport { Pufferquil } from './minion/pufferquil';\r\nimport { RadioStar } from './minion/radio-star';\r\nimport { Rampager } from './minion/rampager';\r\nimport { RapscallionRecruiter } from './minion/rapscallion-recruiter';\r\nimport { RaptorElder } from './minion/raptor-elder';\r\nimport { RavagingScorpid } from './minion/ravaging-scorpid';\r\nimport { RazorfenFlapper } from './minion/razorfen-flapper';\r\nimport { RazorfenGeomancer } from './minion/razorfen-geomancer';\r\nimport { RazorfenVineweaver } from './minion/razorfen-vineweaver';\r\nimport { RazorgoreTheUntamed } from './minion/razorgore-the-untamed';\r\nimport { RecklessCliffdiver } from './minion/reckless-cliffdiver';\r\nimport { RedChromadrake } from './minion/red-chromadrake';\r\nimport { RedVolumizer } from './minion/red-volumizer';\r\nimport { RedtuskThornraiser } from './minion/redtusk-thornraiser';\r\nimport { RelentlessDeflector } from './minion/relentless-deflector';\r\nimport { RescueBot } from './minion/rescue-bot';\r\nimport { RicketyRepairbot } from './minion/rickety-repairbot';\r\nimport { RideOrDie } from './minion/ride-or-die';\r\nimport { RingBearer } from './minion/ring-bearer';\r\nimport { RipsnarlCaptain } from './minion/ripsnarl-captain';\r\nimport { Roach } from './minion/roach';\r\nimport { Roadboar } from './minion/roadboar';\r\nimport { RoaringRallier } from './minion/roaring-rallier';\r\nimport { RodeoPerformer } from './minion/rodeo-performer';\r\nimport { RovingSailor } from './minion/roving-sailor';\r\nimport { RuinsRenovator } from './minion/ruins-renovator';\r\nimport { RunedProgenitor } from './minion/runed-progenitor';\r\nimport { RunicArcanist } from './minion/runic-arcanist';\r\nimport { RuthlessQueensguard } from './minion/ruthless-queensguard';\r\nimport { RylakMetalhead } from './minion/rylak-metalhead';\r\nimport { SaltyHog } from './minion/salty-hog';\r\nimport { SandSwirler } from './minion/sand-swirler';\r\nimport { SanguineChampion } from './minion/sanguine-champion';\r\nimport { SanguineRefiner } from './minion/sanguine-refiner';\r\nimport { SanlaynScribe } from './minion/sanlayn-scribe';\r\nimport { Scallywag } from './minion/scallywag';\r\nimport { ScarletSkull } from './minion/scarlet-skull';\r\nimport { ScarletSurvivor } from './minion/scarlet-survivor';\r\nimport { Scourfin } from './minion/scourfin';\r\nimport { ScourgeHarvester } from './minion/scourge-harvester';\r\nimport { ScrapScraper } from './minion/scrap-scraper';\r\nimport { SeafloorRecruiter } from './minion/seafloor-recruiter';\r\nimport { SelflessHero } from './minion/selfless-hero';\r\nimport { SewerLord } from './minion/sewer-lord';\r\nimport { SewerRat } from './minion/sewer-rat';\r\nimport { Shadowdancer } from './minion/shadowdancer';\r\nimport { ShadowyConstruct } from './minion/shadowy-construct';\r\nimport { ShamanicTidecaller } from './minion/shamanic-tidecaller';\r\nimport { SharpEyedSabretooth } from './minion/sharp-eyed-sabretooth';\r\nimport { SharptoothSnapper } from './minion/sharptooth-snapper';\r\nimport { ShellCollector } from './minion/shell-collector';\r\nimport { ShipJumper } from './minion/ship-jumper';\r\nimport { ShipMasterEudora } from './minion/ship-master-eudora';\r\nimport { ShipwreckedRascal } from './minion/shipwrecked-rascal';\r\nimport { ShoreMarauder } from './minion/shore-marauder';\r\nimport { ShowyCyclist } from './minion/showy-cyclist';\r\nimport { SilentEnforcer } from './minion/silent-enforcer';\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 { SkeletalStrafer } from './minion/skeletal-strafer';\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 { SleepySupporter } from './minion/sleepy-supporter';\r\nimport { SlumberSorcerer } from './minion/slumber-sorcerer';\r\nimport { SlyRaptor } from './minion/sly-raptor';\r\nimport { Smolderwing } from './minion/smolderwing';\r\nimport { SnackVendor } from './minion/snack-vendor';\r\nimport { SnazzyPhantom } from './minion/snazzy-phantom';\r\nimport { SneedsNewShredder } from './minion/sneeds-new-shredder';\r\nimport { SoulRewinder } from './minion/soul-rewinder';\r\nimport { Soulsplitter } from './minion/soulsplitter';\r\nimport { Spacefarer } from './minion/spacefarer';\r\nimport { SpellboundSoul } from './minion/spellbound-soul';\r\nimport { SpiritDrake } from './minion/spirit-drake';\r\nimport { SpiritOfAir } from './minion/spirit-of-air';\r\nimport { SpiritedWhimsydrake } from './minion/spirited-whimsydrake';\r\nimport { SpringySpriggan } from './minion/springy-spriggan';\r\nimport { SrTombDiver } from './minion/sr-tomb-diver';\r\nimport { StalwartKodo } from './minion/stalwart-kodo';\r\nimport { StellarFreebooter } from './minion/stellar-freebooter';\r\nimport { StitchedSalvager } from './minion/stitched-salvager';\r\nimport { StompingStegodon } from './minion/stomping-stegodon';\r\nimport { StompingStegodonEnchantment } from './minion/stomping-stegodon-enchantment';\r\nimport { StoneshellGuardian } from './minion/stoneshell-guardian';\r\nimport { StormpikeLieutenant } from './minion/stormpike-lieutenant';\r\nimport { StraySatyr } from './minion/stray-satyr';\r\nimport { Stuntdrake } from './minion/stuntdrake';\r\nimport { SunderedMatriarch } from './minion/sundered-matriarch';\r\nimport { SunkenAdvocate } from './minion/sunken-advocate';\r\nimport { SuperConstructor } from './minion/super-constructor';\r\nimport { SurfNSurfCrabRiding } from './minion/surf-n-surf-crab-riding';\r\nimport { SurfingSylvar } from './minion/surfing-slyvar';\r\nimport { Swampstriker } from './minion/swampstriker';\r\nimport { Tamuzo } from './minion/tamuzo';\r\nimport { TastyLobster } from './minion/tasty-lobster';\r\nimport { TheGladIator } from './minion/the-glad-iator';\r\nimport { TheLastOneStanding } from './minion/the-last-one-standing';\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 { TideRaiser } from './minion/tide-raiser';\r\nimport { TidemistressAthissa } from './minion/tidemistress-athissa';\r\nimport { TimecapnHooktail } from './minion/timecapn-hooktail';\r\nimport { TimewarpedAlleycat } from './minion/timewarped-alleycat';\r\nimport { TimewarpedArchimonde } from './minion/timewarped-archimonde';\r\nimport { TimewarpedArm } from './minion/timewarped-arm';\r\nimport { TimewarpedBassgill } from './minion/timewarped-bassgill';\r\nimport { TimewarpedBloodbinder } from './minion/timewarped-bloodbinder';\r\nimport { TimewarpedBoar } from './minion/timewarped-boar';\r\nimport { TimewarpedBonker } from './minion/timewarped-bonker';\r\nimport { TimewarpedBotani } from './minion/timewarped-botani';\r\nimport { TimewarpedBristler } from './minion/timewarped-bristler';\r\nimport { TimewarpedCalligrapher } from './minion/timewarped-calligrapher';\r\nimport { TimewarpedCaretaker } from './minion/timewarped-caretaker';\r\nimport { TimewarpedCenturion } from './minion/timewarped-centurion';\r\nimport { TimewarpedChameleon } from './minion/timewarped-chameleon';\r\nimport { TimewarpedChimera } from './minion/timewarped-chimera';\r\nimport { TimewarpedClefthoof } from './minion/timewarped-clefthoof';\r\nimport { TimewarpedCollector } from './minion/timewarped-collector';\r\nimport { TimewarpedCopter } from './minion/timewarped-copter';\r\nimport { TimewarpedDeadstomper } from './minion/timewarped-deadstomper';\r\nimport { TimewarpedDeathswarmer } from './minion/timewarped-deathswarmer';\r\nimport { TimewarpedDragonling } from './minion/timewarped-dragonling';\r\nimport { TimewarpedDuskmaw } from './minion/timewarped-duskmaw';\r\nimport { TimewarpedElectron } from './minion/timewarped-electron';\r\nimport { TimewarpedElegist } from './minion/timewarped-elegist';\r\nimport { TimewarpedEmbalmer } from './minion/timewarped-embalmer';\r\nimport { TimewarpedExpeditioner } from './minion/timewarped-expeditioner';\r\nimport { TimewarpedFestergut } from './minion/timewarped-festergut';\r\nimport { TimewarpedGeist } from './minion/timewarped-geist';\r\nimport { TimewarpedGemsplitter } from './minion/timewarped-gemsplitter';\r\nimport { TimewarpedGeomancer } from './minion/timewarped-geomancer';\r\nimport { TimewarpedGhoulAcabra } from './minion/timewarped-ghoul-acabra';\r\nimport { TimewarpedGoldrinn } from './minion/timewarped-goldrinn';\r\nimport { TimewarpedGreaseBot } from './minion/timewarped-grease-bot';\r\nimport { TimewarpedGreenskeeper } from './minion/timewarped-greenskeeper';\r\nimport { TimewarpedGuard } from './minion/timewarped-guard';\r\nimport { TimewarpedHag } from './minion/timewarped-hag';\r\nimport { TimewarpedHawkstrider } from './minion/timewarped-hawkstrider';\r\nimport { TimewarpedHenchman } from './minion/timewarped-henchman';\r\nimport { TimewarpedHootail } from './minion/timewarped-hooktail';\r\nimport { TimewarpedHunter } from './minion/timewarped-hunter';\r\nimport { TimewarpedHyena } from './minion/timewarped-hyena';\r\nimport { TimewarpedIckyImp } from './minion/timewarped-icky-imp';\r\nimport { TimewarpedImmortal } from './minion/timewarped-immortal';\r\nimport { TimewarpedInterpreter } from './minion/timewarped-interpreter';\r\nimport { TimewarpedJazzer } from './minion/timewarped-jazzer';\r\nimport { TimewarpedJellyBelly } from './minion/timewarped-jelly-belly';\r\nimport { TimewarpedJungleKing } from './minion/timewarped-jungle-king';\r\nimport { TimewarpedKarathress } from './minion/timewarped-karathress';\r\nimport { TimewarpedKilrek } from './minion/timewarped-kilrek';\r\nimport { TimewarpedLabRat } from './minion/timewarped-lab-rat';\r\nimport { TimewarpedLilQuilboar } from './minion/timewarped-lil-quilboar';\r\nimport { TimewarpedLowFlier } from './minion/timewarped-low-flier';\r\nimport { TimewarpedMagnanimoose } from './minion/timewarped-magnanimoose';\r\nimport { TimewarpedMothership } from './minion/timewarped-mothership';\r\nimport { TimewarpedMrrrglr } from './minion/timewarped-mrrrglr';\r\nimport { TimewarpedMurcules } from './minion/timewarped-murcules';\r\nimport { TimewarpedMurkEye } from './minion/timewarped-murk-eye';\r\nimport { TimewarpedMurky } from './minion/timewarped-murky';\r\nimport { TimewarpedMythrax } from './minion/timewarped-mythraw';\r\nimport { TimewarpedNalaa } from './minion/timewarped-nalaa';\r\nimport { TimewarpedNelliesShip } from './minion/timewarped-nellies-ship';\r\nimport { TimewarpedNestSwarmer } from './minion/timewarped-nest-swarmer';\r\nimport { TimewarpedPagle } from './minion/timewarped-pagle';\r\nimport { TimewarpedPainter } from './minion/timewarped-painter';\r\nimport { TimewarpedPaleofin } from './minion/timewarped-paleofin';\r\nimport { TimewarpedPashmar } from './minion/timewarped-pashmar';\r\nimport { TimewarpedPeggy } from './minion/timewarped-peggy';\r\nimport { TimewarpedPillager } from './minion/timewarped-pillager';\r\nimport { TimewarpedPiper } from './minion/timewarped-piper';\r\nimport { TimewarpedPrimscale } from './minion/timewarped-primscale';\r\nimport { TimewarpedProbius } from './minion/timewarped-probius';\r\nimport { TimewarpedPromoDrake } from './minion/timewarped-promo-drake';\r\nimport { TimewarpedRadioStar } from './minion/timewarped-radio-star';\r\nimport { TimewarpedRagnaros } from './minion/timewarped-ragnaros';\r\nimport { TimewarpedRecycler } from './minion/timewarped-recycler';\r\nimport { TimewarpedRedWhelp } from './minion/timewarped-red-whelp';\r\nimport { TimewarpedRewinder } from './minion/timewarped-rewinder';\r\nimport { TimewarpedRiplash } from './minion/timewarped-riplash';\r\nimport { TimewarpedSapper } from './minion/timewarped-sapper';\r\nimport { TimewarpedSaurolisk } from './minion/timewarped-saurolisk';\r\nimport { TimewarpedScourfin } from './minion/timewarped-scourfin';\r\nimport { TimewarpedSeaGlass } from './minion/timewarped-sea-glass';\r\nimport { TimewarpedSellemental } from './minion/timewarped-sellemental';\r\nimport { TimewarpedSensei } from './minion/timewarped-sensei';\r\nimport { TimewarpedShadowdancer } from './minion/timewarped-shadowdancer';\r\nimport { TimewarpedSpiritOfAir } from './minion/timewarped-spirit-of-air';\r\nimport { TimewarpedSporebat } from './minion/timewarped-sporebat';\r\nimport { TimewarpedSteamer } from './minion/timewarped-steamer';\r\nimport { TimewarpedStoneDrake } from './minion/timewarped-stone-drake';\r\nimport { TimewarpedStormcloud } from './minion/timewarped-stormcloud';\r\nimport { TimewarpedSubstrate } from './minion/timewarped-substrate';\r\nimport { TimewarpedSwirler } from './minion/timewarped-swirler';\r\nimport { TimewarpedSylvar } from './minion/timewarped-sylvar';\r\nimport { TimewarpedTamuzo } from './minion/timewarped-tamuzo';\r\nimport { TimewarpedTender } from './minion/timewarped-tender';\r\nimport { TimewarpedThorncaller } from './minion/timewarped-thorncaller';\r\nimport { TimewarpedTideRazor } from './minion/timewarped-tide-razor';\r\nimport { TimewarpedTony } from './minion/timewarped-tony';\r\nimport { TimewarpedTraveler } from './minion/timewarped-traveler';\r\nimport { TimewarpedTrickster } from './minion/timewarped-trickster';\r\nimport { TimewarpedTwirler } from './minion/timewarped-twirler';\r\nimport { TimewarpedUltralisk } from './minion/timewarped-ultralisk';\r\nimport { TimewarpedVaelastrasz } from './minion/timewarped-vaelastrasz';\r\nimport { TimewarpedWargear } from './minion/timewarped-wargear';\r\nimport { TimewarpedWarghoul } from './minion/timewarped-warghoul';\r\nimport { TimewarpedWhelpSmuggler } from './minion/timewarped-whelp-smuggler';\r\nimport { TombPillager } from './minion/tomb-pillager';\r\nimport { TorrentialRuiner } from './minion/torrential-ruiner';\r\nimport { TransmutedBramblewitch } from './minion/transmuted-bramblewitch';\r\nimport { TreasureParrot } from './minion/treasure-parrot';\r\nimport { TrenchFighter } from './minion/trench-fighter';\r\nimport { TunnelBlaster } from './minion/tunnel-blaster';\r\nimport { TurquoiseSkitterer } from './minion/turquoise-skitterer';\r\nimport { TuskarrRaider } from './minion/tuskarr-raider';\r\nimport { TuskedCamper } from './minion/tusked-camper';\r\nimport { TwilightBroodmother } from './minion/twilight-broodmother';\r\nimport { TwilightHatchling } from './minion/twilight-hatchling';\r\nimport { TwilightPrimordium } from './minion/twilight-primordium';\r\nimport { TwilightTidehunter } from './minion/twilight-tidehunter';\r\nimport { TwilightWatcher } from './minion/twilight-watcher';\r\nimport { Ultralisk } from './minion/ultralisk';\r\nimport { UltravioletAscendant } from './minion/ultraviolet-ascendant';\r\nimport { UnearthedUnderling } from './minion/unearthed-underling';\r\nimport { UnforgivingTreant } from './minion/unforgiving-treant';\r\nimport { UtilityDrone } from './minion/utility-drone';\r\nimport { Vaelastrasz } from './minion/vaelastrasz';\r\nimport { ValiantTiger } from './minion/valiant-tiger';\r\nimport { VengefulProtector } from './minion/vengeful-protector';\r\nimport { VeryHungryWinterfinner } from './minion/very-hungry-winterfinner';\r\nimport { VigilantBristlemane } from './minion/vigilant-bristlemane';\r\nimport { Vinespeaker } from './minion/vinespeaker';\r\nimport { VoidEarl } from './minion/void-earl';\r\nimport { VoidPupTrainer } from './minion/void-pup-trainer';\r\nimport { VoidRay } from './minion/void-ray';\r\nimport { VorkaiGuardian } from './minion/vorkai-guardian';\r\nimport { WanderingWight } from './minion/wandering-wight';\r\nimport { Weebomination } from './minion/weebomination';\r\nimport { WhelpSmuggler } from './minion/whelp-smuggler';\r\nimport { WhelpWatcher } from './minion/whelp-watcher';\r\nimport { WhirlingLassOMatic } from './minion/whirling-lass-o-matic';\r\nimport { WhirringProtector } from './minion/whirring-protector';\r\nimport { WhirringProtectorEnchantment } from './minion/whirring-protector-enchantment';\r\nimport { WildfireElemental } from './minion/wildfire-elemental';\r\nimport { WispInTheShell } from './minion/wisp-in-the-shell';\r\nimport { WitchwingNestmatron } from './minion/witchwing-nestmatron';\r\nimport { WolfPup } from './minion/wolf-pup';\r\nimport { WoodlandDefiler } from './minion/woodland-defiler';\r\nimport { WrathscaleRogue } from './minion/wrathscale-rogue';\r\nimport { WyvernOutrider } from './minion/wyvern-outrider';\r\nimport { YorikSmite } from './minion/yorik-smite';\r\nimport { YoungMurkEye } from './minion/young-murk-eye';\r\nimport { Yrel } from './minion/yrel';\r\nimport { Zergling } from './minion/zergling';\r\nimport { Zippers } from './minion/zippers';\r\nimport { RighteousCharge } from './quest-reward/righteous-charge';\r\nimport { IceBlock } from './secret/ice-block';\r\nimport { AnglersLure } from './spellcraft/anglers-lure';\r\nimport { AzsharasHatchery } from './spellcraft/azsharas-hatchery';\r\nimport { CrabMount } from './spellcraft/crab-mount';\r\nimport { DeepBlues } from './spellcraft/deep-blues';\r\nimport { EvolvingStrategy } from './spellcraft/evolving-strategy';\r\nimport { FloatingCandleSet } from './spellcraft/floating-candle-set';\r\nimport { GlowingCrown } from './spellcraft/glowing-crown';\r\nimport { GoldGun } from './spellcraft/gold-gun';\r\nimport { HarvestedPearl } from './spellcraft/harvested-pearl';\r\nimport { JustKeepSwimming } from './spellcraft/just-keep-swimming';\r\nimport { Meditation } from './spellcraft/meditation';\r\nimport { MiniTrident } from './spellcraft/mini-trident';\r\nimport { Reinvigoration } from './spellcraft/reinvigoration';\r\nimport { RimeOrReason } from './spellcraft/rime-or-reason';\r\nimport { RushingWinds } from './spellcraft/rushing-winds';\r\nimport { SickRiffs } from './spellcraft/sick-riffs';\r\nimport { SunkenSpells } from './spellcraft/sunken-spells';\r\nimport { SurgingScales } from './spellcraft/surging-scales';\r\nimport { Thaumaturgy } from './spellcraft/thaumaturgy';\r\nimport { TimewarpedCrown } from './spellcraft/timewarped-crown';\r\nimport { TimewarpedEelectrify } from './spellcraft/timewarped-eelectrify';\r\nimport { TimewarpedShoal } from './spellcraft/timewarped-shoal';\r\nimport { TrudgeThroughLava } from './spellcraft/trudge-through-lava';\r\nimport { UnderseaMount } from './spellcraft/undersea-mount';\r\nimport { UseSupplies } from './spellcraft/use-supplies';\r\nimport { VeteransTactics } from './spellcraft/veterans-tactics';\r\nimport { VolcanicVisitor } from './spellcraft/volcanic-visitor';\r\nimport { AllPurposeKibble } from './trinket/all-purpose-kibble';\r\nimport { ArchaicScroll } from './trinket/archaic-scroll';\r\nimport { ArmOfTheEmpire } from './trinket/arm-of-the-empire';\r\nimport { ArtisanalUrn } from './trinket/artisanal-urn';\r\nimport { AssemblerPortrait } from './trinket/assembler-portrait';\r\nimport { AutomatonPortrait } from './trinket/automaton-portrait';\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 { BewitchedRibbon } from './trinket/bewitched-ribbon';\r\nimport { BirdFeeder } from './trinket/bird-feeder';\r\nimport { BloodAmulet } from './trinket/blood-amulet';\r\nimport { BloodGolemSticker } from './trinket/blood-golem-sticker';\r\nimport { BloodboundEarrings } from './trinket/bloodbound-earrings';\r\nimport { BluegillFlippers } from './trinket/bluegill-flippers';\r\nimport { BubbleCrown } from './trinket/bubble-crown';\r\nimport { CloudSerpentHorn } from './trinket/cloud-serpent-horn';\r\nimport { ComfyCoffin } from './trinket/comfy-coffin';\r\nimport { CopperCoil } from './trinket/copper-coil';\r\nimport { CoralSpear } from './trinket/coral-spear';\r\nimport { CrochetedSungill } from './trinket/crocheted-sungill';\r\nimport { DaggerspineThrasher } from './trinket/daggerspine-thrasher';\r\nimport { DeathtouchApple } from './trinket/deathtouch-apple';\r\nimport { DeathwhisperSticker } from './trinket/deathwhisper-sticker';\r\nimport { DivineSignet } from './trinket/divine-signet';\r\nimport { DragonSkull } from './trinket/dragon-skull';\r\nimport { DramalocSticker } from './trinket/dramaloc-sticker';\r\nimport { EclecticShrine } from './trinket/eclectic-shrine';\r\nimport { EternalPortraitBg36 } from './trinket/eternal-portrait';\r\nimport { FaerieDragonScale } from './trinket/faerie-dragon-scale';\r\nimport { FangAnklet } from './trinket/fang-anklet';\r\nimport { FelburnedLedger } from './trinket/felburned-ledger';\r\nimport { FlightyPortrait } from './trinket/flighty-portrait';\r\nimport { FridgeMagnet } from './trinket/fridge-magnet';\r\nimport { FuneralWreath } from './trinket/funeral-wreath';\r\nimport { GhostlyYmirjar } from './trinket/ghostly-ymirjar';\r\nimport { GilneanThornedRose } from './trinket/gilnean-thorned-rose';\r\nimport { GlowscalePortrait } from './trinket/glowscale-portrait';\r\nimport { HeartOfTheForest } from './trinket/heart-of-the-forest';\r\nimport { HeraldSticker } from './trinket/herald-sticker';\r\nimport { HogwashBasin } from './trinket/hogwash-basin';\r\nimport { JarOGems } from './trinket/jar-o-gems';\r\nimport { LightfeatherSticker } from './trinket/lightfeather-sticker';\r\nimport { LionfishPortrait } from './trinket/lionfish-portrait';\r\nimport { LorewalkerScroll } from './trinket/lorewalker-scroll';\r\nimport { LovelyLocket } from './trinket/lovely-locket';\r\nimport { LuckyTabby } from './trinket/lucky-tabby';\r\nimport { MamaBearSticker } from './trinket/mama-bear-sticker';\r\nimport { MiniatureShip } from './trinket/miniature-ship';\r\nimport { Mishmash } from './trinket/mishmash';\r\nimport { MyrmidonSticker } from './trinket/myrmidon-sticker';\r\nimport { PowderKeg } from './trinket/powder-keg';\r\nimport { PowderKegEnchantment } from './trinket/powder-keg-enchantment';\r\nimport { ProtectiveRing } from './trinket/protective-ring';\r\nimport { QuilligraphySet, QuilligraphySetToken } from './trinket/quilligraphy-set';\r\nimport { ReinforcedShield } from './trinket/reinforced-shield';\r\nimport { RylakPortrait } from './trinket/rylak-portrait';\r\nimport { SaltscaleHoncho } from './trinket/saltscale-honcho';\r\nimport { ScrapsmithPortrait } from './trinket/scrapsmith-portrait';\r\nimport { SepulchralSergeant } from './trinket/sepulchral-sergent';\r\nimport { SkyGolemPortrait } from './trinket/sky-golem-portrait';\r\nimport { SkyGolemPortraitEnchantment } from './trinket/sky-golem-portrait-enchantment';\r\nimport { SlammaSticker } from './trinket/slamma-sticker';\r\nimport { SoulFermenter } from './trinket/soul-fermenter';\r\nimport { StegodonPortrait } from './trinket/stegodon-portrait';\r\nimport { StharaSticker } from './trinket/sthara-sticker';\r\nimport { StormcoilSticker } from './trinket/stormcoil-sticker';\r\nimport { ThornspikePauldron } from './trinket/thornspike-pauldron';\r\nimport { TideRaiserPortrait } from './trinket/tide-raiser-portrait';\r\nimport { TigerCarving } from './trinket/tiger-carving';\r\nimport { TrustyCrowbar } from './trinket/trusty-crowbar';\r\nimport { UnholySanctum } from './trinket/unholy-sanctum';\r\nimport { VashjirAnemone } from './trinket/vashjir-anemone';\r\nimport { WickedTome } from './trinket/wicked-tome';\r\nimport { WildfeatherDuster } from './trinket/wildfeather-duster';\r\nimport { WintergraspGhoul } from './trinket/wintergrasp-ghoul';\r\nimport { YulonSticker } from './trinket/yulon-sticker';\r\nimport { EnergizingChamber } from './bg-spell/energizing-chamber';\r\nimport { SludgeCorrosion } from './bg-spell/sludge-corrosion';\r\nimport { CThraxWrecker } from './minion/cthrax-wrecker';\r\nimport { CThun } from './minion/cthun';\r\nimport { CutthroatKthir } from './minion/cutthroat-kthir';\r\nimport { DarkParadoxBattlecry, DarkParadoxGolem, DarkParadoxRally } from './minion/dark-paradox';\r\nimport { DarkPuppeteer } from './minion/dark-puppeteer';\r\nimport { DeVolitionIst } from './minion/de-volition-ist';\r\nimport { DriftingSacrifice } from './minion/drifting-sacrifice';\r\nimport { FacelessConverter } from './minion/faceless-converter';\r\nimport { FetidCorroder } from './minion/fetid-corroder';\r\nimport { HarbingerAphlass } from './minion/harbinger-aphlass';\r\nimport { HeroicBroodmother } from './minion/heroic-broodmother';\r\nimport { Hopebringer } from './minion/hopebringer';\r\nimport { IronGroundskeeper } from './minion/iron-groundskeeper';\r\nimport { Joyous } from './minion/joyous';\r\nimport { LichlingHoarder } from './minion/lichling-hoarder';\r\nimport { MindbenderGhursha } from './minion/mindbender-ghursha';\r\nimport { MysteriousKthir } from './minion/mysterious-kthir';\r\nimport { NightmareCorroder } from './minion/nightmare-corroder';\r\nimport { NraqiSapper } from './minion/nraqi-sapper';\r\nimport { ParasiticFleshling } from './minion/parasitic-fleshling';\r\nimport { ResourcefulRobot } from './minion/resourceful-robot';\r\nimport { ShaOfFear } from './minion/sha-of-fear';\r\nimport { TheShadowOfDoubt } from './minion/the-shadow-of-doubt';\r\nimport { UnderrotSpawn } from './minion/underrot-spawn';\r\nimport { UnwillingSlacker } from './minion/unwilling-slacker';\r\nimport { ViciousMindslasher } from './minion/vicious-mindslasher';\r\nimport { YShaarj } from './minion/yshaarj';\r\nimport { ConverterPortrait } from './trinket/converter-portrait';\r\nimport { CorruptedBaton } from './trinket/corrupted-baton';\r\nimport { SnarkyPortrait } from './trinket/snarky-portrait';\r\n\r\nconst cards = [\r\n\tShinyRing,\r\n\tMagicfinApprentice,\r\n\tRaptorElder,\r\n\tRighteousCharge,\r\n\tAvalancheCaller,\r\n\tBileSpitter,\r\n\tBigwigBandit,\r\n\tLostCityLooter,\r\n\tShipwreckedRascal,\r\n\tColdlightDiver,\r\n\tCanopySwinger,\r\n\tLightfeatherScreecher,\r\n\tHotSpringer,\r\n\tFlotsamFlinger,\r\n\tYoungMurkEye,\r\n\tYorikSmite,\r\n\tShipMasterEudora,\r\n\tOranomonosTheWilted,\r\n\tScourgeHarvester,\r\n\tSharpEyedSabretooth,\r\n\tCharmwing,\r\n\tStompingStegodon,\r\n\tGearedGuard,\r\n\tStompingStegodonEnchantment,\r\n\tTuskedCamper,\r\n\tNimbleHatchling,\r\n\tBlueWhelp,\r\n\tDaggerspineThrasher,\r\n\tFrostwolfFervor,\r\n\tStormpike,\r\n\tTwilightWatcher,\r\n\tVengefulProtector,\r\n\tPrimevalMonstrosity,\r\n\tProdigiousTusker,\r\n\tRoadboar,\r\n\tRazorfenVineweaver,\r\n\tHogWatcher,\r\n\tSanguineRefiner,\r\n\tBloodsnoutWarlord,\r\n\tSleepySupporter,\r\n\tGreedySnaketongue,\r\n\tGlimGuardian,\r\n\tDrakkariEmbalmer,\r\n\tFriendlyGeist,\r\n\tWrathscaleRogue,\r\n\tRideOrDie,\r\n\tAllSeeingElder,\r\n\tExceptionalCaretaker,\r\n\tYrel,\r\n\tRuinsRenovator,\r\n\tCampfireShadow,\r\n\tCarapaceRaiser,\r\n\tWhirringProtector,\r\n\tWhirringProtectorEnchantment,\r\n\tGleamingTrader,\r\n\tDevoutHellcaller,\r\n\tCupcakePeddler,\r\n\tSilentEnforcer,\r\n\tLordOfTheRuins,\r\n\tStraySatyr,\r\n\tVoidEarl,\r\n\tPoultron,\r\n\tFireworksFanatic,\r\n\tBassgillPortrait,\r\n\tApprenticeOfSefin,\r\n\tGormlingGourmet,\r\n\tFlourishingFrostling,\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\tFloatingWatcher,\r\n\tSlumberSorcerer,\r\n\tCoilskarSapper,\r\n\tMonstrousMacaw,\r\n\tHogwashBasin,\r\n\tJarOGems,\r\n\tDreamingThornweaver,\r\n\tFelhorn,\r\n\tRelentlessDeflector,\r\n\tPhotobomber,\r\n\tStellarFreebooter,\r\n\tSkulkingBristlemane,\r\n\tSharptoothSnapper,\r\n\tValiantTiger,\r\n\t// AmplifyingLightspawn,\r\n\tGlowingCinder,\r\n\tSandSwirler,\r\n\tBonker,\r\n\tIrateRooster,\r\n\tPolarizingBeatboxer,\r\n\tIcesnarlTheMighty,\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\tTimewarpedHag,\r\n\tSunderedMatriarch,\r\n\tSurfingSylvar,\r\n\tGoldGrubber,\r\n\tUnholySanctum,\r\n\tHumongozz,\r\n\tArtisanalUrn,\r\n\tDrustfallenButcher,\r\n\tDisguisedGraverobber,\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\tDiremuckForager,\r\n\tTimecapnHooktail,\r\n\tAutomatonPortrait,\r\n\tMamaBearSticker,\r\n\tFaerieDragonScale,\r\n\tSpringySpriggan,\r\n\tRicketyRepairbot,\r\n\tMechagnomeInterpreter,\r\n\tAutoAssembler,\r\n\tMaritimeExtortionist,\r\n\tAutoAssemblerEnchantment,\r\n\tDeadstomper,\r\n\tArmOfTheEmpire,\r\n\tEternalTycoon,\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\tMoonBaconJazzer,\r\n\tMoonsteelJuggernaut,\r\n\tMarqueeTicker,\r\n\tRecklessCliffdiver,\r\n\tFountainChiller,\r\n\tNeonAgent,\r\n\tLokholarFrostforger,\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\tObsidianRavager,\r\n\tRoaringRallier,\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\tStharaSticker,\r\n\tMenagerieJug,\r\n\tThunderingAbomination,\r\n\tPrizedPromoDrake,\r\n\tTransmutedBramblewitch,\r\n\tFriendlyBouncer,\r\n\tImposingPercussionist,\r\n\tSoulRewinder,\r\n\tHardyOrca,\r\n\tHuntingTigerShark,\r\n\tStalwartKodo,\r\n\tStuntdrake,\r\n\tTwilightBroodmother,\r\n\tWhelpWatcher,\r\n\tTwilightHatchling,\r\n\tBloodGolemSticker,\r\n\tMishmash,\r\n\tBlueVolumizer,\r\n\tRedVolumizer,\r\n\tGreenVolumizer,\r\n\tWhirlingLassOMatic,\r\n\tThaumaturgy,\r\n\tEvolvingStrategy,\r\n\tHarvestedPearl,\r\n\tReinvigoration,\r\n\tMeditation,\r\n\tFloatingCandleSet,\r\n\tRimeOrReason,\r\n\tRushingWinds,\r\n\tTimewarpedChimera,\r\n\tTimewarpedMagnanimoose,\r\n\tTimewarpedNestSwarmer,\r\n\tTimewarpedSwirler,\r\n\tShoreMarauder,\r\n\tTimewarpedPagle,\r\n\tTimewarpedStoneDrake,\r\n\tTimewarpedMythrax,\r\n\tTimewarpedWargear,\r\n\tTimewarpedCollector,\r\n\tRylakPortrait,\r\n\tSkyGolemPortrait,\r\n\tSkyGolemPortraitEnchantment,\r\n\tDeathtouchApple,\r\n\tSoulFermenter,\r\n\tTimewarpedIckyImp,\r\n\tUnderseaMount,\r\n\tIngeniousInventor,\r\n\tDeadSeaRavager,\r\n\tTrudgeThroughLava,\r\n\tUseSupplies,\r\n\tVolcanicVisitor,\r\n\tBurgeoningWhelp,\r\n\tTimewarpedTraveler,\r\n\tSunkenAdvocate,\r\n\tBluesySiren,\r\n\tRazorfenFlapper,\r\n\tBriarbackDrummer,\r\n\tTrenchFighter,\r\n\tSpiritDrake,\r\n\tBrinyBootlegger,\r\n\tTombTurning,\r\n\tBroodOfNozdormu,\r\n\tIceBlock,\r\n\tWaveOfGold,\r\n\tSanguineChampion,\r\n\tCaptainCookie,\r\n\tSpellSiphon,\r\n\tHandOfDeios,\r\n\tEyesOfTheEarthMother,\r\n\tJellyBelly,\r\n\tTimewarpedJellyBelly,\r\n\tTimewarpedDeathswarmer,\r\n\tTimewarpedRecycler,\r\n\tTimewarpedPillager,\r\n\tDeathsEmbrace,\r\n\tFestergut,\r\n\tTimewarpedFestergut,\r\n\tPashmarTheVengeful,\r\n\tTimewarpedPashmar,\r\n\tTimewarpedEelectrify,\r\n\tTimewarpedSapper,\r\n\tTimewarpedPiper,\r\n\tTimewarpedThorncaller,\r\n\tTimewarpedGeomancer,\r\n\tTimewarpedJazzer,\r\n\tTimewarpedAlleycat,\r\n\tTimewarpedSaurolisk,\r\n\tTimewarpedHyena,\r\n\tTimewarpedSporebat,\r\n\tTimewarpedNelliesShip,\r\n\tTimewarpedSellemental,\r\n\tTimewarpedRagnaros,\r\n\tTimewarpedBotani,\r\n\tSpiritOfAir,\r\n\tTimewarpedSpiritOfAir,\r\n\tTimewarpedArm,\r\n\tTimewarpedWhelpSmuggler,\r\n\tTimewarpedShoal,\r\n\tTimewarpedGuard,\r\n\tTimewarpedSensei,\r\n\tTimewarpedCopter,\r\n\tTimewarpedHunter,\r\n\tTimewarpedMothership,\r\n\tScourfin,\r\n\tTimewarpedScourfin,\r\n\tBassgill,\r\n\tTimewarpedBassgill,\r\n\tTimewarpedBoar,\r\n\tMurcules,\r\n\tTimewarpedMurcules,\r\n\tTimewarpedElegist,\r\n\tTimewarpedRewinder,\r\n\tTimewarpedShadowdancer,\r\n\tTimewarpedKilrek,\r\n\tTimewarpedDragonling,\r\n\tTimewarpedLowFlier,\r\n\tTimewarpedRedWhelp,\r\n\tTimewarpedVaelastrasz,\r\n\tTimewarpedGeist,\r\n\tRadioStar,\r\n\tTimewarpedRadioStar,\r\n\tTimewarpedWarghoul,\r\n\tTimewarpedCaretaker,\r\n\tTimewarpedGhoulAcabra,\r\n\tTimewarpedDeadstomper,\r\n\tTimewarpedRiplash,\r\n\tTimewarpedKarathress,\r\n\tTimewarpedBonker,\r\n\tTimewarpedBristler,\r\n\tBloodGemBarrage,\r\n\tTimewarpedTwirler,\r\n\tTimewarpedLilQuilboar,\r\n\tGemsplitter,\r\n\tTimewarpedGemsplitter,\r\n\tTimewarpedChameleon,\r\n\tTimewarpedGoldrinn,\r\n\tTimewarpedHawkstrider,\r\n\tTimewarpedHenchman,\r\n\tTimewarpedTamuzo,\r\n\tTimewarpedJungleKing,\r\n\tTimewarpedClefthoof,\r\n\tTimewarpedSeaGlass,\r\n\tTimewarpedStormcloud,\r\n\tTimewarpedSubstrate,\r\n\tTimewarpedCrown,\r\n\tTimewarpedTideRazor,\r\n\tTimewarpedTender,\r\n\tTimewarpedCloningDevice,\r\n\tTimewarpedMasterThief,\r\n\tTimewarpedOnTheHouse,\r\n\tTimewarpedRatInTheCage,\r\n\tTimewarpedBananas,\r\n\tTimewarpedRitual,\r\n\tTimewarpedEvolution,\r\n\tTimewarpedCorpse,\r\n\tTimewarpedChefsChoice,\r\n\tTimewarpedSpecial,\r\n\tTimewarpedConch,\r\n\tTimewarpedGoldenizer,\r\n\tTimewarpedThief,\r\n\tTimewarpedUltralisk,\r\n\tTimewarpedInterpreter,\r\n\tTimewarpedProbius,\r\n\tTimewarpedImmortal,\r\n\tTimewarpedGreaseBot,\r\n\tTimewarpedSteamer,\r\n\tTimewarpedSylvar,\r\n\tTimewarpedTony,\r\n\tTimewarpedPeggy,\r\n\tTimewarpedMurky,\r\n\tTimewarpedExpeditioner,\r\n\tTimewarpedMurkEye,\r\n\tTimewarpedPainter,\r\n\tChoralMrrrglr,\r\n\tTimewarpedMrrrglr,\r\n\tTimewarpedPaleofin,\r\n\tTimewarpedTrickster,\r\n\tTimewarpedArchimonde,\r\n\tTimewarpedEmbalmer,\r\n\tTimewarpedCalligrapher,\r\n\tTimewarpedGreenskeeper,\r\n\tTimewarpedPromoDrake,\r\n\tTimewarpedDuskmaw,\r\n\tTimewarpedPrimscale,\r\n\tPlankwalker,\r\n\tMenagerieTableware,\r\n\tVeteransTactics,\r\n\tChargingCzarina,\r\n\tPaintSmudger,\r\n\tForsakenWeaver,\r\n\tTimewarpedBloodbinder,\r\n\tTimewarpedLabRat,\r\n\tTimewarpedNalaa,\r\n\tTimewarpedElectron,\r\n\tTimewarpedHootail,\r\n\tTimewarpedCenturion,\r\n\tApexisGuardian,\r\n\tMetalDispenser,\r\n\tUtilityDrone,\r\n\tSurfNSurfCrabRiding,\r\n\tCrabMount,\r\n\tTheGladIator,\r\n\tSwattingInsects,\r\n\tAvatarOfNzoth,\r\n\tNalaaTheRedeemer,\r\n\tJunkJouster,\r\n\tMiniTrident,\r\n\tAnglersLure,\r\n\tGlowingCrown,\r\n\tAzsharasHatchery,\r\n\tGoldGun,\r\n\tSickRiffs,\r\n\tDeepBlues,\r\n\tJustKeepSwimming,\r\n\tSunkenSpells,\r\n\tSurgingScales,\r\n\tConveyorConstruct,\r\n\tAutoAccelerator,\r\n\tBuddingGreenthumb,\r\n\tWitchwingNestmatron,\r\n\tUnforgivingTreant,\r\n\tPsychus,\r\n\tHighkeeperRa,\r\n\tTheLastOneStanding,\r\n\tHeroicUnderdog,\r\n\tGhoulOfTheFeast,\r\n\tSoulsplitter,\r\n\tSpellboundSoul,\r\n\tSepulchralSergeant,\r\n\tWintergraspGhoul,\r\n\tGhostlyYmirjar,\r\n\tGilneanThornedRose,\r\n\tSaltscaleHoncho,\r\n\tExpertAviator,\r\n\tProfoundThinker,\r\n\tCostumeEnthusiast,\r\n\tDramaloc,\r\n\tFuturefin,\r\n\tArchaedas,\r\n\tTichondrius,\r\n\tArchimonde,\r\n\tSanlaynScribe,\r\n\tBriarbackBookie,\r\n\tShadowdancer,\r\n\tAshenCorruptor,\r\n\tStoneshellGuardian,\r\n\tMasterGadrin,\r\n\tPilotedWhirlOTron,\r\n\tSnackVendor,\r\n\tShadowyConstruct,\r\n\tTombPillager,\r\n\tGildedGargoyle,\r\n\tRampager,\r\n\tTamuzo,\r\n\tWeebomination,\r\n\tMonstrosity,\r\n\tFrostwolfLieutenant,\r\n\tSneedsNewShredder,\r\n\tStormpikeLieutenant,\r\n\tFragrantPhylactery,\r\n\tFragrantPhylacteryEnchantment,\r\n\tExpertTechnician,\r\n\tDivineSparkbot,\r\n\tSuperConstructor,\r\n\tAzsharanCutlassier,\r\n\tMurkySpashFisher,\r\n\tMurkysFish,\r\n\tAzeriteEmpowerment,\r\n\tMalorne,\r\n\tLoackAndLoad,\r\n\tZippers,\r\n\tNaturalBlessing,\r\n\tShiftingTide,\r\n\tChefsChoice,\r\n\tConflagration,\r\n\tDeepwaterClan,\r\n\tQueensCommand,\r\n\tDeterminedDefender,\r\n\tLivingAzerite,\r\n\tTidemistressAthissa,\r\n\tBlackChromadrake,\r\n\tBlueChromadrake,\r\n\tBloodGemQuilboarRebornSpell,\r\n\tBloodGemQuilboarTauntSpell,\r\n\tBloodGemQuilboarDivineShieldSpell,\r\n\tBrazenBuccaneer,\r\n\tBronzeChromadrake,\r\n\tCousinErrgl,\r\n\tEarthsongShaman,\r\n\tEnchantedSentinel,\r\n\tFelfireConjurer,\r\n\tGreenChromadrake,\r\n\tLurkingLeviathan,\r\n\tMamaMrrglton,\r\n\tPapaMrrglton,\r\n\tPufferquil,\r\n\tRedChromadrake,\r\n\tRedtuskThornraiser,\r\n\tRovingSailor,\r\n\tSkeletalStrafer,\r\n\tVeryHungryWinterfinner,\r\n\tAbyssalBruiser,\r\n\tBristlebackBully,\r\n\tBristlebach,\r\n\tBristlemaneScrapsmith,\r\n\tCataclysmicHarbinger,\r\n\tConsummateConqueror,\r\n\tDeepwaterChieftain,\r\n\tDraconicWarden,\r\n\tDustboneDevastator,\r\n\tFallingSkyGolem,\r\n\tFirelandsFugitive,\r\n\tIncubationResearcher,\r\n\tLeylineSurfacer,\r\n\tPlaguerunner,\r\n\tRingBearer,\r\n\tRuthlessQueensguard,\r\n\tScarletSurvivor,\r\n\tScarletSkull,\r\n\tSeafloorRecruiter,\r\n\tNightbaneIgnited,\r\n\tScrapScraper,\r\n\tSewerLord,\r\n\tSewerRat,\r\n\tShipJumper,\r\n\tTideRaiser,\r\n\tVinespeaker,\r\n\tVoidPupTrainer,\r\n\tWoodlandDefiler,\r\n\tWyvernOutrider,\r\n\tBabyYshaarj,\r\n\tBananaSlamma,\r\n\tButchering,\r\n\tHealthyBounty,\r\n\tHostileBounty,\r\n\tSelfishBounty,\r\n\tFriendlyBounty,\r\n\tMightOfStormwind,\r\n\tBackToBack,\r\n\tFangAnklet,\r\n\tProtectiveRing,\r\n\tPowderKeg,\r\n\tPowderKegEnchantment,\r\n\tDramalocSticker,\r\n\tSlammaSticker,\r\n\tScrapsmithPortrait,\r\n\tStegodonPortrait,\r\n\tStormcoilSticker,\r\n\tCloudSerpentHorn,\r\n\tQuilligraphySet,\r\n\tQuilligraphySetToken,\r\n\tReinforcedShield,\r\n\tWickedTome,\r\n\tThornspikePauldron,\r\n\tTigerCarving,\r\n\tBloodAmulet,\r\n\tCopperCoil,\r\n\tLorewalkerScroll,\r\n\tLuckyTabby,\r\n\tBewitchedRibbon,\r\n\tCoralSpear,\r\n\tMiniatureShip,\r\n\tComfyCoffin,\r\n\tBluegillFlippers,\r\n\tWildfeatherDuster,\r\n\tTrustyCrowbar,\r\n\tGlowscalePortrait,\r\n\tBabyNzoth,\r\n\tBloodboundEarrings,\r\n\tHeartOfTheForest,\r\n\tBubbleCrown,\r\n\tArchaicScroll,\r\n\tTideRaiserPortrait,\r\n\tFelburnedLedger,\r\n\tFridgeMagnet,\r\n\tJailerSticker306,\r\n\tJailerSticker733,\r\n\tOphidianStaff,\r\n\r\n\t// Patch 36.2\r\n\tFlitteringBat,\r\n\tTastyLobster,\r\n\tHeadhunterGryphon,\r\n\tFishbait,\r\n\tWolfPup,\r\n\tDeathstrider,\r\n\tRavagingScorpid,\r\n\tHoardingHyena,\r\n\tCageGnawer,\r\n\tImpLusionist,\r\n\tBronzeTimewalker,\r\n\tRescueBot,\r\n\tBrambleTunneler,\r\n\tGlambot,\r\n\tTwilightTidehunter,\r\n\tShamanicTidecaller,\r\n\tTorrentialRuiner,\r\n\tFleeingFugitive,\r\n\tVigilantBristlemane,\r\n\tGatekeeperAmalgam,\r\n\tCrimsonVindicator,\r\n\tRunicArcanist,\r\n\tMoatCustodian,\r\n\tBoomInABox,\r\n\tBilgewaterBreakout,\r\n\tLockedUpMutineer,\r\n\tBarrierBanshee,\r\n\tSnazzyPhantom,\r\n\tJailbirdJuggernaut,\r\n\tEredarEscapist,\r\n\tTreasureParrot,\r\n\tMightyDragonbreath,\r\n\tRepairJob,\r\n\tWeaponsForge,\r\n\tWinnersBread,\r\n\tMisplacedTeaSet,\r\n\tLionfishPortrait,\r\n\tDragonSkull,\r\n\tDeathwhisperSticker,\r\n\tLovelyLocket,\r\n\tLightfeatherSticker,\r\n\tEternalPortraitBg36,\r\n\tFuneralWreath,\r\n\tFlightyPortrait,\r\n\tMyrmidonSticker,\r\n\tAssemblerPortrait,\r\n\tOffensiveSacrifice,\r\n\tDefensiveSacrifice,\r\n\tResistance,\r\n\tAdmiration,\r\n\tJawsOfDeath,\r\n\tInvulnerability,\r\n\tGolemancy,\r\n\tHostility,\r\n\tTranscendence,\r\n\tTorethsBlessing,\r\n\tCharisma,\r\n\tConsanguinity,\r\n\tDemonology,\r\n\tFreshPerspective,\r\n\tMysticEssence,\r\n\tMotleyPhalanx,\r\n\tArfus,\r\n\tBrannsEpicEgg,\r\n\tElderTaggawag,\r\n\tElementiumSquirrelBomb,\r\n\tKilrek,\r\n\tLadySinestra,\r\n\tLoyalHenchman,\r\n\tMawswornSoulkeeper,\r\n\tProbius,\r\n\tSrTombDiver,\r\n\tTuskarrRaider,\r\n\tUnearthedUnderling,\r\n\tVaelastrasz,\r\n\tDieInsects,\r\n\tFireTheCannons,\r\n\tMurlocKing,\r\n\tMurlocKingEnchantment,\r\n\tNefariousFire,\r\n\tRunicEmpowerment,\r\n\t// Patch 36.6.1\r\n\tCThun,\r\n\tYShaarj,\r\n\tJoyous,\r\n\tDriftingSacrifice,\r\n\tViciousMindslasher,\r\n\tFacelessConverter,\r\n\tTheShadowOfDoubt,\r\n\tShaOfFear,\r\n\tCThraxWrecker,\r\n\tUnwillingSlacker,\r\n\tUnderrotSpawn,\r\n\tNightmareCorroder,\r\n\tFetidCorroder,\r\n\tNraqiSapper,\r\n\tDarkParadoxRally,\r\n\tDarkParadoxBattlecry,\r\n\tDarkParadoxGolem,\r\n\tDeVolitionIst,\r\n\tHopebringer,\r\n\tHeroicBroodmother,\r\n\tLichlingHoarder,\r\n\tDarkPuppeteer,\r\n\tParasiticFleshling,\r\n\tMysteriousKthir,\r\n\tResourcefulRobot,\r\n\tMindbenderGhursha,\r\n\tCutthroatKthir,\r\n\tHarbingerAphlass,\r\n\tSludgeCorrosion,\r\n\tEnergizingChamber,\r\n\tCorruptedBaton,\r\n\tConverterPortrait,\r\n\tSnarkyPortrait,\r\n\tIronGroundskeeper,\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 { AzeriteEmpowerment } from './bg-spell/azerite-empowerment';\r\nimport { BackToBack } from './bg-spell/back-to-back';\r\nimport { BloodGemBarrage } from './bg-spell/blood-gem-barrage';\r\nimport { BloodGemQuilboarDivineShieldSpell } from './bg-spell/blood-gem-quilboar-divine-shield';\r\nimport { BloodGemQuilboarRebornSpell } from './bg-spell/blood-gem-quilboar-reborn';\r\nimport { BloodGemQuilboarTauntSpell } from './bg-spell/blood-gem-quilboar-taunt';\r\nimport { BroodOfNozdormu } from './bg-spell/brood-of-nozdormu';\r\nimport { Butchering } from './bg-spell/butchering';\r\nimport { ChefsChoice } from './bg-spell/chefs-choice';\r\nimport { Conflagration } from './bg-spell/conflagration';\r\nimport { DeepwaterClan } from './bg-spell/deepwater-clan';\r\nimport { EyesOfTheEarthMother } from './bg-spell/eyes-of-the-earth-mother';\r\nimport { FriendlyBounty } from './bg-spell/friendly-bounty';\r\nimport { HandOfDeios } from './bg-spell/hand-of-deios';\r\nimport { HealthyBounty } from './bg-spell/healthy-bounty';\r\nimport { HostileBounty } from './bg-spell/hostile-bounty';\r\nimport { JailerSticker306 } from './bg-spell/jailer-sticker-306';\r\nimport { JailerSticker733 } from './bg-spell/jailer-sticker-733';\r\nimport { MenagerieTableware } from './bg-spell/menagerie-tableware';\r\nimport { MightOfStormwind } from './bg-spell/might-of-stormwind';\r\nimport { MightyDragonbreath } from './bg-spell/mighty-dragonbreath';\r\nimport { MisplacedTeaSet } from './bg-spell/misplaced-tea-set';\r\nimport { MurkysFish } from './bg-spell/murkys-fish';\r\nimport { NaturalBlessing } from './bg-spell/natural-blessing';\r\nimport { OphidianStaff } from './bg-spell/ophidian-staff';\r\nimport { QueensCommand } from './bg-spell/queens-command';\r\nimport { RepairJob } from './bg-spell/repair-job';\r\nimport { SelfishBounty } from './bg-spell/selfish-bounty';\r\nimport { SharingIsCaring } from './bg-spell/sharing-is-caring';\r\nimport { ShiftingTide } from './bg-spell/shifting-tide';\r\nimport { ShinyRing } from './bg-spell/shiny-ring';\r\nimport { TimewarpedBananas } from './bg-spell/timewarped-bananas';\r\nimport { TimewarpedChefsChoice } from './bg-spell/timewarped-chefs-choice';\r\nimport { TimewarpedCloningDevice } from './bg-spell/timewarped-cloning-device';\r\nimport { TimewarpedConch } from './bg-spell/timewarped-conch';\r\nimport { TimewarpedCorpse } from './bg-spell/timewarped-corpse';\r\nimport { TimewarpedEvolution } from './bg-spell/timewarped-evolution';\r\nimport { TimewarpedGoldenizer } from './bg-spell/timewarped-goldenizer';\r\nimport { TimewarpedMasterThief } from './bg-spell/timewarped-master-thief';\r\nimport { TimewarpedOnTheHouse } from './bg-spell/timewarped-on-the-house';\r\nimport { TimewarpedRatInTheCage } from './bg-spell/timewarped-rat-in-the-cage';\r\nimport { TimewarpedRitual } from './bg-spell/timewarped-ritual';\r\nimport { TimewarpedSpecial } from './bg-spell/timewarped-special';\r\nimport { TimewarpedThief } from './bg-spell/timewarped-thief';\r\nimport { TombTurning } from './bg-spell/tomb-turning';\r\nimport { WaveOfGold } from './bg-spell/wave-of-gold';\r\nimport { WeaponsForge } from './bg-spell/weapons-forge';\r\nimport { WinnersBread } from './bg-spell/winners-bread';\r\nimport { Admiration } from './enchantments/admiration';\r\nimport { Charisma } from './enchantments/charisma';\r\nimport { Consanguinity } from './enchantments/consanguinity';\r\nimport { DeathsEmbrace } from './enchantments/deaths-embrace';\r\nimport { DefensiveSacrifice } from './enchantments/defensive-sacrifice';\r\nimport { Doppelganger } from './enchantments/doppelganger';\r\nimport { Demonology } from './enchantments/demonology';\r\nimport { FreshPerspective } from './enchantments/fresh-perspective';\r\nimport { Golemancy } from './enchantments/golemancy';\r\nimport { Hostility } from './enchantments/hostility';\r\nimport { Invulnerability } from './enchantments/invulnerability';\r\nimport { JawsOfDeath } from './enchantments/jaws-of-death';\r\nimport { MysticEssence } from './enchantments/mystic-essence';\r\nimport { OffensiveSacrifice } from './enchantments/offensive-sacrifice';\r\nimport { Resistance } from './enchantments/resistance';\r\nimport { SpellSiphon } from './enchantments/spell-siphon';\r\nimport { TorethsBlessing } from './enchantments/toreths-blessing';\r\nimport { Transcendence } from './enchantments/transcendence';\r\nimport { AvatarOfNzoth } from './hero-power/avatar-of-nzoth';\r\nimport { DieInsects } from './hero-power/die-insects';\r\nimport { FireTheCannons } from './hero-power/fire-the-cannons';\r\nimport { FragrantPhylactery } from './hero-power/fragrant-phylactery';\r\nimport { FragrantPhylacteryEnchantment } from './hero-power/fragrant-phylactery-enchantment';\r\nimport { FrostwolfFervor } from './hero-power/frostwolf-fervor';\r\nimport { GloriousGloop } from './hero-power/glorious-gloop';\r\nimport { LoackAndLoad } from './hero-power/lock-and-load';\r\nimport { MurlocKing } from './hero-power/murloc-king';\r\nimport { MurlocKingEnchantment } from './hero-power/murloc-king-enchantment';\r\nimport { NefariousFire } from './hero-power/nefarious-fire';\r\nimport { RunicEmpowerment } from './hero-power/runic-empowerment';\r\nimport { Stormpike } from './hero-power/stormpike';\r\nimport { SwattingInsects } from './hero-power/swatting-insects';\r\nimport { AbyssalBruiser } from './minion/abyssal-bruiser';\r\nimport { AdmiralElizaGoreblade } from './minion/admiral-eliza-goreblade';\r\nimport { AllSeeingElder } from './minion/all-seeing-elder';\r\nimport { Alleycat } from './minion/alleycat';\r\nimport { AnubarakNerubianKing } from './minion/anubarak-nerubian-king';\r\nimport { ApexisGuardian } from './minion/apexis-guardian';\r\nimport { ApprenticeOfSefin } from './minion/apprentice-of-sefin';\r\nimport { ArcaneCannoneer } from './minion/arcane-cannoneer';\r\nimport { Archaedas } from './minion/archaedas';\r\nimport { Archimonde } from './minion/archimonde';\r\nimport { Arfus } from './minion/arfus';\r\nimport { AridAtrocity } from './minion/arid-atrocity';\r\nimport { AshenCorruptor } from './minion/ashen-corruptor';\r\nimport { AssistantGuard } from './minion/assistant-guard';\r\nimport { AutoAccelerator } from './minion/auto-accelerator';\r\nimport { AutoAssembler } from './minion/auto-assembler';\r\nimport { AutoAssemblerEnchantment } from './minion/auto-assembler-enchantment';\r\nimport { AvalancheCaller } from './minion/avalanche-caller';\r\nimport { AzsharanCutlassier } from './minion/azsharan-cutlassier';\r\nimport { BabyNzoth } from './minion/baby-nzoth';\r\nimport { BabyYshaarj } from './minion/baby-yshaarj';\r\nimport { BananaSlamma } from './minion/banana-slamma';\r\nimport { Baneling } from './minion/baneling';\r\nimport { Bannerboar } from './minion/bannerboar';\r\nimport { BarrierBanshee } from './minion/barrier-banshee';\r\nimport { Bassgill } from './minion/bassgill';\r\nimport { Battlecruiser } from './minion/battlecruiser';\r\nimport { Beetle } from './minion/beetle';\r\nimport { BellowingTyrant } from './minion/bellowing-tyrant';\r\nimport { BigwigBandit } from './minion/bigwig-bandit';\r\nimport { BileSpitter } from './minion/bile-spitter';\r\nimport { BilgewaterBreakout } from './minion/bilgewater-breakout';\r\nimport { BirdBuddy } from './minion/bird-buddy';\r\nimport { BlackChromadrake } from './minion/black-chromadrake';\r\nimport { BlazingSkyfin } from './minion/blazing-skyfin';\r\nimport { BloodsnoutWarlord } from './minion/bloodsnout-warlord';\r\nimport { BlueChromadrake } from './minion/blue-chromadrake';\r\nimport { BlueVolumizer } from './minion/blue-volumizer';\r\nimport { BlueWhelp } from './minion/blue-whelp';\r\nimport { BluesySiren } from './minion/bluesy-siren';\r\nimport { BoarGamer } from './minion/boar-gamer';\r\nimport { BongoBopper } from './minion/bongo-bopper';\r\nimport { Bonker } from './minion/bonker';\r\nimport { BoomInABox } from './minion/boom-in-a-box';\r\nimport { BrambleTunneler } from './minion/bramble-tunneler';\r\nimport { BrannsEpicEgg } from './minion/branns-epic-egg';\r\nimport { BrazenBuccaneer } from './minion/brazen-buccaneer';\r\nimport { BriarbackBookie } from './minion/briarback-bookie';\r\nimport { BriarbackDrummer } from './minion/briarback-drummer';\r\nimport { BrinyBootlegger } from './minion/briny-bootlegger';\r\nimport { Bristlebach } from './minion/bristlebach';\r\nimport { BristlebackBully } from './minion/bristleback-bully';\r\nimport { BristlemaneScrapsmith } from './minion/bristlemane-scrapsmith';\r\nimport { BronzeChromadrake } from './minion/bronze-chromadrake';\r\nimport { BronzeSteward } from './minion/bronze-steward';\r\nimport { BronzeTimewalker } from './minion/bronze-timewalker';\r\nimport { BubbleGunner } from './minion/bubble-gunner';\r\nimport { BuddingGreenthumb } from './minion/budding-greenthumb';\r\nimport { BurgeoningWhelp } from './minion/burgeoning-whelp';\r\nimport { BuzzingVermin } from './minion/buzzing-vermin';\r\nimport { CadaverCaretaker } from './minion/cadaver-caretaker';\r\nimport { CageGnawer } from './minion/cage-gnawer';\r\nimport { CampfireShadow } from './minion/campfire-shadow';\r\nimport { CanopySwinger } from './minion/canopy-swinger';\r\nimport { CaptainBonerender } from './minion/captain-bonerender';\r\nimport { CaptainCookie } from './minion/captain-cookie';\r\nimport { CarapaceRaiser } from './minion/carapace-raiser';\r\nimport { Carrier } from './minion/carrier';\r\nimport { CataclysmicHarbinger } from './minion/cataclysmic-harbinger';\r\nimport { ChampionOfThePrimus } from './minion/champion-of-the-primus';\r\nimport { ChargingCzarina } from './minion/charging-czarina';\r\nimport { Charlga } from './minion/charlga';\r\nimport { Charmwing } from './minion/charmwing';\r\nimport { ChoralMrrrglr } from './minion/choral-mrrrglr';\r\nimport { ClunkerJunker } from './minion/clunker-junker';\r\nimport { CoilskarSapper } from './minion/coilskar-sapper';\r\nimport { ColdlightDiver } from './minion/coldlight-diver';\r\nimport { Colossus } from './minion/colossus';\r\nimport { ConsummateConqueror } from './minion/consummate-conqueror';\r\nimport { ConveyorConstruct } from './minion/conveyor-construct';\r\nimport { CorruptedBristler } from './minion/corrupted-bristler';\r\nimport { CostumeEnthusiast } from './minion/costume-enthusiast';\r\nimport { CousinErrgl } from './minion/cousin-errgl';\r\nimport { CrimsonVindicator } from './minion/crimson-vindicator';\r\nimport { CruiseController } from './minion/cruise-controller';\r\nimport { CrystalInfuserEnchantment } from './minion/crystal-infuser-enchantment';\r\nimport { CupcakePeddler } from './minion/cupcake-peddler';\r\nimport { DastardlyDrust } from './minion/dastardly-drust';\r\nimport { DeadSeaRavager } from './minion/dead-sea-ravager';\r\nimport { Deadstomper } from './minion/deadstomper';\r\nimport { DeathlyStriker } from './minion/deathly-striker';\r\nimport { Deathstrider } from './minion/deathstrider';\r\nimport { DeepwaterChieftain } from './minion/deepwater-chieftain';\r\nimport { DefiantShipwright } from './minion/defiant-shipwright';\r\nimport { DeflectoBot } from './minion/deflecto-bot';\r\nimport { DeterminedDefender } from './minion/determined-defender';\r\nimport { DevoutHellcaller } from './minion/devout-hellcaller';\r\nimport { DiremuckForager } from './minion/diremuck-forager';\r\nimport { DisguisedGraverobber } from './minion/disguised-graverobber';\r\nimport { DivineSparkbot } from './minion/divine-sparkbot';\r\nimport { DraconicWarden } from './minion/draconic-warden';\r\nimport { DrakkariEmbalmer } from './minion/drakkari-embalmer';\r\nimport { Dramaloc } from './minion/dramaloc';\r\nimport { DreamingThornweaver } from './minion/dreaming-thornweaver';\r\nimport { DrustfallenButcher } from './minion/drustfallen-butcher';\r\nimport { DustboneDevastator } from './minion/dustbone-devastator';\r\nimport { EarthsongShaman } from './minion/earthsong-shaman';\r\nimport { EchoingRoar } from './minion/echoing-roar';\r\nimport { EfficientEngineer } from './minion/efficient-engineer';\r\nimport { ElderTaggawag } from './minion/elder-taggawag';\r\nimport { ElectricSynthesizer } from './minion/electric-synthesizer';\r\nimport { ElementiumSquirrelBomb } from './minion/elementium-squirrel-bomb';\r\nimport { EliteNavigator } from './minion/elite-navigator';\r\nimport { EnchantedSentinel } from './minion/enchanted-sentinel';\r\nimport { EredarEscapist } from './minion/eredar-escapist';\r\nimport { EternalTycoon } from './minion/eternal-tycoon';\r\nimport { ExceptionalCaretaker } from './minion/exceptionnal-caretaker';\r\nimport { ExpertAviator } from './minion/expert-aviator';\r\nimport { ExpertTechnician } from './minion/expert-technician';\r\nimport { FairyGillmother } from './minion/fairy-gillmother';\r\nimport { FallingSkyGolem } from './minion/falling-sky-golem';\r\nimport { FaunaWhisperer } from './minion/fauna-whisperer';\r\nimport { FelfireConjurer } from './minion/felfire-conjurer';\r\nimport { Felhorn } from './minion/felhorn';\r\nimport { Festergut } from './minion/festergut';\r\nimport { FireForgedEvoker } from './minion/fire-forged-evoker';\r\nimport { FirelandsFugitive } from './minion/firelands-fugitive';\r\nimport { FirescaleHoarder } from './minion/firescale-hoarder';\r\nimport { FireworksFanatic } from './minion/fireworks-fanatic';\r\nimport { Fishbait } from './minion/fishbait';\r\nimport { FleeingFugitive } from './minion/fleeing-fugitive';\r\nimport { FlightyScout } from './minion/flighty-scout';\r\nimport { FlitteringBat } from './minion/flittering-bat';\r\nimport { FloatingWatcher } from './minion/floating-watcher';\r\nimport { FlotsamFlinger } from './minion/flotsam-flinger';\r\nimport { FlourishingFrostling } from './minion/flourishing-frostling';\r\nimport { ForestRover } from './minion/forest-rover';\r\nimport { ForsakenWeaver } from './minion/forsaken-weaver';\r\nimport { FountainChiller } from './minion/fountain-chiller';\r\nimport { FriendlyBouncer } from './minion/friendly-bouncer';\r\nimport { FriendlyGeist } from './minion/friendly-geist';\r\nimport { FrostwolfLieutenant } from './minion/frostwolf-lieutenant';\r\nimport { Futurefin } from './minion/futurefin';\r\nimport { GatekeeperAmalgam } from './minion/gatekeeper-amalgam';\r\nimport { GearedGuard } from './minion/geared-guard';\r\nimport { GemRat } from './minion/gem-rat';\r\nimport { GemSmuggler } from './minion/gem-smuggler';\r\nimport { Gemsplitter } from './minion/gemsplitter';\r\nimport { GeneralDrakkisath } from './minion/general-drakkisath';\r\nimport { GentleDjinni } from './minion/gentle-djinni';\r\nimport { GentleStag } from './minion/gentle-stag';\r\nimport { GhoulOfTheFeast } from './minion/ghoul-of-the-feast';\r\nimport { GildedGargoyle } from './minion/gilded-gargoyle';\r\nimport { Glambot } from './minion/glambot';\r\nimport { GleamingTrader } from './minion/gleaming-trader';\r\nimport { GlimGuardian } from './minion/glim-guardian';\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 { GreedySnaketongue } from './minion/greedy-snaketongue';\r\nimport { GreenChromadrake } from './minion/green-chromadrake';\r\nimport { GreenVolumizer } from './minion/green-volumizer';\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 { HardyOrca } from './minion/hardy-orca';\r\nimport { HarmlessBonehead } from './minion/harmless-bonehead';\r\nimport { HeadhunterGryphon } from './minion/headhunter-gryphon';\r\nimport { HeroicUnderdog } from './minion/heroic-underdog';\r\nimport { HighkeeperRa } from './minion/highkeeper-ra';\r\nimport { HoardingHyena } from './minion/hoarding-hyena';\r\nimport { HogWatcher } from './minion/hog-watcher';\r\nimport { HoloRover } from './minion/holo-rover';\r\nimport { HotSpringer } from './minion/hot-springer';\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 { HuntingTigerShark } from './minion/hunting-tiger-shark';\r\nimport { Hydralisk } from './minion/hydralisk';\r\nimport { IcesnarlTheMighty } from './minion/icesnarl-the-mighty';\r\nimport { IgnitionSpecialist } from './minion/ignition-specialist';\r\nimport { Immortal } from './minion/immortal';\r\nimport { ImpLusionist } from './minion/imp-lusionist';\r\nimport { ImplantSubject } from './minion/implant-subject';\r\nimport { ImposingPercussionist } from './minion/imposing-percussionist';\r\nimport { ImpulsiveTrickster } from './minion/impulsive-trickster';\r\nimport { IncubationResearcher } from './minion/incubation-researcher';\r\nimport { IndomitableMount } from './minion/indomitable-mount';\r\nimport { IngeniousInventor } from './minion/ingenious-inventor';\r\nimport { InspiringUnderdog } from './minion/inspiring-underdog';\r\nimport { InterrogatorWhitemane } from './minion/interrogator-whitemane';\r\nimport { IrateRooster } from './minion/irate-rooster';\r\nimport { JailbirdJuggernaut } from './minion/jailbird-juggernaut';\r\nimport { JellyBelly } from './minion/jelly-belly';\r\nimport { JunkJouster } from './minion/junk-jouster';\r\nimport { KalecgosArcaneAspect } from './minion/kalecgos-arcane-aspect';\r\nimport { KangorsApprentice } from './minion/kangors-apprentice';\r\nimport { KarmicChameleon } from './minion/karmic-chameleon';\r\nimport { Kilrek } from './minion/kilrek';\r\nimport { KingBagurgle } from './minion/king-bagurgle';\r\nimport { LadySinestra } from './minion/lady-sinestra';\r\nimport { LeeroyTheReckless } from './minion/leeroy-the-reckless';\r\nimport { LeylineSurfacer } from './minion/leyline-surfacer';\r\nimport { LightfangEnforcer } from './minion/lightfang-enforcer';\r\nimport { LightfeatherScreecher } from './minion/lightfeather-screecher';\r\nimport { LivingAzerite } from './minion/living-azerite';\r\nimport { LockedUpMutineer } from './minion/locked-up-mutineer';\r\nimport { LokholarFrostforger } from './minion/lokholar-frostforger';\r\nimport { LordOfTheRuins } from './minion/lord-of-the-ruins';\r\nimport { LostCityLooter } from './minion/lost-city-looter';\r\nimport { LovesickBalladist } from './minion/lovesick-balladist';\r\nimport { LowFlier } from './minion/low-flier';\r\nimport { LoyalHenchman } from './minion/loyal-henchman';\r\nimport { Lurker } from './minion/lurker';\r\nimport { LurkingLeviathan } from './minion/lurking-leviathan';\r\nimport { MagicfinApprentice } from './minion/magicfin-apprentice';\r\nimport { Malorne } from './minion/malorne';\r\nimport { MamaMrrglton } from './minion/mama-mrrglton';\r\nimport { Manasaber } from './minion/manasaber';\r\nimport { MaritimeExtortionist } from './minion/maritime-extortionist';\r\nimport { MarqueeTicker } from './minion/marquee-ticker';\r\nimport { MasterGadrin } from './minion/master-gadrin';\r\nimport { MawCaster } from './minion/maw-caster';\r\nimport { MawswornSoulkeeper } from './minion/mawsworn-soulkeeper';\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 { MetalDispenser } from './minion/metal-dispenser';\r\nimport { MetallicHunter } from './minion/metallic-hunter';\r\nimport { MisfitDragonling } from './minion/misfit-dragonling';\r\nimport { MoatCustodian } from './minion/moat-custodian';\r\nimport { Monstrosity } from './minion/monstrosity';\r\nimport { MonstrousMacaw } from './minion/monstrous-macaw';\r\nimport { MoonBaconJazzer } from './minion/moon-bacon-jazzer';\r\nimport { MoonsteelJuggernaut } from './minion/moonsteel-juggernaut';\r\nimport { Mothership } from './minion/mothership';\r\nimport { MotleyPhalanx } from './minion/motley-phalanx';\r\nimport { Mummifier } from './minion/mummifier';\r\nimport { Murcules } from './minion/murcules';\r\nimport { MurkbrineExpeditioner } from './minion/murkbrine-expeditioner';\r\nimport { Murky } from './minion/murky';\r\nimport { MurkySpashFisher } from './minion/murky-spash-fisher';\r\nimport { Mutalisk } from './minion/mutalisk';\r\nimport { MutatedLasher } from './minion/mutated-lasher';\r\nimport { MythraxTheUnraveler } from './minion/mythrax';\r\nimport { NalaaTheRedeemer } from './minion/nalaa-the-redeemer';\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 { NightbaneIgnited } from './minion/nightbane-ignited';\r\nimport { NightmareParTeaGuest } from './minion/nightmare-par-tea-guest';\r\nimport { NimbleHatchling } from './minion/nimble-hatchling';\r\nimport { Niuzao } from './minion/niuzao';\r\nimport { NoisulOfTheManyFaces } from './minion/noisul-of-the-many-faces';\r\nimport { ObsidianRavager } from './minion/obisidian-ravager';\r\nimport { OozelingGladiator } from './minion/oozeling-gladiator';\r\nimport { OperaticBelcher } from './minion/operatic-belcher';\r\nimport { OranomonosTheWilted } from './minion/oranomonos-the-wilted';\r\nimport { OutbackSmolderer } from './minion/outback-smolderer';\r\nimport { PaintSmudger } from './minion/paint-smudger';\r\nimport { PapaMrrglton } from './minion/papa-mrrglton';\r\nimport { ParchedWanderer } from './minion/parched-wanderer';\r\nimport { PashmarTheVengeful } from './minion/pashmar-the-vengeful';\r\nimport { PeggySturdybone } from './minion/peggy-sturdybone';\r\nimport { Photobomber } from './minion/photobomber';\r\nimport { PilotedWhirlOTron } from './minion/piloted-whirl-o-tron';\r\nimport { Plaguerunner } from './minion/plaguerunner';\r\nimport { Plankwalker } from './minion/plankwalker';\r\nimport { PolarizingBeatboxer } from './minion/polarizing-beatboxer';\r\nimport { Poultron } from './minion/poultron';\r\nimport { PrimalfinLookout } from './minion/primalfin-lookout';\r\nimport { PrimevalMonstrosity } from './minion/primeval-monstrosity';\r\nimport { PrizedPromoDrake } from './minion/prized-promo-drake';\r\nimport { Probius } from './minion/probius';\r\nimport { ProdigiousTusker } from './minion/prodigious-tusker';\r\nimport { ProfoundThinker } from './minion/profound-thinker';\r\nimport { Psychus } from './minion/psychus';\r\nimport { Pufferquil } from './minion/pufferquil';\r\nimport { RadioStar } from './minion/radio-star';\r\nimport { Rampager } from './minion/rampager';\r\nimport { RapscallionRecruiter } from './minion/rapscallion-recruiter';\r\nimport { RaptorElder } from './minion/raptor-elder';\r\nimport { RavagingScorpid } from './minion/ravaging-scorpid';\r\nimport { RazorfenFlapper } from './minion/razorfen-flapper';\r\nimport { RazorfenGeomancer } from './minion/razorfen-geomancer';\r\nimport { RazorfenVineweaver } from './minion/razorfen-vineweaver';\r\nimport { RazorgoreTheUntamed } from './minion/razorgore-the-untamed';\r\nimport { RecklessCliffdiver } from './minion/reckless-cliffdiver';\r\nimport { RedChromadrake } from './minion/red-chromadrake';\r\nimport { RedVolumizer } from './minion/red-volumizer';\r\nimport { RedtuskThornraiser } from './minion/redtusk-thornraiser';\r\nimport { RelentlessDeflector } from './minion/relentless-deflector';\r\nimport { RescueBot } from './minion/rescue-bot';\r\nimport { RicketyRepairbot } from './minion/rickety-repairbot';\r\nimport { RideOrDie } from './minion/ride-or-die';\r\nimport { RingBearer } from './minion/ring-bearer';\r\nimport { RipsnarlCaptain } from './minion/ripsnarl-captain';\r\nimport { Roach } from './minion/roach';\r\nimport { Roadboar } from './minion/roadboar';\r\nimport { RoaringRallier } from './minion/roaring-rallier';\r\nimport { RodeoPerformer } from './minion/rodeo-performer';\r\nimport { RovingSailor } from './minion/roving-sailor';\r\nimport { RuinsRenovator } from './minion/ruins-renovator';\r\nimport { RunedProgenitor } from './minion/runed-progenitor';\r\nimport { RunicArcanist } from './minion/runic-arcanist';\r\nimport { RuthlessQueensguard } from './minion/ruthless-queensguard';\r\nimport { RylakMetalhead } from './minion/rylak-metalhead';\r\nimport { SaltyHog } from './minion/salty-hog';\r\nimport { SandSwirler } from './minion/sand-swirler';\r\nimport { SanguineChampion } from './minion/sanguine-champion';\r\nimport { SanguineRefiner } from './minion/sanguine-refiner';\r\nimport { SanlaynScribe } from './minion/sanlayn-scribe';\r\nimport { Scallywag } from './minion/scallywag';\r\nimport { ScarletSkull } from './minion/scarlet-skull';\r\nimport { ScarletSurvivor } from './minion/scarlet-survivor';\r\nimport { Scourfin } from './minion/scourfin';\r\nimport { ScourgeHarvester } from './minion/scourge-harvester';\r\nimport { ScrapScraper } from './minion/scrap-scraper';\r\nimport { SeafloorRecruiter } from './minion/seafloor-recruiter';\r\nimport { SelflessHero } from './minion/selfless-hero';\r\nimport { SewerLord } from './minion/sewer-lord';\r\nimport { SewerRat } from './minion/sewer-rat';\r\nimport { Shadowdancer } from './minion/shadowdancer';\r\nimport { ShadowyConstruct } from './minion/shadowy-construct';\r\nimport { ShamanicTidecaller } from './minion/shamanic-tidecaller';\r\nimport { SharpEyedSabretooth } from './minion/sharp-eyed-sabretooth';\r\nimport { SharptoothSnapper } from './minion/sharptooth-snapper';\r\nimport { ShellCollector } from './minion/shell-collector';\r\nimport { ShipJumper } from './minion/ship-jumper';\r\nimport { ShipMasterEudora } from './minion/ship-master-eudora';\r\nimport { ShipwreckedRascal } from './minion/shipwrecked-rascal';\r\nimport { ShoreMarauder } from './minion/shore-marauder';\r\nimport { ShowyCyclist } from './minion/showy-cyclist';\r\nimport { SilentEnforcer } from './minion/silent-enforcer';\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 { SkeletalStrafer } from './minion/skeletal-strafer';\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 { SleepySupporter } from './minion/sleepy-supporter';\r\nimport { SlumberSorcerer } from './minion/slumber-sorcerer';\r\nimport { SlyRaptor } from './minion/sly-raptor';\r\nimport { Smolderwing } from './minion/smolderwing';\r\nimport { SnackVendor } from './minion/snack-vendor';\r\nimport { SnazzyPhantom } from './minion/snazzy-phantom';\r\nimport { SneedsNewShredder } from './minion/sneeds-new-shredder';\r\nimport { SoulRewinder } from './minion/soul-rewinder';\r\nimport { Soulsplitter } from './minion/soulsplitter';\r\nimport { Spacefarer } from './minion/spacefarer';\r\nimport { SpellboundSoul } from './minion/spellbound-soul';\r\nimport { SpiritDrake } from './minion/spirit-drake';\r\nimport { SpiritOfAir } from './minion/spirit-of-air';\r\nimport { SpiritedWhimsydrake } from './minion/spirited-whimsydrake';\r\nimport { SpringySpriggan } from './minion/springy-spriggan';\r\nimport { SrTombDiver } from './minion/sr-tomb-diver';\r\nimport { StalwartKodo } from './minion/stalwart-kodo';\r\nimport { StellarFreebooter } from './minion/stellar-freebooter';\r\nimport { StitchedSalvager } from './minion/stitched-salvager';\r\nimport { StompingStegodon } from './minion/stomping-stegodon';\r\nimport { StompingStegodonEnchantment } from './minion/stomping-stegodon-enchantment';\r\nimport { StoneshellGuardian } from './minion/stoneshell-guardian';\r\nimport { StormpikeLieutenant } from './minion/stormpike-lieutenant';\r\nimport { StraySatyr } from './minion/stray-satyr';\r\nimport { Stuntdrake } from './minion/stuntdrake';\r\nimport { SunderedMatriarch } from './minion/sundered-matriarch';\r\nimport { SunkenAdvocate } from './minion/sunken-advocate';\r\nimport { SuperConstructor } from './minion/super-constructor';\r\nimport { SurfNSurfCrabRiding } from './minion/surf-n-surf-crab-riding';\r\nimport { SurfingSylvar } from './minion/surfing-slyvar';\r\nimport { Swampstriker } from './minion/swampstriker';\r\nimport { Tamuzo } from './minion/tamuzo';\r\nimport { TastyLobster } from './minion/tasty-lobster';\r\nimport { TheGladIator } from './minion/the-glad-iator';\r\nimport { TheLastOneStanding } from './minion/the-last-one-standing';\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 { TideRaiser } from './minion/tide-raiser';\r\nimport { TidemistressAthissa } from './minion/tidemistress-athissa';\r\nimport { TimecapnHooktail } from './minion/timecapn-hooktail';\r\nimport { TimewarpedAlleycat } from './minion/timewarped-alleycat';\r\nimport { TimewarpedArchimonde } from './minion/timewarped-archimonde';\r\nimport { TimewarpedArm } from './minion/timewarped-arm';\r\nimport { TimewarpedBassgill } from './minion/timewarped-bassgill';\r\nimport { TimewarpedBloodbinder } from './minion/timewarped-bloodbinder';\r\nimport { TimewarpedBoar } from './minion/timewarped-boar';\r\nimport { TimewarpedBonker } from './minion/timewarped-bonker';\r\nimport { TimewarpedBotani } from './minion/timewarped-botani';\r\nimport { TimewarpedBristler } from './minion/timewarped-bristler';\r\nimport { TimewarpedCalligrapher } from './minion/timewarped-calligrapher';\r\nimport { TimewarpedCaretaker } from './minion/timewarped-caretaker';\r\nimport { TimewarpedCenturion } from './minion/timewarped-centurion';\r\nimport { TimewarpedChameleon } from './minion/timewarped-chameleon';\r\nimport { TimewarpedChimera } from './minion/timewarped-chimera';\r\nimport { TimewarpedClefthoof } from './minion/timewarped-clefthoof';\r\nimport { TimewarpedCollector } from './minion/timewarped-collector';\r\nimport { TimewarpedCopter } from './minion/timewarped-copter';\r\nimport { TimewarpedDeadstomper } from './minion/timewarped-deadstomper';\r\nimport { TimewarpedDeathswarmer } from './minion/timewarped-deathswarmer';\r\nimport { TimewarpedDragonling } from './minion/timewarped-dragonling';\r\nimport { TimewarpedDuskmaw } from './minion/timewarped-duskmaw';\r\nimport { TimewarpedElectron } from './minion/timewarped-electron';\r\nimport { TimewarpedElegist } from './minion/timewarped-elegist';\r\nimport { TimewarpedEmbalmer } from './minion/timewarped-embalmer';\r\nimport { TimewarpedExpeditioner } from './minion/timewarped-expeditioner';\r\nimport { TimewarpedFestergut } from './minion/timewarped-festergut';\r\nimport { TimewarpedGeist } from './minion/timewarped-geist';\r\nimport { TimewarpedGemsplitter } from './minion/timewarped-gemsplitter';\r\nimport { TimewarpedGeomancer } from './minion/timewarped-geomancer';\r\nimport { TimewarpedGhoulAcabra } from './minion/timewarped-ghoul-acabra';\r\nimport { TimewarpedGoldrinn } from './minion/timewarped-goldrinn';\r\nimport { TimewarpedGreaseBot } from './minion/timewarped-grease-bot';\r\nimport { TimewarpedGreenskeeper } from './minion/timewarped-greenskeeper';\r\nimport { TimewarpedGuard } from './minion/timewarped-guard';\r\nimport { TimewarpedHag } from './minion/timewarped-hag';\r\nimport { TimewarpedHawkstrider } from './minion/timewarped-hawkstrider';\r\nimport { TimewarpedHenchman } from './minion/timewarped-henchman';\r\nimport { TimewarpedHootail } from './minion/timewarped-hooktail';\r\nimport { TimewarpedHunter } from './minion/timewarped-hunter';\r\nimport { TimewarpedHyena } from './minion/timewarped-hyena';\r\nimport { TimewarpedIckyImp } from './minion/timewarped-icky-imp';\r\nimport { TimewarpedImmortal } from './minion/timewarped-immortal';\r\nimport { TimewarpedInterpreter } from './minion/timewarped-interpreter';\r\nimport { TimewarpedJazzer } from './minion/timewarped-jazzer';\r\nimport { TimewarpedJellyBelly } from './minion/timewarped-jelly-belly';\r\nimport { TimewarpedJungleKing } from './minion/timewarped-jungle-king';\r\nimport { TimewarpedKarathress } from './minion/timewarped-karathress';\r\nimport { TimewarpedKilrek } from './minion/timewarped-kilrek';\r\nimport { TimewarpedLabRat } from './minion/timewarped-lab-rat';\r\nimport { TimewarpedLilQuilboar } from './minion/timewarped-lil-quilboar';\r\nimport { TimewarpedLowFlier } from './minion/timewarped-low-flier';\r\nimport { TimewarpedMagnanimoose } from './minion/timewarped-magnanimoose';\r\nimport { TimewarpedMothership } from './minion/timewarped-mothership';\r\nimport { TimewarpedMrrrglr } from './minion/timewarped-mrrrglr';\r\nimport { TimewarpedMurcules } from './minion/timewarped-murcules';\r\nimport { TimewarpedMurkEye } from './minion/timewarped-murk-eye';\r\nimport { TimewarpedMurky } from './minion/timewarped-murky';\r\nimport { TimewarpedMythrax } from './minion/timewarped-mythraw';\r\nimport { TimewarpedNalaa } from './minion/timewarped-nalaa';\r\nimport { TimewarpedNelliesShip } from './minion/timewarped-nellies-ship';\r\nimport { TimewarpedNestSwarmer } from './minion/timewarped-nest-swarmer';\r\nimport { TimewarpedPagle } from './minion/timewarped-pagle';\r\nimport { TimewarpedPainter } from './minion/timewarped-painter';\r\nimport { TimewarpedPaleofin } from './minion/timewarped-paleofin';\r\nimport { TimewarpedPashmar } from './minion/timewarped-pashmar';\r\nimport { TimewarpedPeggy } from './minion/timewarped-peggy';\r\nimport { TimewarpedPillager } from './minion/timewarped-pillager';\r\nimport { TimewarpedPiper } from './minion/timewarped-piper';\r\nimport { TimewarpedPrimscale } from './minion/timewarped-primscale';\r\nimport { TimewarpedProbius } from './minion/timewarped-probius';\r\nimport { TimewarpedPromoDrake } from './minion/timewarped-promo-drake';\r\nimport { TimewarpedRadioStar } from './minion/timewarped-radio-star';\r\nimport { TimewarpedRagnaros } from './minion/timewarped-ragnaros';\r\nimport { TimewarpedRecycler } from './minion/timewarped-recycler';\r\nimport { TimewarpedRedWhelp } from './minion/timewarped-red-whelp';\r\nimport { TimewarpedRewinder } from './minion/timewarped-rewinder';\r\nimport { TimewarpedRiplash } from './minion/timewarped-riplash';\r\nimport { TimewarpedSapper } from './minion/timewarped-sapper';\r\nimport { TimewarpedSaurolisk } from './minion/timewarped-saurolisk';\r\nimport { TimewarpedScourfin } from './minion/timewarped-scourfin';\r\nimport { TimewarpedSeaGlass } from './minion/timewarped-sea-glass';\r\nimport { TimewarpedSellemental } from './minion/timewarped-sellemental';\r\nimport { TimewarpedSensei } from './minion/timewarped-sensei';\r\nimport { TimewarpedShadowdancer } from './minion/timewarped-shadowdancer';\r\nimport { TimewarpedSpiritOfAir } from './minion/timewarped-spirit-of-air';\r\nimport { TimewarpedSporebat } from './minion/timewarped-sporebat';\r\nimport { TimewarpedSteamer } from './minion/timewarped-steamer';\r\nimport { TimewarpedStoneDrake } from './minion/timewarped-stone-drake';\r\nimport { TimewarpedStormcloud } from './minion/timewarped-stormcloud';\r\nimport { TimewarpedSubstrate } from './minion/timewarped-substrate';\r\nimport { TimewarpedSwirler } from './minion/timewarped-swirler';\r\nimport { TimewarpedSylvar } from './minion/timewarped-sylvar';\r\nimport { TimewarpedTamuzo } from './minion/timewarped-tamuzo';\r\nimport { TimewarpedTender } from './minion/timewarped-tender';\r\nimport { TimewarpedThorncaller } from './minion/timewarped-thorncaller';\r\nimport { TimewarpedTideRazor } from './minion/timewarped-tide-razor';\r\nimport { TimewarpedTony } from './minion/timewarped-tony';\r\nimport { TimewarpedTraveler } from './minion/timewarped-traveler';\r\nimport { TimewarpedTrickster } from './minion/timewarped-trickster';\r\nimport { TimewarpedTwirler } from './minion/timewarped-twirler';\r\nimport { TimewarpedUltralisk } from './minion/timewarped-ultralisk';\r\nimport { TimewarpedVaelastrasz } from './minion/timewarped-vaelastrasz';\r\nimport { TimewarpedWargear } from './minion/timewarped-wargear';\r\nimport { TimewarpedWarghoul } from './minion/timewarped-warghoul';\r\nimport { TimewarpedWhelpSmuggler } from './minion/timewarped-whelp-smuggler';\r\nimport { TombPillager } from './minion/tomb-pillager';\r\nimport { TorrentialRuiner } from './minion/torrential-ruiner';\r\nimport { TransmutedBramblewitch } from './minion/transmuted-bramblewitch';\r\nimport { TreasureParrot } from './minion/treasure-parrot';\r\nimport { TrenchFighter } from './minion/trench-fighter';\r\nimport { TunnelBlaster } from './minion/tunnel-blaster';\r\nimport { TurquoiseSkitterer } from './minion/turquoise-skitterer';\r\nimport { TuskarrRaider } from './minion/tuskarr-raider';\r\nimport { TuskedCamper } from './minion/tusked-camper';\r\nimport { TwilightBroodmother } from './minion/twilight-broodmother';\r\nimport { TwilightHatchling } from './minion/twilight-hatchling';\r\nimport { TwilightPrimordium } from './minion/twilight-primordium';\r\nimport { TwilightTidehunter } from './minion/twilight-tidehunter';\r\nimport { TwilightWatcher } from './minion/twilight-watcher';\r\nimport { Ultralisk } from './minion/ultralisk';\r\nimport { UltravioletAscendant } from './minion/ultraviolet-ascendant';\r\nimport { UnearthedUnderling } from './minion/unearthed-underling';\r\nimport { UnforgivingTreant } from './minion/unforgiving-treant';\r\nimport { UtilityDrone } from './minion/utility-drone';\r\nimport { Vaelastrasz } from './minion/vaelastrasz';\r\nimport { ValiantTiger } from './minion/valiant-tiger';\r\nimport { VengefulProtector } from './minion/vengeful-protector';\r\nimport { VeryHungryWinterfinner } from './minion/very-hungry-winterfinner';\r\nimport { VigilantBristlemane } from './minion/vigilant-bristlemane';\r\nimport { Vinespeaker } from './minion/vinespeaker';\r\nimport { VoidEarl } from './minion/void-earl';\r\nimport { VoidPupTrainer } from './minion/void-pup-trainer';\r\nimport { VoidRay } from './minion/void-ray';\r\nimport { VorkaiGuardian } from './minion/vorkai-guardian';\r\nimport { WanderingWight } from './minion/wandering-wight';\r\nimport { Weebomination } from './minion/weebomination';\r\nimport { WhelpSmuggler } from './minion/whelp-smuggler';\r\nimport { WhelpWatcher } from './minion/whelp-watcher';\r\nimport { WhirlingLassOMatic } from './minion/whirling-lass-o-matic';\r\nimport { WhirringProtector } from './minion/whirring-protector';\r\nimport { WhirringProtectorEnchantment } from './minion/whirring-protector-enchantment';\r\nimport { WildfireElemental } from './minion/wildfire-elemental';\r\nimport { WispInTheShell } from './minion/wisp-in-the-shell';\r\nimport { WitchwingNestmatron } from './minion/witchwing-nestmatron';\r\nimport { WolfPup } from './minion/wolf-pup';\r\nimport { WoodlandDefiler } from './minion/woodland-defiler';\r\nimport { WrathscaleRogue } from './minion/wrathscale-rogue';\r\nimport { WyvernOutrider } from './minion/wyvern-outrider';\r\nimport { YorikSmite } from './minion/yorik-smite';\r\nimport { YoungMurkEye } from './minion/young-murk-eye';\r\nimport { Yrel } from './minion/yrel';\r\nimport { Zergling } from './minion/zergling';\r\nimport { Zippers } from './minion/zippers';\r\nimport { RighteousCharge } from './quest-reward/righteous-charge';\r\nimport { IceBlock } from './secret/ice-block';\r\nimport { AnglersLure } from './spellcraft/anglers-lure';\r\nimport { AzsharasHatchery } from './spellcraft/azsharas-hatchery';\r\nimport { CrabMount } from './spellcraft/crab-mount';\r\nimport { DeepBlues } from './spellcraft/deep-blues';\r\nimport { EvolvingStrategy } from './spellcraft/evolving-strategy';\r\nimport { FloatingCandleSet } from './spellcraft/floating-candle-set';\r\nimport { GlowingCrown } from './spellcraft/glowing-crown';\r\nimport { GoldGun } from './spellcraft/gold-gun';\r\nimport { HarvestedPearl } from './spellcraft/harvested-pearl';\r\nimport { JustKeepSwimming } from './spellcraft/just-keep-swimming';\r\nimport { Meditation } from './spellcraft/meditation';\r\nimport { MiniTrident } from './spellcraft/mini-trident';\r\nimport { Reinvigoration } from './spellcraft/reinvigoration';\r\nimport { RimeOrReason } from './spellcraft/rime-or-reason';\r\nimport { RushingWinds } from './spellcraft/rushing-winds';\r\nimport { SickRiffs } from './spellcraft/sick-riffs';\r\nimport { SunkenSpells } from './spellcraft/sunken-spells';\r\nimport { SurgingScales } from './spellcraft/surging-scales';\r\nimport { Thaumaturgy } from './spellcraft/thaumaturgy';\r\nimport { TimewarpedCrown } from './spellcraft/timewarped-crown';\r\nimport { TimewarpedEelectrify } from './spellcraft/timewarped-eelectrify';\r\nimport { TimewarpedShoal } from './spellcraft/timewarped-shoal';\r\nimport { TrudgeThroughLava } from './spellcraft/trudge-through-lava';\r\nimport { UnderseaMount } from './spellcraft/undersea-mount';\r\nimport { UseSupplies } from './spellcraft/use-supplies';\r\nimport { VeteransTactics } from './spellcraft/veterans-tactics';\r\nimport { VolcanicVisitor } from './spellcraft/volcanic-visitor';\r\nimport { AllPurposeKibble } from './trinket/all-purpose-kibble';\r\nimport { ArchaicScroll } from './trinket/archaic-scroll';\r\nimport { ArmOfTheEmpire } from './trinket/arm-of-the-empire';\r\nimport { ArtisanalUrn } from './trinket/artisanal-urn';\r\nimport { AssemblerPortrait } from './trinket/assembler-portrait';\r\nimport { AutomatonPortrait } from './trinket/automaton-portrait';\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 { BewitchedRibbon } from './trinket/bewitched-ribbon';\r\nimport { BirdFeeder } from './trinket/bird-feeder';\r\nimport { BloodAmulet } from './trinket/blood-amulet';\r\nimport { BloodGolemSticker } from './trinket/blood-golem-sticker';\r\nimport { BloodboundEarrings } from './trinket/bloodbound-earrings';\r\nimport { BluegillFlippers } from './trinket/bluegill-flippers';\r\nimport { BubbleCrown } from './trinket/bubble-crown';\r\nimport { CloudSerpentHorn } from './trinket/cloud-serpent-horn';\r\nimport { ComfyCoffin } from './trinket/comfy-coffin';\r\nimport { CopperCoil } from './trinket/copper-coil';\r\nimport { CoralSpear } from './trinket/coral-spear';\r\nimport { CrochetedSungill } from './trinket/crocheted-sungill';\r\nimport { DaggerspineThrasher } from './trinket/daggerspine-thrasher';\r\nimport { DeathtouchApple } from './trinket/deathtouch-apple';\r\nimport { DeathwhisperSticker } from './trinket/deathwhisper-sticker';\r\nimport { DivineSignet } from './trinket/divine-signet';\r\nimport { DragonSkull } from './trinket/dragon-skull';\r\nimport { DramalocSticker } from './trinket/dramaloc-sticker';\r\nimport { EclecticShrine } from './trinket/eclectic-shrine';\r\nimport { EternalPortraitBg36 } from './trinket/eternal-portrait';\r\nimport { FaerieDragonScale } from './trinket/faerie-dragon-scale';\r\nimport { FangAnklet } from './trinket/fang-anklet';\r\nimport { FelburnedLedger } from './trinket/felburned-ledger';\r\nimport { FlightyPortrait } from './trinket/flighty-portrait';\r\nimport { FridgeMagnet } from './trinket/fridge-magnet';\r\nimport { FuneralWreath } from './trinket/funeral-wreath';\r\nimport { GhostlyYmirjar } from './trinket/ghostly-ymirjar';\r\nimport { GilneanThornedRose } from './trinket/gilnean-thorned-rose';\r\nimport { GlowscalePortrait } from './trinket/glowscale-portrait';\r\nimport { HeartOfTheForest } from './trinket/heart-of-the-forest';\r\nimport { HeraldSticker } from './trinket/herald-sticker';\r\nimport { HogwashBasin } from './trinket/hogwash-basin';\r\nimport { JarOGems } from './trinket/jar-o-gems';\r\nimport { LightfeatherSticker } from './trinket/lightfeather-sticker';\r\nimport { LionfishPortrait } from './trinket/lionfish-portrait';\r\nimport { LorewalkerScroll } from './trinket/lorewalker-scroll';\r\nimport { LovelyLocket } from './trinket/lovely-locket';\r\nimport { LuckyTabby } from './trinket/lucky-tabby';\r\nimport { MamaBearSticker } from './trinket/mama-bear-sticker';\r\nimport { MiniatureShip } from './trinket/miniature-ship';\r\nimport { Mishmash } from './trinket/mishmash';\r\nimport { MyrmidonSticker } from './trinket/myrmidon-sticker';\r\nimport { PowderKeg } from './trinket/powder-keg';\r\nimport { PowderKegEnchantment } from './trinket/powder-keg-enchantment';\r\nimport { ProtectiveRing } from './trinket/protective-ring';\r\nimport { QuilligraphySet, QuilligraphySetToken } from './trinket/quilligraphy-set';\r\nimport { ReinforcedShield } from './trinket/reinforced-shield';\r\nimport { RylakPortrait } from './trinket/rylak-portrait';\r\nimport { SaltscaleHoncho } from './trinket/saltscale-honcho';\r\nimport { ScrapsmithPortrait } from './trinket/scrapsmith-portrait';\r\nimport { SepulchralSergeant } from './trinket/sepulchral-sergent';\r\nimport { SkyGolemPortrait } from './trinket/sky-golem-portrait';\r\nimport { SkyGolemPortraitEnchantment } from './trinket/sky-golem-portrait-enchantment';\r\nimport { SlammaSticker } from './trinket/slamma-sticker';\r\nimport { SoulFermenter } from './trinket/soul-fermenter';\r\nimport { StegodonPortrait } from './trinket/stegodon-portrait';\r\nimport { StharaSticker } from './trinket/sthara-sticker';\r\nimport { StormcoilSticker } from './trinket/stormcoil-sticker';\r\nimport { ThornspikePauldron } from './trinket/thornspike-pauldron';\r\nimport { TideRaiserPortrait } from './trinket/tide-raiser-portrait';\r\nimport { TigerCarving } from './trinket/tiger-carving';\r\nimport { TrustyCrowbar } from './trinket/trusty-crowbar';\r\nimport { UnholySanctum } from './trinket/unholy-sanctum';\r\nimport { VashjirAnemone } from './trinket/vashjir-anemone';\r\nimport { WickedTome } from './trinket/wicked-tome';\r\nimport { WildfeatherDuster } from './trinket/wildfeather-duster';\r\nimport { WintergraspGhoul } from './trinket/wintergrasp-ghoul';\r\nimport { YulonSticker } from './trinket/yulon-sticker';\r\nimport { EnergizingChamber } from './bg-spell/energizing-chamber';\r\nimport { SludgeCorrosion } from './bg-spell/sludge-corrosion';\r\nimport { CThraxWrecker } from './minion/cthrax-wrecker';\r\nimport { CThun } from './minion/cthun';\r\nimport { CutthroatKthir } from './minion/cutthroat-kthir';\r\nimport { DarkParadoxBattlecry, DarkParadoxGolem, DarkParadoxRally } from './minion/dark-paradox';\r\nimport { DarkPuppeteer } from './minion/dark-puppeteer';\r\nimport { DeVolitionIst } from './minion/de-volition-ist';\r\nimport { DriftingSacrifice } from './minion/drifting-sacrifice';\r\nimport { FacelessConverter } from './minion/faceless-converter';\r\nimport { FetidCorroder } from './minion/fetid-corroder';\r\nimport { HarbingerAphlass } from './minion/harbinger-aphlass';\r\nimport { HeroicBroodmother } from './minion/heroic-broodmother';\r\nimport { Hopebringer } from './minion/hopebringer';\r\nimport { IronGroundskeeper } from './minion/iron-groundskeeper';\r\nimport { Joyous } from './minion/joyous';\r\nimport { LichlingHoarder } from './minion/lichling-hoarder';\r\nimport { MindbenderGhursha } from './minion/mindbender-ghursha';\r\nimport { MysteriousKthir } from './minion/mysterious-kthir';\r\nimport { NightmareCorroder } from './minion/nightmare-corroder';\r\nimport { NraqiSapper } from './minion/nraqi-sapper';\r\nimport { ParasiticFleshling } from './minion/parasitic-fleshling';\r\nimport { ResourcefulRobot } from './minion/resourceful-robot';\r\nimport { ShaOfFear } from './minion/sha-of-fear';\r\nimport { TheShadowOfDoubt } from './minion/the-shadow-of-doubt';\r\nimport { UnderrotSpawn } from './minion/underrot-spawn';\r\nimport { UnwillingSlacker } from './minion/unwilling-slacker';\r\nimport { ViciousMindslasher } from './minion/vicious-mindslasher';\r\nimport { YShaarj } from './minion/yshaarj';\r\nimport { ConverterPortrait } from './trinket/converter-portrait';\r\nimport { CorruptedBaton } from './trinket/corrupted-baton';\r\nimport { HammerOfTwilight, TwilightOfLife } from './trinket/hammer-of-twilight';\r\nimport { SnarkyPortrait } from './trinket/snarky-portrait';\r\n\r\nconst cards = [\r\n\tShinyRing,\r\n\tMagicfinApprentice,\r\n\tRaptorElder,\r\n\tRighteousCharge,\r\n\tAvalancheCaller,\r\n\tBileSpitter,\r\n\tBigwigBandit,\r\n\tLostCityLooter,\r\n\tShipwreckedRascal,\r\n\tColdlightDiver,\r\n\tCanopySwinger,\r\n\tLightfeatherScreecher,\r\n\tHotSpringer,\r\n\tFlotsamFlinger,\r\n\tYoungMurkEye,\r\n\tYorikSmite,\r\n\tShipMasterEudora,\r\n\tOranomonosTheWilted,\r\n\tScourgeHarvester,\r\n\tSharpEyedSabretooth,\r\n\tCharmwing,\r\n\tStompingStegodon,\r\n\tGearedGuard,\r\n\tStompingStegodonEnchantment,\r\n\tTuskedCamper,\r\n\tNimbleHatchling,\r\n\tBlueWhelp,\r\n\tDaggerspineThrasher,\r\n\tFrostwolfFervor,\r\n\tStormpike,\r\n\tTwilightWatcher,\r\n\tVengefulProtector,\r\n\tPrimevalMonstrosity,\r\n\tProdigiousTusker,\r\n\tRoadboar,\r\n\tRazorfenVineweaver,\r\n\tHogWatcher,\r\n\tSanguineRefiner,\r\n\tBloodsnoutWarlord,\r\n\tSleepySupporter,\r\n\tGreedySnaketongue,\r\n\tGlimGuardian,\r\n\tDrakkariEmbalmer,\r\n\tFriendlyGeist,\r\n\tWrathscaleRogue,\r\n\tRideOrDie,\r\n\tAllSeeingElder,\r\n\tExceptionalCaretaker,\r\n\tYrel,\r\n\tRuinsRenovator,\r\n\tCampfireShadow,\r\n\tCarapaceRaiser,\r\n\tWhirringProtector,\r\n\tWhirringProtectorEnchantment,\r\n\tGleamingTrader,\r\n\tDevoutHellcaller,\r\n\tCupcakePeddler,\r\n\tSilentEnforcer,\r\n\tLordOfTheRuins,\r\n\tStraySatyr,\r\n\tVoidEarl,\r\n\tPoultron,\r\n\tFireworksFanatic,\r\n\tBassgillPortrait,\r\n\tApprenticeOfSefin,\r\n\tGormlingGourmet,\r\n\tFlourishingFrostling,\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\tFloatingWatcher,\r\n\tSlumberSorcerer,\r\n\tCoilskarSapper,\r\n\tMonstrousMacaw,\r\n\tHogwashBasin,\r\n\tJarOGems,\r\n\tDreamingThornweaver,\r\n\tFelhorn,\r\n\tRelentlessDeflector,\r\n\tPhotobomber,\r\n\tStellarFreebooter,\r\n\tSkulkingBristlemane,\r\n\tSharptoothSnapper,\r\n\tValiantTiger,\r\n\t// AmplifyingLightspawn,\r\n\tGlowingCinder,\r\n\tSandSwirler,\r\n\tBonker,\r\n\tIrateRooster,\r\n\tPolarizingBeatboxer,\r\n\tIcesnarlTheMighty,\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\tTimewarpedHag,\r\n\tSunderedMatriarch,\r\n\tSurfingSylvar,\r\n\tGoldGrubber,\r\n\tUnholySanctum,\r\n\tHumongozz,\r\n\tArtisanalUrn,\r\n\tDrustfallenButcher,\r\n\tDisguisedGraverobber,\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\tDiremuckForager,\r\n\tTimecapnHooktail,\r\n\tAutomatonPortrait,\r\n\tMamaBearSticker,\r\n\tFaerieDragonScale,\r\n\tSpringySpriggan,\r\n\tRicketyRepairbot,\r\n\tMechagnomeInterpreter,\r\n\tAutoAssembler,\r\n\tMaritimeExtortionist,\r\n\tAutoAssemblerEnchantment,\r\n\tDeadstomper,\r\n\tArmOfTheEmpire,\r\n\tEternalTycoon,\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\tMoonBaconJazzer,\r\n\tMoonsteelJuggernaut,\r\n\tMarqueeTicker,\r\n\tRecklessCliffdiver,\r\n\tFountainChiller,\r\n\tNeonAgent,\r\n\tLokholarFrostforger,\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\tObsidianRavager,\r\n\tRoaringRallier,\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\tStharaSticker,\r\n\tMenagerieJug,\r\n\tThunderingAbomination,\r\n\tPrizedPromoDrake,\r\n\tTransmutedBramblewitch,\r\n\tFriendlyBouncer,\r\n\tImposingPercussionist,\r\n\tSoulRewinder,\r\n\tHardyOrca,\r\n\tHuntingTigerShark,\r\n\tStalwartKodo,\r\n\tStuntdrake,\r\n\tTwilightBroodmother,\r\n\tWhelpWatcher,\r\n\tTwilightHatchling,\r\n\tBloodGolemSticker,\r\n\tMishmash,\r\n\tBlueVolumizer,\r\n\tRedVolumizer,\r\n\tGreenVolumizer,\r\n\tWhirlingLassOMatic,\r\n\tThaumaturgy,\r\n\tEvolvingStrategy,\r\n\tHarvestedPearl,\r\n\tReinvigoration,\r\n\tMeditation,\r\n\tFloatingCandleSet,\r\n\tRimeOrReason,\r\n\tRushingWinds,\r\n\tTimewarpedChimera,\r\n\tTimewarpedMagnanimoose,\r\n\tTimewarpedNestSwarmer,\r\n\tTimewarpedSwirler,\r\n\tShoreMarauder,\r\n\tTimewarpedPagle,\r\n\tTimewarpedStoneDrake,\r\n\tTimewarpedMythrax,\r\n\tTimewarpedWargear,\r\n\tTimewarpedCollector,\r\n\tRylakPortrait,\r\n\tSkyGolemPortrait,\r\n\tSkyGolemPortraitEnchantment,\r\n\tDeathtouchApple,\r\n\tSoulFermenter,\r\n\tTimewarpedIckyImp,\r\n\tUnderseaMount,\r\n\tIngeniousInventor,\r\n\tDeadSeaRavager,\r\n\tTrudgeThroughLava,\r\n\tUseSupplies,\r\n\tVolcanicVisitor,\r\n\tBurgeoningWhelp,\r\n\tTimewarpedTraveler,\r\n\tSunkenAdvocate,\r\n\tBluesySiren,\r\n\tRazorfenFlapper,\r\n\tBriarbackDrummer,\r\n\tTrenchFighter,\r\n\tSpiritDrake,\r\n\tBrinyBootlegger,\r\n\tTombTurning,\r\n\tBroodOfNozdormu,\r\n\tIceBlock,\r\n\tWaveOfGold,\r\n\tSanguineChampion,\r\n\tCaptainCookie,\r\n\tSpellSiphon,\r\n\tHandOfDeios,\r\n\tEyesOfTheEarthMother,\r\n\tJellyBelly,\r\n\tTimewarpedJellyBelly,\r\n\tTimewarpedDeathswarmer,\r\n\tTimewarpedRecycler,\r\n\tTimewarpedPillager,\r\n\tDeathsEmbrace,\r\n\tFestergut,\r\n\tTimewarpedFestergut,\r\n\tPashmarTheVengeful,\r\n\tTimewarpedPashmar,\r\n\tTimewarpedEelectrify,\r\n\tTimewarpedSapper,\r\n\tTimewarpedPiper,\r\n\tTimewarpedThorncaller,\r\n\tTimewarpedGeomancer,\r\n\tTimewarpedJazzer,\r\n\tTimewarpedAlleycat,\r\n\tTimewarpedSaurolisk,\r\n\tTimewarpedHyena,\r\n\tTimewarpedSporebat,\r\n\tTimewarpedNelliesShip,\r\n\tTimewarpedSellemental,\r\n\tTimewarpedRagnaros,\r\n\tTimewarpedBotani,\r\n\tSpiritOfAir,\r\n\tTimewarpedSpiritOfAir,\r\n\tTimewarpedArm,\r\n\tTimewarpedWhelpSmuggler,\r\n\tTimewarpedShoal,\r\n\tTimewarpedGuard,\r\n\tTimewarpedSensei,\r\n\tTimewarpedCopter,\r\n\tTimewarpedHunter,\r\n\tTimewarpedMothership,\r\n\tScourfin,\r\n\tTimewarpedScourfin,\r\n\tBassgill,\r\n\tTimewarpedBassgill,\r\n\tTimewarpedBoar,\r\n\tMurcules,\r\n\tTimewarpedMurcules,\r\n\tTimewarpedElegist,\r\n\tTimewarpedRewinder,\r\n\tTimewarpedShadowdancer,\r\n\tTimewarpedKilrek,\r\n\tTimewarpedDragonling,\r\n\tTimewarpedLowFlier,\r\n\tTimewarpedRedWhelp,\r\n\tTimewarpedVaelastrasz,\r\n\tTimewarpedGeist,\r\n\tRadioStar,\r\n\tTimewarpedRadioStar,\r\n\tTimewarpedWarghoul,\r\n\tTimewarpedCaretaker,\r\n\tTimewarpedGhoulAcabra,\r\n\tTimewarpedDeadstomper,\r\n\tTimewarpedRiplash,\r\n\tTimewarpedKarathress,\r\n\tTimewarpedBonker,\r\n\tTimewarpedBristler,\r\n\tBloodGemBarrage,\r\n\tTimewarpedTwirler,\r\n\tTimewarpedLilQuilboar,\r\n\tGemsplitter,\r\n\tTimewarpedGemsplitter,\r\n\tTimewarpedChameleon,\r\n\tTimewarpedGoldrinn,\r\n\tTimewarpedHawkstrider,\r\n\tTimewarpedHenchman,\r\n\tTimewarpedTamuzo,\r\n\tTimewarpedJungleKing,\r\n\tTimewarpedClefthoof,\r\n\tTimewarpedSeaGlass,\r\n\tTimewarpedStormcloud,\r\n\tTimewarpedSubstrate,\r\n\tTimewarpedCrown,\r\n\tTimewarpedTideRazor,\r\n\tTimewarpedTender,\r\n\tTimewarpedCloningDevice,\r\n\tTimewarpedMasterThief,\r\n\tTimewarpedOnTheHouse,\r\n\tTimewarpedRatInTheCage,\r\n\tTimewarpedBananas,\r\n\tTimewarpedRitual,\r\n\tTimewarpedEvolution,\r\n\tTimewarpedCorpse,\r\n\tTimewarpedChefsChoice,\r\n\tTimewarpedSpecial,\r\n\tTimewarpedConch,\r\n\tTimewarpedGoldenizer,\r\n\tTimewarpedThief,\r\n\tTimewarpedUltralisk,\r\n\tTimewarpedInterpreter,\r\n\tTimewarpedProbius,\r\n\tTimewarpedImmortal,\r\n\tTimewarpedGreaseBot,\r\n\tTimewarpedSteamer,\r\n\tTimewarpedSylvar,\r\n\tTimewarpedTony,\r\n\tTimewarpedPeggy,\r\n\tTimewarpedMurky,\r\n\tTimewarpedExpeditioner,\r\n\tTimewarpedMurkEye,\r\n\tTimewarpedPainter,\r\n\tChoralMrrrglr,\r\n\tTimewarpedMrrrglr,\r\n\tTimewarpedPaleofin,\r\n\tTimewarpedTrickster,\r\n\tTimewarpedArchimonde,\r\n\tTimewarpedEmbalmer,\r\n\tTimewarpedCalligrapher,\r\n\tTimewarpedGreenskeeper,\r\n\tTimewarpedPromoDrake,\r\n\tTimewarpedDuskmaw,\r\n\tTimewarpedPrimscale,\r\n\tPlankwalker,\r\n\tMenagerieTableware,\r\n\tVeteransTactics,\r\n\tChargingCzarina,\r\n\tPaintSmudger,\r\n\tForsakenWeaver,\r\n\tTimewarpedBloodbinder,\r\n\tTimewarpedLabRat,\r\n\tTimewarpedNalaa,\r\n\tTimewarpedElectron,\r\n\tTimewarpedHootail,\r\n\tTimewarpedCenturion,\r\n\tApexisGuardian,\r\n\tMetalDispenser,\r\n\tUtilityDrone,\r\n\tSurfNSurfCrabRiding,\r\n\tCrabMount,\r\n\tTheGladIator,\r\n\tSwattingInsects,\r\n\tAvatarOfNzoth,\r\n\tNalaaTheRedeemer,\r\n\tJunkJouster,\r\n\tMiniTrident,\r\n\tAnglersLure,\r\n\tGlowingCrown,\r\n\tAzsharasHatchery,\r\n\tGoldGun,\r\n\tSickRiffs,\r\n\tDeepBlues,\r\n\tJustKeepSwimming,\r\n\tSunkenSpells,\r\n\tSurgingScales,\r\n\tConveyorConstruct,\r\n\tAutoAccelerator,\r\n\tBuddingGreenthumb,\r\n\tWitchwingNestmatron,\r\n\tUnforgivingTreant,\r\n\tPsychus,\r\n\tHighkeeperRa,\r\n\tTheLastOneStanding,\r\n\tHeroicUnderdog,\r\n\tGhoulOfTheFeast,\r\n\tSoulsplitter,\r\n\tSpellboundSoul,\r\n\tSepulchralSergeant,\r\n\tWintergraspGhoul,\r\n\tGhostlyYmirjar,\r\n\tGilneanThornedRose,\r\n\tSaltscaleHoncho,\r\n\tExpertAviator,\r\n\tProfoundThinker,\r\n\tCostumeEnthusiast,\r\n\tDramaloc,\r\n\tFuturefin,\r\n\tArchaedas,\r\n\tTichondrius,\r\n\tArchimonde,\r\n\tSanlaynScribe,\r\n\tBriarbackBookie,\r\n\tShadowdancer,\r\n\tAshenCorruptor,\r\n\tStoneshellGuardian,\r\n\tMasterGadrin,\r\n\tPilotedWhirlOTron,\r\n\tSnackVendor,\r\n\tShadowyConstruct,\r\n\tTombPillager,\r\n\tGildedGargoyle,\r\n\tRampager,\r\n\tTamuzo,\r\n\tWeebomination,\r\n\tMonstrosity,\r\n\tFrostwolfLieutenant,\r\n\tSneedsNewShredder,\r\n\tStormpikeLieutenant,\r\n\tFragrantPhylactery,\r\n\tFragrantPhylacteryEnchantment,\r\n\tExpertTechnician,\r\n\tDivineSparkbot,\r\n\tSuperConstructor,\r\n\tAzsharanCutlassier,\r\n\tMurkySpashFisher,\r\n\tMurkysFish,\r\n\tAzeriteEmpowerment,\r\n\tMalorne,\r\n\tLoackAndLoad,\r\n\tZippers,\r\n\tNaturalBlessing,\r\n\tShiftingTide,\r\n\tChefsChoice,\r\n\tConflagration,\r\n\tDeepwaterClan,\r\n\tQueensCommand,\r\n\tDeterminedDefender,\r\n\tLivingAzerite,\r\n\tTidemistressAthissa,\r\n\tBlackChromadrake,\r\n\tBlueChromadrake,\r\n\tBloodGemQuilboarRebornSpell,\r\n\tBloodGemQuilboarTauntSpell,\r\n\tBloodGemQuilboarDivineShieldSpell,\r\n\tBrazenBuccaneer,\r\n\tBronzeChromadrake,\r\n\tCousinErrgl,\r\n\tEarthsongShaman,\r\n\tEnchantedSentinel,\r\n\tFelfireConjurer,\r\n\tGreenChromadrake,\r\n\tLurkingLeviathan,\r\n\tMamaMrrglton,\r\n\tPapaMrrglton,\r\n\tPufferquil,\r\n\tRedChromadrake,\r\n\tRedtuskThornraiser,\r\n\tRovingSailor,\r\n\tSkeletalStrafer,\r\n\tVeryHungryWinterfinner,\r\n\tAbyssalBruiser,\r\n\tBristlebackBully,\r\n\tBristlebach,\r\n\tBristlemaneScrapsmith,\r\n\tCataclysmicHarbinger,\r\n\tConsummateConqueror,\r\n\tDeepwaterChieftain,\r\n\tDraconicWarden,\r\n\tDustboneDevastator,\r\n\tFallingSkyGolem,\r\n\tFirelandsFugitive,\r\n\tIncubationResearcher,\r\n\tLeylineSurfacer,\r\n\tPlaguerunner,\r\n\tRingBearer,\r\n\tRuthlessQueensguard,\r\n\tScarletSurvivor,\r\n\tScarletSkull,\r\n\tSeafloorRecruiter,\r\n\tNightbaneIgnited,\r\n\tScrapScraper,\r\n\tSewerLord,\r\n\tSewerRat,\r\n\tShipJumper,\r\n\tTideRaiser,\r\n\tVinespeaker,\r\n\tVoidPupTrainer,\r\n\tWoodlandDefiler,\r\n\tWyvernOutrider,\r\n\tBabyYshaarj,\r\n\tBananaSlamma,\r\n\tButchering,\r\n\tHealthyBounty,\r\n\tHostileBounty,\r\n\tSelfishBounty,\r\n\tFriendlyBounty,\r\n\tMightOfStormwind,\r\n\tBackToBack,\r\n\tFangAnklet,\r\n\tProtectiveRing,\r\n\tPowderKeg,\r\n\tPowderKegEnchantment,\r\n\tDramalocSticker,\r\n\tSlammaSticker,\r\n\tScrapsmithPortrait,\r\n\tStegodonPortrait,\r\n\tStormcoilSticker,\r\n\tCloudSerpentHorn,\r\n\tQuilligraphySet,\r\n\tQuilligraphySetToken,\r\n\tReinforcedShield,\r\n\tWickedTome,\r\n\tThornspikePauldron,\r\n\tTigerCarving,\r\n\tBloodAmulet,\r\n\tCopperCoil,\r\n\tLorewalkerScroll,\r\n\tLuckyTabby,\r\n\tBewitchedRibbon,\r\n\tCoralSpear,\r\n\tMiniatureShip,\r\n\tComfyCoffin,\r\n\tBluegillFlippers,\r\n\tWildfeatherDuster,\r\n\tTrustyCrowbar,\r\n\tGlowscalePortrait,\r\n\tBabyNzoth,\r\n\tBloodboundEarrings,\r\n\tHeartOfTheForest,\r\n\tBubbleCrown,\r\n\tArchaicScroll,\r\n\tTideRaiserPortrait,\r\n\tFelburnedLedger,\r\n\tFridgeMagnet,\r\n\tJailerSticker306,\r\n\tJailerSticker733,\r\n\tOphidianStaff,\r\n\r\n\t// Patch 36.2\r\n\tFlitteringBat,\r\n\tTastyLobster,\r\n\tHeadhunterGryphon,\r\n\tFishbait,\r\n\tWolfPup,\r\n\tDeathstrider,\r\n\tRavagingScorpid,\r\n\tHoardingHyena,\r\n\tCageGnawer,\r\n\tImpLusionist,\r\n\tBronzeTimewalker,\r\n\tRescueBot,\r\n\tBrambleTunneler,\r\n\tGlambot,\r\n\tTwilightTidehunter,\r\n\tShamanicTidecaller,\r\n\tTorrentialRuiner,\r\n\tFleeingFugitive,\r\n\tVigilantBristlemane,\r\n\tGatekeeperAmalgam,\r\n\tCrimsonVindicator,\r\n\tRunicArcanist,\r\n\tMoatCustodian,\r\n\tBoomInABox,\r\n\tBilgewaterBreakout,\r\n\tLockedUpMutineer,\r\n\tBarrierBanshee,\r\n\tSnazzyPhantom,\r\n\tJailbirdJuggernaut,\r\n\tEredarEscapist,\r\n\tTreasureParrot,\r\n\tMightyDragonbreath,\r\n\tRepairJob,\r\n\tWeaponsForge,\r\n\tWinnersBread,\r\n\tMisplacedTeaSet,\r\n\tLionfishPortrait,\r\n\tDragonSkull,\r\n\tDeathwhisperSticker,\r\n\tLovelyLocket,\r\n\tLightfeatherSticker,\r\n\tEternalPortraitBg36,\r\n\tFuneralWreath,\r\n\tFlightyPortrait,\r\n\tMyrmidonSticker,\r\n\tAssemblerPortrait,\r\n\tOffensiveSacrifice,\r\n\tDefensiveSacrifice,\r\n\tResistance,\r\n\tAdmiration,\r\n\tJawsOfDeath,\r\n\tInvulnerability,\r\n\tDoppelganger,\r\n\tGolemancy,\r\n\tHostility,\r\n\tTranscendence,\r\n\tTorethsBlessing,\r\n\tCharisma,\r\n\tConsanguinity,\r\n\tDemonology,\r\n\tFreshPerspective,\r\n\tMysticEssence,\r\n\tMotleyPhalanx,\r\n\tArfus,\r\n\tBrannsEpicEgg,\r\n\tElderTaggawag,\r\n\tElementiumSquirrelBomb,\r\n\tKilrek,\r\n\tLadySinestra,\r\n\tLoyalHenchman,\r\n\tMawswornSoulkeeper,\r\n\tProbius,\r\n\tSrTombDiver,\r\n\tTuskarrRaider,\r\n\tUnearthedUnderling,\r\n\tVaelastrasz,\r\n\tDieInsects,\r\n\tFireTheCannons,\r\n\tMurlocKing,\r\n\tMurlocKingEnchantment,\r\n\tNefariousFire,\r\n\tRunicEmpowerment,\r\n\t// Patch 36.6.1\r\n\tCThun,\r\n\tYShaarj,\r\n\tJoyous,\r\n\tDriftingSacrifice,\r\n\tViciousMindslasher,\r\n\tFacelessConverter,\r\n\tTheShadowOfDoubt,\r\n\tShaOfFear,\r\n\tCThraxWrecker,\r\n\tUnwillingSlacker,\r\n\tUnderrotSpawn,\r\n\tNightmareCorroder,\r\n\tFetidCorroder,\r\n\tNraqiSapper,\r\n\tDarkParadoxRally,\r\n\tDarkParadoxBattlecry,\r\n\tDarkParadoxGolem,\r\n\tDeVolitionIst,\r\n\tHopebringer,\r\n\tHeroicBroodmother,\r\n\tLichlingHoarder,\r\n\tDarkPuppeteer,\r\n\tParasiticFleshling,\r\n\tMysteriousKthir,\r\n\tResourcefulRobot,\r\n\tMindbenderGhursha,\r\n\tCutthroatKthir,\r\n\tHarbingerAphlass,\r\n\tSludgeCorrosion,\r\n\tEnergizingChamber,\r\n\tCorruptedBaton,\r\n\tConverterPortrait,\r\n\tHammerOfTwilight,\r\n\tTwilightOfLife,\r\n\tSnarkyPortrait,\r\n\tIronGroundskeeper,\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"]}
|
|
@@ -38,11 +38,9 @@ exports.DeathsEmbrace = {
|
|
|
38
38
|
const base = (_a = enchantment.tagScriptDataNum2) !== null && _a !== void 0 ? _a : input.hero.globalInfo.DeathrattlesTriggeredThisGame;
|
|
39
39
|
if (input.applyAttackAuras) {
|
|
40
40
|
minion.attack -= mult * atkBuff * base;
|
|
41
|
-
minion.maxAttack -= mult * atkBuff * base;
|
|
42
41
|
}
|
|
43
42
|
if (input.applyHealthAuras) {
|
|
44
43
|
minion.health -= mult * healthBuff * base;
|
|
45
|
-
minion.maxHealth -= mult * healthBuff * base;
|
|
46
44
|
}
|
|
47
45
|
},
|
|
48
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deaths-embrace.js","sourceRoot":"","sources":["../../../../src/cards/impl/enchantments/deaths-embrace.ts"],"names":[],"mappings":";;;AAcA,MAAM,OAAO,GAAG,CAAC,CAAC;AAClB,MAAM,UAAU,GAAG,CAAC,CAAC;AAKR,QAAA,aAAa,GAEI;IAC7B,OAAO,EAAE;;;KAGR;IACD,iCAAiC,EAAE,CAClC,eAA4B,EAC5B,WAA6B,EAC7B,KAAgC,EAChB,EAAE;QAClB,MAAM,IAAI,GACT,KAAK,CAAC,UAAU,CAAC,MAAM,iCAA8E;YACpG,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,CAAC,CAAC;QACN,eAAe,CAAC,MAAM,IAAI,IAAI,GAAG,OAAO,CAAC;QACzC,eAAe,CAAC,SAAS,IAAI,IAAI,GAAG,OAAO,CAAC;QAC5C,eAAe,CAAC,MAAM,IAAI,IAAI,GAAG,UAAU,CAAC;QAC5C,eAAe,CAAC,SAAS,IAAI,IAAI,GAAG,UAAU,CAAC;QAC/C,WAAW,CAAC,iBAAiB,IAAI,CAAC,CAAC;QACnC,OAAO,EAAE,CAAC;IACX,CAAC;IAGD,oBAAoB,EAAE,CAAC,MAAmB,EAAE,WAA6B,EAAE,KAAmB,EAAE,EAAE;QACjG,MAAM,IAAI,GACT,WAAW,CAAC,MAAM,iCAA8E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1G,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC;QACjE,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,IAAI,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC;YACvC,MAAM,CAAC,SAAS,IAAI,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC;SAC1C;QACD,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,IAAI,IAAI,GAAG,UAAU,GAAG,IAAI,CAAC;YAC1C,MAAM,CAAC,SAAS,IAAI,IAAI,GAAG,UAAU,GAAG,IAAI,CAAC;SAC7C;QACD,WAAW,CAAC,iBAAiB,GAAG,IAAI,CAAC;IACtC,CAAC;IACD,sBAAsB,EAAE,CAAC,MAAmB,EAAE,WAA6B,EAAE,KAAqB,EAAE,EAAE;;QACrG,MAAM,IAAI,GACT,WAAW,CAAC,MAAM,iCAA8E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1G,MAAM,IAAI,GAAG,MAAA,WAAW,CAAC,iBAAiB,mCAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC;QAClG,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,IAAI,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"deaths-embrace.js","sourceRoot":"","sources":["../../../../src/cards/impl/enchantments/deaths-embrace.ts"],"names":[],"mappings":";;;AAcA,MAAM,OAAO,GAAG,CAAC,CAAC;AAClB,MAAM,UAAU,GAAG,CAAC,CAAC;AAKR,QAAA,aAAa,GAEI;IAC7B,OAAO,EAAE;;;KAGR;IACD,iCAAiC,EAAE,CAClC,eAA4B,EAC5B,WAA6B,EAC7B,KAAgC,EAChB,EAAE;QAClB,MAAM,IAAI,GACT,KAAK,CAAC,UAAU,CAAC,MAAM,iCAA8E;YACpG,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,CAAC,CAAC;QACN,eAAe,CAAC,MAAM,IAAI,IAAI,GAAG,OAAO,CAAC;QACzC,eAAe,CAAC,SAAS,IAAI,IAAI,GAAG,OAAO,CAAC;QAC5C,eAAe,CAAC,MAAM,IAAI,IAAI,GAAG,UAAU,CAAC;QAC5C,eAAe,CAAC,SAAS,IAAI,IAAI,GAAG,UAAU,CAAC;QAC/C,WAAW,CAAC,iBAAiB,IAAI,CAAC,CAAC;QACnC,OAAO,EAAE,CAAC;IACX,CAAC;IAGD,oBAAoB,EAAE,CAAC,MAAmB,EAAE,WAA6B,EAAE,KAAmB,EAAE,EAAE;QACjG,MAAM,IAAI,GACT,WAAW,CAAC,MAAM,iCAA8E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1G,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC;QACjE,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,IAAI,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC;YACvC,MAAM,CAAC,SAAS,IAAI,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC;SAC1C;QACD,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,IAAI,IAAI,GAAG,UAAU,GAAG,IAAI,CAAC;YAC1C,MAAM,CAAC,SAAS,IAAI,IAAI,GAAG,UAAU,GAAG,IAAI,CAAC;SAC7C;QACD,WAAW,CAAC,iBAAiB,GAAG,IAAI,CAAC;IACtC,CAAC;IACD,sBAAsB,EAAE,CAAC,MAAmB,EAAE,WAA6B,EAAE,KAAqB,EAAE,EAAE;;QACrG,MAAM,IAAI,GACT,WAAW,CAAC,MAAM,iCAA8E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1G,MAAM,IAAI,GAAG,MAAA,WAAW,CAAC,iBAAiB,mCAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC;QAClG,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,IAAI,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC;SAEvC;QACD,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,IAAI,IAAI,GAAG,UAAU,GAAG,IAAI,CAAC;SAE1C;IACF,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Defensive Sacrifice (Dark Gift)\r\n * Deathrattle: Give this minion's max Health to another friendly minion.\r\n */\r\nimport { BoardEnchantment, BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnDespawnInput, OnSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { DeathrattleTriggeredInput } from '../../../simulation/deathrattle-on-trigger';\r\nimport {\r\n\tDeathrattleTriggeredEnchantmentCard,\r\n\tOnDespawnedEnchantmentCard,\r\n\tOnSpawnedEnchantmentCard,\r\n} from '../../card.interface';\r\n\r\nconst atkBuff = 1;\r\nconst healthBuff = 1;\r\n\r\n// We use the tagScriptDataNum2 to try and better handle the case where the minion is in hand - it starts\r\n// the combat with a certain value (stored in the tag), but it doesn't get increased as more deathrattles are triggered.\r\n// So when we summon it, we need to remove the stats from the tag (already processed) to not over-remove\r\nexport const DeathsEmbrace: DeathrattleTriggeredEnchantmentCard &\r\n\tOnSpawnedEnchantmentCard &\r\n\tOnDespawnedEnchantmentCard = {\r\n\tcardIds: [\r\n\t\tCardIds.DeathsEmbrace_DeathsEmbraceEnchantment_BG36_MidGameEffect_000t29te,\r\n\t\tCardIds.DeathsEmbrace_DeathsEmbraceEnchantment_BG36_MidGameEffect_000t29e,\r\n\t],\r\n\tonDeathrattleTriggeredEnchantment: (\r\n\t\tenchantedMinion: BoardEntity,\r\n\t\tenchantment: BoardEnchantment,\r\n\t\tinput: DeathrattleTriggeredInput,\r\n\t): BoardEntity[] => {\r\n\t\tconst mult =\r\n\t\t\tinput.deadEntity.cardId === CardIds.DeathsEmbrace_DeathsEmbraceEnchantment_BG36_MidGameEffect_000t29e\r\n\t\t\t\t? 2\r\n\t\t\t\t: 1;\r\n\t\tenchantedMinion.attack += mult * atkBuff;\r\n\t\tenchantedMinion.maxAttack += mult * atkBuff;\r\n\t\tenchantedMinion.health += mult * healthBuff;\r\n\t\tenchantedMinion.maxHealth += mult * healthBuff;\r\n\t\tenchantment.tagScriptDataNum2 += 1;\r\n\t\treturn [];\r\n\t},\r\n\t// I still have some doubts about whether, when spawned from hand, it really loses the existing enchantment, or if\r\n\t// it simply gains it again\r\n\tonSpawnedEnchantment: (minion: BoardEntity, enchantment: BoardEnchantment, input: OnSpawnInput) => {\r\n\t\tconst mult =\r\n\t\t\tenchantment.cardId === CardIds.DeathsEmbrace_DeathsEmbraceEnchantment_BG36_MidGameEffect_000t29e ? 2 : 1;\r\n\t\tconst base = input.hero.globalInfo.DeathrattlesTriggeredThisGame;\r\n\t\tif (input.applyAttackAuras) {\r\n\t\t\tminion.attack += mult * atkBuff * base;\r\n\t\t\tminion.maxAttack += mult * atkBuff * base;\r\n\t\t}\r\n\t\tif (input.applyHealthAuras) {\r\n\t\t\tminion.health += mult * healthBuff * base;\r\n\t\t\tminion.maxHealth += mult * healthBuff * base;\r\n\t\t}\r\n\t\tenchantment.tagScriptDataNum2 = base;\r\n\t},\r\n\tonDespawnedEnchantment: (minion: BoardEntity, enchantment: BoardEnchantment, input: OnDespawnInput) => {\r\n\t\tconst mult =\r\n\t\t\tenchantment.cardId === CardIds.DeathsEmbrace_DeathsEmbraceEnchantment_BG36_MidGameEffect_000t29e ? 2 : 1;\r\n\t\tconst base = enchantment.tagScriptDataNum2 ?? input.hero.globalInfo.DeathrattlesTriggeredThisGame;\r\n\t\tif (input.applyAttackAuras) {\r\n\t\t\tminion.attack -= mult * atkBuff * base;\r\n\t\t\t// minion.maxAttack -= mult * atkBuff * base;\r\n\t\t}\r\n\t\tif (input.applyHealthAuras) {\r\n\t\t\tminion.health -= mult * healthBuff * base;\r\n\t\t\t// minion.maxHealth -= mult * healthBuff * base;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Doppelganger = void 0;
|
|
4
|
+
const add_minion_to_board_1 = require("../../../simulation/add-minion-to-board");
|
|
5
|
+
const deathrattle_spawns_1 = require("../../../simulation/deathrattle-spawns");
|
|
6
|
+
const spawns_1 = require("../../../simulation/spawns");
|
|
7
|
+
const utils_1 = require("../../../utils");
|
|
8
|
+
exports.Doppelganger = {
|
|
9
|
+
cardIds: ["BG36_MidGameEffect_000t90e"],
|
|
10
|
+
startOfCombat: (minion, input) => {
|
|
11
|
+
if (!input.playerBoard.length || input.playerBoard.length >= 7) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
const copy = (0, utils_1.copyEntity)(minion);
|
|
15
|
+
(0, add_minion_to_board_1.removeAurasFromSelf)(copy, input.playerBoard, input.playerEntity, input.gameState);
|
|
16
|
+
const newMinions = (0, deathrattle_spawns_1.spawnEntities)(copy.cardId, 1, input.playerBoard, input.playerEntity, input.opponentBoard, input.opponentEntity, input.gameState, minion.friendly, true, false, false, copy);
|
|
17
|
+
const indexFromRight = input.playerBoard.length - (input.playerBoard.indexOf(minion) + 1);
|
|
18
|
+
const actualSpawns = (0, spawns_1.performEntitySpawns)(newMinions, input.playerBoard, input.playerEntity, minion, indexFromRight, input.opponentBoard, input.opponentEntity, input.gameState);
|
|
19
|
+
if (!actualSpawns.length) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
input.gameState.spectator.registerPowerTarget(minion, copy, input.playerBoard, input.playerEntity, input.opponentEntity);
|
|
23
|
+
return true;
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=doppelganger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doppelganger.js","sourceRoot":"","sources":["../../../../src/cards/impl/enchantments/doppelganger.ts"],"names":[],"mappings":";;;AAMA,iFAA8E;AAC9E,+EAAuE;AACvE,uDAAiE;AAEjE,0CAA4C;AAG/B,QAAA,YAAY,GAAsB;IAC9C,OAAO,EAAE,8BAAyE;IAClF,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE;YAC/D,OAAO,KAAK,CAAC;SACb;QACD,MAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,MAAM,CAAC,CAAC;QAChC,IAAA,yCAAmB,EAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAClF,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,MAAM,CAAC,QAAQ,EACf,IAAI,EACJ,KAAK,EACL,KAAK,EACL,IAAI,CACJ,CAAC;QACF,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1F,MAAM,YAAY,GAAG,IAAA,4BAAmB,EACvC,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;QACF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YACzB,OAAO,KAAK,CAAC;SACb;QACD,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAC5C,MAAM,EACN,IAAI,EACJ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,CACpB,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Doppelganger (Dark Gift)\r\n * Start of Combat: Summon a copy of this.\r\n */\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { removeAurasFromSelf } from '../../../simulation/add-minion-to-board';\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 { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const Doppelganger: StartOfCombatCard = {\r\n\tcardIds: [CardIds.Doppelganger_DoppelgangerEnchantment_BG36_MidGameEffect_000t90e],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tif (!input.playerBoard.length || input.playerBoard.length >= 7) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tconst copy = copyEntity(minion);\r\n\t\tremoveAurasFromSelf(copy, input.playerBoard, input.playerEntity, input.gameState);\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\tminion.friendly,\r\n\t\t\ttrue,\r\n\t\t\tfalse,\r\n\t\t\tfalse,\r\n\t\t\tcopy,\r\n\t\t);\r\n\t\tconst indexFromRight = input.playerBoard.length - (input.playerBoard.indexOf(minion) + 1);\r\n\t\tconst actualSpawns = 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\tindexFromRight,\r\n\t\t\tinput.opponentBoard,\r\n\t\t\tinput.opponentEntity,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\tif (!actualSpawns.length) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tinput.gameState.spectator.registerPowerTarget(\r\n\t\t\tminion,\r\n\t\t\tcopy,\r\n\t\t\tinput.playerBoard,\r\n\t\t\tinput.playerEntity,\r\n\t\t\tinput.opponentEntity,\r\n\t\t);\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
|
|
@@ -30,12 +30,10 @@ exports.AbyssalBruiser = {
|
|
|
30
30
|
const n = (_a = input.hero.globalInfo.TavernSpellsCastThisGame) !== null && _a !== void 0 ? _a : 0;
|
|
31
31
|
if (input.applyAttackAuras) {
|
|
32
32
|
minion.attack = Math.max(0, minion.attack - n * mult * attackBonus);
|
|
33
|
-
minion.maxAttack = Math.max(minion.maxAttack, minion.attack);
|
|
34
33
|
}
|
|
35
34
|
if (input.applyHealthAuras) {
|
|
36
35
|
const minHealth = Math.min(minion.health, 1);
|
|
37
36
|
minion.health = Math.max(minHealth, minion.health - n * mult * healthBonus);
|
|
38
|
-
minion.maxHealth = Math.max(minion.maxHealth, minion.health);
|
|
39
37
|
}
|
|
40
38
|
},
|
|
41
39
|
onTavernSpellCast: (entity, input) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abyssal-bruiser.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/abyssal-bruiser.ts"],"names":[],"mappings":";;;AACA,mEAAqE;AAGrE,qDAAwD;AAGxD,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,WAAW,GAAG,CAAC,CAAC;AAET,QAAA,cAAc,GAA4D;IACtF,OAAO,EAAE,0BAAoE;IAC7E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAmB,EAAE,EAAE;;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,mCAAI,CAAC,CAAC;QAC9D,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,WAAW,CAAC;YACxC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;SACjC;QACD,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,WAAW,CAAC;YACxC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;SAC7D;QACD,MAAM,SAAS,GACd,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI;YACrD,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM;YAC3C,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;QAC5C,IAAA,kCAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACvF,CAAC;IACD,WAAW,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,mCAAI,CAAC,CAAC;QAC9D,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"abyssal-bruiser.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/abyssal-bruiser.ts"],"names":[],"mappings":";;;AACA,mEAAqE;AAGrE,qDAAwD;AAGxD,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,WAAW,GAAG,CAAC,CAAC;AAET,QAAA,cAAc,GAA4D;IACtF,OAAO,EAAE,0BAAoE;IAC7E,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAmB,EAAE,EAAE;;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,mCAAI,CAAC,CAAC;QAC9D,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,WAAW,CAAC;YACxC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;SACjC;QACD,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,WAAW,CAAC;YACxC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;SAC7D;QACD,MAAM,SAAS,GACd,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI;YACrD,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM;YAC3C,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;QAC5C,IAAA,kCAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACvF,CAAC;IACD,WAAW,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,mCAAI,CAAC,CAAC;QAC9D,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,WAAW,CAAC,CAAC;SAEpE;QACD,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,WAAW,CAAC,CAAC;SAE5E;IACF,CAAC;IACD,iBAAiB,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;QACjE,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,EAAE;YAChC,OAAO;SACP;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,WAAW,EAAE,IAAI,GAAG,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/G,CAAC;CACD,CAAC","sourcesContent":["import { BoardEntity } from '../../../board-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnDespawnInput, OnSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { CastSpellInput, OnDespawnedCard, OnSpawnedCard, OnTavernSpellCastCard } from '../../card.interface';\r\n\r\nconst attackBonus = 2;\r\nconst healthBonus = 1;\r\n\r\nexport const AbyssalBruiser: OnDespawnedCard & OnSpawnedCard & OnTavernSpellCastCard = {\r\n\tcardIds: [CardIds.AbyssalBruiser_BG35_921, CardIds.AbyssalBruiser_BG35_921_G],\r\n\tonSpawned: (minion: BoardEntity, input: OnSpawnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.AbyssalBruiser_BG35_921_G ? 2 : 1;\r\n\t\tconst n = input.hero.globalInfo.TavernSpellsCastThisGame ?? 0;\r\n\t\tif (input.applyAttackAuras) {\r\n\t\t\tminion.attack += n * mult * attackBonus;\r\n\t\t\tminion.maxAttack = minion.attack;\r\n\t\t}\r\n\t\tif (input.applyHealthAuras) {\r\n\t\t\tminion.health += n * mult * healthBonus;\r\n\t\t\tminion.maxHealth = Math.max(minion.maxHealth, minion.health);\r\n\t\t}\r\n\t\tconst otherHero =\r\n\t\t\tinput.gameState.gameState.player.player === input.hero\r\n\t\t\t\t? input.gameState.gameState.opponent.player\r\n\t\t\t\t: input.gameState.gameState.player.player;\r\n\t\tupdateDivineShield(minion, input.board, input.hero, otherHero, true, input.gameState);\r\n\t},\r\n\tonDespawned: (minion: BoardEntity, input: OnDespawnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.AbyssalBruiser_BG35_921_G ? 2 : 1;\r\n\t\tconst n = input.hero.globalInfo.TavernSpellsCastThisGame ?? 0;\r\n\t\tif (input.applyAttackAuras) {\r\n\t\t\tminion.attack = Math.max(0, minion.attack - n * mult * attackBonus);\r\n\t\t\t// minion.maxAttack = Math.max(minion.maxAttack, minion.attack);\r\n\t\t}\r\n\t\tif (input.applyHealthAuras) {\r\n\t\t\tconst minHealth = Math.min(minion.health, 1);\r\n\t\t\tminion.health = Math.max(minHealth, minion.health - n * mult * healthBonus);\r\n\t\t\t// minion.maxHealth = Math.max(minion.maxHealth, minion.health);\r\n\t\t}\r\n\t},\r\n\tonTavernSpellCast: (entity: BoardEntity, input: CastSpellInput) => {\r\n\t\tif (input.source !== input.hero) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst mult = entity.cardId === CardIds.AbyssalBruiser_BG35_921_G ? 2 : 1;\r\n\t\tmodifyStats(entity, entity, mult * attackBonus, mult * healthBonus, input.board, input.hero, input.gameState);\r\n\t},\r\n};\r\n"]}
|
|
@@ -7,9 +7,6 @@ exports.DeVolitionIst = {
|
|
|
7
7
|
cardIds: ["BG36_102", "BG36_102_G"],
|
|
8
8
|
afterThisAttacks: (minion, input) => {
|
|
9
9
|
var _a;
|
|
10
|
-
if (minion.health <= 0 || minion.definitelyDead) {
|
|
11
|
-
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
12
|
-
}
|
|
13
10
|
const target = (0, utils_1.pickRandomHighestHealth)(input.defendingBoard);
|
|
14
11
|
if (!target) {
|
|
15
12
|
return { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"de-volition-ist.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/de-volition-ist.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"de-volition-ist.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/de-volition-ist.ts"],"names":[],"mappings":";;;AASA,mDAAkE;AAClE,uDAAgE;AAInD,QAAA,aAAa,GAAyB;IAClD,OAAO,EAAE,0BAAkE;IAC3E,gBAAgB,EAAE,CAAC,MAAmB,EAAE,KAAoB,EAAE,EAAE;;QAM/D,MAAM,MAAM,GAAG,IAAA,+BAAuB,EAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,EAAE;YACZ,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;SACtD;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,CAAC,MAAA,MAAM,CAAC,MAAM,mCAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAA,2BAAkB,EAC7B,MAAM,EACN,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,MAAM,EACN,MAAM,EACN,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,SAAS,CACf,CAAC;QACF,OAAO,EAAE,iBAAiB,EAAE,GAAG,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IACzD,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * De-volition-ist (Tier 5, 4/8)\r\n * After this attacks, deal damage equal to this minion's Attack to the highest-Health enemy minion.\r\n *\r\n * Golden De-volition-ist (Tier 5, 8/16)\r\n * After this attacks, deal damage equal to double this minion's Attack to the highest-Health enemy minion.\r\n */\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { pickRandomHighestHealth } from '../../../services/utils';\r\nimport { dealDamageToMinion } from '../../../simulation/attack';\r\nimport { OnAttackInput } from '../../../simulation/on-attack';\r\nimport { AfterThisAttacksCard } from '../../card.interface';\r\n\r\nexport const DeVolitionIst: AfterThisAttacksCard = {\r\n\tcardIds: [CardIds.DeVolitionIst_BG36_102, CardIds.DeVolitionIst_BG36_102_G],\r\n\tafterThisAttacks: (minion: BoardEntity, input: OnAttackInput) => {\r\n\t\t// 2026-09-22: If the minion trades, it still procs\r\n\t\t// https://replays.firestoneapp.com/?reviewId=1bb75403-08cf-473f-a3c5-e8198f67ba2b&turn=23&action=5\r\n\t\t// if (minion.health <= 0 || minion.definitelyDead) {\r\n\t\t// \treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t// }\r\n\t\tconst target = pickRandomHighestHealth(input.defendingBoard);\r\n\t\tif (!target) {\r\n\t\t\treturn { dmgDoneByAttacker: 0, dmgDoneByDefender: 0 };\r\n\t\t}\r\n\t\tconst mult = minion.cardId === CardIds.DeVolitionIst_BG36_102_G ? 2 : 1;\r\n\t\tconst damage = (minion.attack ?? 0) * mult;\r\n\t\tconst dmg = dealDamageToMinion(\r\n\t\t\ttarget,\r\n\t\t\tinput.defendingBoard,\r\n\t\t\tinput.defendingHero,\r\n\t\t\tminion,\r\n\t\t\tdamage,\r\n\t\t\tinput.attackingBoard,\r\n\t\t\tinput.attackingHero,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t\treturn { dmgDoneByAttacker: dmg, dmgDoneByDefender: 0 };\r\n\t},\r\n};\r\n"]}
|
|
@@ -25,12 +25,10 @@ exports.MaritimeExtortionist = {
|
|
|
25
25
|
const buff = n * mult * statPerGolden;
|
|
26
26
|
if (input.applyAttackAuras) {
|
|
27
27
|
minion.attack = Math.max(0, minion.attack - buff);
|
|
28
|
-
minion.maxAttack = Math.max(minion.maxAttack, minion.attack);
|
|
29
28
|
}
|
|
30
29
|
if (input.applyHealthAuras) {
|
|
31
30
|
const minHealth = Math.min(minion.health, 1);
|
|
32
31
|
minion.health = Math.max(minHealth, minion.health - buff);
|
|
33
|
-
minion.maxHealth = Math.max(minion.maxHealth, minion.health);
|
|
34
32
|
}
|
|
35
33
|
},
|
|
36
34
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maritime-extortionist.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/maritime-extortionist.ts"],"names":[],"mappings":";;;AAYA,MAAM,aAAa,GAAG,CAAC,CAAC;AAEX,QAAA,oBAAoB,GAAoC;IACpE,OAAO,EAAE,0BAAgF;IACzF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAmB,EAAE,EAAE;;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA4C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,CAAC,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,2BAA2B,mCAAI,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,aAAa,CAAC;QACtC,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC;YACtB,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;SACjC;QACD,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC;YACtB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;SAC7D;IACF,CAAC;IACD,WAAW,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA4C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,CAAC,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,2BAA2B,mCAAI,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,aAAa,CAAC;QACtC,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"maritime-extortionist.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/maritime-extortionist.ts"],"names":[],"mappings":";;;AAYA,MAAM,aAAa,GAAG,CAAC,CAAC;AAEX,QAAA,oBAAoB,GAAoC;IACpE,OAAO,EAAE,0BAAgF;IACzF,SAAS,EAAE,CAAC,MAAmB,EAAE,KAAmB,EAAE,EAAE;;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA4C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,CAAC,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,2BAA2B,mCAAI,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,aAAa,CAAC;QACtC,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC;YACtB,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;SACjC;QACD,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC;YACtB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;SAC7D;IACF,CAAC;IACD,WAAW,EAAE,CAAC,MAAmB,EAAE,KAAqB,EAAE,EAAE;;QAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA4C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,CAAC,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,2BAA2B,mCAAI,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,aAAa,CAAC;QACtC,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;SAElD;QACD,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;SAE1D;IACF,CAAC;CACD,CAAC","sourcesContent":["/**\r\n * Maritime Extortionist (7/7)\r\n * Has +7/+7 for each Golden minion you've played this game (wherever this is).\r\n *\r\n * Golden Maritime Extortionist (14/14)\r\n * Has +14/+14 for each Golden minion you've played this game (wherever this is).\r\n */\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnDespawnInput, OnSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { OnDespawnedCard, OnSpawnedCard } from '../../card.interface';\r\n\r\nconst statPerGolden = 7;\r\n\r\nexport const MaritimeExtortionist: OnDespawnedCard & OnSpawnedCard = {\r\n\tcardIds: [CardIds.MaritimeExtortionist_BG36_524, CardIds.MaritimeExtortionist_BG36_524_G],\r\n\tonSpawned: (minion: BoardEntity, input: OnSpawnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.MaritimeExtortionist_BG36_524_G ? 2 : 1;\r\n\t\tconst n = input.hero.globalInfo.GoldenMinionsPlayedThisGame ?? 0;\r\n\t\tconst buff = n * mult * statPerGolden;\r\n\t\tif (input.applyAttackAuras) {\r\n\t\t\tminion.attack += buff;\r\n\t\t\tminion.maxAttack = minion.attack;\r\n\t\t}\r\n\t\tif (input.applyHealthAuras) {\r\n\t\t\tminion.health += buff;\r\n\t\t\tminion.maxHealth = Math.max(minion.maxHealth, minion.health);\r\n\t\t}\r\n\t},\r\n\tonDespawned: (minion: BoardEntity, input: OnDespawnInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.MaritimeExtortionist_BG36_524_G ? 2 : 1;\r\n\t\tconst n = input.hero.globalInfo.GoldenMinionsPlayedThisGame ?? 0;\r\n\t\tconst buff = n * mult * statPerGolden;\r\n\t\tif (input.applyAttackAuras) {\r\n\t\t\tminion.attack = Math.max(0, minion.attack - buff);\r\n\t\t\t// minion.maxAttack = Math.max(minion.maxAttack, minion.attack);\r\n\t\t}\r\n\t\tif (input.applyHealthAuras) {\r\n\t\t\tconst minHealth = Math.min(minion.health, 1);\r\n\t\t\tminion.health = Math.max(minHealth, minion.health - buff);\r\n\t\t\t// minion.maxHealth = Math.max(minion.maxHealth, minion.health);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { OnDespawnedEnchantmentCard, OnDiscardCard, OnOtherSpawnedCard, OnSpawnedEnchantmentCard } from '../../card.interface';
|
|
2
|
+
export declare const TwilightOfLife: OnSpawnedEnchantmentCard & OnDespawnedEnchantmentCard;
|
|
3
|
+
export declare const HammerOfTwilight: OnOtherSpawnedCard & OnDiscardCard;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HammerOfTwilight = exports.TwilightOfLife = void 0;
|
|
4
|
+
const stats_1 = require("../../../simulation/stats");
|
|
5
|
+
const ENCHANTMENT_ID = "BG36_MagicItem_403e";
|
|
6
|
+
const isGreater = (cardId) => cardId === "BG36_MagicItem_403t";
|
|
7
|
+
const printedAura = (cardId) => {
|
|
8
|
+
return isGreater(cardId) ? { attack: 2, health: 1 } : { attack: 1, health: 0 };
|
|
9
|
+
};
|
|
10
|
+
const currentAura = (trinket) => {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
const printed = printedAura(trinket.cardId);
|
|
13
|
+
return {
|
|
14
|
+
attack: (_a = trinket.scriptDataNum1) !== null && _a !== void 0 ? _a : printed.attack,
|
|
15
|
+
health: isGreater(trinket.cardId) ? (_b = trinket.scriptDataNum2) !== null && _b !== void 0 ? _b : printed.health : 0,
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
exports.TwilightOfLife = {
|
|
19
|
+
cardIds: [ENCHANTMENT_ID],
|
|
20
|
+
onSpawnedEnchantment: (minion, enchantment, input) => {
|
|
21
|
+
var _a, _b;
|
|
22
|
+
(0, stats_1.modifyStats)(minion, null, input.applyAttackAuras ? (_a = enchantment.tagScriptDataNum1) !== null && _a !== void 0 ? _a : 0 : 0, input.applyHealthAuras ? (_b = enchantment.tagScriptDataNum2) !== null && _b !== void 0 ? _b : 0 : 0, input.board, input.hero, input.gameState, false);
|
|
23
|
+
},
|
|
24
|
+
onDespawnedEnchantment: (minion, enchantment, input) => {
|
|
25
|
+
var _a, _b;
|
|
26
|
+
const attack = (_a = enchantment.tagScriptDataNum1) !== null && _a !== void 0 ? _a : 0;
|
|
27
|
+
const health = (_b = enchantment.tagScriptDataNum2) !== null && _b !== void 0 ? _b : 0;
|
|
28
|
+
if (input.applyAttackAuras) {
|
|
29
|
+
minion.attack = Math.max(0, minion.attack - attack);
|
|
30
|
+
}
|
|
31
|
+
if (input.applyHealthAuras) {
|
|
32
|
+
minion.health = Math.max(Math.min(minion.health, 1), minion.health - health);
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
exports.HammerOfTwilight = {
|
|
37
|
+
cardIds: [
|
|
38
|
+
"BG36_MagicItem_403",
|
|
39
|
+
"BG36_MagicItem_403t",
|
|
40
|
+
],
|
|
41
|
+
onOtherSpawned: (trinket, input) => {
|
|
42
|
+
var _a, _b;
|
|
43
|
+
if (!input.applySelfAuras) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if ((_a = input.spawned.enchantments) === null || _a === void 0 ? void 0 : _a.some((e) => e.cardId === ENCHANTMENT_ID)) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const { attack, health } = currentAura(trinket);
|
|
50
|
+
input.spawned.enchantments = (_b = input.spawned.enchantments) !== null && _b !== void 0 ? _b : [];
|
|
51
|
+
input.spawned.enchantments.push({
|
|
52
|
+
cardId: ENCHANTMENT_ID,
|
|
53
|
+
originEntityId: trinket.entityId,
|
|
54
|
+
tagScriptDataNum1: attack,
|
|
55
|
+
tagScriptDataNum2: health,
|
|
56
|
+
timing: input.gameState.sharedState.currentEntityId++,
|
|
57
|
+
});
|
|
58
|
+
(0, stats_1.modifyStats)(input.spawned, trinket, input.applyAttackAuras ? attack : 0, input.applyHealthAuras ? health : 0, input.board, input.hero, input.gameState);
|
|
59
|
+
},
|
|
60
|
+
onDiscard: (trinket, input) => {
|
|
61
|
+
var _a, _b, _c, _d, _e;
|
|
62
|
+
const increment = printedAura(trinket.cardId);
|
|
63
|
+
trinket.scriptDataNum1 = ((_a = trinket.scriptDataNum1) !== null && _a !== void 0 ? _a : increment.attack) + increment.attack;
|
|
64
|
+
if (isGreater(trinket.cardId)) {
|
|
65
|
+
trinket.scriptDataNum2 = ((_b = trinket.scriptDataNum2) !== null && _b !== void 0 ? _b : increment.health) + increment.health;
|
|
66
|
+
}
|
|
67
|
+
for (const minion of input.board) {
|
|
68
|
+
if (minion.health <= 0 || minion.definitelyDead) {
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
(0, stats_1.modifyStats)(minion, trinket, increment.attack, increment.health, input.board, input.hero, input.gameState);
|
|
72
|
+
const enchantment = (_c = minion.enchantments) === null || _c === void 0 ? void 0 : _c.find((e) => e.cardId === ENCHANTMENT_ID);
|
|
73
|
+
if (enchantment) {
|
|
74
|
+
enchantment.tagScriptDataNum1 = ((_d = enchantment.tagScriptDataNum1) !== null && _d !== void 0 ? _d : 0) + increment.attack;
|
|
75
|
+
enchantment.tagScriptDataNum2 = ((_e = enchantment.tagScriptDataNum2) !== null && _e !== void 0 ? _e : 0) + increment.health;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=hammer-of-twilight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hammer-of-twilight.js","sourceRoot":"","sources":["../../../../src/cards/impl/trinket/hammer-of-twilight.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * Hammer of Twilight (lesser): Your minions have +1 Attack. (Improved by each card you've discarded this game!)\r\n * Hammer of Twilight (greater): Your minions have +2/+1. (Improved by each card you've discarded this game!)\r\n *\r\n * Starting-board stats already include the current aura. Combat summons get it here, and combat\r\n * discards improve the aura and the board.\r\n */\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { BoardEnchantment, BoardEntity } from '../../../board-entity';\r\nimport { CardIds } from '../../../services/card-ids';\r\nimport { OnDespawnInput, OnOtherSpawnInput, OnSpawnInput } from '../../../simulation/add-minion-to-board';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport {\r\n\tDiscardInput,\r\n\tOnDespawnedEnchantmentCard,\r\n\tOnDiscardCard,\r\n\tOnOtherSpawnedCard,\r\n\tOnSpawnedEnchantmentCard,\r\n} from '../../card.interface';\r\n\r\nconst ENCHANTMENT_ID = CardIds.HammerOfTwilight_TwilightOfLifeEnchantment_BG36_MagicItem_403e;\r\n\r\nconst isGreater = (cardId: string): boolean =>\r\n\tcardId === CardIds.HammerOfTwilight_HammerOfTwilightToken_BG36_MagicItem_403t;\r\n\r\nconst printedAura = (cardId: string): { attack: number; health: number } => {\r\n\treturn isGreater(cardId) ? { attack: 2, health: 1 } : { attack: 1, health: 0 };\r\n};\r\n\r\nconst currentAura = (trinket: BoardTrinket): { attack: number; health: number } => {\r\n\tconst printed = printedAura(trinket.cardId);\r\n\treturn {\r\n\t\tattack: trinket.scriptDataNum1 ?? printed.attack,\r\n\t\thealth: isGreater(trinket.cardId) ? trinket.scriptDataNum2 ?? printed.health : 0,\r\n\t};\r\n};\r\n\r\nexport const TwilightOfLife: OnSpawnedEnchantmentCard & OnDespawnedEnchantmentCard = {\r\n\tcardIds: [ENCHANTMENT_ID],\r\n\tonSpawnedEnchantment: (minion: BoardEntity, enchantment: BoardEnchantment, input: OnSpawnInput) => {\r\n\t\tmodifyStats(\r\n\t\t\tminion,\r\n\t\t\tnull,\r\n\t\t\tinput.applyAttackAuras ? enchantment.tagScriptDataNum1 ?? 0 : 0,\r\n\t\t\tinput.applyHealthAuras ? enchantment.tagScriptDataNum2 ?? 0 : 0,\r\n\t\t\tinput.board,\r\n\t\t\tinput.hero,\r\n\t\t\tinput.gameState,\r\n\t\t\tfalse,\r\n\t\t);\r\n\t},\r\n\tonDespawnedEnchantment: (minion: BoardEntity, enchantment: BoardEnchantment, input: OnDespawnInput) => {\r\n\t\tconst attack = enchantment.tagScriptDataNum1 ?? 0;\r\n\t\tconst health = enchantment.tagScriptDataNum2 ?? 0;\r\n\t\tif (input.applyAttackAuras) {\r\n\t\t\tminion.attack = Math.max(0, minion.attack - attack);\r\n\t\t\t// minion.maxAttack = Math.max(0, minion.maxAttack - attack);\r\n\t\t}\r\n\t\tif (input.applyHealthAuras) {\r\n\t\t\tminion.health = Math.max(Math.min(minion.health, 1), minion.health - health);\r\n\t\t\t// minion.maxHealth = Math.max(1, minion.maxHealth - health);\r\n\t\t}\r\n\t},\r\n};\r\n\r\nexport const HammerOfTwilight: OnOtherSpawnedCard & OnDiscardCard = {\r\n\tcardIds: [\r\n\t\tCardIds.HammerOfTwilight_BG36_MagicItem_403,\r\n\t\tCardIds.HammerOfTwilight_HammerOfTwilightToken_BG36_MagicItem_403t,\r\n\t],\r\n\tonOtherSpawned: (trinket: BoardTrinket, input: OnOtherSpawnInput) => {\r\n\t\tif (!input.applySelfAuras) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (input.spawned.enchantments?.some((e) => e.cardId === ENCHANTMENT_ID)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst { attack, health } = currentAura(trinket);\r\n\t\tinput.spawned.enchantments = input.spawned.enchantments ?? [];\r\n\t\tinput.spawned.enchantments.push({\r\n\t\t\tcardId: ENCHANTMENT_ID,\r\n\t\t\toriginEntityId: trinket.entityId,\r\n\t\t\ttagScriptDataNum1: attack,\r\n\t\t\ttagScriptDataNum2: health,\r\n\t\t\ttiming: input.gameState.sharedState.currentEntityId++,\r\n\t\t});\r\n\t\tmodifyStats(\r\n\t\t\tinput.spawned,\r\n\t\t\ttrinket,\r\n\t\t\tinput.applyAttackAuras ? attack : 0,\r\n\t\t\tinput.applyHealthAuras ? health : 0,\r\n\t\t\tinput.board,\r\n\t\t\tinput.hero,\r\n\t\t\tinput.gameState,\r\n\t\t);\r\n\t},\r\n\tonDiscard: (trinket: BoardTrinket, input: DiscardInput) => {\r\n\t\tconst increment = printedAura(trinket.cardId);\r\n\t\ttrinket.scriptDataNum1 = (trinket.scriptDataNum1 ?? increment.attack) + increment.attack;\r\n\t\tif (isGreater(trinket.cardId)) {\r\n\t\t\ttrinket.scriptDataNum2 = (trinket.scriptDataNum2 ?? increment.health) + increment.health;\r\n\t\t}\r\n\t\tfor (const minion of input.board) {\r\n\t\t\tif (minion.health <= 0 || minion.definitelyDead) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tmodifyStats(minion, trinket, increment.attack, increment.health, input.board, input.hero, input.gameState);\r\n\t\t\tconst enchantment = minion.enchantments?.find((e) => e.cardId === ENCHANTMENT_ID);\r\n\t\t\tif (enchantment) {\r\n\t\t\t\tenchantment.tagScriptDataNum1 = (enchantment.tagScriptDataNum1 ?? 0) + increment.attack;\r\n\t\t\t\tenchantment.tagScriptDataNum2 = (enchantment.tagScriptDataNum2 ?? 0) + increment.health;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
|
package/dist/simulation/deity.js
CHANGED
|
@@ -101,6 +101,9 @@ const onFriendlyAberrationDied = (deadEntity, _deadEntityIndexFromRight, board,
|
|
|
101
101
|
if (!(0, exports.isAberration)(deadEntity, hero, gameState)) {
|
|
102
102
|
return [];
|
|
103
103
|
}
|
|
104
|
+
if (hero.hpLeft <= 0 || hero.cardId === "TB_BaconShop_HERO_KelThuzad") {
|
|
105
|
+
return [];
|
|
106
|
+
}
|
|
104
107
|
const secret = (0, exports.getDeitySecret)(hero);
|
|
105
108
|
if (!secret || secret.triggered) {
|
|
106
109
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deity.js","sourceRoot":"","sources":["../../src/simulation/deity.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * Deity / BG_OldGod secret.\r\n * After 3 friendly Aberrations die each combat, awaken C'Thun or Y'Shaarj with stored stats.\r\n * scriptDataNum1 = deaths remaining, tags BACON_OLD_GOD_ATTACK/HEALTH = atk/hp, scriptDataNum6 = deity dbfId.\r\n */\r\nimport { AllCardsService, GameTag, Race } from '@firestone-hs/reference-data';\r\nimport { BgsPlayerEntity } from '../bgs-player-entity';\r\nimport { BoardEntity } from '../board-entity';\r\nimport { BoardSecret } from '../board-secret';\r\nimport { hasOnAwaken } from '../cards/card.interface';\r\nimport { cardMappings } from '../cards/impl/_card-mappings';\r\nimport { CardIds } from '../services/card-ids';\r\nimport { getPlayerState, hasCorrectTribe, hasEntityMechanic, hasMechanic } from '../utils';\r\nimport { spawnEntities } from './deathrattle-spawns';\r\nimport { FullGameState } from './internal-game-state';\r\nimport { modifyStats } from './stats';\r\n\r\nexport const isDeityCard = (cardId: string, allCards: AllCardsService): boolean => {\r\n\treturn hasMechanic(allCards.getCard(cardId), GameTag.BACON_OLD_GOD);\r\n};\r\n\r\nexport const isAberration = (entity: BoardEntity, hero: BgsPlayerEntity, gameState: FullGameState): boolean => {\r\n\treturn hasCorrectTribe(entity, hero, Race.ABERRATION, gameState.anomalies, gameState.allCards);\r\n};\r\n\r\nexport const getDeitySecret = (hero: BgsPlayerEntity): BoardSecret | undefined => {\r\n\treturn hero.secrets?.find((s) => s.cardId === CardIds.SecretDeityDnt_BG_OldGod);\r\n};\r\n\r\nexport const getOnBoardDeity = (board: BoardEntity[], allCards: AllCardsService): BoardEntity | undefined => {\r\n\treturn board.find(\r\n\t\t(e) => hasEntityMechanic(e, GameTag.BACON_OLD_GOD, allCards) && e.health > 0 && !e.definitelyDead,\r\n\t);\r\n};\r\n\r\nconst readSecretAttack = (secret: BoardSecret): number => {\r\n\treturn secret.tags?.[GameTag.BACON_OLD_GOD_ATTACK] ?? secret.scriptDataNum2 ?? 1;\r\n};\r\n\r\nconst readSecretHealth = (secret: BoardSecret): number => {\r\n\treturn secret.tags?.[GameTag.BACON_OLD_GOD_HEALTH] ?? secret.scriptDataNum3 ?? 1;\r\n};\r\n\r\nconst writeSecretStats = (secret: BoardSecret, attack: number, health: number): void => {\r\n\tsecret.scriptDataNum2 = attack;\r\n\tsecret.scriptDataNum3 = health;\r\n\tsecret.tags = secret.tags ?? {};\r\n\tsecret.tags[GameTag.BACON_OLD_GOD_ATTACK] = attack;\r\n\tsecret.tags[GameTag.BACON_OLD_GOD_HEALTH] = health;\r\n};\r\n\r\nexport const getDeityBaseStats = (\r\n\thero: BgsPlayerEntity,\r\n\tentity?: BoardEntity,\r\n): { attack: number; health: number } => {\r\n\tconst secret = getDeitySecret(hero);\r\n\tconst attack =\r\n\t\tsecret?.tags?.[GameTag.BACON_OLD_GOD_ATTACK] ??\r\n\t\tentity?.tags?.[GameTag.BACON_OLD_GOD_ATTACK] ??\r\n\t\tsecret?.scriptDataNum2 ??\r\n\t\t1;\r\n\tconst health = Math.max(\r\n\t\t1,\r\n\t\tsecret?.tags?.[GameTag.BACON_OLD_GOD_HEALTH] ??\r\n\t\t\tentity?.tags?.[GameTag.BACON_OLD_GOD_HEALTH] ??\r\n\t\t\tsecret?.scriptDataNum3 ??\r\n\t\t\t1,\r\n\t);\r\n\treturn { attack, health };\r\n};\r\n\r\nexport const applyDeityBaseStats = (entity: BoardEntity, hero: BgsPlayerEntity): void => {\r\n\tconst { attack, health } = getDeityBaseStats(hero, entity);\r\n\tentity.attack = attack;\r\n\tentity.maxAttack = attack;\r\n\tentity.health = health;\r\n\tentity.maxHealth = health;\r\n\tentity.tags = entity.tags ?? {};\r\n\tentity.tags[GameTag.BACON_OLD_GOD_ATTACK] = attack;\r\n\tentity.tags[GameTag.BACON_OLD_GOD_HEALTH] = health;\r\n};\r\n\r\nexport const buffYourDeity = (\r\n\thero: BgsPlayerEntity,\r\n\tboard: BoardEntity[],\r\n\tsource: BoardEntity | BoardSecret | BgsPlayerEntity,\r\n\tattack: number,\r\n\thealth: number,\r\n\tgameState: FullGameState,\r\n): void => {\r\n\tconst onBoard = getOnBoardDeity(board, gameState.allCards);\r\n\tif (onBoard) {\r\n\t\tmodifyStats(onBoard, source as BoardEntity, attack, health, board, hero, gameState);\r\n\t}\r\n\tincrementDeitySecretStats(hero, attack, health);\r\n};\r\n\r\nexport const incrementDeitySecretStats = (hero: BgsPlayerEntity, attack: number, health: number): void => {\r\n\tconst secret = getDeitySecret(hero);\r\n\tif (secret) {\r\n\t\twriteSecretStats(secret, readSecretAttack(secret) + attack, readSecretHealth(secret) + health);\r\n\t}\r\n};\r\n\r\nexport const buffTeamDeities = (\r\n\thero: BgsPlayerEntity,\r\n\tboard: BoardEntity[],\r\n\tsource: BoardEntity,\r\n\tattack: number,\r\n\thealth: number,\r\n\tgameState: FullGameState,\r\n): void => {\r\n\tbuffYourDeity(hero, board, source, attack, health, gameState);\r\n\tconst playerState = getPlayerState(gameState.gameState, hero);\r\n\tconst teammate = playerState?.teammate;\r\n\tif (teammate?.player) {\r\n\t\tbuffYourDeity(teammate.player, teammate.board ?? [], source, attack, health, gameState);\r\n\t}\r\n};\r\n\r\nconst resolveDeityCardId = (secret: BoardSecret, gameState: FullGameState): string => {\r\n\tconst dbfId = secret.scriptDataNum6 ?? secret.tags?.[GameTag.BACON_GLOBAL_OLD_GOD_DBID];\r\n\tif (dbfId) {\r\n\t\tconst fromDbf = gameState.allCards.getCardFromDbfId(dbfId);\r\n\t\tif (fromDbf?.id) {\r\n\t\t\treturn fromDbf.id;\r\n\t\t}\r\n\t}\r\n\treturn CardIds.Cthun_BGFYM_000;\r\n};\r\n\r\nexport const onFriendlyAberrationDied = (\r\n\tdeadEntity: BoardEntity,\r\n\t_deadEntityIndexFromRight: number,\r\n\tboard: BoardEntity[],\r\n\thero: BgsPlayerEntity,\r\n\totherBoard: BoardEntity[],\r\n\totherHero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n): BoardEntity[] => {\r\n\tif (!isAberration(deadEntity, hero, gameState)) {\r\n\t\treturn [];\r\n\t}\r\n\tconst secret = getDeitySecret(hero);\r\n\tif (!secret || secret.triggered) {\r\n\t\treturn [];\r\n\t}\r\n\tconst remaining = (secret.scriptDataNum1 || 3) - 1;\r\n\tsecret.scriptDataNum1 = remaining;\r\n\tif (remaining > 0) {\r\n\t\treturn [];\r\n\t}\r\n\tsecret.triggered = true;\r\n\tconst cardId = resolveDeityCardId(secret, gameState);\r\n\tconst spawns = spawnEntities(\r\n\t\tcardId,\r\n\t\t1,\r\n\t\tboard,\r\n\t\thero,\r\n\t\totherBoard,\r\n\t\totherHero,\r\n\t\tgameState,\r\n\t\tdeadEntity.friendly,\r\n\t\tfalse,\r\n\t\tfalse,\r\n\t\ttrue,\r\n\t);\r\n\tfor (const spawn of spawns) {\r\n\t\tapplyDeityBaseStats(spawn, hero);\r\n\t\tif (hero.trinkets?.some((t) => t.cardId === CardIds.EvilExperiment_BG36_MagicItem_416)) {\r\n\t\t\tspawn.reborn = true;\r\n\t\t}\r\n\t}\r\n\tif (spawns[0]) {\r\n\t\tgameState.spectator.registerPowerTarget(secret, spawns[0], board, hero, otherHero);\r\n\t}\r\n\tfor (const spawn of spawns) {\r\n\t\tconst impl = cardMappings[spawn.cardId];\r\n\t\tif (hasOnAwaken(impl)) {\r\n\t\t\timpl.onAwaken(spawn, {\r\n\t\t\t\thero,\r\n\t\t\t\tboard,\r\n\t\t\t\totherHero,\r\n\t\t\t\totherBoard,\r\n\t\t\t\tgameState,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\treturn [...spawns];\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"deity.js","sourceRoot":"","sources":["../../src/simulation/deity.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * Deity / BG_OldGod secret.\r\n * After 3 friendly Aberrations die each combat, awaken C'Thun or Y'Shaarj with stored stats.\r\n * scriptDataNum1 = deaths remaining, tags BACON_OLD_GOD_ATTACK/HEALTH = atk/hp, scriptDataNum6 = deity dbfId.\r\n */\r\nimport { AllCardsService, GameTag, Race } from '@firestone-hs/reference-data';\r\nimport { BgsPlayerEntity } from '../bgs-player-entity';\r\nimport { BoardEntity } from '../board-entity';\r\nimport { BoardSecret } from '../board-secret';\r\nimport { hasOnAwaken } from '../cards/card.interface';\r\nimport { cardMappings } from '../cards/impl/_card-mappings';\r\nimport { CardIds } from '../services/card-ids';\r\nimport { getPlayerState, hasCorrectTribe, hasEntityMechanic, hasMechanic } from '../utils';\r\nimport { spawnEntities } from './deathrattle-spawns';\r\nimport { FullGameState } from './internal-game-state';\r\nimport { modifyStats } from './stats';\r\n\r\nexport const isDeityCard = (cardId: string, allCards: AllCardsService): boolean => {\r\n\treturn hasMechanic(allCards.getCard(cardId), GameTag.BACON_OLD_GOD);\r\n};\r\n\r\nexport const isAberration = (entity: BoardEntity, hero: BgsPlayerEntity, gameState: FullGameState): boolean => {\r\n\treturn hasCorrectTribe(entity, hero, Race.ABERRATION, gameState.anomalies, gameState.allCards);\r\n};\r\n\r\nexport const getDeitySecret = (hero: BgsPlayerEntity): BoardSecret | undefined => {\r\n\treturn hero.secrets?.find((s) => s.cardId === CardIds.SecretDeityDnt_BG_OldGod);\r\n};\r\n\r\nexport const getOnBoardDeity = (board: BoardEntity[], allCards: AllCardsService): BoardEntity | undefined => {\r\n\treturn board.find(\r\n\t\t(e) => hasEntityMechanic(e, GameTag.BACON_OLD_GOD, allCards) && e.health > 0 && !e.definitelyDead,\r\n\t);\r\n};\r\n\r\nconst readSecretAttack = (secret: BoardSecret): number => {\r\n\treturn secret.tags?.[GameTag.BACON_OLD_GOD_ATTACK] ?? secret.scriptDataNum2 ?? 1;\r\n};\r\n\r\nconst readSecretHealth = (secret: BoardSecret): number => {\r\n\treturn secret.tags?.[GameTag.BACON_OLD_GOD_HEALTH] ?? secret.scriptDataNum3 ?? 1;\r\n};\r\n\r\nconst writeSecretStats = (secret: BoardSecret, attack: number, health: number): void => {\r\n\tsecret.scriptDataNum2 = attack;\r\n\tsecret.scriptDataNum3 = health;\r\n\tsecret.tags = secret.tags ?? {};\r\n\tsecret.tags[GameTag.BACON_OLD_GOD_ATTACK] = attack;\r\n\tsecret.tags[GameTag.BACON_OLD_GOD_HEALTH] = health;\r\n};\r\n\r\nexport const getDeityBaseStats = (hero: BgsPlayerEntity, entity?: BoardEntity): { attack: number; health: number } => {\r\n\tconst secret = getDeitySecret(hero);\r\n\tconst attack =\r\n\t\tsecret?.tags?.[GameTag.BACON_OLD_GOD_ATTACK] ??\r\n\t\tentity?.tags?.[GameTag.BACON_OLD_GOD_ATTACK] ??\r\n\t\tsecret?.scriptDataNum2 ??\r\n\t\t1;\r\n\tconst health = Math.max(\r\n\t\t1,\r\n\t\tsecret?.tags?.[GameTag.BACON_OLD_GOD_HEALTH] ??\r\n\t\t\tentity?.tags?.[GameTag.BACON_OLD_GOD_HEALTH] ??\r\n\t\t\tsecret?.scriptDataNum3 ??\r\n\t\t\t1,\r\n\t);\r\n\treturn { attack, health };\r\n};\r\n\r\nexport const applyDeityBaseStats = (entity: BoardEntity, hero: BgsPlayerEntity): void => {\r\n\tconst { attack, health } = getDeityBaseStats(hero, entity);\r\n\tentity.attack = attack;\r\n\tentity.maxAttack = attack;\r\n\tentity.health = health;\r\n\tentity.maxHealth = health;\r\n\tentity.tags = entity.tags ?? {};\r\n\tentity.tags[GameTag.BACON_OLD_GOD_ATTACK] = attack;\r\n\tentity.tags[GameTag.BACON_OLD_GOD_HEALTH] = health;\r\n};\r\n\r\nexport const buffYourDeity = (\r\n\thero: BgsPlayerEntity,\r\n\tboard: BoardEntity[],\r\n\tsource: BoardEntity | BoardSecret | BgsPlayerEntity,\r\n\tattack: number,\r\n\thealth: number,\r\n\tgameState: FullGameState,\r\n): void => {\r\n\tconst onBoard = getOnBoardDeity(board, gameState.allCards);\r\n\tif (onBoard) {\r\n\t\tmodifyStats(onBoard, source as BoardEntity, attack, health, board, hero, gameState);\r\n\t}\r\n\tincrementDeitySecretStats(hero, attack, health);\r\n};\r\n\r\nexport const incrementDeitySecretStats = (hero: BgsPlayerEntity, attack: number, health: number): void => {\r\n\tconst secret = getDeitySecret(hero);\r\n\tif (secret) {\r\n\t\twriteSecretStats(secret, readSecretAttack(secret) + attack, readSecretHealth(secret) + health);\r\n\t}\r\n};\r\n\r\nexport const buffTeamDeities = (\r\n\thero: BgsPlayerEntity,\r\n\tboard: BoardEntity[],\r\n\tsource: BoardEntity,\r\n\tattack: number,\r\n\thealth: number,\r\n\tgameState: FullGameState,\r\n): void => {\r\n\tbuffYourDeity(hero, board, source, attack, health, gameState);\r\n\tconst playerState = getPlayerState(gameState.gameState, hero);\r\n\tconst teammate = playerState?.teammate;\r\n\tif (teammate?.player) {\r\n\t\tbuffYourDeity(teammate.player, teammate.board ?? [], source, attack, health, gameState);\r\n\t}\r\n};\r\n\r\nconst resolveDeityCardId = (secret: BoardSecret, gameState: FullGameState): string => {\r\n\tconst dbfId = secret.scriptDataNum6 ?? secret.tags?.[GameTag.BACON_GLOBAL_OLD_GOD_DBID];\r\n\tif (dbfId) {\r\n\t\tconst fromDbf = gameState.allCards.getCardFromDbfId(dbfId);\r\n\t\tif (fromDbf?.id) {\r\n\t\t\treturn fromDbf.id;\r\n\t\t}\r\n\t}\r\n\treturn CardIds.Cthun_BGFYM_000;\r\n};\r\n\r\nexport const onFriendlyAberrationDied = (\r\n\tdeadEntity: BoardEntity,\r\n\t_deadEntityIndexFromRight: number,\r\n\tboard: BoardEntity[],\r\n\thero: BgsPlayerEntity,\r\n\totherBoard: BoardEntity[],\r\n\totherHero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n): BoardEntity[] => {\r\n\tif (!isAberration(deadEntity, hero, gameState)) {\r\n\t\treturn [];\r\n\t}\r\n\t// 2026-09-22: This seems to be an HS bug, but for now the deity doesn't spawn when facing the ghost\r\n\tif (hero.hpLeft <= 0 || hero.cardId === CardIds.Kelthuzad_TB_BaconShop_HERO_KelThuzad) {\r\n\t\treturn [];\r\n\t}\r\n\tconst secret = getDeitySecret(hero);\r\n\tif (!secret || secret.triggered) {\r\n\t\treturn [];\r\n\t}\r\n\tconst remaining = (secret.scriptDataNum1 || 3) - 1;\r\n\tsecret.scriptDataNum1 = remaining;\r\n\tif (remaining > 0) {\r\n\t\treturn [];\r\n\t}\r\n\tsecret.triggered = true;\r\n\tconst cardId = resolveDeityCardId(secret, gameState);\r\n\tconst spawns = spawnEntities(\r\n\t\tcardId,\r\n\t\t1,\r\n\t\tboard,\r\n\t\thero,\r\n\t\totherBoard,\r\n\t\totherHero,\r\n\t\tgameState,\r\n\t\tdeadEntity.friendly,\r\n\t\tfalse,\r\n\t\tfalse,\r\n\t\ttrue,\r\n\t);\r\n\tfor (const spawn of spawns) {\r\n\t\tapplyDeityBaseStats(spawn, hero);\r\n\t\tif (hero.trinkets?.some((t) => t.cardId === CardIds.EvilExperiment_BG36_MagicItem_416)) {\r\n\t\t\tspawn.reborn = true;\r\n\t\t}\r\n\t}\r\n\tif (spawns[0]) {\r\n\t\tgameState.spectator.registerPowerTarget(secret, spawns[0], board, hero, otherHero);\r\n\t}\r\n\tfor (const spawn of spawns) {\r\n\t\tconst impl = cardMappings[spawn.cardId];\r\n\t\tif (hasOnAwaken(impl)) {\r\n\t\t\timpl.onAwaken(spawn, {\r\n\t\t\t\thero,\r\n\t\t\t\tboard,\r\n\t\t\t\totherHero,\r\n\t\t\t\totherBoard,\r\n\t\t\t\tgameState,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\treturn [...spawns];\r\n};\r\n"]}
|
|
@@ -14,7 +14,7 @@ const discardCards = (cards, hero, board, otherBoard, otherHero, gameState) => {
|
|
|
14
14
|
};
|
|
15
15
|
exports.discardCards = discardCards;
|
|
16
16
|
const discardCard = (card, hero, board, otherBoard, otherHero, gameState) => {
|
|
17
|
-
var _a, _b;
|
|
17
|
+
var _a, _b, _c;
|
|
18
18
|
const hand = (_a = hero.hand) !== null && _a !== void 0 ? _a : [];
|
|
19
19
|
const index = hand.indexOf(card);
|
|
20
20
|
if (index === -1) {
|
|
@@ -43,6 +43,12 @@ const discardCard = (card, hero, board, otherBoard, otherHero, gameState) => {
|
|
|
43
43
|
impl.onDiscard(entity, input);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
+
for (const trinket of (_c = hero.trinkets) !== null && _c !== void 0 ? _c : []) {
|
|
47
|
+
const impl = _card_mappings_1.cardMappings[trinket.cardId];
|
|
48
|
+
if ((0, card_interface_1.hasOnDiscard)(impl)) {
|
|
49
|
+
impl.onDiscard(trinket, input);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
46
52
|
return true;
|
|
47
53
|
};
|
|
48
54
|
exports.discardCard = discardCard;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discard.js","sourceRoot":"","sources":["../../src/simulation/discard.ts"],"names":[],"mappings":";;;AAEA,4DAAyF;AACzF,iEAA4D;AAGrD,MAAM,YAAY,GAAG,CAC3B,KAA6B,EAC7B,IAAqB,EACrB,KAAoB,EACpB,UAAyB,EACzB,SAA0B,EAC1B,SAAwB,EACf,EAAE;IACX,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACzB,IAAI,IAAA,mBAAW,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE;YACrE,SAAS,EAAE,CAAC;SACZ;KACD;IACD,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC;AAfW,QAAA,YAAY,gBAevB;AAEK,MAAM,WAAW,GAAG,CAC1B,IAAiB,EACjB,IAAqB,EACrB,KAAoB,EACpB,UAAyB,EACzB,SAA0B,EAC1B,SAAwB,EACd,EAAE;;IACZ,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;QACjB,OAAO,KAAK,CAAC;KACb;IACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC,UAAU,CAAC,sBAAsB,GAAG,CAAC,MAAA,IAAI,CAAC,UAAU,CAAC,sBAAsB,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAE3F,MAAM,KAAK,GAAiB;QAC3B,SAAS,EAAE,IAAI;QACf,IAAI;QACJ,KAAK;QACL,SAAS;QACT,UAAU;QACV,SAAS;KACT,CAAC;IAEF,MAAM,aAAa,GAAG,6BAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,IAAA,mCAAkB,EAAC,aAAa,CAAC,EAAE;QACtC,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAC3C;IAED,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE;QAC3B,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE;YAChD,SAAS;SACT;QACD,MAAM,IAAI,GAAG,6BAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,IAAA,6BAAY,EAAC,IAAI,CAAC,EAAE;YACvB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SAC9B;KACD;IACD,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"discard.js","sourceRoot":"","sources":["../../src/simulation/discard.ts"],"names":[],"mappings":";;;AAEA,4DAAyF;AACzF,iEAA4D;AAGrD,MAAM,YAAY,GAAG,CAC3B,KAA6B,EAC7B,IAAqB,EACrB,KAAoB,EACpB,UAAyB,EACzB,SAA0B,EAC1B,SAAwB,EACf,EAAE;IACX,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACzB,IAAI,IAAA,mBAAW,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE;YACrE,SAAS,EAAE,CAAC;SACZ;KACD;IACD,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC;AAfW,QAAA,YAAY,gBAevB;AAEK,MAAM,WAAW,GAAG,CAC1B,IAAiB,EACjB,IAAqB,EACrB,KAAoB,EACpB,UAAyB,EACzB,SAA0B,EAC1B,SAAwB,EACd,EAAE;;IACZ,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;QACjB,OAAO,KAAK,CAAC;KACb;IACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC,UAAU,CAAC,sBAAsB,GAAG,CAAC,MAAA,IAAI,CAAC,UAAU,CAAC,sBAAsB,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAE3F,MAAM,KAAK,GAAiB;QAC3B,SAAS,EAAE,IAAI;QACf,IAAI;QACJ,KAAK;QACL,SAAS;QACT,UAAU;QACV,SAAS;KACT,CAAC;IAEF,MAAM,aAAa,GAAG,6BAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,IAAA,mCAAkB,EAAC,aAAa,CAAC,EAAE;QACtC,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAC3C;IAED,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE;QAC3B,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE;YAChD,SAAS;SACT;QACD,MAAM,IAAI,GAAG,6BAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,IAAA,6BAAY,EAAC,IAAI,CAAC,EAAE;YACvB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SAC9B;KACD;IACD,KAAK,MAAM,OAAO,IAAI,MAAA,IAAI,CAAC,QAAQ,mCAAI,EAAE,EAAE;QAC1C,MAAM,IAAI,GAAG,6BAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,IAAA,6BAAY,EAAC,IAAI,CAAC,EAAE;YACvB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SAC/B;KACD;IACD,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AA9CW,QAAA,WAAW,eA8CtB","sourcesContent":["import { BgsPlayerEntity } from '../bgs-player-entity';\r\nimport { BoardEntity } from '../board-entity';\r\nimport { DiscardInput, hasOnDiscard, hasOnThisDiscarded } from '../cards/card.interface';\r\nimport { cardMappings } from '../cards/impl/_card-mappings';\r\nimport { FullGameState } from './internal-game-state';\r\n\r\nexport const discardCards = (\r\n\tcards: readonly BoardEntity[],\r\n\thero: BgsPlayerEntity,\r\n\tboard: BoardEntity[],\r\n\totherBoard: BoardEntity[],\r\n\totherHero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n): number => {\r\n\tlet discarded = 0;\r\n\tfor (const card of cards) {\r\n\t\tif (discardCard(card, hero, board, otherBoard, otherHero, gameState)) {\r\n\t\t\tdiscarded++;\r\n\t\t}\r\n\t}\r\n\treturn discarded;\r\n};\r\n\r\nexport const discardCard = (\r\n\tcard: BoardEntity,\r\n\thero: BgsPlayerEntity,\r\n\tboard: BoardEntity[],\r\n\totherBoard: BoardEntity[],\r\n\totherHero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n): boolean => {\r\n\tconst hand = hero.hand ?? [];\r\n\tconst index = hand.indexOf(card);\r\n\tif (index === -1) {\r\n\t\treturn false;\r\n\t}\r\n\thand.splice(index, 1);\r\n\thero.globalInfo.CardsDiscardedThisGame = (hero.globalInfo.CardsDiscardedThisGame ?? 0) + 1;\r\n\r\n\tconst input: DiscardInput = {\r\n\t\tdiscarded: card,\r\n\t\thero,\r\n\t\tboard,\r\n\t\totherHero,\r\n\t\totherBoard,\r\n\t\tgameState,\r\n\t};\r\n\r\n\tconst discardedImpl = cardMappings[card.cardId];\r\n\tif (hasOnThisDiscarded(discardedImpl)) {\r\n\t\tdiscardedImpl.onThisDiscarded(card, input);\r\n\t}\r\n\r\n\tfor (const entity of board) {\r\n\t\tif (entity.health <= 0 || entity.definitelyDead) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tconst impl = cardMappings[entity.cardId];\r\n\t\tif (hasOnDiscard(impl)) {\r\n\t\t\timpl.onDiscard(entity, input);\r\n\t\t}\r\n\t}\r\n\tfor (const trinket of hero.trinkets ?? []) {\r\n\t\tconst impl = cardMappings[trinket.cardId];\r\n\t\tif (hasOnDiscard(impl)) {\r\n\t\t\timpl.onDiscard(trinket, input);\r\n\t\t}\r\n\t}\r\n\treturn true;\r\n};\r\n"]}
|