@firestone-hs/simulate-bgs-battle 1.1.603 → 1.1.605

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.
Files changed (45) hide show
  1. package/dist/cards/card.interface.js.map +1 -1
  2. package/dist/cards/impl/_card-mappings.js +2 -0
  3. package/dist/cards/impl/_card-mappings.js.map +1 -1
  4. package/dist/cards/impl/hero-power/aim-high.js +1 -1
  5. package/dist/cards/impl/hero-power/aim-high.js.map +1 -1
  6. package/dist/cards/impl/hero-power/aim-left.js +1 -1
  7. package/dist/cards/impl/hero-power/aim-left.js.map +1 -1
  8. package/dist/cards/impl/hero-power/aim-low.js +1 -1
  9. package/dist/cards/impl/hero-power/aim-low.js.map +1 -1
  10. package/dist/cards/impl/hero-power/aim-right.js +1 -1
  11. package/dist/cards/impl/hero-power/aim-right.js.map +1 -1
  12. package/dist/cards/impl/hero-power/lightning-invocation.js +1 -1
  13. package/dist/cards/impl/hero-power/lightning-invocation.js.map +1 -1
  14. package/dist/cards/impl/minion/devout-hellcaller.js +5 -0
  15. package/dist/cards/impl/minion/devout-hellcaller.js.map +1 -1
  16. package/dist/cards/impl/minion/lightfeather-screecher.js +2 -2
  17. package/dist/cards/impl/minion/lightfeather-screecher.js.map +1 -1
  18. package/dist/cards/impl/minion/lord-of-the-ruins.js +6 -1
  19. package/dist/cards/impl/minion/lord-of-the-ruins.js.map +1 -1
  20. package/dist/cards/impl/minion/poultron.js +7 -2
  21. package/dist/cards/impl/minion/poultron.js.map +1 -1
  22. package/dist/cards/impl/minion/raptor-elder.js +10 -5
  23. package/dist/cards/impl/minion/raptor-elder.js.map +1 -1
  24. package/dist/cards/impl/minion/stomping-stegodon-enchantment.js +1 -1
  25. package/dist/cards/impl/minion/stomping-stegodon-enchantment.js.map +1 -1
  26. package/dist/cards/impl/minion/stomping-stegodon.js +15 -7
  27. package/dist/cards/impl/minion/stomping-stegodon.js.map +1 -1
  28. package/dist/cards/impl/minion/stray-satyr.js +8 -2
  29. package/dist/cards/impl/minion/stray-satyr.js.map +1 -1
  30. package/dist/cards/impl/quest-reward/evil-twin.js +3 -5
  31. package/dist/cards/impl/quest-reward/evil-twin.js.map +1 -1
  32. package/dist/simulation/add-minion-to-board.d.ts +1 -0
  33. package/dist/simulation/add-minion-to-board.js +5 -2
  34. package/dist/simulation/add-minion-to-board.js.map +1 -1
  35. package/dist/simulation/attack.d.ts +1 -1
  36. package/dist/simulation/attack.js +1 -1
  37. package/dist/simulation/attack.js.map +1 -1
  38. package/dist/simulation/damage-effects.d.ts +2 -2
  39. package/dist/simulation/damage-effects.js +13 -0
  40. package/dist/simulation/damage-effects.js.map +1 -1
  41. package/dist/simulation/deathrattle-effects.d.ts +1 -1
  42. package/dist/simulation/deathrattle-effects.js.map +1 -1
  43. package/dist/utils.js +1 -0
  44. package/dist/utils.js.map +1 -1
  45. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"card.interface.js","sourceRoot":"","sources":["../../src/cards/card.interface.ts"],"names":[],"mappings":";;;AAyCO,MAAM,iBAAiB,GAAG,CAAC,IAAU,EAA8B,EAAE,CAC3E,CAAC,IAA2B,aAA3B,IAAI,uBAAJ,IAAI,CAAyB,cAAc,MAAK,SAAS,CAAC;AAD/C,QAAA,iBAAiB,qBAC8B;AAMrD,MAAM,gBAAgB,GAAG,CAAC,IAAU,EAA6B,EAAE,CACzE,CAAC,IAA0B,aAA1B,IAAI,uBAAJ,IAAI,CAAwB,aAAa,MAAK,SAAS,CAAC;AAD7C,QAAA,gBAAgB,oBAC6B;AAInD,MAAM,wBAAwB,GAAG,CAAC,IAAU,EAAqC,EAAE,CACzF,CAAC,IAAkC,aAAlC,IAAI,uBAAJ,IAAI,CAAgC,qBAAqB,MAAK,SAAS,CAAC;AAD7D,QAAA,wBAAwB,4BACqC;AAUnE,MAAM,WAAW,GAAG,CAAC,IAAU,EAAwB,EAAE,CAC/D,CAAC,IAAqB,aAArB,IAAI,uBAAJ,IAAI,CAAmB,iBAAiB,MAAK,SAAS,CAAC;AAD5C,QAAA,WAAW,eACiC;AAYlD,MAAM,mBAAmB,GAAG,CAAC,IAAU,EAAgC,EAAE,CAC/E,CAAC,IAA6B,aAA7B,IAAI,uBAAJ,IAAI,CAA2B,UAAU,MAAK,SAAS,CAAC;AAD7C,QAAA,mBAAmB,uBAC0B;AAKnD,MAAM,YAAY,GAAG,CAAC,IAAU,EAAyB,EAAE,CAAC,CAAC,IAAsB,aAAtB,IAAI,uBAAJ,IAAI,CAAoB,SAAS,MAAK,SAAS,CAAC;AAAvG,QAAA,YAAY,gBAA2F;AAK7G,MAAM,qBAAqB,GAAG,CAAC,IAAU,EAAkC,EAAE,CACnF,CAAC,IAA+B,aAA/B,IAAI,uBAAJ,IAAI,CAA6B,kBAAkB,MAAK,SAAS,CAAC;AADvD,QAAA,qBAAqB,yBACkC;AAK7D,MAAM,iBAAiB,GAAG,CAAC,IAAU,EAA8B,EAAE,CAC3E,CAAC,IAA2B,aAA3B,IAAI,uBAAJ,IAAI,CAAyB,cAAc,MAAK,SAAS,CAAC;AAD/C,QAAA,iBAAiB,qBAC8B;AAKrD,MAAM,oBAAoB,GAAG,CAAC,IAAU,EAAiC,EAAE,CACjF,CAAC,IAA8B,aAA9B,IAAI,uBAAJ,IAAI,CAA4B,iBAAiB,MAAK,SAAS,CAAC;AADrD,QAAA,oBAAoB,wBACiC;AAK3D,MAAM,cAAc,GAAG,CAAC,IAAU,EAA2B,EAAE,CACrE,CAAC,IAAwB,aAAxB,IAAI,uBAAJ,IAAI,CAAsB,WAAW,MAAK,SAAS,CAAC;AADzC,QAAA,cAAc,kBAC2B;AAK/C,MAAM,mBAAmB,GAAG,CAAC,IAAU,EAAgC,EAAE,CAC/E,CAAC,IAA6B,aAA7B,IAAI,uBAAJ,IAAI,CAA2B,gBAAgB,MAAK,SAAS,CAAC;AADnD,QAAA,mBAAmB,uBACgC;AAOzD,MAAM,YAAY,GAAG,CAAC,IAAU,EAAyB,EAAE,CAAC,CAAC,IAAsB,aAAtB,IAAI,uBAAJ,IAAI,CAAoB,SAAS,MAAK,SAAS,CAAC;AAAvG,QAAA,YAAY,gBAA2F;AAK7G,MAAM,eAAe,GAAG,CAAC,IAAU,EAA4B,EAAE,CACvE,CAAC,IAAyB,aAAzB,IAAI,uBAAJ,IAAI,CAAuB,YAAY,MAAK,SAAS,CAAC;AAD3C,QAAA,eAAe,mBAC4B;AAKjD,MAAM,mBAAmB,GAAG,CAAC,IAAU,EAAgC,EAAE,CAC/E,CAAC,IAA6B,aAA7B,IAAI,uBAAJ,IAAI,CAA2B,gBAAgB,MAAK,SAAS,CAAC;AADnD,QAAA,mBAAmB,uBACgC;AAKzD,MAAM,uBAAuB,GAAG,CAAC,IAAU,EAAoC,EAAE,CACvF,CAAC,IAAiC,aAAjC,IAAI,uBAAJ,IAAI,CAA+B,oBAAoB,MAAK,SAAS,CAAC;AAD3D,QAAA,uBAAuB,2BACoC;AAMjE,MAAM,SAAS,GAAG,CAAC,IAAU,EAAsB,EAAE,CAAC,CAAC,IAAmB,aAAnB,IAAI,uBAAJ,IAAI,CAAiB,MAAM,MAAK,SAAS,CAAC;AAA3F,QAAA,SAAS,aAAkF;AAKjG,MAAM,uBAAuB,GAAG,CAAC,IAAU,EAAoC,EAAE,CACvF,CAAC,IAAiC,aAAjC,IAAI,uBAAJ,IAAI,CAA+B,oBAAoB,MAAK,SAAS,CAAC;AAD3D,QAAA,uBAAuB,2BACoC;AAMjE,MAAM,yBAAyB,GAAG,CAAC,IAAU,EAAoC,EAAE,CACzF,CAAC,IAAiC,aAAjC,IAAI,uBAAJ,IAAI,CAA+B,sBAAsB,MAAK,SAAS,CAAC;AAD7D,QAAA,yBAAyB,6BACoC;AAmBnE,MAAM,8BAA8B,GAAG,CAAC,IAAU,EAA2C,EAAE,CACrG,CAAC,IAAwC,aAAxC,IAAI,uBAAJ,IAAI,CAAsC,iCAAiC,MAAK,SAAS,CAAC;AAD/E,QAAA,8BAA8B,kCACiD;AAKrF,MAAM,oBAAoB,GAAG,CAAC,IAAU,EAAiC,EAAE,CACjF,CAAC,IAA8B,aAA9B,IAAI,uBAAJ,IAAI,CAA4B,iBAAiB,MAAK,SAAS,CAAC;AADrD,QAAA,oBAAoB,wBACiC;AAM3D,MAAM,YAAY,GAAG,CAAC,IAAU,EAAyB,EAAE,CAAC,CAAC,IAAsB,aAAtB,IAAI,uBAAJ,IAAI,CAAoB,SAAS,MAAK,SAAS,CAAC;AAAvG,QAAA,YAAY,gBAA2F;AAM7G,MAAM,wBAAwB,GAAG,CAAC,IAAU,EAAqC,EAAE,CACzF,CAAC,IAAkC,aAAlC,IAAI,uBAAJ,IAAI,CAAgC,qBAAqB,MAAK,SAAS,CAAC;AAD7D,QAAA,wBAAwB,4BACqC;AAUnE,MAAM,iBAAiB,GAAG,CAAC,IAAU,EAA8B,EAAE,CAC3E,CAAC,IAA2B,aAA3B,IAAI,uBAAJ,IAAI,CAAyB,cAAc,MAAK,SAAS,CAAC;AAD/C,QAAA,iBAAiB,qBAC8B;AAUrD,MAAM,kBAAkB,GAAG,CAAC,IAAU,EAA+B,EAAE,CAC7E,CAAC,IAA4B,aAA5B,IAAI,uBAAJ,IAAI,CAA0B,eAAe,MAAK,SAAS,CAAC;AADjD,QAAA,kBAAkB,sBAC+B;AAUvD,MAAM,mBAAmB,GAAG,CAAC,IAAU,EAAgC,EAAE,CAC/E,CAAC,IAA6B,aAA7B,IAAI,uBAAJ,IAAI,CAA2B,gBAAgB,MAAK,SAAS,CAAC;AADnD,QAAA,mBAAmB,uBACgC;AAUzD,MAAM,oBAAoB,GAAG,CAAC,IAAU,EAAiC,EAAE,CACjF,CAAC,IAA8B,aAA9B,IAAI,uBAAJ,IAAI,CAA4B,iBAAiB,MAAK,SAAS,CAAC;AADrD,QAAA,oBAAoB,wBACiC;AAU3D,MAAM,oBAAoB,GAAG,CAAC,IAAU,EAAiC,EAAE,CACjF,CAAC,IAA8B,aAA9B,IAAI,uBAAJ,IAAI,CAA4B,iBAAiB,MAAK,SAAS,CAAC;AADrD,QAAA,oBAAoB,wBACiC;AAK3D,MAAM,iBAAiB,GAAG,CAAC,IAAU,EAA8B,EAAE,CAC3E,CAAC,IAA2B,aAA3B,IAAI,uBAAJ,IAAI,CAAyB,cAAc,MAAK,SAAS,CAAC;AAD/C,QAAA,iBAAiB,qBAC8B;AAKrD,MAAM,mBAAmB,GAAG,CAAC,IAAU,EAAgC,EAAE,CAC/E,CAAC,IAA6B,aAA7B,IAAI,uBAAJ,IAAI,CAA2B,gBAAgB,MAAK,SAAS,CAAC;AADnD,QAAA,mBAAmB,uBACgC;AAKzD,MAAM,kBAAkB,GAAG,CAAC,IAAU,EAA+B,EAAE,CAC7E,CAAC,IAA4B,aAA5B,IAAI,uBAAJ,IAAI,CAA0B,eAAe,MAAK,SAAS,CAAC;AADjD,QAAA,kBAAkB,sBAC+B;AAKvD,MAAM,UAAU,GAAG,CAAC,IAAU,EAAuB,EAAE,CAAC,CAAC,IAAoB,aAApB,IAAI,uBAAJ,IAAI,CAAkB,OAAO,MAAK,SAAS,CAAC;AAA/F,QAAA,UAAU,cAAqF;AAKrG,MAAM,eAAe,GAAG,CAAC,IAAU,EAA4B,EAAE,CACvE,CAAC,IAAyB,aAAzB,IAAI,uBAAJ,IAAI,CAAuB,YAAY,MAAK,SAAS,CAAC;AAD3C,QAAA,eAAe,mBAC4B;AAQjD,MAAM,iBAAiB,GAAG,CAAC,IAAU,EAA8B,EAAE,CAC3E,CAAC,IAA2B,aAA3B,IAAI,uBAAJ,IAAI,CAAyB,cAAc,MAAK,SAAS,CAAC;AAD/C,QAAA,iBAAiB,qBAC8B;AAKrD,MAAM,oBAAoB,GAAG,CAAC,IAAU,EAAiC,EAAE,CACjF,CAAC,IAA8B,aAA9B,IAAI,uBAAJ,IAAI,CAA4B,iBAAiB,MAAK,SAAS,CAAC;AADrD,QAAA,oBAAoB,wBACiC","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 {\r\n\tOnDespawnInput,\r\n\tOnOtherSpawnAuraInput,\r\n\tOnOtherSpawnInput,\r\n\tOnSpawnInput,\r\n} from '../simulation/add-minion-to-board';\r\nimport { OnAfterDeathInput, OnDeathInput, OnMinionKilledInput } from '../simulation/attack';\r\nimport { AvengeInput } from '../simulation/avenge';\r\nimport { BattlecryInput, OnBattlecryTriggeredInput } from '../simulation/battlecries';\r\nimport { OnCardAddedToHandInput } from '../simulation/cards-in-hand';\r\nimport { AfterDealDamageInput } from '../simulation/damage-effects';\r\nimport { AfterHeroDamagedInput } from '../simulation/damage-to-hero';\r\nimport { DeathrattleTriggeredInput } from '../simulation/deathrattle-on-trigger';\r\nimport { OnBeforeMagnetizeInput } 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\n\r\nexport interface Card {\r\n\t// Maybe should make this mandatory\r\n\tcardIds?: readonly string[];\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: NonNullable<Card['startOfCombat']>;\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\n// Whenever this attacks\r\nexport interface OnAttackCard extends Card {\r\n\tonAnyMinionAttack: (\r\n\t\tminion: BoardEntity | BoardTrinket | BoardEnchantment,\r\n\t\tinput: OnAttackInput,\r\n\t) => { dmgDoneByAttacker: number; dmgDoneByDefender: number };\r\n}\r\nexport const hasOnAttack = (card: Card): card is OnAttackCard =>\r\n\t(card as OnAttackCard)?.onAnyMinionAttack !== undefined;\r\n\r\n// Replaced by Rally\r\n// export interface OnAfterAttackCard extends Card {\r\n// \tonAnyMinionAfterAttack: (minion: BoardEntity | BoardTrinket, input: OnAfterAttackInput) => void;\r\n// }\r\n// export const hasOnAfterAttack = (card: Card): card is OnAfterAttackCard =>\r\n// \t(card as OnAfterAttackCard)?.onAnyMinionAfterAttack !== 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 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, 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 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 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\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, 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 OnBattlecryTriggeredCard extends Card {\r\n\tonBattlecryTriggered: (minion: BoardEntity, 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: (minion: BoardEntity | BoardTrinket, input: DeathrattleTriggeredInput) => void;\r\n}\r\nexport const hasOnDeathrattleTriggered = (card: Card): card is DeathrattleTriggeredCard =>\r\n\t(card as DeathrattleTriggeredCard)?.onDeathrattleTriggered !== undefined;\r\n\r\n// export interface DeathrattleEnchantmentEffectCard extends Card {\r\n// \tdeathrattleEffectEnchantmentEffect: (\r\n// \t\tminion: { cardId: string; originEntityId?: number; repeats?: number },\r\n// \t\tinput: DeathrattleTriggeredInput,\r\n// \t) => void;\r\n// \tcardIds: readonly string[];\r\n// }\r\n// export const hasDeathrattleEnchantmentEffect = (card: Card): card is DeathrattleEnchantmentEffectCard =>\r\n// \t(card as DeathrattleEnchantmentEffectCard)?.deathrattleEffectEnchantmentEffect !== undefined;\r\n\r\nexport interface DeathrattleSpawnEnchantmentCard extends Card {\r\n\tdeathrattleSpawnEnchantmentEffect: (\r\n\t\tminion: { cardId: string; originEntityId?: number; repeats?: number },\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, 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 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, 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 AfterDealDamageCard extends Card {\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 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\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, input: OnBeforeMagnetizeInput) => void;\r\n}\r\nexport const hasOnBeforeMagnetize = (card: Card): card is OnBeforeMagnetizeCard =>\r\n\t(card as OnBeforeMagnetizeCard)?.onBeforeMagnetize !== undefined;\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 {\r\n\tOnDespawnInput,\r\n\tOnOtherSpawnAuraInput,\r\n\tOnOtherSpawnInput,\r\n\tOnSpawnInput,\r\n} from '../simulation/add-minion-to-board';\r\nimport { OnAfterDeathInput, OnDeathInput, OnMinionKilledInput } from '../simulation/attack';\r\nimport { AvengeInput } from '../simulation/avenge';\r\nimport { BattlecryInput, OnBattlecryTriggeredInput } from '../simulation/battlecries';\r\nimport { OnCardAddedToHandInput } from '../simulation/cards-in-hand';\r\nimport { AfterDealDamageInput } from '../simulation/damage-effects';\r\nimport { AfterHeroDamagedInput } from '../simulation/damage-to-hero';\r\nimport { DeathrattleTriggeredInput } from '../simulation/deathrattle-on-trigger';\r\nimport { OnBeforeMagnetizeInput } 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\n\r\nexport interface Card {\r\n\t// Maybe should make this mandatory\r\n\tcardIds?: readonly string[];\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: NonNullable<Card['startOfCombat']>;\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\n// Whenever this attacks\r\nexport interface OnAttackCard extends Card {\r\n\tonAnyMinionAttack: (\r\n\t\tminion: BoardEntity | BoardTrinket | BoardEnchantment,\r\n\t\tinput: OnAttackInput,\r\n\t) => { dmgDoneByAttacker: number; dmgDoneByDefender: number };\r\n}\r\nexport const hasOnAttack = (card: Card): card is OnAttackCard =>\r\n\t(card as OnAttackCard)?.onAnyMinionAttack !== undefined;\r\n\r\n// Replaced by Rally\r\n// export interface OnAfterAttackCard extends Card {\r\n// \tonAnyMinionAfterAttack: (minion: BoardEntity | BoardTrinket, input: OnAfterAttackInput) => void;\r\n// }\r\n// export const hasOnAfterAttack = (card: Card): card is OnAfterAttackCard =>\r\n// \t(card as OnAfterAttackCard)?.onAnyMinionAfterAttack !== 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 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, 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 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 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\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, 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 OnBattlecryTriggeredCard extends Card {\r\n\tonBattlecryTriggered: (minion: BoardEntity, 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: (minion: BoardEntity | BoardTrinket, input: DeathrattleTriggeredInput) => void;\r\n}\r\nexport const hasOnDeathrattleTriggered = (card: Card): card is DeathrattleTriggeredCard =>\r\n\t(card as DeathrattleTriggeredCard)?.onDeathrattleTriggered !== undefined;\r\n\r\n// export interface DeathrattleEnchantmentEffectCard extends Card {\r\n// \tdeathrattleEffectEnchantmentEffect: (\r\n// \t\tminion: { cardId: string; originEntityId?: number; repeats?: number },\r\n// \t\tinput: DeathrattleTriggeredInput,\r\n// \t) => void;\r\n// \tcardIds: readonly string[];\r\n// }\r\n// export const hasDeathrattleEnchantmentEffect = (card: Card): card is DeathrattleEnchantmentEffectCard =>\r\n// \t(card as DeathrattleEnchantmentEffectCard)?.deathrattleEffectEnchantmentEffect !== undefined;\r\n\r\nexport interface DeathrattleSpawnEnchantmentCard extends Card {\r\n\tdeathrattleSpawnEnchantmentEffect: (\r\n\t\tminion: { cardId: string; originEntityId?: number; repeats?: number },\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, 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 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, 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 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\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 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\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, input: OnBeforeMagnetizeInput) => void;\r\n}\r\nexport const hasOnBeforeMagnetize = (card: Card): card is OnBeforeMagnetizeCard =>\r\n\t(card as OnBeforeMagnetizeCard)?.onBeforeMagnetize !== undefined;\r\n"]}
@@ -120,6 +120,7 @@ const karmic_chameleon_1 = require("./minion/karmic-chameleon");
120
120
  const king_bagurgle_1 = require("./minion/king-bagurgle");
121
121
  const leeroy_the_reckless_1 = require("./minion/leeroy-the-reckless");
122
122
  const lightfang_enforcer_1 = require("./minion/lightfang-enforcer");
123
+ const lightfeather_screecher_1 = require("./minion/lightfeather-screecher");
123
124
  const lokholar_frostforger_1 = require("./minion/lokholar-frostforger");
124
125
  const lord_of_the_ruins_1 = require("./minion/lord-of-the-ruins");
125
126
  const lost_city_looter_1 = require("./minion/lost-city-looter");
@@ -272,6 +273,7 @@ const cards = [
272
273
  shipwrecked_rascal_1.ShipwreckedRascal,
273
274
  coldlight_diver_1.ColdlightDiver,
274
275
  canopy_swinger_1.CanopySwinger,
276
+ lightfeather_screecher_1.LightfeatherScreecher,
275
277
  hot_springer_1.HotSpringer,
276
278
  flotsam_flinger_1.FlotsamFlinger,
277
279
  young_murk_eye_1.YoungMurkEye,
@@ -1 +1 @@
1
- {"version":3,"file":"_card-mappings.js","sourceRoot":"","sources":["../../../src/cards/impl/_card-mappings.ts"],"names":[],"mappings":"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","sourcesContent":["import { Card } from '../card.interface';\r\nimport { SharingIsCaring } from './bg-spell/sharing-is-caring';\r\nimport { GloriousGloop } from './hero-power/glorious-gloop';\r\nimport { AdmiralElizaGoreblade } from './minion/admiral-eliza-goreblade';\r\nimport { AllSeeingElder } from './minion/all-seeing-elder';\r\nimport { Alleycat } from './minion/alleycat';\r\nimport { AmplifyingLightspawn } from './minion/amplifying-lightspawn';\r\nimport { AnubarakNerubianKing } from './minion/anubarak-nerubian-king';\r\nimport { ApprenticeOfSefin } from './minion/apprentice-of-sefin';\r\nimport { ArcaneCannoneer } from './minion/arcane-cannoneer';\r\nimport { Archimonde } from './minion/archimonde';\r\nimport { AridAtrocity } from './minion/arid-atrocity';\r\nimport { AshenCorruptor } from './minion/ashen-corruptor';\r\nimport { AssistantGuard } from './minion/assistant-guard';\r\nimport { AutoAssembler } from './minion/auto-assembler';\r\nimport { AutoAssemblerEnchantment } from './minion/auto-assembler-enchantment';\r\nimport { AvalancheCaller } from './minion/avalanche-caller';\r\nimport { Baneling } from './minion/baneling';\r\nimport { Bannerboar } from './minion/bannerboar';\r\nimport { Battlecruiser } from './minion/battlecruiser';\r\nimport { Beetle } from './minion/beetle';\r\nimport { BellowingTyrant } from './minion/bellowing-tyrant';\r\nimport { BigwigBandit } from './minion/bigwig-bandit';\r\nimport { BileSpitter } from './minion/bile-spitter';\r\nimport { BirdBuddy } from './minion/bird-buddy';\r\nimport { BlazingSkyfin } from './minion/blazing-skyfin';\r\nimport { BloodsnoutWarlord } from './minion/bloodsnout-warlord';\r\nimport { BlueWhelp } from './minion/blue-whelp';\r\nimport { BoarGamer } from './minion/boar-gamer';\r\nimport { BongoBopper } from './minion/bongo-bopper';\r\nimport { Bonker } from './minion/bonker';\r\nimport { BriarbackBookie } from './minion/briarback-bookie';\r\nimport { BronzeSteward } from './minion/bronze-steward';\r\nimport { BubbleGunner } from './minion/bubble-gunner';\r\nimport { BuzzingVermin } from './minion/buzzing-vermin';\r\nimport { CadaverCaretaker } from './minion/cadaver-caretaker';\r\nimport { CampfireShadow } from './minion/campfire-shadow';\r\nimport { CanopySwinger } from './minion/canopy-swinger';\r\nimport { CaptainBonerender } from './minion/captain-bonerender';\r\nimport { CarapaceRaiser } from './minion/carapace-raiser';\r\nimport { Carrier } from './minion/carrier';\r\nimport { ChampionOfThePrimus } from './minion/champion-of-the-primus';\r\nimport { Charlga } from './minion/charlga';\r\nimport { Charmwing } from './minion/charmwing';\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 { CorruptedBristler } from './minion/corrupted-bristler';\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 { Deadstomper } from './minion/deadstomper';\r\nimport { DeathlyStriker } from './minion/deathly-striker';\r\nimport { DefiantShipwright } from './minion/defiant-shipwright';\r\nimport { DeflectoBot } from './minion/deflecto-bot';\r\nimport { DevoutHellcaller } from './minion/devout-hellcaller';\r\nimport { DrakkariEmbalmer } from './minion/drakkari-embalmer';\r\nimport { DreamingThornweaver } from './minion/dreaming-thornweaver';\r\nimport { DrustfallenButcher } from './minion/drustfallen-butcher';\r\nimport { EchoingRoar } from './minion/echoing-roar';\r\nimport { EfficientEngineer } from './minion/efficient-engineer';\r\nimport { ElectricSynthesizer } from './minion/electric-synthesizer';\r\nimport { EliteNavigator } from './minion/elite-navigator';\r\nimport { ExceptionalCaretaker } from './minion/exceptionnal-caretaker';\r\nimport { FairyGillmother } from './minion/fairy-gillmother';\r\nimport { FaunaWhisperer } from './minion/fauna-whisperer';\r\nimport { FireForgedEvoker } from './minion/fire-forged-evoker';\r\nimport { FirescaleHoarder } from './minion/firescale-hoarder';\r\nimport { FireworksFanatic } from './minion/fireworks-fanatic';\r\nimport { FlightyScout } from './minion/flighty-scout';\r\nimport { FloatingWatcher } from './minion/floating-watcher';\r\nimport { FlotsamFlinger } from './minion/flotsam-flinger';\r\nimport { ForestRover } from './minion/forest-rover';\r\nimport { FountainChiller } from './minion/fountain-chiller';\r\nimport { FriendlyGeist } from './minion/friendly-geist';\r\nimport { GearedGuard } from './minion/geared-guard';\r\nimport { GemRat } from './minion/gem-rat';\r\nimport { GemSmuggler } from './minion/gem-smuggler';\r\nimport { GeneralDrakkisath } from './minion/general-drakkisath';\r\nimport { GentleDjinni } from './minion/gentle-djinni';\r\nimport { GentleStag } from './minion/gentle-stag';\r\nimport { GleamingTrader } from './minion/gleaming-trader';\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 { Greenskeeper } from './minion/greenskeeper';\r\nimport { GrimscaleElegist } from './minion/grimscale-elegist';\r\nimport { GrittyHeadhunter } from './minion/gritty-headhunter';\r\nimport { Hackerfin } from './minion/hackerfin';\r\nimport { HandlessForsaken } from './minion/handless-forsaken';\r\nimport { HarmlessBonehead } from './minion/harmless-bonehead';\r\nimport { 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 { Hydralisk } from './minion/hydralisk';\r\nimport { IgnitionSpecialist } from './minion/ignition-specialist';\r\nimport { Immortal } from './minion/immortal';\r\nimport { ImplantSubject } from './minion/implant-subject';\r\nimport { ImposingPercussionist } from './minion/imposing-percussionist';\r\nimport { ImpulsiveTrickster } from './minion/impulsive-trickster';\r\nimport { IndomitableMount } from './minion/indomitable-mount';\r\nimport { InspiringUnderdog } from './minion/inspiring-underdog';\r\nimport { InterrogatorWhitemane } from './minion/interrogator-whitemane';\r\nimport { KalecgosArcaneAspect } from './minion/kalecgos-arcane-aspect';\r\nimport { KangorsApprentice } from './minion/kangors-apprentice';\r\nimport { KarmicChameleon } from './minion/karmic-chameleon';\r\nimport { KingBagurgle } from './minion/king-bagurgle';\r\nimport { LeeroyTheReckless } from './minion/leeroy-the-reckless';\r\nimport { LightfangEnforcer } from './minion/lightfang-enforcer';\r\nimport { 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 { Lurker } from './minion/lurker';\r\nimport { Manasaber } from './minion/manasaber';\r\nimport { MarqueeTicker } from './minion/marquee-ticker';\r\nimport { MawCaster } from './minion/maw-caster';\r\nimport { MechaJaraxxus } from './minion/mecha-jaraxxus';\r\nimport { MechagnomeInterpreter } from './minion/mechagnome-interpreter';\r\nimport { MechanizedGiftHorse } from './minion/mechanized-gift-horse';\r\nimport { Mechorse } from './minion/mechorse';\r\nimport { MenagerieJug } from './minion/menagerie-jug';\r\nimport { MetallicHunter } from './minion/metallic-hunter';\r\nimport { MisfitDragonling } from './minion/misfit-dragonling';\r\nimport { MonstrousMacaw } from './minion/monstrous-macaw';\r\nimport { MoonsteelJuggernaut } from './minion/moonsteel-juggernaut';\r\nimport { Mothership } from './minion/mothership';\r\nimport { Mummifier } from './minion/mummifier';\r\nimport { MurkbrineExpeditioner } from './minion/murkbrine-expeditioner';\r\nimport { Murky } from './minion/murky';\r\nimport { Mutalisk } from './minion/mutalisk';\r\nimport { MutatedLasher } from './minion/mutated-lasher';\r\nimport { MythraxTheUnraveler } from './minion/mythrax';\r\nimport { NeonAgent } from './minion/neon-agent';\r\nimport { NerubianDeathswarmer } from './minion/nerubian-deathswarmer';\r\nimport { NestSwarmer } from './minion/nest-swarmer';\r\nimport { NetherDrake } from './minion/nether-drake';\r\nimport { NightmareParTeaGuest } from './minion/nightmare-par-tea-guest';\r\nimport { NimbleHatchling } from './minion/nimble-hatchling';\r\nimport { Niuzao } from './minion/niuzao';\r\nimport { NoisulOfTheManyFaces } from './minion/noisul-of-the-many-faces';\r\nimport { OozelingGladiator } from './minion/oozeling-gladiator';\r\nimport { OperaticBelcher } from './minion/operatic-belcher';\r\nimport { OranomonosTheWilted } from './minion/oranomonos-the-wilted';\r\nimport { OutbackSmolderer } from './minion/outback-smolderer';\r\nimport { ParchedWanderer } from './minion/parched-wanderer';\r\nimport { PeggySturdybone } from './minion/peggy-sturdybone';\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 { ProdigiousTusker } from './minion/prodigious-tusker';\r\nimport { RapscallionRecruiter } from './minion/rapscallion-recruiter';\r\nimport { RaptorElder } from './minion/raptor-elder';\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 { RicketyRepairbot } from './minion/rickety-repairbot';\r\nimport { RideOrDie } from './minion/ride-or-die';\r\nimport { RipsnarlCaptain } from './minion/ripsnarl-captain';\r\nimport { Roach } from './minion/roach';\r\nimport { Roadboar } from './minion/roadboar';\r\nimport { RodeoPerformer } from './minion/rodeo-performer';\r\nimport { RuinsRenovator } from './minion/ruins-renovator';\r\nimport { RunedProgenitor } from './minion/runed-progenitor';\r\nimport { RylakMetalhead } from './minion/rylak-metalhead';\r\nimport { SaltyHog } from './minion/salty-hog';\r\nimport { SandSwirler } from './minion/sand-swirler';\r\nimport { SanguineRefiner } from './minion/sanguine-refiner';\r\nimport { SanlaynScribe } from './minion/sanlayn-scribe';\r\nimport { Scallywag } from './minion/scallywag';\r\nimport { ScourgeHarvester } from './minion/scourge-harvester';\r\nimport { SelflessHero } from './minion/selfless-hero';\r\nimport { Shadowdancer } from './minion/shadowdancer';\r\nimport { SharpEyedSabretooth } from './minion/sharp-eyed-sabretooth';\r\nimport { SharptoothSnapper } from './minion/sharptooth-snapper';\r\nimport { ShellCollector } from './minion/shell-collector';\r\nimport { ShipMasterEudora } from './minion/ship-master-eudora';\r\nimport { ShipwreckedRascal } from './minion/shipwrecked-rascal';\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 { 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 { SoulRewinder } from './minion/soul-rewinder';\r\nimport { Spacefarer } from './minion/spacefarer';\r\nimport { SpiritedWhimsydrake } from './minion/spirited-whimsydrake';\r\nimport { SpringySpriggan } from './minion/springy-spriggan';\r\nimport { StitchedSalvager } from './minion/stitched-salvager';\r\nimport { StompingStegodon } from './minion/stomping-stegodon';\r\nimport { StompingStegodonEnchantment } from './minion/stomping-stegodon-enchantment';\r\nimport { StraySatyr } from './minion/stray-satyr';\r\nimport { SurfingSylvar } from './minion/surfing-slyvar';\r\nimport { Swampstriker } from './minion/swampstriker';\r\nimport { Thorncaller } from './minion/thorncaller';\r\nimport { ThreeLilQuilboar } from './minion/three-lil-quilboar';\r\nimport { ThunderingAbomination } from './minion/thundering-abomination';\r\nimport { Tichondrius } from './minion/tichondrius';\r\nimport { TransmutedBramblewitch } from './minion/transmuted-bramblewitch';\r\nimport { TunnelBlaster } from './minion/tunnel-blaster';\r\nimport { TurquoiseSkitterer } from './minion/turquoise-skitterer';\r\nimport { TuskedCamper } from './minion/tusked-camper';\r\nimport { TwilightPrimordium } from './minion/twilight-primordium';\r\nimport { TwilightWatcher } from './minion/twilight-watcher';\r\nimport { Ultralisk } from './minion/ultralisk';\r\nimport { UltravioletAscendant } from './minion/ultraviolet-ascendant';\r\nimport { ValiantTiger } from './minion/valiant-tiger';\r\nimport { VengefulProtector } from './minion/vengeful-protector';\r\nimport { VoidEarl } from './minion/void-earl';\r\nimport { VoidRay } from './minion/void-ray';\r\nimport { VorkaiGuardian } from './minion/vorkai-guardian';\r\nimport { WanderingWight } from './minion/wandering-wight';\r\nimport { WhelpSmuggler } from './minion/whelp-smuggler';\r\nimport { 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 { WrathscaleRogue } from './minion/wrathscale-rogue';\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 { RighteousCharge } from './quest-reward/stand-as-one';\r\nimport { AllPurposeKibble } from './trinket/all-purpose-kibble';\r\nimport { ArmOfTheEmpire } from './trinket/arm-of-the-empire';\r\nimport { ArtisanalUrn } from './trinket/artisanal-urn';\r\nimport { BalefulIncense } from './trinket/baleful-incense';\r\nimport { BassgillPortrait } from './trinket/bassgill-portrait';\r\nimport { BattleHorn } from './trinket/battle-horn';\r\nimport { BeetleBand } from './trinket/beetle-band';\r\nimport { BirdFeeder } from './trinket/bird-feeder';\r\nimport { CrochetedSungill } from './trinket/crocheted-sungill';\r\nimport { DivineSignet } from './trinket/divine-signet';\r\nimport { EclecticShrine } from './trinket/eclectic-shrine';\r\nimport { FaerieDragonScale } from './trinket/faerie-dragon-scale';\r\nimport { HeraldSticker } from './trinket/herald-sticker';\r\nimport { HogwashBasin } from './trinket/hogwash-basin';\r\nimport { StharaSticker } from './trinket/sthara-sticker';\r\nimport { UnholySanctum } from './trinket/unholy-sanctum';\r\nimport { VashjirAnemone } from './trinket/vashjir-anemone';\r\nimport { YulonSticker } from './trinket/yulon-sticker';\r\n\r\nconst cards = [\r\n\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\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\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\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\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\tDreamingThornweaver,\r\n\tSkulkingBristlemane,\r\n\tSharptoothSnapper,\r\n\tValiantTiger,\r\n\tAmplifyingLightspawn,\r\n\tGlowingCinder,\r\n\tSandSwirler,\r\n\tBonker,\r\n\tThorncaller,\r\n\tVashjirAnemone,\r\n\tGlowgulletWarlord,\r\n\tCorruptedBristler,\r\n\tGreenskeeper,\r\n\tMawCaster,\r\n\tDastardlyDrust,\r\n\tEliteNavigator,\r\n\tSurfingSylvar,\r\n\tGoldGrubber,\r\n\tUnholySanctum,\r\n\tHumongozz,\r\n\tArtisanalUrn,\r\n\tDrustfallenButcher,\r\n\tNoisulOfTheManyFaces,\r\n\tFirescaleHoarder,\r\n\tIgnitionSpecialist,\r\n\tBalefulIncense,\r\n\tSpiritedWhimsydrake,\r\n\tBirdFeeder,\r\n\tFireForgedEvoker,\r\n\tBronzeSteward,\r\n\tMetallicHunter,\r\n\tYulonSticker,\r\n\tBattleHorn,\r\n\tFaerieDragonScale,\r\n\tSpringySpriggan,\r\n\tRicketyRepairbot,\r\n\tMechagnomeInterpreter,\r\n\tAutoAssembler,\r\n\tAutoAssemblerEnchantment,\r\n\tDeadstomper,\r\n\tArmOfTheEmpire,\r\n\tBattlecruiser,\r\n\tSharingIsCaring,\r\n\tLowFlier,\r\n\tZergling,\r\n\tHydralisk,\r\n\tBaneling,\r\n\tMutalisk,\r\n\tLurker,\r\n\tRoach,\r\n\tUltralisk,\r\n\tColossus,\r\n\tCarrier,\r\n\tImmortal,\r\n\tVoidRay,\r\n\tMothership,\r\n\tCaptainBonerender,\r\n\tGentleStag,\r\n\tBellowingTyrant,\r\n\tStitchedSalvager,\r\n\tMythraxTheUnraveler,\r\n\tWildfireElemental,\r\n\tHoloRover,\r\n\tForestRover,\r\n\tBeetle,\r\n\tBuzzingVermin,\r\n\tGemRat,\r\n\tNestSwarmer,\r\n\tRunedProgenitor,\r\n\tTurquoiseSkitterer,\r\n\tEfficientEngineer,\r\n\tNetherDrake,\r\n\tElectricSynthesizer,\r\n\tEclecticShrine,\r\n\tSelflessHero,\r\n\tNightmareParTeaGuest,\r\n\tVorkaiGuardian,\r\n\tOutbackSmolderer,\r\n\tRazorgoreTheUntamed,\r\n\tUltravioletAscendant,\r\n\tTwilightPrimordium,\r\n\tGentleDjinni,\r\n\tMoonsteelJuggernaut,\r\n\tMarqueeTicker,\r\n\tRecklessCliffdiver,\r\n\tFountainChiller,\r\n\tNeonAgent,\r\n\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\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\tImposingPercussionist,\r\n\tSoulRewinder,\r\n\tTichondrius,\r\n\tArchimonde,\r\n\tSanlaynScribe,\r\n\tBriarbackBookie,\r\n\tShadowdancer,\r\n\tAshenCorruptor,\r\n\t// AmberGuardian,\r\n];\r\n\r\nexport const cardMappings: { [cardId: string]: Card } = {};\r\nfor (const card of cards) {\r\n\tconst cardIds = card.cardIds ?? [];\r\n\tfor (const cardId of cardIds) {\r\n\t\tcardMappings[cardId] = card;\r\n\t}\r\n}\r\n"]}
1
+ {"version":3,"file":"_card-mappings.js","sourceRoot":"","sources":["../../../src/cards/impl/_card-mappings.ts"],"names":[],"mappings":"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","sourcesContent":["import { Card } from '../card.interface';\r\nimport { SharingIsCaring } from './bg-spell/sharing-is-caring';\r\nimport { GloriousGloop } from './hero-power/glorious-gloop';\r\nimport { AdmiralElizaGoreblade } from './minion/admiral-eliza-goreblade';\r\nimport { AllSeeingElder } from './minion/all-seeing-elder';\r\nimport { Alleycat } from './minion/alleycat';\r\nimport { AmplifyingLightspawn } from './minion/amplifying-lightspawn';\r\nimport { AnubarakNerubianKing } from './minion/anubarak-nerubian-king';\r\nimport { ApprenticeOfSefin } from './minion/apprentice-of-sefin';\r\nimport { ArcaneCannoneer } from './minion/arcane-cannoneer';\r\nimport { Archimonde } from './minion/archimonde';\r\nimport { AridAtrocity } from './minion/arid-atrocity';\r\nimport { AshenCorruptor } from './minion/ashen-corruptor';\r\nimport { AssistantGuard } from './minion/assistant-guard';\r\nimport { AutoAssembler } from './minion/auto-assembler';\r\nimport { AutoAssemblerEnchantment } from './minion/auto-assembler-enchantment';\r\nimport { AvalancheCaller } from './minion/avalanche-caller';\r\nimport { Baneling } from './minion/baneling';\r\nimport { Bannerboar } from './minion/bannerboar';\r\nimport { Battlecruiser } from './minion/battlecruiser';\r\nimport { Beetle } from './minion/beetle';\r\nimport { BellowingTyrant } from './minion/bellowing-tyrant';\r\nimport { BigwigBandit } from './minion/bigwig-bandit';\r\nimport { BileSpitter } from './minion/bile-spitter';\r\nimport { BirdBuddy } from './minion/bird-buddy';\r\nimport { BlazingSkyfin } from './minion/blazing-skyfin';\r\nimport { BloodsnoutWarlord } from './minion/bloodsnout-warlord';\r\nimport { BlueWhelp } from './minion/blue-whelp';\r\nimport { BoarGamer } from './minion/boar-gamer';\r\nimport { BongoBopper } from './minion/bongo-bopper';\r\nimport { Bonker } from './minion/bonker';\r\nimport { BriarbackBookie } from './minion/briarback-bookie';\r\nimport { BronzeSteward } from './minion/bronze-steward';\r\nimport { BubbleGunner } from './minion/bubble-gunner';\r\nimport { BuzzingVermin } from './minion/buzzing-vermin';\r\nimport { CadaverCaretaker } from './minion/cadaver-caretaker';\r\nimport { CampfireShadow } from './minion/campfire-shadow';\r\nimport { CanopySwinger } from './minion/canopy-swinger';\r\nimport { CaptainBonerender } from './minion/captain-bonerender';\r\nimport { CarapaceRaiser } from './minion/carapace-raiser';\r\nimport { Carrier } from './minion/carrier';\r\nimport { ChampionOfThePrimus } from './minion/champion-of-the-primus';\r\nimport { Charlga } from './minion/charlga';\r\nimport { Charmwing } from './minion/charmwing';\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 { CorruptedBristler } from './minion/corrupted-bristler';\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 { Deadstomper } from './minion/deadstomper';\r\nimport { DeathlyStriker } from './minion/deathly-striker';\r\nimport { DefiantShipwright } from './minion/defiant-shipwright';\r\nimport { DeflectoBot } from './minion/deflecto-bot';\r\nimport { DevoutHellcaller } from './minion/devout-hellcaller';\r\nimport { DrakkariEmbalmer } from './minion/drakkari-embalmer';\r\nimport { DreamingThornweaver } from './minion/dreaming-thornweaver';\r\nimport { DrustfallenButcher } from './minion/drustfallen-butcher';\r\nimport { EchoingRoar } from './minion/echoing-roar';\r\nimport { EfficientEngineer } from './minion/efficient-engineer';\r\nimport { ElectricSynthesizer } from './minion/electric-synthesizer';\r\nimport { EliteNavigator } from './minion/elite-navigator';\r\nimport { ExceptionalCaretaker } from './minion/exceptionnal-caretaker';\r\nimport { FairyGillmother } from './minion/fairy-gillmother';\r\nimport { FaunaWhisperer } from './minion/fauna-whisperer';\r\nimport { FireForgedEvoker } from './minion/fire-forged-evoker';\r\nimport { FirescaleHoarder } from './minion/firescale-hoarder';\r\nimport { FireworksFanatic } from './minion/fireworks-fanatic';\r\nimport { FlightyScout } from './minion/flighty-scout';\r\nimport { FloatingWatcher } from './minion/floating-watcher';\r\nimport { FlotsamFlinger } from './minion/flotsam-flinger';\r\nimport { ForestRover } from './minion/forest-rover';\r\nimport { FountainChiller } from './minion/fountain-chiller';\r\nimport { FriendlyGeist } from './minion/friendly-geist';\r\nimport { GearedGuard } from './minion/geared-guard';\r\nimport { GemRat } from './minion/gem-rat';\r\nimport { GemSmuggler } from './minion/gem-smuggler';\r\nimport { GeneralDrakkisath } from './minion/general-drakkisath';\r\nimport { GentleDjinni } from './minion/gentle-djinni';\r\nimport { GentleStag } from './minion/gentle-stag';\r\nimport { GleamingTrader } from './minion/gleaming-trader';\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 { Greenskeeper } from './minion/greenskeeper';\r\nimport { GrimscaleElegist } from './minion/grimscale-elegist';\r\nimport { GrittyHeadhunter } from './minion/gritty-headhunter';\r\nimport { Hackerfin } from './minion/hackerfin';\r\nimport { HandlessForsaken } from './minion/handless-forsaken';\r\nimport { HarmlessBonehead } from './minion/harmless-bonehead';\r\nimport { 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 { Hydralisk } from './minion/hydralisk';\r\nimport { IgnitionSpecialist } from './minion/ignition-specialist';\r\nimport { Immortal } from './minion/immortal';\r\nimport { ImplantSubject } from './minion/implant-subject';\r\nimport { ImposingPercussionist } from './minion/imposing-percussionist';\r\nimport { ImpulsiveTrickster } from './minion/impulsive-trickster';\r\nimport { IndomitableMount } from './minion/indomitable-mount';\r\nimport { InspiringUnderdog } from './minion/inspiring-underdog';\r\nimport { InterrogatorWhitemane } from './minion/interrogator-whitemane';\r\nimport { KalecgosArcaneAspect } from './minion/kalecgos-arcane-aspect';\r\nimport { KangorsApprentice } from './minion/kangors-apprentice';\r\nimport { KarmicChameleon } from './minion/karmic-chameleon';\r\nimport { KingBagurgle } from './minion/king-bagurgle';\r\nimport { LeeroyTheReckless } from './minion/leeroy-the-reckless';\r\nimport { LightfangEnforcer } from './minion/lightfang-enforcer';\r\nimport { LightfeatherScreecher } from './minion/lightfeather-screecher';\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 { Lurker } from './minion/lurker';\r\nimport { Manasaber } from './minion/manasaber';\r\nimport { MarqueeTicker } from './minion/marquee-ticker';\r\nimport { MawCaster } from './minion/maw-caster';\r\nimport { MechaJaraxxus } from './minion/mecha-jaraxxus';\r\nimport { MechagnomeInterpreter } from './minion/mechagnome-interpreter';\r\nimport { MechanizedGiftHorse } from './minion/mechanized-gift-horse';\r\nimport { Mechorse } from './minion/mechorse';\r\nimport { MenagerieJug } from './minion/menagerie-jug';\r\nimport { MetallicHunter } from './minion/metallic-hunter';\r\nimport { MisfitDragonling } from './minion/misfit-dragonling';\r\nimport { MonstrousMacaw } from './minion/monstrous-macaw';\r\nimport { MoonsteelJuggernaut } from './minion/moonsteel-juggernaut';\r\nimport { Mothership } from './minion/mothership';\r\nimport { Mummifier } from './minion/mummifier';\r\nimport { MurkbrineExpeditioner } from './minion/murkbrine-expeditioner';\r\nimport { Murky } from './minion/murky';\r\nimport { Mutalisk } from './minion/mutalisk';\r\nimport { MutatedLasher } from './minion/mutated-lasher';\r\nimport { MythraxTheUnraveler } from './minion/mythrax';\r\nimport { NeonAgent } from './minion/neon-agent';\r\nimport { NerubianDeathswarmer } from './minion/nerubian-deathswarmer';\r\nimport { NestSwarmer } from './minion/nest-swarmer';\r\nimport { NetherDrake } from './minion/nether-drake';\r\nimport { NightmareParTeaGuest } from './minion/nightmare-par-tea-guest';\r\nimport { NimbleHatchling } from './minion/nimble-hatchling';\r\nimport { Niuzao } from './minion/niuzao';\r\nimport { NoisulOfTheManyFaces } from './minion/noisul-of-the-many-faces';\r\nimport { OozelingGladiator } from './minion/oozeling-gladiator';\r\nimport { OperaticBelcher } from './minion/operatic-belcher';\r\nimport { OranomonosTheWilted } from './minion/oranomonos-the-wilted';\r\nimport { OutbackSmolderer } from './minion/outback-smolderer';\r\nimport { ParchedWanderer } from './minion/parched-wanderer';\r\nimport { PeggySturdybone } from './minion/peggy-sturdybone';\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 { ProdigiousTusker } from './minion/prodigious-tusker';\r\nimport { RapscallionRecruiter } from './minion/rapscallion-recruiter';\r\nimport { RaptorElder } from './minion/raptor-elder';\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 { RicketyRepairbot } from './minion/rickety-repairbot';\r\nimport { RideOrDie } from './minion/ride-or-die';\r\nimport { RipsnarlCaptain } from './minion/ripsnarl-captain';\r\nimport { Roach } from './minion/roach';\r\nimport { Roadboar } from './minion/roadboar';\r\nimport { RodeoPerformer } from './minion/rodeo-performer';\r\nimport { RuinsRenovator } from './minion/ruins-renovator';\r\nimport { RunedProgenitor } from './minion/runed-progenitor';\r\nimport { RylakMetalhead } from './minion/rylak-metalhead';\r\nimport { SaltyHog } from './minion/salty-hog';\r\nimport { SandSwirler } from './minion/sand-swirler';\r\nimport { SanguineRefiner } from './minion/sanguine-refiner';\r\nimport { SanlaynScribe } from './minion/sanlayn-scribe';\r\nimport { Scallywag } from './minion/scallywag';\r\nimport { ScourgeHarvester } from './minion/scourge-harvester';\r\nimport { SelflessHero } from './minion/selfless-hero';\r\nimport { Shadowdancer } from './minion/shadowdancer';\r\nimport { SharpEyedSabretooth } from './minion/sharp-eyed-sabretooth';\r\nimport { SharptoothSnapper } from './minion/sharptooth-snapper';\r\nimport { ShellCollector } from './minion/shell-collector';\r\nimport { ShipMasterEudora } from './minion/ship-master-eudora';\r\nimport { ShipwreckedRascal } from './minion/shipwrecked-rascal';\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 { 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 { SoulRewinder } from './minion/soul-rewinder';\r\nimport { Spacefarer } from './minion/spacefarer';\r\nimport { SpiritedWhimsydrake } from './minion/spirited-whimsydrake';\r\nimport { SpringySpriggan } from './minion/springy-spriggan';\r\nimport { StitchedSalvager } from './minion/stitched-salvager';\r\nimport { StompingStegodon } from './minion/stomping-stegodon';\r\nimport { StompingStegodonEnchantment } from './minion/stomping-stegodon-enchantment';\r\nimport { StraySatyr } from './minion/stray-satyr';\r\nimport { SurfingSylvar } from './minion/surfing-slyvar';\r\nimport { Swampstriker } from './minion/swampstriker';\r\nimport { Thorncaller } from './minion/thorncaller';\r\nimport { ThreeLilQuilboar } from './minion/three-lil-quilboar';\r\nimport { ThunderingAbomination } from './minion/thundering-abomination';\r\nimport { Tichondrius } from './minion/tichondrius';\r\nimport { TransmutedBramblewitch } from './minion/transmuted-bramblewitch';\r\nimport { TunnelBlaster } from './minion/tunnel-blaster';\r\nimport { TurquoiseSkitterer } from './minion/turquoise-skitterer';\r\nimport { TuskedCamper } from './minion/tusked-camper';\r\nimport { TwilightPrimordium } from './minion/twilight-primordium';\r\nimport { TwilightWatcher } from './minion/twilight-watcher';\r\nimport { Ultralisk } from './minion/ultralisk';\r\nimport { UltravioletAscendant } from './minion/ultraviolet-ascendant';\r\nimport { ValiantTiger } from './minion/valiant-tiger';\r\nimport { VengefulProtector } from './minion/vengeful-protector';\r\nimport { VoidEarl } from './minion/void-earl';\r\nimport { VoidRay } from './minion/void-ray';\r\nimport { VorkaiGuardian } from './minion/vorkai-guardian';\r\nimport { WanderingWight } from './minion/wandering-wight';\r\nimport { WhelpSmuggler } from './minion/whelp-smuggler';\r\nimport { 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 { WrathscaleRogue } from './minion/wrathscale-rogue';\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 { RighteousCharge } from './quest-reward/stand-as-one';\r\nimport { AllPurposeKibble } from './trinket/all-purpose-kibble';\r\nimport { ArmOfTheEmpire } from './trinket/arm-of-the-empire';\r\nimport { ArtisanalUrn } from './trinket/artisanal-urn';\r\nimport { BalefulIncense } from './trinket/baleful-incense';\r\nimport { BassgillPortrait } from './trinket/bassgill-portrait';\r\nimport { BattleHorn } from './trinket/battle-horn';\r\nimport { BeetleBand } from './trinket/beetle-band';\r\nimport { BirdFeeder } from './trinket/bird-feeder';\r\nimport { CrochetedSungill } from './trinket/crocheted-sungill';\r\nimport { DivineSignet } from './trinket/divine-signet';\r\nimport { EclecticShrine } from './trinket/eclectic-shrine';\r\nimport { FaerieDragonScale } from './trinket/faerie-dragon-scale';\r\nimport { HeraldSticker } from './trinket/herald-sticker';\r\nimport { HogwashBasin } from './trinket/hogwash-basin';\r\nimport { StharaSticker } from './trinket/sthara-sticker';\r\nimport { UnholySanctum } from './trinket/unholy-sanctum';\r\nimport { VashjirAnemone } from './trinket/vashjir-anemone';\r\nimport { YulonSticker } from './trinket/yulon-sticker';\r\n\r\nconst cards = [\r\n\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\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\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\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\tDreamingThornweaver,\r\n\tSkulkingBristlemane,\r\n\tSharptoothSnapper,\r\n\tValiantTiger,\r\n\tAmplifyingLightspawn,\r\n\tGlowingCinder,\r\n\tSandSwirler,\r\n\tBonker,\r\n\tThorncaller,\r\n\tVashjirAnemone,\r\n\tGlowgulletWarlord,\r\n\tCorruptedBristler,\r\n\tGreenskeeper,\r\n\tMawCaster,\r\n\tDastardlyDrust,\r\n\tEliteNavigator,\r\n\tSurfingSylvar,\r\n\tGoldGrubber,\r\n\tUnholySanctum,\r\n\tHumongozz,\r\n\tArtisanalUrn,\r\n\tDrustfallenButcher,\r\n\tNoisulOfTheManyFaces,\r\n\tFirescaleHoarder,\r\n\tIgnitionSpecialist,\r\n\tBalefulIncense,\r\n\tSpiritedWhimsydrake,\r\n\tBirdFeeder,\r\n\tFireForgedEvoker,\r\n\tBronzeSteward,\r\n\tMetallicHunter,\r\n\tYulonSticker,\r\n\tBattleHorn,\r\n\tFaerieDragonScale,\r\n\tSpringySpriggan,\r\n\tRicketyRepairbot,\r\n\tMechagnomeInterpreter,\r\n\tAutoAssembler,\r\n\tAutoAssemblerEnchantment,\r\n\tDeadstomper,\r\n\tArmOfTheEmpire,\r\n\tBattlecruiser,\r\n\tSharingIsCaring,\r\n\tLowFlier,\r\n\tZergling,\r\n\tHydralisk,\r\n\tBaneling,\r\n\tMutalisk,\r\n\tLurker,\r\n\tRoach,\r\n\tUltralisk,\r\n\tColossus,\r\n\tCarrier,\r\n\tImmortal,\r\n\tVoidRay,\r\n\tMothership,\r\n\tCaptainBonerender,\r\n\tGentleStag,\r\n\tBellowingTyrant,\r\n\tStitchedSalvager,\r\n\tMythraxTheUnraveler,\r\n\tWildfireElemental,\r\n\tHoloRover,\r\n\tForestRover,\r\n\tBeetle,\r\n\tBuzzingVermin,\r\n\tGemRat,\r\n\tNestSwarmer,\r\n\tRunedProgenitor,\r\n\tTurquoiseSkitterer,\r\n\tEfficientEngineer,\r\n\tNetherDrake,\r\n\tElectricSynthesizer,\r\n\tEclecticShrine,\r\n\tSelflessHero,\r\n\tNightmareParTeaGuest,\r\n\tVorkaiGuardian,\r\n\tOutbackSmolderer,\r\n\tRazorgoreTheUntamed,\r\n\tUltravioletAscendant,\r\n\tTwilightPrimordium,\r\n\tGentleDjinni,\r\n\tMoonsteelJuggernaut,\r\n\tMarqueeTicker,\r\n\tRecklessCliffdiver,\r\n\tFountainChiller,\r\n\tNeonAgent,\r\n\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\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\tImposingPercussionist,\r\n\tSoulRewinder,\r\n\tTichondrius,\r\n\tArchimonde,\r\n\tSanlaynScribe,\r\n\tBriarbackBookie,\r\n\tShadowdancer,\r\n\tAshenCorruptor,\r\n\t// AmberGuardian,\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"]}
@@ -12,7 +12,7 @@ exports.AimHigh = {
12
12
  if (exports.AimHigh.cardIds.includes(heroPower.cardId) && heroPower.used) {
13
13
  const highestHealthMinion = [...input.opponentBoard].sort((a, b) => b.health - a.health)[0];
14
14
  const target = (0, utils_1.pickRandom)(input.opponentBoard.filter((e) => e.health === highestHealthMinion.health));
15
- const damageDone = (0, attack_1.dealDamageToMinion)(target, input.opponentBoard, input.opponentEntity, null, (_a = heroPower.info2) !== null && _a !== void 0 ? _a : 0, input.playerBoard, input.playerEntity, input.gameState);
15
+ const damageDone = (0, attack_1.dealDamageToMinion)(target, input.opponentBoard, input.opponentEntity, input.playerEntity, (_a = heroPower.info2) !== null && _a !== void 0 ? _a : 0, input.playerBoard, input.playerEntity, input.gameState);
16
16
  input.playerEntity.deadEyeDamageDone = damageDone;
17
17
  return true;
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"aim-high.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/aim-high.ts"],"names":[],"mappings":";;;AAEA,mDAAqD;AACrD,uDAAgE;AAInD,QAAA,OAAO,GAAsB;IACzC,mBAAmB,EAAE,iBAAiB;IACtC,OAAO,EAAE,qBAAsB;IAC/B,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,eAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBACjE,MAAM,mBAAmB,GAAG,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5F,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACtG,MAAM,UAAU,GAAG,IAAA,2BAAkB,EACpC,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,MAAA,SAAS,CAAC,KAAK,mCAAI,CAAC,EACpB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;gBAEF,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,UAAU,CAAC;gBAClD,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { dealDamageToMinion } from '../../../simulation/attack';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const AimHigh: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\tcardIds: [CardIds.AimHighToken],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (AimHigh.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tconst highestHealthMinion = [...input.opponentBoard].sort((a, b) => b.health - a.health)[0];\r\n\t\t\t\tconst target = pickRandom(input.opponentBoard.filter((e) => e.health === highestHealthMinion.health));\r\n\t\t\t\tconst damageDone = dealDamageToMinion(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\theroPower.info2 ?? 0,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\t// processMinionDeath(playerBoard, playerEntity, opponentBoard, opponentEntity, allCards, cardsData, sharedState, spectator);\r\n\t\t\t\tinput.playerEntity.deadEyeDamageDone = damageDone;\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"aim-high.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/aim-high.ts"],"names":[],"mappings":";;;AAEA,mDAAqD;AACrD,uDAAgE;AAInD,QAAA,OAAO,GAAsB;IACzC,mBAAmB,EAAE,iBAAiB;IACtC,OAAO,EAAE,qBAAsB;IAC/B,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,eAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBACjE,MAAM,mBAAmB,GAAG,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5F,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACtG,MAAM,UAAU,GAAG,IAAA,2BAAkB,EACpC,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,YAAY,EAClB,MAAA,SAAS,CAAC,KAAK,mCAAI,CAAC,EACpB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;gBAEF,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,UAAU,CAAC;gBAClD,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { dealDamageToMinion } from '../../../simulation/attack';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const AimHigh: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\tcardIds: [CardIds.AimHighToken],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (AimHigh.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tconst highestHealthMinion = [...input.opponentBoard].sort((a, b) => b.health - a.health)[0];\r\n\t\t\t\tconst target = pickRandom(input.opponentBoard.filter((e) => e.health === highestHealthMinion.health));\r\n\t\t\t\tconst damageDone = dealDamageToMinion(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\theroPower.info2 ?? 0,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\t// processMinionDeath(playerBoard, playerEntity, opponentBoard, opponentEntity, allCards, cardsData, sharedState, spectator);\r\n\t\t\t\tinput.playerEntity.deadEyeDamageDone = damageDone;\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -10,7 +10,7 @@ exports.AimLeft = {
10
10
  for (const heroPower of input.playerEntity.heroPowers) {
11
11
  if (exports.AimLeft.cardIds.includes(heroPower.cardId) && heroPower.used) {
12
12
  const target = input.opponentBoard[0];
13
- const damageDone = (0, attack_1.dealDamageToMinion)(target, input.opponentBoard, input.opponentEntity, null, (_a = heroPower.info2) !== null && _a !== void 0 ? _a : 0, input.playerBoard, input.playerEntity, input.gameState);
13
+ const damageDone = (0, attack_1.dealDamageToMinion)(target, input.opponentBoard, input.opponentEntity, input.playerEntity, (_a = heroPower.info2) !== null && _a !== void 0 ? _a : 0, input.playerBoard, input.playerEntity, input.gameState);
14
14
  input.playerEntity.deadEyeDamageDone = damageDone;
15
15
  return true;
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"aim-left.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/aim-left.ts"],"names":[],"mappings":";;;AAEA,uDAAgE;AAInD,QAAA,OAAO,GAAsB;IACzC,mBAAmB,EAAE,iBAAiB;IACtC,OAAO,EAAE,qBAAsB;IAC/B,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,eAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBACjE,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACtC,MAAM,UAAU,GAAG,IAAA,2BAAkB,EACpC,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,MAAA,SAAS,CAAC,KAAK,mCAAI,CAAC,EACpB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,UAAU,CAAC;gBAClD,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { dealDamageToMinion } from '../../../simulation/attack';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const AimLeft: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\tcardIds: [CardIds.AimLeftToken],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (AimLeft.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tconst target = input.opponentBoard[0];\r\n\t\t\t\tconst damageDone = dealDamageToMinion(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\theroPower.info2 ?? 0,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\tinput.playerEntity.deadEyeDamageDone = damageDone;\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"aim-left.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/aim-left.ts"],"names":[],"mappings":";;;AAEA,uDAAgE;AAInD,QAAA,OAAO,GAAsB;IACzC,mBAAmB,EAAE,iBAAiB;IACtC,OAAO,EAAE,qBAAsB;IAC/B,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,eAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBACjE,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACtC,MAAM,UAAU,GAAG,IAAA,2BAAkB,EACpC,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,YAAY,EAClB,MAAA,SAAS,CAAC,KAAK,mCAAI,CAAC,EACpB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,UAAU,CAAC;gBAClD,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { dealDamageToMinion } from '../../../simulation/attack';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const AimLeft: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\tcardIds: [CardIds.AimLeftToken],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (AimLeft.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tconst target = input.opponentBoard[0];\r\n\t\t\t\tconst damageDone = dealDamageToMinion(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\theroPower.info2 ?? 0,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\tinput.playerEntity.deadEyeDamageDone = damageDone;\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -12,7 +12,7 @@ exports.AimLow = {
12
12
  if (exports.AimLow.cardIds.includes(heroPower.cardId) && heroPower.used) {
13
13
  const smallestHealthMinion = [...input.opponentBoard].sort((a, b) => a.health - b.health)[0];
14
14
  const target = (0, utils_1.pickRandom)(input.opponentBoard.filter((e) => e.health === smallestHealthMinion.health));
15
- const damageDone = (0, attack_1.dealDamageToMinion)(target, input.opponentBoard, input.opponentEntity, null, (_a = heroPower.info2) !== null && _a !== void 0 ? _a : 0, input.playerBoard, input.playerEntity, input.gameState);
15
+ const damageDone = (0, attack_1.dealDamageToMinion)(target, input.opponentBoard, input.opponentEntity, input.playerEntity, (_a = heroPower.info2) !== null && _a !== void 0 ? _a : 0, input.playerBoard, input.playerEntity, input.gameState);
16
16
  input.playerEntity.deadEyeDamageDone = damageDone;
17
17
  return true;
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"aim-low.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/aim-low.ts"],"names":[],"mappings":";;;AAEA,mDAAqD;AACrD,uDAAgE;AAInD,QAAA,MAAM,GAAsB;IACxC,mBAAmB,EAAE,iBAAiB;IACtC,OAAO,EAAE,qBAAqB;IAC9B,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,cAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBAChE,MAAM,oBAAoB,GAAG,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7F,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvG,MAAM,UAAU,GAAG,IAAA,2BAAkB,EACpC,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,MAAA,SAAS,CAAC,KAAK,mCAAI,CAAC,EACpB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;gBAEF,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,UAAU,CAAC;gBAClD,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { dealDamageToMinion } from '../../../simulation/attack';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const AimLow: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\tcardIds: [CardIds.AimLowToken],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (AimLow.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tconst smallestHealthMinion = [...input.opponentBoard].sort((a, b) => a.health - b.health)[0];\r\n\t\t\t\tconst target = pickRandom(input.opponentBoard.filter((e) => e.health === smallestHealthMinion.health));\r\n\t\t\t\tconst damageDone = dealDamageToMinion(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\theroPower.info2 ?? 0,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\t// processMinionDeath(playerBoard, playerEntity, opponentBoard, opponentEntity, allCards, cardsData, sharedState, spectator);\r\n\t\t\t\tinput.playerEntity.deadEyeDamageDone = damageDone;\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"aim-low.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/aim-low.ts"],"names":[],"mappings":";;;AAEA,mDAAqD;AACrD,uDAAgE;AAInD,QAAA,MAAM,GAAsB;IACxC,mBAAmB,EAAE,iBAAiB;IACtC,OAAO,EAAE,qBAAqB;IAC9B,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,cAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBAChE,MAAM,oBAAoB,GAAG,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7F,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvG,MAAM,UAAU,GAAG,IAAA,2BAAkB,EACpC,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,YAAY,EAClB,MAAA,SAAS,CAAC,KAAK,mCAAI,CAAC,EACpB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;gBAEF,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,UAAU,CAAC;gBAClD,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { pickRandom } from '../../../services/utils';\r\nimport { dealDamageToMinion } from '../../../simulation/attack';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const AimLow: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\tcardIds: [CardIds.AimLowToken],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (AimLow.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tconst smallestHealthMinion = [...input.opponentBoard].sort((a, b) => a.health - b.health)[0];\r\n\t\t\t\tconst target = pickRandom(input.opponentBoard.filter((e) => e.health === smallestHealthMinion.health));\r\n\t\t\t\tconst damageDone = dealDamageToMinion(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\theroPower.info2 ?? 0,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\t// processMinionDeath(playerBoard, playerEntity, opponentBoard, opponentEntity, allCards, cardsData, sharedState, spectator);\r\n\t\t\t\tinput.playerEntity.deadEyeDamageDone = damageDone;\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -10,7 +10,7 @@ exports.AimRight = {
10
10
  for (const heroPower of input.playerEntity.heroPowers) {
11
11
  if (exports.AimRight.cardIds.includes(heroPower.cardId) && heroPower.used) {
12
12
  const target = input.opponentBoard[input.opponentBoard.length - 1];
13
- const damageDone = (0, attack_1.dealDamageToMinion)(target, input.opponentBoard, input.opponentEntity, null, (_a = heroPower.info2) !== null && _a !== void 0 ? _a : 0, input.playerBoard, input.playerEntity, input.gameState);
13
+ const damageDone = (0, attack_1.dealDamageToMinion)(target, input.opponentBoard, input.opponentEntity, input.playerEntity, (_a = heroPower.info2) !== null && _a !== void 0 ? _a : 0, input.playerBoard, input.playerEntity, input.gameState);
14
14
  input.playerEntity.deadEyeDamageDone = damageDone;
15
15
  return true;
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"aim-right.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/aim-right.ts"],"names":[],"mappings":";;;AAEA,uDAAgE;AAInD,QAAA,QAAQ,GAAsB;IAC1C,mBAAmB,EAAE,iBAAiB;IACtC,OAAO,EAAE,qBAAuB;IAChC,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,gBAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBAClE,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnE,MAAM,UAAU,GAAG,IAAA,2BAAkB,EACpC,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,MAAA,SAAS,CAAC,KAAK,mCAAI,CAAC,EACpB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,UAAU,CAAC;gBAClD,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { dealDamageToMinion } from '../../../simulation/attack';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const AimRight: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\tcardIds: [CardIds.AimRightToken],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (AimRight.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tconst target = input.opponentBoard[input.opponentBoard.length - 1];\r\n\t\t\t\tconst damageDone = dealDamageToMinion(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\theroPower.info2 ?? 0,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\tinput.playerEntity.deadEyeDamageDone = damageDone;\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"aim-right.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/aim-right.ts"],"names":[],"mappings":";;;AAEA,uDAAgE;AAInD,QAAA,QAAQ,GAAsB;IAC1C,mBAAmB,EAAE,iBAAiB;IACtC,OAAO,EAAE,qBAAuB;IAChC,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,gBAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBAClE,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnE,MAAM,UAAU,GAAG,IAAA,2BAAkB,EACpC,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,YAAY,EAClB,MAAA,SAAS,CAAC,KAAK,mCAAI,CAAC,EACpB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,UAAU,CAAC;gBAClD,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { dealDamageToMinion } from '../../../simulation/attack';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const AimRight: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\tcardIds: [CardIds.AimRightToken],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (AimRight.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tconst target = input.opponentBoard[input.opponentBoard.length - 1];\r\n\t\t\t\tconst damageDone = dealDamageToMinion(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\theroPower.info2 ?? 0,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\tinput.playerEntity.deadEyeDamageDone = damageDone;\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -8,7 +8,7 @@ exports.LightningInvocation = {
8
8
  startOfCombat: (trinket, input) => {
9
9
  for (const heroPower of input.playerEntity.heroPowers) {
10
10
  if (exports.LightningInvocation.cardIds.includes(heroPower.cardId) && heroPower.used) {
11
- (0, deathrattle_effects_1.applyLightningInvocationEnchantment)(input.playerBoard, input.playerEntity, null, input.opponentBoard, input.opponentEntity, input.gameState);
11
+ (0, deathrattle_effects_1.applyLightningInvocationEnchantment)(input.playerBoard, input.playerEntity, input.playerEntity, input.opponentBoard, input.opponentEntity, input.gameState);
12
12
  return true;
13
13
  }
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lightning-invocation.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/lightning-invocation.ts"],"names":[],"mappings":";;;AAEA,iFAA8F;AAIjF,QAAA,mBAAmB,GAAsB;IACrD,mBAAmB,EAAE,iBAAiB;IACtC,OAAO,EAAE,4CAA+D;IACxE,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,2BAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBAC7E,IAAA,yDAAmC,EAClC,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,IAAI,EACJ,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { applyLightningInvocationEnchantment } from '../../../simulation/deathrattle-effects';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const LightningInvocation: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\tcardIds: [CardIds.LightningInvocationToken, CardIds.LightningInvocation],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (LightningInvocation.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tapplyLightningInvocationEnchantment(\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"lightning-invocation.js","sourceRoot":"","sources":["../../../../src/cards/impl/hero-power/lightning-invocation.ts"],"names":[],"mappings":";;;AAEA,iFAA8F;AAIjF,QAAA,mBAAmB,GAAsB;IACrD,mBAAmB,EAAE,iBAAiB;IACtC,OAAO,EAAE,4CAA+D;IACxE,aAAa,EAAE,CAAC,OAAqB,EAAE,KAAe,EAAE,EAAE;QACzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACtD,IAAI,2BAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBAC7E,IAAA,yDAAmC,EAClC,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,OAAO,IAAI,CAAC;aACZ;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardTrinket } from '../../../bgs-player-entity';\r\nimport { applyLightningInvocationEnchantment } from '../../../simulation/deathrattle-effects';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const LightningInvocation: StartOfCombatCard = {\r\n\tstartOfCombatTiming: 'start-of-combat',\r\n\tcardIds: [CardIds.LightningInvocationToken, CardIds.LightningInvocation],\r\n\tstartOfCombat: (trinket: BoardTrinket, input: SoCInput) => {\r\n\t\tfor (const heroPower of input.playerEntity.heroPowers) {\r\n\t\t\tif (LightningInvocation.cardIds.includes(heroPower.cardId) && heroPower.used) {\r\n\t\t\t\tapplyLightningInvocationEnchantment(\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.opponentBoard,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -7,8 +7,13 @@ const utils_1 = require("../../../utils");
7
7
  exports.DevoutHellcaller = {
8
8
  cardIds: ["BG33_155", "BG33_155_G"],
9
9
  afterDealDamage: (minion, input) => {
10
+ if (minion.friendly !== input.damageDealer.friendly || minion === input.damageDealer) {
11
+ return;
12
+ }
10
13
  const mult = minion.cardId === "BG33_155_G" ? 2 : 1;
11
14
  if (input.damageDealer != minion &&
15
+ 'attack' in input.damageDealer &&
16
+ 'health' in input.damageDealer &&
12
17
  (0, utils_1.hasCorrectTribe)(input.damageDealer, input.hero, reference_data_1.Race.DEMON, input.gameState.anomalies, input.gameState.allCards)) {
13
18
  (0, stats_1.modifyStats)(minion, minion, 1 * mult, 1 * mult, input.board, input.hero, input.gameState);
14
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"devout-hellcaller.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/devout-hellcaller.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,gBAAgB,GAAwB;IACpD,OAAO,EAAE,0BAAwE;IACjF,eAAe,EAAE,CAAC,MAAmB,EAAE,KAA2B,EAAE,EAAE;QACrE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,IACC,KAAK,CAAC,YAAY,IAAI,MAAM;YAC5B,IAAA,uBAAe,EACd,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,IAAI,EACV,qBAAI,CAAC,KAAK,EACV,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;YACD,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC1F;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { AfterDealDamageInput } from '../../../simulation/damage-effects';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterDealDamageCard } from '../../card.interface';\r\n\r\nexport const DevoutHellcaller: AfterDealDamageCard = {\r\n\tcardIds: [CardIds.DevoutHellcaller_BG33_155, CardIds.DevoutHellcaller_BG33_155_G],\r\n\tafterDealDamage: (minion: BoardEntity, input: AfterDealDamageInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.DevoutHellcaller_BG33_155_G ? 2 : 1;\r\n\t\tif (\r\n\t\t\tinput.damageDealer != minion &&\r\n\t\t\thasCorrectTribe(\r\n\t\t\t\tinput.damageDealer,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tRace.DEMON,\r\n\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t)\r\n\t\t) {\r\n\t\t\tmodifyStats(minion, minion, 1 * mult, 1 * mult, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"devout-hellcaller.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/devout-hellcaller.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,gBAAgB,GAAwB;IACpD,OAAO,EAAE,0BAAwE;IACjF,eAAe,EAAE,CAAC,MAAmB,EAAE,KAA2B,EAAE,EAAE;QAErE,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,YAAY,CAAC,QAAQ,IAAI,MAAM,KAAK,KAAK,CAAC,YAAY,EAAE;YACrF,OAAO;SACP;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,IACC,KAAK,CAAC,YAAY,IAAI,MAAM;YAC5B,QAAQ,IAAI,KAAK,CAAC,YAAY;YAC9B,QAAQ,IAAI,KAAK,CAAC,YAAY;YAC9B,IAAA,uBAAe,EACd,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,IAAI,EACV,qBAAI,CAAC,KAAK,EACV,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;YACD,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC1F;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { AfterDealDamageInput } from '../../../simulation/damage-effects';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterDealDamageCard } from '../../card.interface';\r\n\r\nexport const DevoutHellcaller: AfterDealDamageCard = {\r\n\tcardIds: [CardIds.DevoutHellcaller_BG33_155, CardIds.DevoutHellcaller_BG33_155_G],\r\n\tafterDealDamage: (minion: BoardEntity, input: AfterDealDamageInput) => {\r\n\t\t// Only other friendly minions trigger this\r\n\t\tif (minion.friendly !== input.damageDealer.friendly || minion === input.damageDealer) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst mult = minion.cardId === CardIds.DevoutHellcaller_BG33_155_G ? 2 : 1;\r\n\t\tif (\r\n\t\t\tinput.damageDealer != minion &&\r\n\t\t\t'attack' in input.damageDealer &&\r\n\t\t\t'health' in input.damageDealer &&\r\n\t\t\thasCorrectTribe(\r\n\t\t\t\tinput.damageDealer,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tRace.DEMON,\r\n\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t)\r\n\t\t) {\r\n\t\t\tmodifyStats(minion, minion, 1 * mult, 1 * mult, input.board, input.hero, input.gameState);\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LightfeatherScreecher = void 0;
4
4
  const reference_data_1 = require("@firestone-hs/reference-data");
5
- const taunt_1 = require("../../../keywords/taunt");
6
5
  const windfury_1 = require("../../../keywords/windfury");
7
6
  const utils_1 = require("../../../utils");
7
+ const divine_shield_1 = require("../../../keywords/divine-shield");
8
8
  exports.LightfeatherScreecher = {
9
9
  cardIds: ["BG33_841", "BG33_841_G"],
10
10
  startOfCombat: (minion, input) => {
@@ -13,7 +13,7 @@ exports.LightfeatherScreecher = {
13
13
  for (let i = 0; i < mult; i++) {
14
14
  const target = candidates[i];
15
15
  if (!!target) {
16
- (0, taunt_1.updateTaunt)(target, true, input.playerBoard, input.playerEntity, input.opponentEntity, input.gameState);
16
+ (0, divine_shield_1.updateDivineShield)(target, input.playerBoard, input.playerEntity, input.opponentEntity, true, input.gameState);
17
17
  (0, windfury_1.updateWindfury)(target, true, input.playerBoard, input.playerEntity, input.opponentEntity, input.gameState);
18
18
  }
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lightfeather-screecher.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/lightfeather-screecher.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAE7D,mDAAsD;AACtD,yDAA4D;AAE5D,0CAAiD;AAGpC,QAAA,qBAAqB,GAAsB;IACvD,OAAO,EAAE,0BAAkF;IAC3F,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA6C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACjD,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACvG,CAAC;QACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,CAAC,MAAM,EAAE;gBACb,IAAA,mBAAW,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBACxG,IAAA,yBAAc,EACb,MAAM,EACN,IAAI,EACJ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;aACF;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { updateWindfury } from '../../../keywords/windfury';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\n\r\nexport const LightfeatherScreecher: StartOfCombatCard = {\r\n\tcardIds: [CardIds.LightfeatherScreecher_BG33_841, CardIds.LightfeatherScreecher_BG33_841_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.LightfeatherScreecher_BG33_841_G ? 2 : 1;\r\n\t\tconst candidates = input.playerBoard.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.playerEntity, Race.BEAST, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t);\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tconst target = candidates[i];\r\n\t\t\tif (!!target) {\r\n\t\t\t\tupdateTaunt(target, true, input.playerBoard, input.playerEntity, input.opponentEntity, input.gameState);\r\n\t\t\t\tupdateWindfury(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\ttrue,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"lightfeather-screecher.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/lightfeather-screecher.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,yDAA4D;AAE5D,0CAAiD;AAEjD,mEAAqE;AAExD,QAAA,qBAAqB,GAAsB;IACvD,OAAO,EAAE,0BAAkF;IAC3F,aAAa,EAAE,CAAC,MAAmB,EAAE,KAAe,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAA6C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACjD,IAAA,uBAAe,EAAC,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAI,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACvG,CAAC;QACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,CAAC,MAAM,EAAE;gBACb,IAAA,kCAAkB,EACjB,MAAM,EACN,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,IAAI,EACJ,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,IAAA,yBAAc,EACb,MAAM,EACN,IAAI,EACJ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;aACF;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateTaunt } from '../../../keywords/taunt';\r\nimport { updateWindfury } from '../../../keywords/windfury';\r\nimport { SoCInput } from '../../../simulation/start-of-combat/start-of-combat-input';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { StartOfCombatCard } from '../../card.interface';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\n\r\nexport const LightfeatherScreecher: StartOfCombatCard = {\r\n\tcardIds: [CardIds.LightfeatherScreecher_BG33_841, CardIds.LightfeatherScreecher_BG33_841_G],\r\n\tstartOfCombat: (minion: BoardEntity, input: SoCInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.LightfeatherScreecher_BG33_841_G ? 2 : 1;\r\n\t\tconst candidates = input.playerBoard.filter((e) =>\r\n\t\t\thasCorrectTribe(e, input.playerEntity, Race.BEAST, input.gameState.anomalies, input.gameState.allCards),\r\n\t\t);\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tconst target = candidates[i];\r\n\t\t\tif (!!target) {\r\n\t\t\t\tupdateDivineShield(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\ttrue,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t\tupdateWindfury(\r\n\t\t\t\t\ttarget,\r\n\t\t\t\t\ttrue,\r\n\t\t\t\t\tinput.playerBoard,\r\n\t\t\t\t\tinput.playerEntity,\r\n\t\t\t\t\tinput.opponentEntity,\r\n\t\t\t\t\tinput.gameState,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n};\r\n"]}
@@ -7,8 +7,13 @@ const utils_1 = require("../../../utils");
7
7
  exports.LordOfTheRuins = {
8
8
  cardIds: ["BG33_154", "BG33_154_G"],
9
9
  afterDealDamage: (minion, input) => {
10
+ if (minion.friendly !== input.damageDealer.friendly) {
11
+ return;
12
+ }
10
13
  const mult = minion.cardId === "BG33_154_G" ? 2 : 1;
11
- if ((0, utils_1.hasCorrectTribe)(input.damageDealer, input.hero, reference_data_1.Race.DEMON, input.gameState.anomalies, input.gameState.allCards)) {
14
+ if ('attack' in input.damageDealer &&
15
+ 'health' in input.damageDealer &&
16
+ (0, utils_1.hasCorrectTribe)(input.damageDealer, input.hero, reference_data_1.Race.DEMON, input.gameState.anomalies, input.gameState.allCards)) {
12
17
  const targets = input.board.filter((e) => e !== input.damageDealer);
13
18
  for (const target of targets) {
14
19
  (0, stats_1.modifyStats)(minion, target, 2 * mult, 2 * mult, input.board, input.hero, input.gameState);
@@ -1 +1 @@
1
- {"version":3,"file":"lord-of-the-ruins.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/lord-of-the-ruins.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,cAAc,GAAwB;IAClD,OAAO,EAAE,0BAAoE;IAC7E,eAAe,EAAE,CAAC,MAAmB,EAAE,KAA2B,EAAE,EAAE;QACrE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,IACC,IAAA,uBAAe,EACd,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,IAAI,EACV,qBAAI,CAAC,KAAK,EACV,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;YACD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,YAAY,CAAC,CAAC;YACpE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC7B,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aAC1F;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { AfterDealDamageInput } from '../../../simulation/damage-effects';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterDealDamageCard } from '../../card.interface';\r\n\r\nexport const LordOfTheRuins: AfterDealDamageCard = {\r\n\tcardIds: [CardIds.LordOfTheRuins_BG33_154, CardIds.LordOfTheRuins_BG33_154_G],\r\n\tafterDealDamage: (minion: BoardEntity, input: AfterDealDamageInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.LordOfTheRuins_BG33_154_G ? 2 : 1;\r\n\t\tif (\r\n\t\t\thasCorrectTribe(\r\n\t\t\t\tinput.damageDealer,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tRace.DEMON,\r\n\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t)\r\n\t\t) {\r\n\t\t\tconst targets = input.board.filter((e) => e !== input.damageDealer);\r\n\t\t\tfor (const target of targets) {\r\n\t\t\t\tmodifyStats(minion, target, 2 * mult, 2 * mult, input.board, input.hero, input.gameState);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"lord-of-the-ruins.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/lord-of-the-ruins.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAG7D,qDAAwD;AACxD,0CAAiD;AAGpC,QAAA,cAAc,GAAwB;IAClD,OAAO,EAAE,0BAAoE;IAC7E,eAAe,EAAE,CAAC,MAAmB,EAAE,KAA2B,EAAE,EAAE;QAErE,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE;YACpD,OAAO;SACP;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,IACC,QAAQ,IAAI,KAAK,CAAC,YAAY;YAC9B,QAAQ,IAAI,KAAK,CAAC,YAAY;YAC9B,IAAA,uBAAe,EACd,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,IAAI,EACV,qBAAI,CAAC,KAAK,EACV,KAAK,CAAC,SAAS,CAAC,SAAS,EACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACxB,EACA;YACD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,YAAY,CAAC,CAAC;YACpE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC7B,IAAA,mBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aAC1F;SACD;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds, Race } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { AfterDealDamageInput } from '../../../simulation/damage-effects';\r\nimport { modifyStats } from '../../../simulation/stats';\r\nimport { hasCorrectTribe } from '../../../utils';\r\nimport { AfterDealDamageCard } from '../../card.interface';\r\n\r\nexport const LordOfTheRuins: AfterDealDamageCard = {\r\n\tcardIds: [CardIds.LordOfTheRuins_BG33_154, CardIds.LordOfTheRuins_BG33_154_G],\r\n\tafterDealDamage: (minion: BoardEntity, input: AfterDealDamageInput) => {\r\n\t\t// Only friendly minions trigger this\r\n\t\tif (minion.friendly !== input.damageDealer.friendly) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst mult = minion.cardId === CardIds.LordOfTheRuins_BG33_154_G ? 2 : 1;\r\n\t\tif (\r\n\t\t\t'attack' in input.damageDealer &&\r\n\t\t\t'health' in input.damageDealer &&\r\n\t\t\thasCorrectTribe(\r\n\t\t\t\tinput.damageDealer,\r\n\t\t\t\tinput.hero,\r\n\t\t\t\tRace.DEMON,\r\n\t\t\t\tinput.gameState.anomalies,\r\n\t\t\t\tinput.gameState.allCards,\r\n\t\t\t)\r\n\t\t) {\r\n\t\t\tconst targets = input.board.filter((e) => e !== input.damageDealer);\r\n\t\t\tfor (const target of targets) {\r\n\t\t\t\tmodifyStats(minion, target, 2 * mult, 2 * mult, input.board, input.hero, input.gameState);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -8,12 +8,17 @@ exports.Poultron = {
8
8
  baseAvengeValue: (cardId) => 4,
9
9
  avenge: (minion, input) => {
10
10
  const mult = minion.cardId === "BG33_371_G" ? 2 : 1;
11
- for (let i = 0; i < mult; i++) {
11
+ const previousHasAttacked = minion.hasAttacked;
12
+ const previousWindfury = minion.windfury;
13
+ const totalAttacks = mult * (minion.windfury ? 2 : 1);
14
+ for (let i = 0; i < totalAttacks; i++) {
15
+ minion.windfury = false;
12
16
  (0, divine_shield_1.updateDivineShield)(minion, input.board, input.hero, input.otherHero, true, input.gameState);
13
17
  minion.attackImmediately = true;
14
18
  (0, attack_1.simulateAttack)(input.board, input.hero, input.otherBoard, input.otherHero, input.gameState);
15
- minion.hasAttacked = 0;
19
+ minion.hasAttacked = previousHasAttacked;
16
20
  minion.attackImmediately = false;
21
+ minion.windfury = previousWindfury;
17
22
  }
18
23
  },
19
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"poultron.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/poultron.ts"],"names":[],"mappings":";;;AAEA,mEAAqE;AACrE,uDAA4D;AAI/C,QAAA,QAAQ,GAAe;IACnC,OAAO,EAAE,0BAAwD;IACjE,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,MAAmB,EAAE,KAAkB,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC9B,IAAA,kCAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC5F,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAChC,IAAA,uBAAc,EAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC5F,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;YACvB,MAAM,CAAC,iBAAiB,GAAG,KAAK,CAAC;SACjC;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { simulateAttack } from '../../../simulation/attack';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const Poultron: AvengeCard = {\r\n\tcardIds: [CardIds.P0ulTr0n_BG33_371, CardIds.P0ulTr0n_BG33_371_G],\r\n\tbaseAvengeValue: (cardId) => 4,\r\n\tavenge: (minion: BoardEntity, input: AvengeInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.P0ulTr0n_BG33_371_G ? 2 : 1;\r\n\t\tfor (let i = 0; i < mult; i++) {\r\n\t\t\tupdateDivineShield(minion, input.board, input.hero, input.otherHero, true, input.gameState);\r\n\t\t\tminion.attackImmediately = true;\r\n\t\t\tsimulateAttack(input.board, input.hero, input.otherBoard, input.otherHero, input.gameState);\r\n\t\t\tminion.hasAttacked = 0;\r\n\t\t\tminion.attackImmediately = false;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
1
+ {"version":3,"file":"poultron.js","sourceRoot":"","sources":["../../../../src/cards/impl/minion/poultron.ts"],"names":[],"mappings":";;;AAEA,mEAAqE;AACrE,uDAA4D;AAI/C,QAAA,QAAQ,GAAe;IACnC,OAAO,EAAE,0BAAwD;IACjE,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,MAAmB,EAAE,KAAkB,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,iBAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAAC;QAG/C,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC;QACzC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;YACxB,IAAA,kCAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC5F,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAChC,IAAA,uBAAc,EAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC5F,MAAM,CAAC,WAAW,GAAG,mBAAmB,CAAC;YACzC,MAAM,CAAC,iBAAiB,GAAG,KAAK,CAAC;YACjC,MAAM,CAAC,QAAQ,GAAG,gBAAgB,CAAC;SACnC;IACF,CAAC;CACD,CAAC","sourcesContent":["import { CardIds } from '@firestone-hs/reference-data';\r\nimport { BoardEntity } from '../../../board-entity';\r\nimport { updateDivineShield } from '../../../keywords/divine-shield';\r\nimport { simulateAttack } from '../../../simulation/attack';\r\nimport { AvengeInput } from '../../../simulation/avenge';\r\nimport { AvengeCard } from '../../card.interface';\r\n\r\nexport const Poultron: AvengeCard = {\r\n\tcardIds: [CardIds.P0ulTr0n_BG33_371, CardIds.P0ulTr0n_BG33_371_G],\r\n\tbaseAvengeValue: (cardId) => 4,\r\n\tavenge: (minion: BoardEntity, input: AvengeInput) => {\r\n\t\tconst mult = minion.cardId === CardIds.P0ulTr0n_BG33_371_G ? 2 : 1;\r\n\t\tconst previousHasAttacked = minion.hasAttacked;\r\n\t\t// Not sure why, but with Windfury it looks like the divine shield is granted each time\r\n\t\t// It's a bug, so once it's fixed I should remove this\r\n\t\tconst previousWindfury = minion.windfury;\r\n\t\tconst totalAttacks = mult * (minion.windfury ? 2 : 1);\r\n\t\tfor (let i = 0; i < totalAttacks; i++) {\r\n\t\t\tminion.windfury = false;\r\n\t\t\tupdateDivineShield(minion, input.board, input.hero, input.otherHero, true, input.gameState);\r\n\t\t\tminion.attackImmediately = true;\r\n\t\t\tsimulateAttack(input.board, input.hero, input.otherBoard, input.otherHero, input.gameState);\r\n\t\t\tminion.hasAttacked = previousHasAttacked;\r\n\t\t\tminion.attackImmediately = false;\r\n\t\t\tminion.windfury = previousWindfury;\r\n\t\t}\r\n\t},\r\n};\r\n"]}
@@ -30,13 +30,18 @@ exports.RaptorElder = {
30
30
  }
31
31
  },
32
32
  onOtherSpawned: (minion, input) => {
33
- if (!(0, utils_1.hasCorrectTribe)(input.spawned, input.hero, reference_data_1.Race.BEAST, input.gameState.anomalies, input.gameState.allCards)) {
34
- return;
35
- }
36
33
  const mult = minion.cardId === "BG33_842_G" ? 2 : 1;
37
34
  const baseBuff = input.hero.globalInfo.BeastsSummonedThisCombat * mult;
38
- input.spawned.attack += attackBuff * baseBuff;
39
- input.spawned.health += healthBuff * baseBuff;
35
+ if (input.applySelfAuras &&
36
+ (0, utils_1.hasCorrectTribe)(input.spawned, input.hero, reference_data_1.Race.BEAST, input.gameState.anomalies, input.gameState.allCards)) {
37
+ input.spawned.attack += attackBuff * baseBuff;
38
+ input.spawned.health += healthBuff * baseBuff;
39
+ }
40
+ const allTargets = input.board.filter((e) => (0, utils_1.hasCorrectTribe)(e, input.hero, reference_data_1.Race.BEAST, input.gameState.anomalies, input.gameState.allCards));
41
+ for (const target of allTargets) {
42
+ target.attack += attackBuff * mult;
43
+ target.health += healthBuff * mult;
44
+ }
40
45
  },
41
46
  };
42
47
  //# sourceMappingURL=raptor-elder.js.map