@firestone-hs/simulate-bgs-battle 1.1.649 → 1.1.651

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 (292) hide show
  1. package/dist/cards/impl/_card-mappings.js +1 -1
  2. package/dist/cards/impl/_card-mappings.js.map +1 -1
  3. package/dist/cards/impl/bg-spell/sharing-is-caring.js.map +1 -1
  4. package/dist/cards/impl/bg-spell/shiny-ring.js.map +1 -1
  5. package/dist/cards/impl/bg-spell/toxic-tumbleweed.js.map +1 -1
  6. package/dist/cards/impl/hero-power/aim-high.js.map +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.map +1 -1
  9. package/dist/cards/impl/hero-power/aim-right.js.map +1 -1
  10. package/dist/cards/impl/hero-power/earth-invocation.js.map +1 -1
  11. package/dist/cards/impl/hero-power/embrace-your-rage.js.map +1 -1
  12. package/dist/cards/impl/hero-power/fire-invocation.js.map +1 -1
  13. package/dist/cards/impl/hero-power/fragrant-phylactery-enchantment.js +1 -1
  14. package/dist/cards/impl/hero-power/fragrant-phylactery-enchantment.js.map +1 -1
  15. package/dist/cards/impl/hero-power/lightning-invocation.js.map +1 -1
  16. package/dist/cards/impl/hero-power/rapid-reanimation.js.map +1 -1
  17. package/dist/cards/impl/hero-power/reborn-rites.js.map +1 -1
  18. package/dist/cards/impl/hero-power/water-invocation.js.map +1 -1
  19. package/dist/cards/impl/minion/all-seeing-elder.js.map +1 -1
  20. package/dist/cards/impl/minion/alleycat.js.map +1 -1
  21. package/dist/cards/impl/minion/amber-guardian.js.map +1 -1
  22. package/dist/cards/impl/minion/amplifying-lightspawn.js.map +1 -1
  23. package/dist/cards/impl/minion/apprentice-of-sefin.js.map +1 -1
  24. package/dist/cards/impl/minion/archimonde.js.map +1 -1
  25. package/dist/cards/impl/minion/arid-atrocity.js.map +1 -1
  26. package/dist/cards/impl/minion/ashen-corruptor.js.map +1 -1
  27. package/dist/cards/impl/minion/assistant-guard.js.map +1 -1
  28. package/dist/cards/impl/minion/audacious-anchor.js.map +1 -1
  29. package/dist/cards/impl/minion/auto-assembler.js.map +1 -1
  30. package/dist/cards/impl/minion/avalanche-caller.js.map +1 -1
  31. package/dist/cards/impl/minion/baneling.js.map +1 -1
  32. package/dist/cards/impl/minion/bannerboar.js.map +1 -1
  33. package/dist/cards/impl/minion/beetle.js.map +1 -1
  34. package/dist/cards/impl/minion/bellowing-tyrant.js.map +1 -1
  35. package/dist/cards/impl/minion/bigwig-bandit.js.map +1 -1
  36. package/dist/cards/impl/minion/bird-buddy.js.map +1 -1
  37. package/dist/cards/impl/minion/blazing-skyfin.js.map +1 -1
  38. package/dist/cards/impl/minion/bloodsnout-warlord.js.map +1 -1
  39. package/dist/cards/impl/minion/blue-whelp.js.map +1 -1
  40. package/dist/cards/impl/minion/boar-gamer.js.map +1 -1
  41. package/dist/cards/impl/minion/bongo-bopper.js.map +1 -1
  42. package/dist/cards/impl/minion/briarback-bookie.js.map +1 -1
  43. package/dist/cards/impl/minion/bronze-steward.js.map +1 -1
  44. package/dist/cards/impl/minion/bubble-gunner.js.map +1 -1
  45. package/dist/cards/impl/minion/buzzing-vermin.js.map +1 -1
  46. package/dist/cards/impl/minion/cadaver-caretaker.js.map +1 -1
  47. package/dist/cards/impl/minion/campfire-shadow.js.map +1 -1
  48. package/dist/cards/impl/minion/canopy-swinger.js.map +1 -1
  49. package/dist/cards/impl/minion/captain-bonerender.js.map +1 -1
  50. package/dist/cards/impl/minion/carapace-raiser.js.map +1 -1
  51. package/dist/cards/impl/minion/carbonic-copy.js.map +1 -1
  52. package/dist/cards/impl/minion/carrier.js.map +1 -1
  53. package/dist/cards/impl/minion/champion-of-the-primus.js.map +1 -1
  54. package/dist/cards/impl/minion/charlga.js.map +1 -1
  55. package/dist/cards/impl/minion/choral-mrrrglr.js.map +1 -1
  56. package/dist/cards/impl/minion/clunker-junker.js.map +1 -1
  57. package/dist/cards/impl/minion/coilskar-sapper.js.map +1 -1
  58. package/dist/cards/impl/minion/coldlight-diver.js.map +1 -1
  59. package/dist/cards/impl/minion/cruise-controller.js.map +1 -1
  60. package/dist/cards/impl/minion/crystal-infuser-enchantment.js.map +1 -1
  61. package/dist/cards/impl/minion/cupcake-peddler.js.map +1 -1
  62. package/dist/cards/impl/minion/dastardly-drust.js.map +1 -1
  63. package/dist/cards/impl/minion/deadstomper.js.map +1 -1
  64. package/dist/cards/impl/minion/deathly-striker.js.map +1 -1
  65. package/dist/cards/impl/minion/defiant-shipwright.js.map +1 -1
  66. package/dist/cards/impl/minion/deflecto-bot.js.map +1 -1
  67. package/dist/cards/impl/minion/devout-hellcaller.js.map +1 -1
  68. package/dist/cards/impl/minion/diremuck-forager.js.map +1 -1
  69. package/dist/cards/impl/minion/drakkari-embalmer.js.map +1 -1
  70. package/dist/cards/impl/minion/dreaming-thornweaver.js.map +1 -1
  71. package/dist/cards/impl/minion/drustfallen-butcher.js.map +1 -1
  72. package/dist/cards/impl/minion/efficient-engineer.js.map +1 -1
  73. package/dist/cards/impl/minion/elder-taggawag.js.map +1 -1
  74. package/dist/cards/impl/minion/electric-synthesizer.js.map +1 -1
  75. package/dist/cards/impl/minion/elite-navigator.js.map +1 -1
  76. package/dist/cards/impl/minion/fairy-gillmother.js.map +1 -1
  77. package/dist/cards/impl/minion/fauna-whisperer.js.map +1 -1
  78. package/dist/cards/impl/minion/fire-forged-evoker.js.map +1 -1
  79. package/dist/cards/impl/minion/firescale-hoarder.js.map +1 -1
  80. package/dist/cards/impl/minion/fireworks-fanatic.js.map +1 -1
  81. package/dist/cards/impl/minion/floating-watcher.js.map +1 -1
  82. package/dist/cards/impl/minion/flotsam-flinger.js.map +1 -1
  83. package/dist/cards/impl/minion/forest-rover.js.map +1 -1
  84. package/dist/cards/impl/minion/fountain-chiller.js.map +1 -1
  85. package/dist/cards/impl/minion/friendly-geist.js.map +1 -1
  86. package/dist/cards/impl/minion/geared-guard.js +3 -1
  87. package/dist/cards/impl/minion/geared-guard.js.map +1 -1
  88. package/dist/cards/impl/minion/gem-rat.js.map +1 -1
  89. package/dist/cards/impl/minion/gem-smuggler.js.map +1 -1
  90. package/dist/cards/impl/minion/general-drakkisath.js.map +1 -1
  91. package/dist/cards/impl/minion/gentle-djinni.js.map +1 -1
  92. package/dist/cards/impl/minion/gentle-stag.js.map +1 -1
  93. package/dist/cards/impl/minion/gleaming-trader.js.map +1 -1
  94. package/dist/cards/impl/minion/glowgullet-warlord.js.map +1 -1
  95. package/dist/cards/impl/minion/glowing-cinder.js.map +1 -1
  96. package/dist/cards/impl/minion/goldgrubber.js.map +1 -1
  97. package/dist/cards/impl/minion/gormling-gourmet.js.map +1 -1
  98. package/dist/cards/impl/minion/grease-bot.js.map +1 -1
  99. package/dist/cards/impl/minion/greedy-snaketongue.js.map +1 -1
  100. package/dist/cards/impl/minion/grimscale-elegist.js.map +1 -1
  101. package/dist/cards/impl/minion/gritty-headhunter.js.map +1 -1
  102. package/dist/cards/impl/minion/hackerfin.js.map +1 -1
  103. package/dist/cards/impl/minion/handless-forsaken.js.map +1 -1
  104. package/dist/cards/impl/minion/harmless-bonehead.js.map +1 -1
  105. package/dist/cards/impl/minion/hawkstrider-herald.js.map +1 -1
  106. package/dist/cards/impl/minion/hog-watcher.js.map +1 -1
  107. package/dist/cards/impl/minion/holo-rover.js.map +1 -1
  108. package/dist/cards/impl/minion/hot-springer.js.map +1 -1
  109. package/dist/cards/impl/minion/humming-bird.js.map +1 -1
  110. package/dist/cards/impl/minion/humongozz.js.map +1 -1
  111. package/dist/cards/impl/minion/hungry-snapjaw.js.map +1 -1
  112. package/dist/cards/impl/minion/hunter-of-gatherers.js.map +1 -1
  113. package/dist/cards/impl/minion/ignition-specialist.js.map +1 -1
  114. package/dist/cards/impl/minion/immortal.js.map +1 -1
  115. package/dist/cards/impl/minion/implant-subject.js.map +1 -1
  116. package/dist/cards/impl/minion/imposing-percussionist.js.map +1 -1
  117. package/dist/cards/impl/minion/impulsive-trickster.js.map +1 -1
  118. package/dist/cards/impl/minion/indomitable-mount.js.map +1 -1
  119. package/dist/cards/impl/minion/inspiring-underdog.js.map +1 -1
  120. package/dist/cards/impl/minion/interrogator-whitemane.js.map +1 -1
  121. package/dist/cards/impl/minion/irate-rooster.js.map +1 -1
  122. package/dist/cards/impl/minion/kangors-apprentice.js.map +1 -1
  123. package/dist/cards/impl/minion/king-bagurgle.js.map +1 -1
  124. package/dist/cards/impl/minion/leeroy-the-reckless.js.map +1 -1
  125. package/dist/cards/impl/minion/lightfang-enforcer.js.map +1 -1
  126. package/dist/cards/impl/minion/lightfeather-screecher.js.map +1 -1
  127. package/dist/cards/impl/minion/lokholar-frostforger.js.map +1 -1
  128. package/dist/cards/impl/minion/lord-of-the-ruins.js.map +1 -1
  129. package/dist/cards/impl/minion/lost-city-looter.js.map +1 -1
  130. package/dist/cards/impl/minion/lovesick-balladist.js.map +1 -1
  131. package/dist/cards/impl/minion/low-flier.js.map +1 -1
  132. package/dist/cards/impl/minion/lurker.js.map +1 -1
  133. package/dist/cards/impl/minion/magicfin-apprentice.js.map +1 -1
  134. package/dist/cards/impl/minion/malorne.d.ts +2 -2
  135. package/dist/cards/impl/minion/malorne.js +0 -7
  136. package/dist/cards/impl/minion/malorne.js.map +1 -1
  137. package/dist/cards/impl/minion/manasaber.js.map +1 -1
  138. package/dist/cards/impl/minion/mantid-queen.js.map +1 -1
  139. package/dist/cards/impl/minion/marquee-ticker.js.map +1 -1
  140. package/dist/cards/impl/minion/maw-caster.js.map +1 -1
  141. package/dist/cards/impl/minion/mecha-jaraxxus.js.map +1 -1
  142. package/dist/cards/impl/minion/mechagnome-interpreter.js.map +1 -1
  143. package/dist/cards/impl/minion/mechanized-gift-horse.js.map +1 -1
  144. package/dist/cards/impl/minion/mechorse.js.map +1 -1
  145. package/dist/cards/impl/minion/menagerie-jug.js.map +1 -1
  146. package/dist/cards/impl/minion/metallic-hunter.js.map +1 -1
  147. package/dist/cards/impl/minion/misfit-dragonling.js.map +1 -1
  148. package/dist/cards/impl/minion/moonsteel-juggernaut.js.map +1 -1
  149. package/dist/cards/impl/minion/mothership.js.map +1 -1
  150. package/dist/cards/impl/minion/mummifier.js.map +1 -1
  151. package/dist/cards/impl/minion/murkbrine-expeditioner.js.map +1 -1
  152. package/dist/cards/impl/minion/murky.js.map +1 -1
  153. package/dist/cards/impl/minion/mutalisk.js.map +1 -1
  154. package/dist/cards/impl/minion/mutated-lasher.js.map +1 -1
  155. package/dist/cards/impl/minion/mythrax.js.map +1 -1
  156. package/dist/cards/impl/minion/neon-agent.js.map +1 -1
  157. package/dist/cards/impl/minion/nerubian-deathswarmer.js.map +1 -1
  158. package/dist/cards/impl/minion/nest-swarmer.js.map +1 -1
  159. package/dist/cards/impl/minion/nether-drake.js.map +1 -1
  160. package/dist/cards/impl/minion/nightmare-par-tea-guest.js.map +1 -1
  161. package/dist/cards/impl/minion/nimble-hatchling.js.map +1 -1
  162. package/dist/cards/impl/minion/noisul-of-the-many-faces.js.map +1 -1
  163. package/dist/cards/impl/minion/oozeling-gladiator.js.map +1 -1
  164. package/dist/cards/impl/minion/operatic-belcher.js.map +1 -1
  165. package/dist/cards/impl/minion/outback-smolderer.js.map +1 -1
  166. package/dist/cards/impl/minion/parched-wanderer.js.map +1 -1
  167. package/dist/cards/impl/minion/peggy-sturdybone.js.map +1 -1
  168. package/dist/cards/impl/minion/primalfin-lookout.js.map +1 -1
  169. package/dist/cards/impl/minion/prized-promo-drake.js.map +1 -1
  170. package/dist/cards/impl/minion/prodigious-tusker.js.map +1 -1
  171. package/dist/cards/impl/minion/rapscallion-recruiter.js.map +1 -1
  172. package/dist/cards/impl/minion/razorfen-geomancer.js.map +1 -1
  173. package/dist/cards/impl/minion/razorgore-the-untamed.js.map +1 -1
  174. package/dist/cards/impl/minion/reckless-cliffdiver.js.map +1 -1
  175. package/dist/cards/impl/minion/rickety-repairbot.js.map +1 -1
  176. package/dist/cards/impl/minion/ride-or-die.js.map +1 -1
  177. package/dist/cards/impl/minion/roach.js.map +1 -1
  178. package/dist/cards/impl/minion/roadboar.js.map +1 -1
  179. package/dist/cards/impl/minion/rodeo-performer.js.map +1 -1
  180. package/dist/cards/impl/minion/ruins-renovator.js.map +1 -1
  181. package/dist/cards/impl/minion/runed-progenitor.js.map +1 -1
  182. package/dist/cards/impl/minion/rylak-metalhead.js.map +1 -1
  183. package/dist/cards/impl/minion/salty-hog.js.map +1 -1
  184. package/dist/cards/impl/minion/sand-swirler.js.map +1 -1
  185. package/dist/cards/impl/minion/sandy.js.map +1 -1
  186. package/dist/cards/impl/minion/sanguine-refiner.js.map +1 -1
  187. package/dist/cards/impl/minion/sanlayn-scribe.js.map +1 -1
  188. package/dist/cards/impl/minion/scallywag.js.map +1 -1
  189. package/dist/cards/impl/minion/scourge-harvester.js.map +1 -1
  190. package/dist/cards/impl/minion/selfless-hero.js.map +1 -1
  191. package/dist/cards/impl/minion/shadowdancer.js.map +1 -1
  192. package/dist/cards/impl/minion/shadowy-construct.d.ts +1 -1
  193. package/dist/cards/impl/minion/shadowy-construct.js +5 -3
  194. package/dist/cards/impl/minion/shadowy-construct.js.map +1 -1
  195. package/dist/cards/impl/minion/sharp-eyed-sabretooth.js.map +1 -1
  196. package/dist/cards/impl/minion/sharptooth-snapper.js.map +1 -1
  197. package/dist/cards/impl/minion/shell-collector.js.map +1 -1
  198. package/dist/cards/impl/minion/ship-master-eudora.js.map +1 -1
  199. package/dist/cards/impl/minion/shipwrecked-rascal.js.map +1 -1
  200. package/dist/cards/impl/minion/showy-cyclist.js.map +1 -1
  201. package/dist/cards/impl/minion/silithid-burrower.js.map +1 -1
  202. package/dist/cards/impl/minion/silky-shimmermoth.js.map +1 -1
  203. package/dist/cards/impl/minion/silver-handed-recruit.js.map +1 -1
  204. package/dist/cards/impl/minion/sinodorei-straight-shot.js.map +1 -1
  205. package/dist/cards/impl/minion/skulking-bristlemane.js.map +1 -1
  206. package/dist/cards/impl/minion/slumber-sorcerer.js.map +1 -1
  207. package/dist/cards/impl/minion/smolderwing.js.map +1 -1
  208. package/dist/cards/impl/minion/soul-rewinder.js.map +1 -1
  209. package/dist/cards/impl/minion/soulsplitter.js.map +1 -1
  210. package/dist/cards/impl/minion/spacefarer.js.map +1 -1
  211. package/dist/cards/impl/minion/spirited-whimsydrake.js.map +1 -1
  212. package/dist/cards/impl/minion/springy-spriggan.js.map +1 -1
  213. package/dist/cards/impl/minion/stitched-salvager.js.map +1 -1
  214. package/dist/cards/impl/minion/stomping-stegodon-enchantment.js.map +1 -1
  215. package/dist/cards/impl/minion/stray-satyr.js.map +1 -1
  216. package/dist/cards/impl/minion/sun-screener.js.map +1 -1
  217. package/dist/cards/impl/minion/surfing-slyvar.js.map +1 -1
  218. package/dist/cards/impl/minion/swampstriker.js.map +1 -1
  219. package/dist/cards/impl/minion/thorncaller.js.map +1 -1
  220. package/dist/cards/impl/minion/thousandth-paper-drake.js.map +1 -1
  221. package/dist/cards/impl/minion/three-lil-quilboar.js.map +1 -1
  222. package/dist/cards/impl/minion/thundering-abomination.js.map +1 -1
  223. package/dist/cards/impl/minion/tichondrius.js.map +1 -1
  224. package/dist/cards/impl/minion/tunnel-blaster.js.map +1 -1
  225. package/dist/cards/impl/minion/turquoise-skitterer.js.map +1 -1
  226. package/dist/cards/impl/minion/twilight-primordium.js.map +1 -1
  227. package/dist/cards/impl/minion/ultralisk.js.map +1 -1
  228. package/dist/cards/impl/minion/ultraviolet-ascendant.js.map +1 -1
  229. package/dist/cards/impl/minion/valiant-tiger.js.map +1 -1
  230. package/dist/cards/impl/minion/void-earl.js.map +1 -1
  231. package/dist/cards/impl/minion/vorkai-guardian.js.map +1 -1
  232. package/dist/cards/impl/minion/wandering-wight.js.map +1 -1
  233. package/dist/cards/impl/minion/whelp-smuggler.js.map +1 -1
  234. package/dist/cards/impl/minion/whirring-protector-enchantment.js.map +1 -1
  235. package/dist/cards/impl/minion/wildfire-elemental.js.map +1 -1
  236. package/dist/cards/impl/minion/wisp-in-the-shell.js.map +1 -1
  237. package/dist/cards/impl/minion/yorik-smite.js.map +1 -1
  238. package/dist/cards/impl/minion/young-murk-eye.js.map +1 -1
  239. package/dist/cards/impl/minion/yrel.js.map +1 -1
  240. package/dist/cards/impl/minion/yulon-fortune-granter.js.map +1 -1
  241. package/dist/cards/impl/minion/zergling.js +1 -1
  242. package/dist/cards/impl/minion/zergling.js.map +1 -1
  243. package/dist/cards/impl/quest-reward/righteous-charge.js.map +1 -1
  244. package/dist/cards/impl/trinket/all-purpose-kibble.js.map +1 -1
  245. package/dist/cards/impl/trinket/arm-of-the-empire.js.map +1 -1
  246. package/dist/cards/impl/trinket/artisanal-urn.js.map +1 -1
  247. package/dist/cards/impl/trinket/automaton-portrait.js.map +1 -1
  248. package/dist/cards/impl/trinket/baleful-incense.js.map +1 -1
  249. package/dist/cards/impl/trinket/bassgill-portrait.js.map +1 -1
  250. package/dist/cards/impl/trinket/battle-horn.js.map +1 -1
  251. package/dist/cards/impl/trinket/beetle-band.js.map +1 -1
  252. package/dist/cards/impl/trinket/bird-feeder.js.map +1 -1
  253. package/dist/cards/impl/trinket/crocheted-sungill.js.map +1 -1
  254. package/dist/cards/impl/trinket/divine-signet.js.map +1 -1
  255. package/dist/cards/impl/trinket/eclectic-shrine.js.map +1 -1
  256. package/dist/cards/impl/trinket/eternal-portrait.js.map +1 -1
  257. package/dist/cards/impl/trinket/faerie-dragon-scale.js.map +1 -1
  258. package/dist/cards/impl/trinket/fishy-sticker.js.map +1 -1
  259. package/dist/cards/impl/trinket/herald-sticker.js.map +1 -1
  260. package/dist/cards/impl/trinket/hogwash-basin.js.map +1 -1
  261. package/dist/cards/impl/trinket/karazhan-chess-set.js.map +1 -1
  262. package/dist/cards/impl/trinket/rivendare-portrait.js.map +1 -1
  263. package/dist/cards/impl/trinket/sthara-sticker.js.map +1 -1
  264. package/dist/cards/impl/trinket/unholy-sanctum.js.map +1 -1
  265. package/dist/cards/impl/trinket/valorous-medaillion.js.map +1 -1
  266. package/dist/cards/impl/trinket/vashjir-anemone.js.map +1 -1
  267. package/dist/cards/impl/trinket/yulon-sticker.js.map +1 -1
  268. package/dist/keywords/venomous.js.map +1 -1
  269. package/dist/simulation/after-attack.js.map +1 -1
  270. package/dist/simulation/cards-in-hand.js.map +1 -1
  271. package/dist/simulation/damage-effects.js.map +1 -1
  272. package/dist/simulation/deathrattle-effects.js +1 -1
  273. package/dist/simulation/deathrattle-effects.js.map +1 -1
  274. package/dist/simulation/deathrattle-on-trigger.js.map +1 -1
  275. package/dist/simulation/deathrattle-spawns.js +10 -8
  276. package/dist/simulation/deathrattle-spawns.js.map +1 -1
  277. package/dist/simulation/deathrattle-utils.js.map +1 -1
  278. package/dist/simulation/discover.js.map +1 -1
  279. package/dist/simulation/frenzy.js.map +1 -1
  280. package/dist/simulation/magnetize.js.map +1 -1
  281. package/dist/simulation/minion-kill.js.map +1 -1
  282. package/dist/simulation/quest.js.map +1 -1
  283. package/dist/simulation/reborn.js.map +1 -1
  284. package/dist/simulation/remembered-deathrattle.js.map +1 -1
  285. package/dist/simulation/remove-minion-from-board.js.map +1 -1
  286. package/dist/simulation/spectator/game-action.js.map +1 -1
  287. package/dist/simulation/start-of-combat/soc-illidan-hero-power.js +2 -0
  288. package/dist/simulation/start-of-combat/soc-illidan-hero-power.js.map +1 -1
  289. package/dist/simulation/start-of-combat/soc-pre-combat-hero-power.js.map +1 -1
  290. package/dist/simulation/summon-when-space.js +3 -0
  291. package/dist/simulation/summon-when-space.js.map +1 -1
  292. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"deathrattle-spawns.js","sourceRoot":"","sources":["../../src/simulation/deathrattle-spawns.ts"],"names":[],"mappings":";;;AAAA,iEAAuE;AAGvE,4DAA8F;AAC9F,iEAA4D;AAC5D,6DAA+D;AAC/D,6CAAgD;AAChD,mDAAsD;AAEtD,6CAAwF;AACxF,oCAYkB;AAClB,qCAA2F;AAC3F,mDAAiD;AACjD,+DAO+B;AAC/B,qEAA6F;AAE7F,qCAA+C;AAC/C,mCAAsC;AACtC,2CAAkD;AAE3C,MAAM,uBAAuB,GAAG,CACtC,MAAc,EACd,QAAgB,EAChB,KAAgC,EAChC,qBAAkC,IAAI,EACb,EAAE;IAC3B,OAAO,IAAA,qBAAa,EACnB,MAAM,EACN,QAAQ,EACR,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,UAAU,CAAC,QAAQ,EACzB,KAAK,EACL,KAAK,EACL,KAAK,EACL,kBAAkB,CAClB,CAAC;AACH,CAAC,CAAC;AApBW,QAAA,uBAAuB,2BAoBlC;AAEK,MAAM,qCAAqC,GAAG,CACpD,MAAc,EACd,QAAgB,EAChB,KAAgC,EAChC,MAAmB,EACnB,cAAsB,EACtB,qBAAkC,IAAI,EAC/B,EAAE;IACT,MAAM,MAAM,GAAG,IAAA,qBAAa,EAC3B,MAAM,EACN,QAAQ,EACR,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,UAAU,CAAC,QAAQ,EACzB,KAAK,EACL,KAAK,EACL,KAAK,EACL,kBAAkB,CAClB,CAAC;IACF,IAAA,4BAAmB,EAClB,MAAM,EACN,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,uBAAuB,EAC7B,MAAM,EACN,cAAc,EACd,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CACf,CAAC;AACH,CAAC,CAAC;AAhCW,QAAA,qCAAqC,yCAgChD;AAEK,MAAM,aAAa,GAAG,CAC5B,MAAc,EACd,QAAgB,EAChB,gBAA+B,EAC/B,oBAAqC,EACrC,UAAyB,EACzB,SAA0B,EAC1B,SAAwB,EACxB,QAAiB,EAIjB,WAAoB,EACpB,WAAW,GAAG,KAAK,EACnB,UAAU,GAAG,IAAI,EACjB,qBAAkC,IAAI,EACtC,iBAA8B,IAAI,EACT,EAAE;;IAC3B,IAAI,CAAC,MAAM,EAAE;QACZ,OAAO,CAAC,KAAK,CACZ,kDAAkD,EAClD,IAAA,uBAAe,EAAC,gBAAgB,EAAE,SAAS,CAAC,QAAQ,CAAC,EACrD,IAAI,KAAK,EAAE,CAAC,KAAK,CACjB,CAAC;KACF;IACD,IAAI,MAAA,SAAS,CAAC,SAAS,0CAAE,QAAQ,oBAAyC,EAAE;QAC3E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;YAChD,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC;YAClF,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;SACrD;KACD;IACD,MAAM,eAAe,GAAG,UAAU;QACjC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,iBAA+B,CAAC,CAAC,MAAM,IAAI,CAAC;QACnG,CAAC,CAAC,CAAC,CAAC;IACL,MAAM,qBAAqB,GAAG,UAAU;QACvC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,sBAAoC,CAAC,CAAC,MAAM,IAAI,CAAC;QACxG,CAAC,CAAC,CAAC,CAAC;IACL,MAAM,cAAc,GAAG,WAAW;QACjC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,eAAe,GAAG,qBAAqB,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC;QAC3F,CAAC,CAAC,QAAQ,GAAG,eAAe,GAAG,qBAAqB,CAAC;IACtD,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE;QACxC,MAAM,SAAS,GAAG,IAAA,8BAAsB,EACvC,MAAM,EACN,oBAAoB,EACpB,gBAAgB,EAChB,SAAS,CAAC,QAAQ,EAClB,QAAQ,EACR,SAAS,CAAC,WAAW,CAAC,eAAe,EAAE,EACvC,WAAW,EACX,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,WAAW,EACrB,kBAAkB,EAClB,cAAc,CACd,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACtB,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;SACjD;QACD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACvB;IAED,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AA9DW,QAAA,aAAa,iBA8DxB;AAEK,MAAM,4BAA4B,GAAG,CAC3C,UAAuB,EACvB,wBAAgC,EAChC,mBAAkC,EAClC,uBAAwC,EACxC,UAAyB,EACzB,cAA+B,EAC/B,sBAA8C,EAC9C,SAAwB,EACC,EAAE;;IAC3B,MAAM,WAAW,GAAkB,EAAE,CAAC;IAOtC,MAAM,UAAU,GAAG,IAAA,kDAA4B,EAE9C,CAAC,GAAG,mBAAmB,CAAC,EACxB,uBAAuB,EACvB,UAAU,EACV,SAAS,CAAC,WAAW,CACrB,CAAC;IAEF,MAAM,yBAAyB,GAA8B;QAC5D,mBAAmB;QACnB,uBAAuB;QACvB,UAAU;QACV,wBAAwB,EAAE,wBAAwB;QAClD,UAAU;QACV,cAAc;QACd,SAAS;KACT,CAAC;IAcF,MAAM,YAAY,GAAuB;QACxC,GAAG,UAAU,CAAC,YAAY;KAG1B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,CAAC,UAAU,EAAE,GAAG,YAAY,CAAC;SAMzC,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;;QACR,OAAA,CAAC,MAAA,MAAC,CAAiB,CAAC,QAAQ,mCAAK,CAAsB,CAAC,MAAM,mCAAI,CAAC,CAAC;YACpE,CAAC,MAAA,MAAC,CAAiB,CAAC,QAAQ,mCAAK,CAAsB,CAAC,MAAM,mCAAI,CAAC,CAAC,CAAA;KAAA,CACrE,CAAC;IAEH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;QACpC,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACzB,MAAM,eAAe,GAAkB,EAAE,CAAC;YAC1C,IAAK,IAAoB,CAAC,MAAM,KAAK,SAAS,EAAE;gBAC/C,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,MAAC,IAAoB,CAAC,eAAe,mCAAI,EAAE,CAAC,CAAC,CAAC;gBAChF,KAAK,MAAM,gBAAgB,IAAI,OAAO,EAAE;oBACvC,IAAI,oBAAoB,GAAG,IAAI,CAAC;oBAChC,MAAM,eAAe,GAAG,6BAAY,CAAC,gBAAgB,CAAC,CAAC;oBACvD,IAAI,IAAA,oCAAmB,EAAC,eAAe,CAAC,EAAE;wBACzC,MAAM,OAAO,GAAG,eAAe,CAAC,gBAAgB,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAC;wBACxF,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE;4BACpB,eAAe,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;yBACjC;qBACD;yBAAM;wBACN,QAAQ,gBAAgB,EAAE;4BACzB;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,cAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,sBAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP,gBAAiC;4BACjC;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,EACf,UAAU,CAAC,MAAM,eAAgC;oCAChD,CAAC;oCACD,CAAC,mBAAyD,EAC3D,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP,iBAAoC;4BACpC;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,aAEf,gBAAgB,kBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7D,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP,gBAAsC;4BACtC;gCAEC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,EACf,gBAAgB,iBAAuC;oCACtD,CAAC;oCACD,CAAC,WAA+B,EACjC,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,cAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,cAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,aAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,sBAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,eAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,iBAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP,mCAA4D;4BAC5D;gCACC,MAAM,sBAAsB,GAC3B,gBAAgB,oCAA6D;oCAC5E,CAAC,CAAC,CAAC;oCACH,CAAC,CAAC,CAAC,CAAC;gCACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,sBAAsB,EAAE,CAAC,EAAE,EAAE;oCAChD,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,uBAAuB,CAC/D,qBAAI,CAAC,MAAM,EACX,uBAAuB,CAAC,UAAU,CAClC,CAAC;oCACF,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,EACf,YAAY,EACZ,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;iCACF;gCACD,MAAM;4BACP,2BAA2C;4BAC3C;gCACC,MAAM,uBAAuB,GAC5B,gBAAgB,4BAA4C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCACtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,uBAAuB,EAAE,CAAC,EAAE,EAAE;oCACjD,MAAM,oBAAoB,GAAG,IAAA,iCAAyB,EACrD,uBAAuB,EACvB,mBAAmB,EACnB,SAAS,CAAC,QAAQ,EAClB,UAAU,CAAC,QAAQ,EACnB,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,WAAW,CACrB,CAAC;oCACF,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,EACf,oBAAoB,CAAC,MAAM,EAC3B,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,EACL,KAAK,EACL,IAAI,EACJ,oBAAoB,CACpB,CACD,CAAC;oCACF,IAAA,8BAAc,EACb,uBAAuB,EACvB,mBAAmB,EACnB,CAAC,oBAAoB,CAAC,EACtB,SAAS,CACT,CAAC;iCACF;gCACD,MAAM;4BACP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,iBAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,sBAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,iBAEf,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,EAC9B,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,sBAEf,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,EAC9B,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,cAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,sBAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,aAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BAgBP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,iBAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,sBAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,cAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,sBAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,iBAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,sBAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,iBAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,sBAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,cAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BAgBP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG;oCACF,GAAG,IAAA,qBAAa,EACf,SAAS,CAAC,SAAS,CAAC,iBAAiB,CACpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,CACxE,EACD,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL;oCACD,GAAG,IAAA,qBAAa,EACf,SAAS,CAAC,SAAS,CAAC,iBAAiB,CACpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,CACxE,EACD,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL;iCACD,CACD,CAAC;gCACF,MAAM;4BAEP,kCAA+C;4BAC/C;gCACC,MAAM,wBAAwB,GAC7B,UAAU,CAAC,MAAM,mCAAgD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAC3E,MAAM,gBAAgB,GAAG,EAAE,CAAC;gCAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,wBAAwB,EAAE,CAAC,EAAE,EAAE;oCAClD,gBAAgB,CAAC,IAAI,CAAC,IAAA,kBAAU,EAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;iCACnE;gCACD,IAAA,8BAAc,EACb,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,SAAS,CACT,CAAC;gCACF,MAAM;4BAEP,kCAAsD;4BACtD;gCACC,MAAM,WAAW,GAAG,EAAE,CAAC;gCACvB,MAAM,qBAAqB,GAC1B,UAAU,CAAC,MAAM,mCAAuD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAClF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,EAAE,CAAC,EAAE,EAAE;oCAC/C,WAAW,CAAC,IAAI,CAAC,IAAA,kBAAU,EAAC,SAAS,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;iCACnE;gCACD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;oCACrC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,EACf,UAAU,EACV,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;iCACF;gCACD,IAAA,8BAAc,EAAC,uBAAuB,EAAE,mBAAmB,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;gCACrF,MAAM;4BAEP,gBAAkC;4BAClC;gCACC,MAAM,eAAe,GACpB,UAAU,CAAC,MAAM,sBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE;oCACzC,eAAe,CAAC,IAAI,CACnB,GAAG;wCACF,GAAG,IAAA,qBAAa,EACf,SAAS,CAAC,SAAS,CAAC,iBAAiB,CACpC,IAAI,CAAC,KAAK,CACT,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAC5D,CACD,EACD,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL;qCACD,CACD,CAAC;iCACF;gCACD,MAAM;4BACP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,gBAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,sBAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP,oBAAuC;4BACvC;gCACC,MAAM,kBAAkB,GACvB,UAAU,CAAC,MAAM,qBAAwC;oCACxD,CAAC;oCACD,CAAC,aAA8B,CAAC;gCAClC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,EACf,kBAAkB,EAClB,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP,gBAAkC;4BAClC;gCAMC,MAAM,SAAS,GAAG,CAAC,CAAC;gCACpB,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAC/B,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,mBAAmB,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAC5E,CAAC;gCACF,MAAM,UAAU,GACf,CAAC,gBAAgB,iBAAmC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oCAC7D,CAAC,SAAS,GAAG,eAAe,CAAC,CAAC;gCAC/B,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,EACf,gBAAgB,iBAAmC;oCAClD,CAAC;oCACD,CAAC,cAAoD,EACtD,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,IAAI,CACJ,CACD,CAAC;gCACF,IAAA,uBAAe,EACd,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,UAAU,EACV,SAAS,EACT,qBAAI,CAAC,qBAAI,CAAC,IAAI,CAAC,CACf,CAAC;gCAEF,IAAA,uBAAe,EACd,UAAU,EACV,eAAe,EACf,uBAAuB,EACvB,UAAU,EACV,UAAU,EACV,SAAS,EACT,qBAAI,CAAC,qBAAI,CAAC,IAAI,CAAC,CACf,CAAC;gCACF,MAAM;4BAkIP,gBAAsC;4BACtC;gCAEC,MAAM,KAAK,GACV,UAAU,CAAC,cAAc;qCACzB,MAAA,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,CAC3E,0CAAE,cAAc,CAAA;oCACjB,CAAC,CAAC;gCACH,MAAM,aAAa,GAClB,UAAU,CAAC,MAAM,iBAAuC;oCACvD,CAAC;oCACD,CAAC,YAA0C,CAAC;gCAC9C,MAAM,UAAU,GAAG,IAAA,qBAAa,EAC/B,aAAa,EACb,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CAAC;gCACF,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oCACxB,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;oCACjB,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;gCAClB,CAAC,CAAC,CAAC;gCACH,eAAe,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;gCACpC,MAAM;4BACP,gBAA+B;4BAC/B;gCACC,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,iBAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCACrF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE;oCAC5C,MAAM,IAAI,GACT,MAAA,MAAA,uBAAuB,CAAC,IAAI,0CACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACd,IAAA,uBAAe,EACd,CAAC,EACD,uBAAuB,EACvB,qBAAI,CAAC,MAAM,EACX,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,QAAQ,CAClB,EAED,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,MAAM,CAAA,EACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,mCAAI,EAAE,CAAC;oCAClC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAC7B,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CACpD,CAAC;oCACF,MAAM,oBAAoB,GAAG,aAAa;wCACzC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC;wCAChD,CAAC,CAAC,IAAI,CAAC;oCACR,MAAM,KAAK,GAAG,CAAC,CAAC,CAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,MAAM,CAAA;wCAC3C,CAAC,CAAC,IAAA,kBAAU,EAAC,oBAAoB,CAAC;wCAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM;4CACrC,CAAC,CAAC,IAAA,kBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;4CAC1C,CAAC,CAAC,IAAI,CAAC;oCACR,IAAI,KAAK,EAAE;wCACV,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;wCAKpB,MAAM,cAAc,GAAG,IAAA,qBAAa,EACnC,KAAK,CAAC,MAAM,EACZ,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,EACL,KAAK,EACL,IAAI,EACJ,EAAE,GAAG,KAAK,EAAiB,CAC3B,CAAC;wCACF,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE;4CAC/B,CAAC,CAAC,gBAAgB,GAAG,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;yCAElD;wCACD,eAAe,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;qCACxC;iCACD;gCACD,MAAM;4BACP,gBAAoC;4BACpC;gCACC,MAAM,wBAAwB,GAC7B,UAAU,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAChE,MAAM,4BAA4B,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM;qCAC/D,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,UAAU,CAAC,QAAQ,CAAC;qCAC3D,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAClB,IAAA,uBAAe,EACd,MAAM,EACN,uBAAuB,EACvB,qBAAI,CAAC,KAAK,EACV,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,QAAQ,CAClB,CACD;qCACA,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC;gCACrC,4BAA4B,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;oCAClD,MAAM,MAAM,GAAG,IAAA,qBAAa,EAC3B,SAAS,CAAC,MAAM,EAChB,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,EACL,KAAK,EACL,IAAI,CACJ,CAAC;oCACF,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;;wCACxB,KAAK,CAAC,MAAM,GAAG,MAAA,SAAS,CAAC,SAAS,mCAAI,SAAS,CAAC,MAAM,CAAC;wCACvD,KAAK,CAAC,MAAM,GAAG,MAAA,SAAS,CAAC,SAAS,mCAAI,SAAS,CAAC,MAAM,CAAC;wCACvD,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;oCAChC,CAAC,CAAC,CAAC;oCACH,eAAe,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;gCACjC,CAAC,CAAC,CAAC;gCACH,MAAM;4BACP,iBAAoC;4BACpC;gCACC,MAAM,kBAAkB,GACvB,UAAU,CAAC,MAAM,kBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAChE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE;oCAC5C,MAAM,aAAa,GAAG,IAAA,+BAAuB,EAC5C,SAAS,CAAC,SAAS,EACnB,uBAAuB,CACvB,CAAC;oCACF,MAAM,aAAa,GAAG,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,mCAAI,EAAE,CAAC;oCACjD,MAAM,MAAM,GAAa,EAAE,CAAC;oCAC5B,MAAM,YAAY,GAAG,IAAA,kBAAU,EAC9B,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CACzD,CAAC;oCACF,IAAI,YAAY,EAAE;wCACjB,MAAM,IAAI,GAAgB;4CACzB,GAAG,YAAY;4CACf,MAAM,EAAE,CAAC;4CACT,SAAS,EAAE,CAAC;4CACZ,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC;4CAC5C,kBAAkB,EAAE,EAAE;yCACtB,CAAC;wCACF,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,EACf,IAAI,CAAC,MAAM,EACX,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,EACL,KAAK,EACL,IAAI,EACJ,IAAI,CACJ,CACD,CAAC;wCACF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;qCAC3B;iCACD;gCACD,MAAM;4BAGP;gCACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,cAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;gCACF,MAAM;4BACP,kCAAoD;4BACpD;gCACC,MAAM,UAAU,GACf,gBAAgB,mCAAqD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAC/E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;oCACpC,IAAI,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oCAChF,IAAI,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,CAAA,EAAE;wCAC1B,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wCACrE,IAAI,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,CAAA,EAAE;4CAC1B,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;yCACxE;qCACD;oCACD,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,YAAY,CAAC,CAAC;oCACxC,IAAI,MAAM,EAAE;wCACX,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;4CACzB,IAAA,kCAAkB,EACjB,MAAM,EACN,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,IAAI,EACJ,SAAS,CACT,CAAC;yCACF;wCACD,IAAA,mBAAW,EACV,MAAM,EACN,IAAI,EACJ,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,SAAS,CACT,CAAC;wCACF,IAAA,yBAAc,EACb,MAAM,EACN,IAAI,EACJ,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,SAAS,CACT,CAAC;wCACF,SAAS,CAAC,SAAS,CAAC,mBAAmB,CACtC,UAAU,EACV,MAAM,EACN,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,CACd,CAAC;qCACF;iCACD;gCACD,MAAM;4BACP,eAAkC;4BAClC;gCACC,MAAM,gBAAgB,GACrB,gBAAgB,sBAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAE;oCAC1C,MAAM,YAAY,GAAG,mBAAmB;yCACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,IAAA,uBAAe,EACd,CAAC,EACD,uBAAuB,EACvB,qBAAI,CAAC,MAAM,EACX,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,QAAQ,CAClB,CACD;yCACA,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oCAC3C,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,YAAY,CAAC,CAAC;oCACxC,IAAI,MAAM,EAAE;wCACX,IAAA,kCAAkB,EACjB,MAAM,EACN,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,IAAI,EACJ,SAAS,CACT,CAAC;wCACF,SAAS,CAAC,SAAS,CAAC,mBAAmB,CACtC,UAAU,EACV,MAAM,EACN,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,CACd,CAAC;qCACF;iCACD;gCACD,MAAM;4BACP;gCACC,IAAA,uBAAe,EACd,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,CAAC,EACD,CAAC,EACD,SAAS,CACT,CAAC;gCACF,MAAM;4BACP;gCACC,IAAA,uBAAe,EACd,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,CAAC,EACD,CAAC,EACD,SAAS,CACT,CAAC;gCACF,MAAM;4BACP;gCACC,IAAA,yBAAiB,EAChB,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,CAAC,MAAM,EACjB,SAAS,CACT,CAAC;gCACF,MAAM;4BACP;gCACC,IAAA,yBAAiB,EAChB,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,CAAC,MAAM,EACjB,SAAS,CACT,CAAC;gCACF,IAAA,yBAAiB,EAChB,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,CAAC,MAAM,EACjB,SAAS,CACT,CAAC;gCACF,MAAM;4BACP,gBAAuC;4BACvC;gCACC,MAAM,cAAc,GAAG,gBAAgB,iBAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCACxF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE;oCACxC,MAAM,qBAAqB,GAAG,EAAE,CAAC;oCACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;wCAC3B,MAAM,MAAM,GAAG,IAAA,uBAAe,EAC7B,mBAAmB;6CACjB,MAAM,CACN,CAAC,CAAC,EAAE,EAAE,CACL,CAAC;;;yCAGA,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAiB,CAAC,CAChC;6CACA,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAC5D,CAAC;wCACF,IAAI,CAAC,CAAC,MAAM,EAAE;4CACb,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;4CAC5C,IAAA,mBAAW,EACV,MAAM,EACN,UAAU,EACV,UAAU,CAAC,MAAM,EACjB,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,CACT,CAAC;yCACF;qCACD;iCACD;gCACD,MAAM;4BACP;gCAEC,IAAA,4CAAsB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,KAAK,EACL,SAAS,EACT,UAAU,CAAC,kBAAkB,CAC7B,CAAC;gCACF,MAAM;4BACP;gCACC,IAAA,4CAAsB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,IAAI,EACJ,SAAS,EACT,UAAU,CAAC,kBAAkB,CAC7B,CAAC;gCACF,MAAM;4BACP;gCACC,MAAM,MAAM,GAAG,IAAA,wBAAgB,EAC9B,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,CAAC,EACD,CAAC,EACD,qBAAI,CAAC,KAAK,EACV,IAAI,EACJ,SAAS,CACT,CAAC;gCACF,IAAI,CAAC,CAAC,MAAM,EAAE;oCACb,SAAS,CAAC,SAAS,CAAC,mBAAmB,CACtC,UAAU,EACV,MAAM,EACN,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,CACd,CAAC;iCACF;gCACD,MAAM;4BACP;gCACC,MAAM,UAAU,GAAG,IAAA,wBAAgB,EAClC,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,EAAE,EACF,EAAE,EACF,qBAAI,CAAC,KAAK,EACV,IAAI,EACJ,SAAS,CACT,CAAC;gCACF,IAAI,CAAC,CAAC,UAAU,EAAE;oCACjB,SAAS,CAAC,SAAS,CAAC,mBAAmB,CACtC,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,CACd,CAAC;iCACF;gCACD,MAAM;4BACP,gBAAmC;4BACnC;gCACC,MAAM,iBAAiB,GAAG,gBAAgB,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCACvF,MAAM,aAAa,GAAG,IAAA,wBAAgB,EACrC,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,GAAG,CAAC,EACrB,iBAAiB,GAAG,CAAC,EACrB,qBAAI,CAAC,MAAM,EACX,KAAK,EACL,SAAS,CACT,CAAC;gCACF,IAAI,CAAC,CAAC,aAAa,EAAE;oCACpB,SAAS,CAAC,SAAS,CAAC,mBAAmB,CACtC,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,CACd,CAAC;iCACF;gCACD,MAAM;4BACP,kCAA+D;4BAC/D;gCAGC,MAAM,cAAc,GACnB,UAAU,CAAC,MAAM,mCAAgE;oCAChF,CAAC,CAAC,CAAC;oCACH,CAAC,CAAC,CAAC,CAAC;gCACN,MAAM,2BAA2B,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM;qCAC9D,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,UAAU,CAAC,QAAQ,CAAC;qCAE3D,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAClB,IAAA,uBAAe,EACd,MAAM,EACN,uBAAuB,EACvB,qBAAI,CAAC,IAAI,EACT,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,QAAQ,CAClB,CACD,CAAC,MAAM,CAAC;gCACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,2BAA2B,EAAE,CAAC,EAAE,EAAE;oCACrD,IAAA,gCAAuB,EACtB,UAAU,EACV,cAAc,EACd,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,CACT,CAAC;iCACF;gCACD,MAAM;4BACP,kBAAkC;4BAClC;gCAGC,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,sBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCACpF,MAAM,UAAU,GACf,CAAC;oCACD,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,yBAAiD,CAChE,CAAC,MAAM;wCACP,EAAE,CAAC;gCACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;oCACrC,IAAA,gCAAuB,EACtB,UAAU,EACV,cAAc,EACd,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,CACT,CAAC;iCACF;gCACD,MAAM;4BAoCP,gBAAqC;4BACrC;gCAGC,MAAM,oBAAoB,GACzB,UAAU,CAAC,MAAM,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;oCAC3B,MAAM,MAAM,GAAG,IAAA,8BAAsB,EAAC,UAAU,CAAC,CAAC;oCAClD,SAAS,CAAC,SAAS,CAAC,mBAAmB,CACtC,UAAU,EACV,MAAM,EACN,UAAU,EACV,uBAAuB,EACvB,cAAc,CACd,CAAC;oCACF,IAAA,2BAAkB,EACjB,MAAM,EACN,UAAU,EACV,cAAc,EACd,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,CACT,CAAC;iCACF;gCACD,MAAM;4BACP,gBAAgC;4BAChC;gCAGC,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,iBAAiC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gCAOlF,MAAM,OAAO,GAAG,IAAA,2BAAkB,EACjC,mBAAmB,EACnB,IAAI,EACJ,wBAAwB,EACxB,UAAU,EACV,CAAC,EACD,SAAS,CAAC,QAAQ,CAClB,CAAC;gCACF,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;oCAE1B,IAAA,2BAAkB,EACjB,MAAM,EACN,UAAU,EACV,cAAc,EACd,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,CACT,CAAC;gCACH,CAAC,CAAC,CAAC;gCACH,MAAM;4BACP;gCAEC,MAAM,MAAM,GAAG,CAAC,CAAC;gCAEjB,MAAM,eAAe,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,mBAAmB,CAAC,CAAC;gCAChE,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE;oCACrC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,KAAK,UAAU,CAAC,QAAQ,CAAC;oCAC3D,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC;oCAC5D,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,cAAc,CAAC;oCACnE,IAAA,2BAAkB,EACjB,MAAM,EACN,KAAK,EACL,IAAI,EACJ,UAAU,EACV,MAAM,EACN,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,EAC7C,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,uBAAuB,EACrD,SAAS,CACT,CAAC;iCACF;gCACD,MAAM;4BACP,gBAAgC;4BAChC;gCACC,MAAM,aAAa,GAAG,gBAAgB,iBAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAChF,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;gCACjF,IAAA,8BAAc,EAAC,uBAAuB,EAAE,mBAAmB,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;gCACvF,MAAM;4BACP,gBAAqC;4BACrC;gCACC,MAAM,KAAK,GAAG,gBAAgB,iBAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAC7E,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gCAC3C,IAAA,8BAAc,EAAC,uBAAuB,EAAE,mBAAmB,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;gCACpF,MAAM;4BACP,kCAAoD;4BACpD;gCACC,MAAM,YAAY,GACjB,gBAAgB,mCAAqD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAC/E,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CACxC,CAAC;gCAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE;oCAC5E,MAAM,eAAe,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oCAChE,IAAI,eAAe,EAAE;wCACpB,IAAA,yBAAgB,EACf,eAAe,EACf,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,CACT,CAAC;qCACF;iCACD;gCACD,MAAM;4BACP,gBAA+B;4BAC/B;gCACC,MAAM,aAAa,GAAG,gBAAgB,iBAAgC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gCAChF,IAAA,wBAAgB,EACf,UAAU,EACV,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAClC,CAAC,CAAC,EAAE,EAAE;;oCACL,OAAA,CAAA,MAAA,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,0CAAE,WAAW,EAAE;wCACxD,yBAAQ,CAAC,yBAAQ,CAAC,MAAM,CAAC,CAAA;iCAAA,CAC1B,EACD,uBAAuB,EACvB,aAAa,EACb,aAAa,EACb,IAAI,EACJ,IAAI,EACJ,SAAS,CACT,CAAC;gCACF,MAAM;4BACP,gBAAuC;4BACvC;gCACC,MAAM,qBAAqB,GAC1B,gBAAgB,eAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAChE,uBAAuB,CAAC,UAAU,CAAC,mBAAmB,IAAI,qBAAqB,CAAC;gCAChF,uBAAuB,CAAC,UAAU,CAAC,mBAAmB,IAAI,qBAAqB,CAAC;gCAChF,MAAM;4BACP,gBAAmC;4BACnC;gCACC,MAAM,SAAS,GAAG,gBAAgB,eAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAC7E,uBAAuB,CAAC,UAAU,CAAC,mBAAmB,IAAI,SAAS,CAAC;gCACpE,MAAM;4BAGP;gCACC,IAAA,uBAAe,EACd,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,CAAC,EACD,CAAC,EACD,SAAS,EACT,qBAAI,CAAC,qBAAI,CAAC,MAAM,CAAC,CACjB,CAAC;gCACF,MAAM;4BACP;gCACC,IAAA,uBAAe,EACd,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,CAAC,EACD,CAAC,EACD,SAAS,EACT,IAAI,CACJ,CAAC;gCACF,MAAM;4BACP;gCACC,KAAK,MAAM,MAAM,IAAI,mBAAmB,EAAE;oCACzC,IAAA,2BAAkB,EACjB,MAAM,EACN,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,CAAC,EACD,UAAU,EACV,cAAc,EACd,SAAS,CACT,CAAC;iCACF;gCACD,MAAM;4BAuBP,gBAAoC;4BACpC;gCACC,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,iBAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAClF,IAAA,qCAA6B,EAC5B,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,GAAG,CAAC,EACd,UAAU,GAAG,CAAC,EACd,SAAS,CACT,CAAC;gCACF,MAAM;4BACP,gBAA2C;4BAC3C;gCACC,MAAM,aAAa,GAClB,UAAU,CAAC,MAAM,iBAA4C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCACvE,MAAM,gBAAgB,GACrB,UAAU,CAAC,MAAM,iBAA4C,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gCACxE,IAAA,uBAAe,EACd,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,qBAAI,CAAC,qBAAI,CAAC,MAAM,CAAC,CACjB,CAAC;gCACF,MAAM;4BACP,gBAAsC;4BACtC;gCACC,MAAM,mBAAmB,GACxB,UAAU,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAClE,IAAA,uBAAe,EACd,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,CACT,CAAC;gCACF,MAAM;4BACP,gBAAmC;4BACnC;gCACC,MAAM,oBAAoB,GACzB,UAAU,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAC/D,MAAM,iBAAiB,GAAG,EAAE,CAAC;gCAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,EAAE,CAAC,EAAE,EAAE;oCAC9C,iBAAiB,CAAC,IAAI,CAAC,IAAA,kBAAU,EAAC,SAAS,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC;iCAC3E;gCACD,IAAA,8BAAc,EACb,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,SAAS,CACT,CAAC;gCACF,MAAM;4BACP,gBAAsC;4BACtC;gCACC,MAAM,qBAAqB,GAC1B,UAAU,CAAC,MAAM,iBAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAClE,MAAM,kBAAkB,GAAG,EAAE,CAAC;gCAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,EAAE,CAAC,EAAE,EAAE;oCAC/C,kBAAkB,CAAC,IAAI,CAAC,IAAA,kBAAU,EAAC,SAAS,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;iCAC1E;gCACD,IAAA,8BAAc,EACb,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,CACT,CAAC;gCACF,MAAM;4BACP,gBAAmC;4BACnC;gCACC,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,iBAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCACxF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,EAAE,CAAC,EAAE,EAAE;oCAC3C,MAAM,WAAW,GAAG,CAAC,GAAG,mBAAmB,CAAC,CAAC;oCAC7C,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE;wCACjC,IAAA,mBAAW,EACV,MAAM,EACN,UAAU,EACV,CAAC,EACD,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,CACT,CAAC;qCACF;oCACD,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE;wCAUjC,IAAA,2BAAkB,EACjB,MAAM,EACN,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,CAAC,EACD,UAAU,EACV,cAAc,EACd,SAAS,CACT,CAAC;qCACF;iCACD;gCACD,MAAM;4BAKP;gCACC,IAAA,8BAAc,EAAC,uBAAuB,EAAE,mBAAmB,EAAE,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;gCAChF,MAAM;4BACP;gCACC,IAAA,8BAAc,EACb,uBAAuB,EACvB,mBAAmB,EACnB,YAAkB,EAClB,SAAS,CACT,CAAC;gCACF,MAAM;4BACP,iBAA0D;4BAC1D;gCAEC,IAAA,4CAAsB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,gBAAgB,kBAA2D,EAC3E,SAAS,EACT,CAAC,CACD,CAAC;gCACF,MAAM;4BACP;gCACC,IAAI,MAAA,UAAU,CAAC,eAAe,0CAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE;oCAC3D,IACC,CAAC,IAAA,mBAAW,EAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,wBAAO,CAAC,WAAW,CAAC,EAC9E;wCACD,oBAAoB,GAAG,KAAK,CAAC;qCAC7B;iCACD;qCAAM;oCACN,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,GAAG,YAAY,CAAC,CAAC,IAAI,CAChD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,gBAAgB,CACpC,CAAC;oCACF,IAAI,CAAC,IAAA,yBAAiB,EAAC,MAAM,EAAE,wBAAO,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE;wCACxE,oBAAoB,GAAG,KAAK,CAAC;qCAC7B;iCACD;gCACD,MAAM;yBACP;qBACD;oBACD,YAAY,GAAG,YAAY,IAAI,oBAAoB,CAAC;oBAGpD,IAAI,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,IAAG,CAAC,EAAE;wBAChC,MAAM,YAAY,GAAG,IAAA,4BAAmB,EACvC,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,wBAAwB,EACxB,UAAU,EACV,cAAc,EACd,SAAS,CACT,CAAC;wBACF,WAAW,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;qBAClC;iBACD;aACD;iBAEI;gBACJ,MAAM,eAAe,GAAkB,EAAE,CAAC;gBAC1C,IAAI,oBAAoB,GAAG,IAAI,CAAC;gBAChC,MAAM,WAAW,GAAG,IAAwB,CAAC;gBAC7C,MAAM,eAAe,GAAG,6BAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACzD,IAAI,IAAA,+CAA8B,EAAC,eAAe,CAAC,EAAE;oBACpD,MAAM,MAAM,GAAG,eAAe,CAAC,iCAAiC,CAC/D,WAAW,EACX,UAAU,EACV,yBAAyB,CACzB,CAAC;oBACF,IAAI,CAAC,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA,EAAE;wBACrB,eAAe,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;qBAChC;iBACD;qBAAM;oBACN,QAAQ,WAAW,CAAC,MAAM,EAAE;wBAC3B;4BACC,IAAA,qDAA+B,EAAC,mBAAmB,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;4BACxF,MAAM;wBACP;4BACC,IAAA,oDAA8B,EAC7B,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,UAAU,EACV,SAAS,CACT,CAAC;4BACF,MAAM;wBACP;4BACC,IAAA,qDAA+B,EAC9B,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,UAAU,EACV,UAAU,EACV,SAAS,CACT,CAAC;4BACF,MAAM;wBACP;4BACC,IAAA,yDAAmC,EAClC,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,UAAU,EACV,cAAc,EACd,SAAS,CACT,CAAC;4BACF,MAAM;wBAoBP;4BACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,iBAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;4BACF,MAAM;wBACP;4BACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,sBAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;4BACF,MAAM;wBACP;4BACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,iBAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;4BACF,MAAM;wBACP;4BACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,yBAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;4BACF,MAAM;wBACP;4BACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,eAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;4BACF,MAAM;wBACP;4BACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,eAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;4BACF,MAAM;wBACP;4BACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,iBAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;4BACF,MAAM;wBACP;4BACC,MAAM,UAAU,GACf,MAAA,UAAU,CAAC,UAAU,mCAAI,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;4BAChF,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,EACf,SAAS,CAAC,SAAS,CAAC,4BAA4B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,EAC7E,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;4BACF,MAAM;wBAmBP;4BACC,eAAe,CAAC,IAAI,CACnB,GAAG,IAAA,qBAAa,cAEf,CAAC,EACD,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,CAAC,QAAQ,EACnB,KAAK,CACL,CACD,CAAC;4BACF,MAAM;wBACP;4BACC,oBAAoB,GAAG,KAAK,CAAC;4BAC7B,MAAM;qBACP;iBACD;gBACD,YAAY,GAAG,YAAY,IAAI,oBAAoB,CAAC;gBACpD,IAAI,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,IAAG,CAAC,EAAE;oBAChC,MAAM,YAAY,GAAG,IAAA,4BAAmB,EACvC,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,wBAAwB,EACxB,UAAU,EACV,cAAc,EACd,SAAS,CACT,CAAC;oBACF,WAAW,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;iBAClC;aACD;SACD;QAED,IAAI,YAAY,EAAE;YACjB,IAAA,+CAAsB,EAAC,yBAAyB,CAAC,CAAC;SAClD;KACD;IACD,OAAO,WAAW,CAAC;AACpB,CAAC,CAAC;AAnhEW,QAAA,4BAA4B,gCAmhEvC","sourcesContent":["import { CardType, GameTag, Race } from '@firestone-hs/reference-data';\r\nimport { BgsPlayerEntity } from '../bgs-player-entity';\r\nimport { BoardEnchantment, BoardEntity } from '../board-entity';\r\nimport { hasDeathrattleSpawn, hasDeathrattleSpawnEnchantment } from '../cards/card.interface';\r\nimport { cardMappings } from '../cards/impl/_card-mappings';\r\nimport { updateDivineShield } from '../keywords/divine-shield';\r\nimport { updateTaunt } from '../keywords/taunt';\r\nimport { updateWindfury } from '../keywords/windfury';\r\nimport { CardIds } from '../services/card-ids';\r\nimport { pickRandom, pickRandomAlive, pickRandomLowestHealth } from '../services/utils';\r\nimport {\r\n\taddStatsToBoard,\r\n\tbuildRandomUndeadCreation,\r\n\tbuildSingleBoardEntity,\r\n\tgetTeammateInitialState,\r\n\tgrantRandomAttack,\r\n\tgrantRandomStats,\r\n\tgrantStatsToMinionsOfEachType,\r\n\thasCorrectTribe,\r\n\thasEntityMechanic,\r\n\thasMechanic,\r\n\tstringifySimple,\r\n} from '../utils';\r\nimport { dealDamageToMinion, dealDamageToRandomEnemy, findNearestEnemies } from './attack';\r\nimport { addCardsInHand } from './cards-in-hand';\r\nimport {\r\n\tapplyEarthInvocationEnchantment,\r\n\tapplyFireInvocationEnchantment,\r\n\tapplyLeapFroggerEffect,\r\n\tapplyLightningInvocationEnchantment,\r\n\tapplyWaterInvocationEnchantment,\r\n\tcomputeDeathrattleMultiplier,\r\n} from './deathrattle-effects';\r\nimport { DeathrattleTriggeredInput, onDeathrattleTriggered } from './deathrattle-on-trigger';\r\nimport { FullGameState } from './internal-game-state';\r\nimport { performEntitySpawns } from './spawns';\r\nimport { modifyStats } from './stats';\r\nimport { makeMinionGolden } from './utils/golden';\r\n\r\nexport const simplifiedSpawnEntities = (\r\n\tcardId: string,\r\n\tquantity: number,\r\n\tinput: DeathrattleTriggeredInput,\r\n\tboardEntityToSpawn: BoardEntity = null,\r\n): readonly BoardEntity[] => {\r\n\treturn spawnEntities(\r\n\t\tcardId,\r\n\t\tquantity,\r\n\t\tinput.boardWithDeadEntity,\r\n\t\tinput.boardWithDeadEntityHero,\r\n\t\tinput.otherBoard,\r\n\t\tinput.otherBoardHero,\r\n\t\tinput.gameState,\r\n\t\tinput.deadEntity.friendly,\r\n\t\tfalse,\r\n\t\tfalse,\r\n\t\tfalse,\r\n\t\tboardEntityToSpawn,\r\n\t);\r\n};\r\n\r\nexport const simplifiedSpawnEntitiesWithAddToBoard = (\r\n\tcardId: string,\r\n\tquantity: number,\r\n\tinput: DeathrattleTriggeredInput,\r\n\tsource: BoardEntity,\r\n\tindexFromRight: number,\r\n\tboardEntityToSpawn: BoardEntity = null,\r\n): void => {\r\n\tconst spawns = spawnEntities(\r\n\t\tcardId,\r\n\t\tquantity,\r\n\t\tinput.boardWithDeadEntity,\r\n\t\tinput.boardWithDeadEntityHero,\r\n\t\tinput.otherBoard,\r\n\t\tinput.otherBoardHero,\r\n\t\tinput.gameState,\r\n\t\tinput.deadEntity.friendly,\r\n\t\tfalse,\r\n\t\tfalse,\r\n\t\tfalse,\r\n\t\tboardEntityToSpawn,\r\n\t);\r\n\tperformEntitySpawns(\r\n\t\tspawns,\r\n\t\tinput.boardWithDeadEntity,\r\n\t\tinput.boardWithDeadEntityHero,\r\n\t\tsource,\r\n\t\tindexFromRight,\r\n\t\tinput.otherBoard,\r\n\t\tinput.otherBoardHero,\r\n\t\tinput.gameState,\r\n\t);\r\n};\r\n\r\nexport const spawnEntities = (\r\n\tcardId: string,\r\n\tquantity: number,\r\n\tboardToSpawnInto: BoardEntity[],\r\n\tboardToSpawnIntoHero: BgsPlayerEntity,\r\n\totherBoard: BoardEntity[],\r\n\totherHero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n\tfriendly: boolean,\r\n\t// In most cases the business of knowing the number of minions to handle is left to the caller\r\n\t// Bascially, use limitSpawns = true only if the source does not trigger if there is not enough room,\r\n\t// e.g. Toxic Tumbleweed. Otherwise, it will prevent the \"spawn failed\" event.\r\n\tlimitSpawns: boolean,\r\n\tspawnReborn = false,\r\n\tuseKhadgar = true,\r\n\tboardEntityToSpawn: BoardEntity = null,\r\n\toriginalEntity: BoardEntity = null,\r\n): readonly BoardEntity[] => {\r\n\tif (!cardId) {\r\n\t\tconsole.error(\r\n\t\t\t'Cannot spawn a minion without any cardId defined',\r\n\t\t\tstringifySimple(boardToSpawnInto, gameState.allCards),\r\n\t\t\tnew Error().stack,\r\n\t\t);\r\n\t}\r\n\tif (gameState.anomalies?.includes(CardIds.TheGoldenArena_BG27_Anomaly_801)) {\r\n\t\tif (!gameState.allCards.getCard(cardId).premium) {\r\n\t\t\tconst premiumDbfId = gameState.allCards.getCard(cardId).battlegroundsPremiumDbfId;\r\n\t\t\tcardId = gameState.allCards.getCard(premiumDbfId).id;\r\n\t\t}\r\n\t}\r\n\tconst spawnMultiplier = useKhadgar\r\n\t\t? 2 * boardToSpawnInto.filter((entity) => entity.cardId === CardIds.Khadgar_BG_DAL_575).length || 1\r\n\t\t: 1;\r\n\tconst spawnMultiplierGolden = useKhadgar\r\n\t\t? 3 * boardToSpawnInto.filter((entity) => entity.cardId === CardIds.Khadgar_TB_BaconUps_034).length || 1\r\n\t\t: 1;\r\n\tconst minionsToSpawn = limitSpawns\r\n\t\t? Math.min(quantity * spawnMultiplier * spawnMultiplierGolden, 7 - boardToSpawnInto.length)\r\n\t\t: quantity * spawnMultiplier * spawnMultiplierGolden;\r\n\tconst result: BoardEntity[] = [];\r\n\tfor (let i = 0; i < minionsToSpawn; i++) {\r\n\t\tconst newMinion = buildSingleBoardEntity(\r\n\t\t\tcardId,\r\n\t\t\tboardToSpawnIntoHero,\r\n\t\t\tboardToSpawnInto,\r\n\t\t\tgameState.allCards,\r\n\t\t\tfriendly,\r\n\t\t\tgameState.sharedState.currentEntityId++,\r\n\t\t\tspawnReborn,\r\n\t\t\tgameState.cardsData,\r\n\t\t\tgameState.sharedState,\r\n\t\t\tboardEntityToSpawn,\r\n\t\t\toriginalEntity,\r\n\t\t);\r\n\t\tif (!newMinion.cardId) {\r\n\t\t\tconsole.warn('Invalid spawn', newMinion, cardId);\r\n\t\t}\r\n\t\tresult.push(newMinion);\r\n\t}\r\n\r\n\treturn result;\r\n};\r\n\r\nexport const spawnEntitiesFromDeathrattle = (\r\n\tdeadEntity: BoardEntity,\r\n\tdeadEntityIndexFromRight: number,\r\n\tboardWithDeadEntity: BoardEntity[],\r\n\tboardWithDeadEntityHero: BgsPlayerEntity,\r\n\totherBoard: BoardEntity[],\r\n\totherBoardHero: BgsPlayerEntity,\r\n\tentitiesDeadThisAttack: readonly BoardEntity[],\r\n\tgameState: FullGameState,\r\n): readonly BoardEntity[] => {\r\n\tconst finalSpawns: BoardEntity[] = [];\r\n\t// Because if the baron dies because of a cleave, it still applies its effect to the other entities that died this turn\r\n\t// TOOD: I need a replay for this\r\n\t// If the Titus dies, its effect doesn't apply to the other deathrattle effects that die at the same time\r\n\t// e.g. Tunnel Blaster + Omega Buster + Titus, if the titus dies, then the omega buster DR isn't applied multiple\r\n\t// times\r\n\t// http://replays.firestoneapp.com/?reviewId=fb739cc8-bf3b-4003-ab99-031ee1aa0ea1&turn=25&action=1\r\n\tconst multiplier = computeDeathrattleMultiplier(\r\n\t\t// [...boardWithDeadEntity, ...entitiesDeadThisAttack],\r\n\t\t[...boardWithDeadEntity],\r\n\t\tboardWithDeadEntityHero,\r\n\t\tdeadEntity,\r\n\t\tgameState.sharedState,\r\n\t);\r\n\r\n\tconst deathrattleTriggeredInput: DeathrattleTriggeredInput = {\r\n\t\tboardWithDeadEntity,\r\n\t\tboardWithDeadEntityHero,\r\n\t\tdeadEntity,\r\n\t\tdeadEntityIndexFromRight: deadEntityIndexFromRight,\r\n\t\totherBoard,\r\n\t\totherBoardHero,\r\n\t\tgameState,\r\n\t};\r\n\r\n\t// const otherBoardSpawnedEntities: BoardEntity[] = [];\r\n\t// console.debug(\r\n\t// \t'spawn triggers',\r\n\t// \tgameState.allCards.getCard(deadEntity.cardId).name,\r\n\t// \tcardIds.map((c) => gameState.allCards.getCard(c).name),\r\n\t// \tcardIds,\r\n\t// );\r\n\r\n\t// We compute the enchantments first, so that we don't include enchantments created by the just-processed\r\n\t// deathrattles\r\n\t// It's important to first copy the enchantments, otherwise you could end up\r\n\t// in an infinite loop - since new enchants are added after each step\r\n\tconst enchantments: BoardEnchantment[] = [\r\n\t\t...deadEntity.enchantments,\r\n\t\t// These seem to be first processed separately\r\n\t\t// ...(deadEntity.rememberedDeathrattles ?? []),\r\n\t].sort((a, b) => a.timing - b.timing);\r\n\tconst cards = [deadEntity, ...enchantments]\r\n\t\t// Two cases that illustrate this:\r\n\t\t// 33.6.2 https://replays.firestoneapp.com/?reviewId=3b025701-01f5-4527-9d53-d8d67f78c5c8&turn=7&action=0\r\n\t\t// The Phylactery enchantment exists before the Golden Deathrattle power so it goes first.\r\n\t\t// 33.6.2 https://replays.firestoneapp.com/?reviewId=e717d075-3f1b-463a-a644-cda2584eeb0e&turn=5&action=1\r\n\t\t// the Deathrattle of the Manasaber exists before the Phylactery Deathrattle power is added so the Manasaber Deathrattle goes first.\r\n\t\t.sort(\r\n\t\t\t(a, b) =>\r\n\t\t\t\t((a as BoardEntity).entityId ?? (a as BoardEnchantment).timing ?? 0) -\r\n\t\t\t\t((b as BoardEntity).entityId ?? (b as BoardEnchantment).timing ?? 0),\r\n\t\t);\r\n\r\n\tfor (let i = 0; i < multiplier; i++) {\r\n\t\tlet hasTriggered = false;\r\n\t\tfor (const card of cards) {\r\n\t\t\tconst spawnedEntities: BoardEntity[] = [];\r\n\t\t\tif ((card as BoardEntity).health !== undefined) {\r\n\t\t\t\tconst cardIds = [card.cardId, ...((card as BoardEntity).additionalCards ?? [])];\r\n\t\t\t\tfor (const deadEntityCardId of cardIds) {\r\n\t\t\t\t\tlet hasTriggeredThisLoop = true;\r\n\t\t\t\t\tconst spawnEntityImpl = cardMappings[deadEntityCardId];\r\n\t\t\t\t\tif (hasDeathrattleSpawn(spawnEntityImpl)) {\r\n\t\t\t\t\t\tconst spawned = spawnEntityImpl.deathrattleSpawn(deadEntity, deathrattleTriggeredInput);\r\n\t\t\t\t\t\tif (spawned?.length) {\r\n\t\t\t\t\t\t\tspawnedEntities.push(...spawned);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tswitch (deadEntityCardId) {\r\n\t\t\t\t\t\t\tcase CardIds.Mecharoo_BOT_445:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.Mecharoo_JoEBotToken_BOT_445t,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Mecharoo_TB_BaconUps_002:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.Mecharoo_JoEBotToken_TB_BaconUps_002t,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.CordPuller_BG29_611:\r\n\t\t\t\t\t\t\tcase CardIds.CordPuller_BG29_611_G:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.CordPuller_BG29_611\r\n\t\t\t\t\t\t\t\t\t\t\t? CardIds.ReplicatingMenace_MicrobotToken_BG_BOT_312t\r\n\t\t\t\t\t\t\t\t\t\t\t: CardIds.ReplicatingMenace_MicrobotToken_TB_BaconUps_032t,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.PiggybackImp_BG_AV_309:\r\n\t\t\t\t\t\t\tcase CardIds.PiggybackImp_BG_AV_309_G:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.PiggybackImp_BackpiggyImpToken_AV_309t,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntityCardId === CardIds.PiggybackImp_BG_AV_309_G ? 2 : 1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.EternalSummoner_BG25_009:\r\n\t\t\t\t\t\t\tcase CardIds.EternalSummoner_BG25_009_G:\r\n\t\t\t\t\t\t\t\t// TODO\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tdeadEntityCardId === CardIds.EternalSummoner_BG25_009_G\r\n\t\t\t\t\t\t\t\t\t\t\t? CardIds.EternalKnight_BG25_008_G\r\n\t\t\t\t\t\t\t\t\t\t\t: CardIds.EternalKnight_BG25_008,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.IckyImp_BG21_029:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.ImpGangBoss_ImpToken_BRM_006t,\r\n\t\t\t\t\t\t\t\t\t\t2,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.IckyImp_BG21_029_G:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.ImpGangBoss_ImpToken_BRM_006t,\r\n\t\t\t\t\t\t\t\t\t\t4,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.HarvestGolemLegacy_BG_EX1_556:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.DamagedGolemLegacy,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.HarvestGolemLegacy_TB_BaconUps_006:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.HarvestGolem_DamagedGolemLegacyToken_TB_BaconUps_006t,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.SewerRat_BG19_010:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.SewerRat_HalfShellToken_BG19_010t,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.SewerRat_BG19_010_G:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.SewerRat_HalfShellToken_BG19_010_Gt,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.MawswornSoulkeeper_TB_BaconShop_HERO_702_Buddy:\r\n\t\t\t\t\t\t\tcase CardIds.MawswornSoulkeeper_TB_BaconShop_HERO_702_Buddy_G:\r\n\t\t\t\t\t\t\t\tconst minionsToSpawnMawsworn =\r\n\t\t\t\t\t\t\t\t\tdeadEntityCardId === CardIds.MawswornSoulkeeper_TB_BaconShop_HERO_702_Buddy_G\r\n\t\t\t\t\t\t\t\t\t\t? 4\r\n\t\t\t\t\t\t\t\t\t\t: 2;\r\n\t\t\t\t\t\t\t\tfor (let i = 0; i < minionsToSpawnMawsworn; i++) {\r\n\t\t\t\t\t\t\t\t\tconst minionCardId = gameState.cardsData.getRandomMinionForTribe(\r\n\t\t\t\t\t\t\t\t\t\tRace.UNDEAD,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero.tavernTier,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\t\tminionCardId,\r\n\t\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Festergut_BG25_HERO_100_Buddy:\r\n\t\t\t\t\t\t\tcase CardIds.Festergut_BG25_HERO_100_Buddy_G:\r\n\t\t\t\t\t\t\t\tconst minionsToSpawnFestergut =\r\n\t\t\t\t\t\t\t\t\tdeadEntityCardId === CardIds.Festergut_BG25_HERO_100_Buddy_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tfor (let i = 0; i < minionsToSpawnFestergut; i++) {\r\n\t\t\t\t\t\t\t\t\tconst randomUndeadCreation = buildRandomUndeadCreation(\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tgameState.allCards,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tgameState.cardsData,\r\n\t\t\t\t\t\t\t\t\t\tgameState.sharedState,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\t\trandomUndeadCreation.cardId,\r\n\t\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\t\t\trandomUndeadCreation,\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\taddCardsInHand(\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t[randomUndeadCreation],\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.KindlyGrandmother_BG_KAR_005:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.KindlyGrandmother_BigBadWolf_BG_KAR_005a,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.KindlyGrandmother_TB_BaconUps_004:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.KindlyGrandmother_BigBadWolfToken,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.RatPack_BG_CFM_316:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.RatPack_RatToken_BG_CFM_316t,\r\n\t\t\t\t\t\t\t\t\t\tMath.min(7, deadEntity.attack),\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.RatPack_TB_BaconUps_027:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.RatPack_RatToken_TB_BaconUps_027t,\r\n\t\t\t\t\t\t\t\t\t\tMath.min(7, deadEntity.attack),\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Imprisoner_BGS_014:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.ImpGangBoss_ImpToken_BRM_006t,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Imprisoner_TB_BaconUps_113:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.ImpGangBoss_ImpToken_TB_BaconUps_030t,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.InfestedWolf_OG_216:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.InfestedWolf_Spider,\r\n\t\t\t\t\t\t\t\t\t\t2,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t// case CardIds.InfestedWolf_TB_BaconUps_026:\r\n\t\t\t\t\t\t\t// \tspawnedEntities.push(\r\n\t\t\t\t\t\t\t// \t\t...spawnEntities(\r\n\t\t\t\t\t\t\t// \t\t\tCardIds.InfestedWolf_SpiderToken,\r\n\t\t\t\t\t\t\t// \t\t\t2,\r\n\t\t\t\t\t\t\t// \t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\t\totherBoard,\r\n\t\t\t\t\t\t\t// \t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t// \t\t\tgameState,\r\n\t\t\t\t\t\t\t// \t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t// \t\t\tfalse,\r\n\t\t\t\t\t\t\t// \t\t),\r\n\t\t\t\t\t\t\t// \t);\r\n\t\t\t\t\t\t\t// \tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.ReplicatingMenace_BG_BOT_312:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.ReplicatingMenace_MicrobotToken_BG_BOT_312t,\r\n\t\t\t\t\t\t\t\t\t\t3,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.ReplicatingMenace_TB_BaconUps_032:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.ReplicatingMenace_MicrobotToken_TB_BaconUps_032t,\r\n\t\t\t\t\t\t\t\t\t\t3,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.MechanoEgg_BOT_537:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.MechanoEgg_RobosaurToken_BOT_537t,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.MechanoEgg_TB_BaconUps_039:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.MechanoEgg_RobosaurToken_TB_BaconUps_039t,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.SavannahHighmaneLegacy_BG_EX1_534:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.SavannahHighmane_HyenaLegacyToken_BG_EX1_534t,\r\n\t\t\t\t\t\t\t\t\t\t2,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.SavannahHighmaneLegacy_TB_BaconUps_049:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.SavannahHighmane_HyenaLegacyToken_TB_BaconUps_049t,\r\n\t\t\t\t\t\t\t\t\t\t2,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.RingMatron_BG_DMF_533:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.RingMatron_FieryImpToken_BG_DMF_533t,\r\n\t\t\t\t\t\t\t\t\t\t2,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.RingMatron_TB_BaconUps_309:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.RingMatron_FieryImpToken_TB_BaconUps_309t,\r\n\t\t\t\t\t\t\t\t\t\t2,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.SatedThreshadon_UNG_010:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.PrimalfinTotem_PrimalfinToken,\r\n\t\t\t\t\t\t\t\t\t\t3,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t// case CardIds.SatedThreshadon_TB_BaconUps_052:\r\n\t\t\t\t\t\t\t// \tspawnedEntities.push(\r\n\t\t\t\t\t\t\t// \t\t...spawnEntities(\r\n\t\t\t\t\t\t\t// \t\t\tCardIds.SatedThreshadon_PrimalfinToken,\r\n\t\t\t\t\t\t\t// \t\t\t3,\r\n\t\t\t\t\t\t\t// \t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\t\totherBoard,\r\n\t\t\t\t\t\t\t// \t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t// \t\t\tgameState,\r\n\t\t\t\t\t\t\t// \t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t// \t\t\tfalse,\r\n\t\t\t\t\t\t\t// \t\t),\r\n\t\t\t\t\t\t\t// \t);\r\n\t\t\t\t\t\t\t// \tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Ghastcoiler_BGS_008:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...[\r\n\t\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\t\tgameState.cardsData.ghastcoilerSpawns[\r\n\t\t\t\t\t\t\t\t\t\t\t\tMath.floor(Math.random() * gameState.cardsData.ghastcoilerSpawns.length)\r\n\t\t\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\t\tgameState.cardsData.ghastcoilerSpawns[\r\n\t\t\t\t\t\t\t\t\t\t\t\tMath.floor(Math.random() * gameState.cardsData.ghastcoilerSpawns.length)\r\n\t\t\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\t\tcase CardIds.Kilrek_TB_BaconShop_HERO_37_Buddy:\r\n\t\t\t\t\t\t\tcase CardIds.Kilrek_TB_BaconShop_HERO_37_Buddy_G:\r\n\t\t\t\t\t\t\t\tconst kilrekCardsToAddQuantity =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.Kilrek_TB_BaconShop_HERO_37_Buddy_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tconst kilrekCardsToAdd = [];\r\n\t\t\t\t\t\t\t\tfor (let i = 0; i < kilrekCardsToAddQuantity; i++) {\r\n\t\t\t\t\t\t\t\t\tkilrekCardsToAdd.push(pickRandom(gameState.cardsData.demonSpawns));\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\taddCardsInHand(\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tkilrekCardsToAdd,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\t\tcase CardIds.BrannsEpicEgg_TB_BaconShop_HERO_43_Buddy:\r\n\t\t\t\t\t\t\tcase CardIds.BrannsEpicEgg_TB_BaconShop_HERO_43_Buddy_G:\r\n\t\t\t\t\t\t\t\tconst brannSpawns = [];\r\n\t\t\t\t\t\t\t\tconst brannToSpawnQuandtity =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.BrannsEpicEgg_TB_BaconShop_HERO_43_Buddy_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tfor (let i = 0; i < brannToSpawnQuandtity; i++) {\r\n\t\t\t\t\t\t\t\t\tbrannSpawns.push(pickRandom(gameState.cardsData.battlecryMinions));\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tfor (const brannSpawn of brannSpawns) {\r\n\t\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\t\tbrannSpawn,\r\n\t\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\taddCardsInHand(boardWithDeadEntityHero, boardWithDeadEntity, brannSpawns, gameState);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\t\tcase CardIds.Ghastcoiler_TRLA_149:\r\n\t\t\t\t\t\t\tcase CardIds.Ghastcoiler_TB_BaconUps_057:\r\n\t\t\t\t\t\t\t\tconst ghastcoilerLoop =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.Ghastcoiler_TB_BaconUps_057 ? 4 : 2;\r\n\t\t\t\t\t\t\t\tfor (let i = 0; i < ghastcoilerLoop; i++) {\r\n\t\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t\t...[\r\n\t\t\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\t\t\tgameState.cardsData.ghastcoilerSpawns[\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tMath.floor(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tMath.random() * gameState.cardsData.ghastcoilerSpawns.length,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Voidlord_BG_LOOT_368:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.VoidwalkerLegacy_BG_CS2_065,\r\n\t\t\t\t\t\t\t\t\t\t3,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Voidlord_TB_BaconUps_059:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.Voidlord_VoidwalkerLegacyToken,\r\n\t\t\t\t\t\t\t\t\t\t3,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.AnnoyOTroupe_BG26_ETC_321:\r\n\t\t\t\t\t\t\tcase CardIds.AnnoyOTroupe_BG26_ETC_321_G:\r\n\t\t\t\t\t\t\t\tconst annoyOTroupeSpawns =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.AnnoyOTroupe_BG26_ETC_321_G\r\n\t\t\t\t\t\t\t\t\t\t? CardIds.AnnoyOTron_BG_GVG_085_G\r\n\t\t\t\t\t\t\t\t\t\t: CardIds.AnnoyOTron_BG_GVG_085;\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tannoyOTroupeSpawns,\r\n\t\t\t\t\t\t\t\t\t\t3,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.OmegaBuster_BG21_025:\r\n\t\t\t\t\t\t\tcase CardIds.OmegaBuster_BG21_025_G:\r\n\t\t\t\t\t\t\t\t// Here we have to truncate the spawned entities instead of letting the caller handle it,\r\n\t\t\t\t\t\t\t\t// because we need to know how many minions couldn't spawn so that we can apply the buff.\r\n\t\t\t\t\t\t\t\t// HOWEVER, this can cause an issue, if for instance a Scallywag token spawns, attacks right away,\r\n\t\t\t\t\t\t\t\t// and then Omega Buster spawns. In this case, it will not have yet processed the token's attack,\r\n\t\t\t\t\t\t\t\t// and will limit the spawns\r\n\t\t\t\t\t\t\t\tconst cardParam = 6;\r\n\t\t\t\t\t\t\t\tconst entitiesToSpawn = Math.max(\r\n\t\t\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\t\t\tMath.min(cardParam, 7 - boardWithDeadEntity.length - spawnedEntities.length),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tconst buffAmount =\r\n\t\t\t\t\t\t\t\t\t(deadEntityCardId === CardIds.OmegaBuster_BG21_025_G ? 2 : 1) *\r\n\t\t\t\t\t\t\t\t\t(cardParam - entitiesToSpawn);\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tdeadEntityCardId === CardIds.OmegaBuster_BG21_025_G\r\n\t\t\t\t\t\t\t\t\t\t\t? CardIds.ReplicatingMenace_MicrobotToken_TB_BaconUps_032t\r\n\t\t\t\t\t\t\t\t\t\t\t: CardIds.ReplicatingMenace_MicrobotToken_BG_BOT_312t,\r\n\t\t\t\t\t\t\t\t\t\tentitiesToSpawn,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\taddStatsToBoard(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tbuffAmount,\r\n\t\t\t\t\t\t\t\t\tbuffAmount,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tRace[Race.MECH],\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t// when the buster triggers multiple times because of Baron for instance\r\n\t\t\t\t\t\t\t\taddStatsToBoard(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tspawnedEntities,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tbuffAmount,\r\n\t\t\t\t\t\t\t\t\tbuffAmount,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tRace[Race.MECH],\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t// case CardIds.TheTideRazor_BGS_079:\r\n\t\t\t\t\t\t\t// \tspawnedEntities.push(\r\n\t\t\t\t\t\t\t// \t\t...[\r\n\t\t\t\t\t\t\t// \t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState.cardsData.pirateSpawns[\r\n\t\t\t\t\t\t\t// \t\t\t\t\tMath.floor(Math.random() * gameState.cardsData.pirateSpawns.length)\r\n\t\t\t\t\t\t\t// \t\t\t\t],\r\n\t\t\t\t\t\t\t// \t\t\t\t1,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState,\r\n\t\t\t\t\t\t\t// \t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t// \t\t\t\tfalse,\r\n\t\t\t\t\t\t\t// \t\t\t),\r\n\t\t\t\t\t\t\t// \t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState.cardsData.pirateSpawns[\r\n\t\t\t\t\t\t\t// \t\t\t\t\tMath.floor(Math.random() * gameState.cardsData.pirateSpawns.length)\r\n\t\t\t\t\t\t\t// \t\t\t\t],\r\n\t\t\t\t\t\t\t// \t\t\t\t1,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState,\r\n\t\t\t\t\t\t\t// \t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t// \t\t\t\tfalse,\r\n\t\t\t\t\t\t\t// \t\t\t),\r\n\t\t\t\t\t\t\t// \t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState.cardsData.pirateSpawns[\r\n\t\t\t\t\t\t\t// \t\t\t\t\tMath.floor(Math.random() * gameState.cardsData.pirateSpawns.length)\r\n\t\t\t\t\t\t\t// \t\t\t\t],\r\n\t\t\t\t\t\t\t// \t\t\t\t1,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState,\r\n\t\t\t\t\t\t\t// \t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t// \t\t\t\tfalse,\r\n\t\t\t\t\t\t\t// \t\t\t),\r\n\t\t\t\t\t\t\t// \t\t],\r\n\t\t\t\t\t\t\t// \t);\r\n\t\t\t\t\t\t\t// \tbreak;\r\n\t\t\t\t\t\t\t// case CardIds.TheTideRazor_TB_BaconUps_137:\r\n\t\t\t\t\t\t\t// \tspawnedEntities.push(\r\n\t\t\t\t\t\t\t// \t\t...[\r\n\t\t\t\t\t\t\t// \t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState.cardsData.pirateSpawns[\r\n\t\t\t\t\t\t\t// \t\t\t\t\tMath.floor(Math.random() * gameState.cardsData.pirateSpawns.length)\r\n\t\t\t\t\t\t\t// \t\t\t\t],\r\n\t\t\t\t\t\t\t// \t\t\t\t1,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState,\r\n\t\t\t\t\t\t\t// \t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t// \t\t\t\tfalse,\r\n\t\t\t\t\t\t\t// \t\t\t),\r\n\t\t\t\t\t\t\t// \t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState.cardsData.pirateSpawns[\r\n\t\t\t\t\t\t\t// \t\t\t\t\tMath.floor(Math.random() * gameState.cardsData.pirateSpawns.length)\r\n\t\t\t\t\t\t\t// \t\t\t\t],\r\n\t\t\t\t\t\t\t// \t\t\t\t1,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState,\r\n\t\t\t\t\t\t\t// \t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t// \t\t\t\tfalse,\r\n\t\t\t\t\t\t\t// \t\t\t),\r\n\t\t\t\t\t\t\t// \t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState.cardsData.pirateSpawns[\r\n\t\t\t\t\t\t\t// \t\t\t\t\tMath.floor(Math.random() * gameState.cardsData.pirateSpawns.length)\r\n\t\t\t\t\t\t\t// \t\t\t\t],\r\n\t\t\t\t\t\t\t// \t\t\t\t1,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState,\r\n\t\t\t\t\t\t\t// \t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t// \t\t\t\tfalse,\r\n\t\t\t\t\t\t\t// \t\t\t),\r\n\t\t\t\t\t\t\t// \t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState.cardsData.pirateSpawns[\r\n\t\t\t\t\t\t\t// \t\t\t\t\tMath.floor(Math.random() * gameState.cardsData.pirateSpawns.length)\r\n\t\t\t\t\t\t\t// \t\t\t\t],\r\n\t\t\t\t\t\t\t// \t\t\t\t1,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState,\r\n\t\t\t\t\t\t\t// \t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t// \t\t\t\tfalse,\r\n\t\t\t\t\t\t\t// \t\t\t),\r\n\t\t\t\t\t\t\t// \t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState.cardsData.pirateSpawns[\r\n\t\t\t\t\t\t\t// \t\t\t\t\tMath.floor(Math.random() * gameState.cardsData.pirateSpawns.length)\r\n\t\t\t\t\t\t\t// \t\t\t\t],\r\n\t\t\t\t\t\t\t// \t\t\t\t1,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState,\r\n\t\t\t\t\t\t\t// \t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t// \t\t\t\tfalse,\r\n\t\t\t\t\t\t\t// \t\t\t),\r\n\t\t\t\t\t\t\t// \t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState.cardsData.pirateSpawns[\r\n\t\t\t\t\t\t\t// \t\t\t\t\tMath.floor(Math.random() * gameState.cardsData.pirateSpawns.length)\r\n\t\t\t\t\t\t\t// \t\t\t\t],\r\n\t\t\t\t\t\t\t// \t\t\t\t1,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState,\r\n\t\t\t\t\t\t\t// \t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t// \t\t\t\tfalse,\r\n\t\t\t\t\t\t\t// \t\t\t),\r\n\t\t\t\t\t\t\t// \t\t],\r\n\t\t\t\t\t\t\t// \t);\r\n\t\t\t\t\t\t\t// \tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.OctosariWrapGod_BG26_804:\r\n\t\t\t\t\t\t\tcase CardIds.OctosariWrapGod_BG26_804_G:\r\n\t\t\t\t\t\t\t\t// For remembered deathrattles\r\n\t\t\t\t\t\t\t\tconst stats =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.scriptDataNum1 ||\r\n\t\t\t\t\t\t\t\t\tgameState.sharedState.deaths.find(\r\n\t\t\t\t\t\t\t\t\t\t(e) => e.friendly === deadEntity.friendly && e.cardId === deadEntity.cardId,\r\n\t\t\t\t\t\t\t\t\t)?.scriptDataNum1 ||\r\n\t\t\t\t\t\t\t\t\t0;\r\n\t\t\t\t\t\t\t\tconst octosariSpawn =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.OctosariWrapGod_BG26_804_G\r\n\t\t\t\t\t\t\t\t\t\t? CardIds.TentacleOfOctosariToken_BG26_803_Gt\r\n\t\t\t\t\t\t\t\t\t\t: CardIds.TentacleOfOctosariToken_BG26_803t;\r\n\t\t\t\t\t\t\t\tconst octoSpawns = spawnEntities(\r\n\t\t\t\t\t\t\t\t\toctosariSpawn,\r\n\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\toctoSpawns.forEach((b) => {\r\n\t\t\t\t\t\t\t\t\tb.attack = stats;\r\n\t\t\t\t\t\t\t\t\tb.health = stats;\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(...octoSpawns);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Bassgill_BG26_350:\r\n\t\t\t\t\t\t\tcase CardIds.Bassgill_BG26_350_G:\r\n\t\t\t\t\t\t\t\tconst bassgillIterations = deadEntity.cardId === CardIds.Bassgill_BG26_350_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tfor (let i = 0; i < bassgillIterations; i++) {\r\n\t\t\t\t\t\t\t\t\tconst hand =\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero.hand\r\n\t\t\t\t\t\t\t\t\t\t\t?.filter((e) =>\r\n\t\t\t\t\t\t\t\t\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\te,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tRace.MURLOC,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tgameState.anomalies,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tgameState.allCards,\r\n\t\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t.filter((e) => !!e?.cardId)\r\n\t\t\t\t\t\t\t\t\t\t\t.filter((e) => !e.locked) ?? [];\r\n\t\t\t\t\t\t\t\t\tconst highestHealth = Math.max(\r\n\t\t\t\t\t\t\t\t\t\t...hand.filter((c) => c.health).map((c) => c.health),\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tconst highestHealthMinions = highestHealth\r\n\t\t\t\t\t\t\t\t\t\t? hand.filter((c) => c.health === highestHealth)\r\n\t\t\t\t\t\t\t\t\t\t: null;\r\n\t\t\t\t\t\t\t\t\tconst spawn = !!highestHealthMinions?.length\r\n\t\t\t\t\t\t\t\t\t\t? pickRandom(highestHealthMinions)\r\n\t\t\t\t\t\t\t\t\t\t: hand.filter((c) => c.cardId).length\r\n\t\t\t\t\t\t\t\t\t\t? pickRandom(hand.filter((c) => c.cardId))\r\n\t\t\t\t\t\t\t\t\t\t: null;\r\n\t\t\t\t\t\t\t\t\tif (spawn) {\r\n\t\t\t\t\t\t\t\t\t\tspawn.locked = true;\r\n\t\t\t\t\t\t\t\t\t\t// Technically it should not be removed from hand, but rather flagged\r\n\t\t\t\t\t\t\t\t\t\t// Probably very low impact doing it like this\r\n\t\t\t\t\t\t\t\t\t\t// spawn.locked = true;\r\n\t\t\t\t\t\t\t\t\t\t// removeCardFromHand(boardWithDeadEntityHero, spawn);\r\n\t\t\t\t\t\t\t\t\t\tconst bassgillSpawns = spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\t\tspawn.cardId,\r\n\t\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\t\t\t{ ...spawn } as BoardEntity,\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tfor (const s of bassgillSpawns) {\r\n\t\t\t\t\t\t\t\t\t\t\ts.onCanceledSummon = () => (spawn.locked = false);\r\n\t\t\t\t\t\t\t\t\t\t\t// s.backRef = spawn;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tspawnedEntities.push(...bassgillSpawns);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.CultistSthara_BG27_081:\r\n\t\t\t\t\t\t\tcase CardIds.CultistSthara_BG27_081_G:\r\n\t\t\t\t\t\t\t\tconst cultistStharaSpawnNumber =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.CultistSthara_BG27_081_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tconst cultistStharaSpawnCandidates = gameState.sharedState.deaths\r\n\t\t\t\t\t\t\t\t\t.filter((entity) => entity.friendly === deadEntity.friendly)\r\n\t\t\t\t\t\t\t\t\t.filter((entity) =>\r\n\t\t\t\t\t\t\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\t\t\t\t\t\t\tentity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\tRace.DEMON,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState.anomalies,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState.allCards,\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t.slice(0, cultistStharaSpawnNumber);\r\n\t\t\t\t\t\t\t\tcultistStharaSpawnCandidates.forEach((candidate) => {\r\n\t\t\t\t\t\t\t\t\tconst spawns = spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tcandidate.cardId,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tspawns.forEach((spawn) => {\r\n\t\t\t\t\t\t\t\t\t\tspawn.attack = candidate.maxAttack ?? candidate.attack;\r\n\t\t\t\t\t\t\t\t\t\tspawn.health = candidate.maxHealth ?? candidate.health;\r\n\t\t\t\t\t\t\t\t\t\tspawn.maxHealth = spawn.health;\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tspawnedEntities.push(...spawns);\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Magnanimoose_BGDUO_105:\r\n\t\t\t\t\t\t\tcase CardIds.Magnanimoose_BGDUO_105_G:\r\n\t\t\t\t\t\t\t\tconst magnanimooseCopies =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.Magnanimoose_BGDUO_105_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tfor (let i = 0; i < magnanimooseCopies; i++) {\r\n\t\t\t\t\t\t\t\t\tconst teammateState = getTeammateInitialState(\r\n\t\t\t\t\t\t\t\t\t\tgameState.gameState,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tconst teammateBoard = teammateState?.board ?? [];\r\n\t\t\t\t\t\t\t\t\tconst copied: number[] = [];\r\n\t\t\t\t\t\t\t\t\tconst minionToCopy = pickRandom(\r\n\t\t\t\t\t\t\t\t\t\tteammateBoard.filter((e) => !copied.includes(e.entityId)),\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tif (minionToCopy) {\r\n\t\t\t\t\t\t\t\t\t\tconst copy: BoardEntity = {\r\n\t\t\t\t\t\t\t\t\t\t\t...minionToCopy,\r\n\t\t\t\t\t\t\t\t\t\t\thealth: 1,\r\n\t\t\t\t\t\t\t\t\t\t\tmaxHealth: 1,\r\n\t\t\t\t\t\t\t\t\t\t\tenchantments: [...minionToCopy.enchantments],\r\n\t\t\t\t\t\t\t\t\t\t\tpendingAttackBuffs: [],\r\n\t\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\t\t\tcopy.cardId,\r\n\t\t\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcopy,\r\n\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tcopied.push(copy.entityId);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\t\t// Putricide-only\r\n\t\t\t\t\t\t\tcase CardIds.FoulEgg_BG26_RLK_833:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.FoulEgg_FoulFowlToken,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.SpiritOfAir_TB_BaconShop_HERO_76_Buddy:\r\n\t\t\t\t\t\t\tcase CardIds.SpiritOfAir_TB_BaconShop_HERO_76_Buddy_G:\r\n\t\t\t\t\t\t\t\tconst iterations =\r\n\t\t\t\t\t\t\t\t\tdeadEntityCardId === CardIds.SpiritOfAir_TB_BaconShop_HERO_76_Buddy_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tfor (let j = 0; j < iterations; j++) {\r\n\t\t\t\t\t\t\t\t\tlet validTargets = boardWithDeadEntity.filter((entity) => !entity.divineShield);\r\n\t\t\t\t\t\t\t\t\tif (!validTargets?.length) {\r\n\t\t\t\t\t\t\t\t\t\tvalidTargets = boardWithDeadEntity.filter((entity) => !entity.taunt);\r\n\t\t\t\t\t\t\t\t\t\tif (!validTargets?.length) {\r\n\t\t\t\t\t\t\t\t\t\t\tvalidTargets = boardWithDeadEntity.filter((entity) => !entity.windfury);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tconst target = pickRandom(validTargets);\r\n\t\t\t\t\t\t\t\t\tif (target) {\r\n\t\t\t\t\t\t\t\t\t\tif (!target.divineShield) {\r\n\t\t\t\t\t\t\t\t\t\t\tupdateDivineShield(\r\n\t\t\t\t\t\t\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tupdateTaunt(\r\n\t\t\t\t\t\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tupdateWindfury(\r\n\t\t\t\t\t\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tgameState.spectator.registerPowerTarget(\r\n\t\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.NadinaTheRed_BGS_040:\r\n\t\t\t\t\t\t\tcase CardIds.NadinaTheRed_TB_BaconUps_154:\r\n\t\t\t\t\t\t\t\tconst nadinaMultiplier =\r\n\t\t\t\t\t\t\t\t\tdeadEntityCardId === CardIds.NadinaTheRed_TB_BaconUps_154 ? 6 : 3;\r\n\t\t\t\t\t\t\t\tfor (let j = 0; j < nadinaMultiplier; j++) {\r\n\t\t\t\t\t\t\t\t\tconst validTargets = boardWithDeadEntity\r\n\t\t\t\t\t\t\t\t\t\t.filter((e) =>\r\n\t\t\t\t\t\t\t\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\t\t\t\t\t\t\t\te,\r\n\t\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\t\tRace.DRAGON,\r\n\t\t\t\t\t\t\t\t\t\t\t\tgameState.anomalies,\r\n\t\t\t\t\t\t\t\t\t\t\t\tgameState.allCards,\r\n\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t.filter((entity) => !entity.divineShield);\r\n\t\t\t\t\t\t\t\t\tconst target = pickRandom(validTargets);\r\n\t\t\t\t\t\t\t\t\tif (target) {\r\n\t\t\t\t\t\t\t\t\t\tupdateDivineShield(\r\n\t\t\t\t\t\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tgameState.spectator.registerPowerTarget(\r\n\t\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.SpawnOfNzoth_BG_OG_256:\r\n\t\t\t\t\t\t\t\taddStatsToBoard(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.SpawnOfNzoth_TB_BaconUps_025:\r\n\t\t\t\t\t\t\t\taddStatsToBoard(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t2,\r\n\t\t\t\t\t\t\t\t\t2,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.FiendishServant_YOD_026:\r\n\t\t\t\t\t\t\t\tgrantRandomAttack(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.attack,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.FiendishServant_TB_BaconUps_112:\r\n\t\t\t\t\t\t\t\tgrantRandomAttack(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.attack,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tgrantRandomAttack(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.attack,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.NightbaneIgnited_BG29_815:\r\n\t\t\t\t\t\t\tcase CardIds.NightbaneIgnited_BG29_815_G:\r\n\t\t\t\t\t\t\t\tconst nightbaneLoops = deadEntityCardId === CardIds.NightbaneIgnited_BG29_815_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tfor (let j = 0; j < nightbaneLoops; j++) {\r\n\t\t\t\t\t\t\t\t\tconst pickedTargetEntityIds = [];\r\n\t\t\t\t\t\t\t\t\tfor (let k = 0; k < 2; k++) {\r\n\t\t\t\t\t\t\t\t\t\tconst target = pickRandomAlive(\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity\r\n\t\t\t\t\t\t\t\t\t\t\t\t.filter(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t(e) =>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t![\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCardIds.NightbaneIgnited_BG29_815,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCardIds.NightbaneIgnited_BG29_815_G,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t].includes(e.cardId as CardIds),\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t.filter((e) => !pickedTargetEntityIds.includes(e.entityId)),\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tif (!!target) {\r\n\t\t\t\t\t\t\t\t\t\t\tpickedTargetEntityIds.push(target.entityId);\r\n\t\t\t\t\t\t\t\t\t\t\tmodifyStats(\r\n\t\t\t\t\t\t\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\t\tdeadEntity.attack,\r\n\t\t\t\t\t\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Leapfrogger_BG21_000:\r\n\t\t\t\t\t\t\t\t// console.log('\\t', 'Leapfrogger from DR', deadEntity.entityId);\r\n\t\t\t\t\t\t\t\tapplyLeapFroggerEffect(\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.deathrattleRepeats,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Leapfrogger_BG21_000_G:\r\n\t\t\t\t\t\t\t\tapplyLeapFroggerEffect(\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.deathrattleRepeats,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.PalescaleCrocolisk_BG21_001:\r\n\t\t\t\t\t\t\t\tconst target = grantRandomStats(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t6,\r\n\t\t\t\t\t\t\t\t\t6,\r\n\t\t\t\t\t\t\t\t\tRace.BEAST,\r\n\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tif (!!target) {\r\n\t\t\t\t\t\t\t\t\tgameState.spectator.registerPowerTarget(\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.PalescaleCrocolisk_BG21_001_G:\r\n\t\t\t\t\t\t\t\tconst crocTarget = grantRandomStats(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t12,\r\n\t\t\t\t\t\t\t\t\t12,\r\n\t\t\t\t\t\t\t\t\tRace.BEAST,\r\n\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tif (!!crocTarget) {\r\n\t\t\t\t\t\t\t\t\tgameState.spectator.registerPowerTarget(\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tcrocTarget,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.ScarletSkull_BG25_022:\r\n\t\t\t\t\t\t\tcase CardIds.ScarletSkull_BG25_022_G:\r\n\t\t\t\t\t\t\t\tconst scarletMultiplier = deadEntityCardId === CardIds.ScarletSkull_BG25_022_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tconst scarletTarget = grantRandomStats(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tscarletMultiplier * 1,\r\n\t\t\t\t\t\t\t\t\tscarletMultiplier * 2,\r\n\t\t\t\t\t\t\t\t\tRace.UNDEAD,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tif (!!scarletTarget) {\r\n\t\t\t\t\t\t\t\t\tgameState.spectator.registerPowerTarget(\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tscarletTarget,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.ElementiumSquirrelBomb_TB_BaconShop_HERO_17_Buddy:\r\n\t\t\t\t\t\t\tcase CardIds.ElementiumSquirrelBomb_TB_BaconShop_HERO_17_Buddy_G:\r\n\t\t\t\t\t\t\t\t// FIXME: I don't think this way of doing things is really accurate (as some deathrattles\r\n\t\t\t\t\t\t\t\t// could be spawned between the shots firing), but let's say it's good enough for now\r\n\t\t\t\t\t\t\t\tconst squirrelDamage =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.ElementiumSquirrelBomb_TB_BaconShop_HERO_17_Buddy_G\r\n\t\t\t\t\t\t\t\t\t\t? 4\r\n\t\t\t\t\t\t\t\t\t\t: 2;\r\n\t\t\t\t\t\t\t\tconst numberOfDeadMechsThisCombat = gameState.sharedState.deaths\r\n\t\t\t\t\t\t\t\t\t.filter((entity) => entity.friendly === deadEntity.friendly)\r\n\t\t\t\t\t\t\t\t\t// eslint-disable-next-line prettier/prettier\r\n\t\t\t\t\t\t\t\t\t.filter((entity) =>\r\n\t\t\t\t\t\t\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\t\t\t\t\t\t\tentity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\tRace.MECH,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState.anomalies,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState.allCards,\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t).length;\r\n\t\t\t\t\t\t\t\tfor (let j = 0; j < numberOfDeadMechsThisCombat; j++) {\r\n\t\t\t\t\t\t\t\t\tdealDamageToRandomEnemy(\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tsquirrelDamage,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.KaboomBot_BG_BOT_606:\r\n\t\t\t\t\t\t\tcase CardIds.KaboomBot_TB_BaconUps_028:\r\n\t\t\t\t\t\t\t\t// FIXME: I don't think this way of doing things is really accurate (as some deathrattles\r\n\t\t\t\t\t\t\t\t// could be spawned between the shots firing), but let's say it's good enough for now\r\n\t\t\t\t\t\t\t\tconst kaboomLoops = deadEntity.cardId === CardIds.KaboomBot_TB_BaconUps_028 ? 2 : 1;\r\n\t\t\t\t\t\t\t\tconst baseDamage =\r\n\t\t\t\t\t\t\t\t\t4 +\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero.trinkets.filter(\r\n\t\t\t\t\t\t\t\t\t\t(t) => t.cardId === CardIds.KaboomBotPortrait_BG30_MagicItem_803,\r\n\t\t\t\t\t\t\t\t\t).length *\r\n\t\t\t\t\t\t\t\t\t\t10;\r\n\t\t\t\t\t\t\t\tfor (let j = 0; j < kaboomLoops; j++) {\r\n\t\t\t\t\t\t\t\t\tdealDamageToRandomEnemy(\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tbaseDamage,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t// case CardIds.FireDancer_BG29_843:\r\n\t\t\t\t\t\t\t// case CardIds.FireDancer_BG29_843_G:\r\n\t\t\t\t\t\t\t// \tconst fireDancerLoops = deadEntity.cardId === CardIds.FireDancer_BG29_843_G ? 2 : 1;\r\n\t\t\t\t\t\t\t// \tfor (let j = 0; j < fireDancerLoops; j++) {\r\n\t\t\t\t\t\t\t// \t\t// In case there are spawns, don't target them\r\n\t\t\t\t\t\t\t// \t\tconst minionsToDamage = [...otherBoard, ...boardWithDeadEntity];\r\n\t\t\t\t\t\t\t// \t\tfor (const target of minionsToDamage) {\r\n\t\t\t\t\t\t\t// \t\t\tconst isSameSide = target.friendly === deadEntity.friendly;\r\n\t\t\t\t\t\t\t// \t\t\tconst board = isSameSide ? boardWithDeadEntity : otherBoard;\r\n\t\t\t\t\t\t\t// \t\t\tconst hero = isSameSide ? boardWithDeadEntityHero : otherBoardHero;\r\n\t\t\t\t\t\t\t// \t\t\tdealDamageToMinion(\r\n\t\t\t\t\t\t\t// \t\t\t\ttarget,\r\n\t\t\t\t\t\t\t// \t\t\t\tboard,\r\n\t\t\t\t\t\t\t// \t\t\t\thero,\r\n\t\t\t\t\t\t\t// \t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\t\t1,\r\n\t\t\t\t\t\t\t// \t\t\t\tisSameSide ? otherBoard : boardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\t\tisSameSide ? otherBoardHero : boardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState,\r\n\t\t\t\t\t\t\t// \t\t\t);\r\n\t\t\t\t\t\t\t// \t\t}\r\n\t\t\t\t\t\t\t// \t}\r\n\t\t\t\t\t\t\t// \t// Most likely there is a death loop after each round of damage, see\r\n\t\t\t\t\t\t\t// \t// http://replays.firestoneapp.com/?reviewId=4b6e4d8d-fc83-4795-b450-4cd0c3a518be&turn=17&action=2\r\n\t\t\t\t\t\t\t// \t// Update 13/05/2024: the death process is probably between each deathrattle proc, but not each\r\n\t\t\t\t\t\t\t// \t// individual tick. See\r\n\t\t\t\t\t\t\t// \t// http://replays.firestoneapp.com/?reviewId=6d66b90d-5678-4a68-a45f-7ddb887f9450&turn=17&action=11\r\n\t\t\t\t\t\t\t// \tprocessMinionDeath(\r\n\t\t\t\t\t\t\t// \t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\totherBoard,\r\n\t\t\t\t\t\t\t// \t\totherBoardHero,\r\n\t\t\t\t\t\t\t// \t\tgameState,\r\n\t\t\t\t\t\t\t// \t);\r\n\t\t\t\t\t\t\t// \tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.LighterFighter_BG28_968:\r\n\t\t\t\t\t\t\tcase CardIds.LighterFighter_BG28_968_G:\r\n\t\t\t\t\t\t\t\t// FIXME: I don't think this way of doing things is really accurate (as some deathrattles\r\n\t\t\t\t\t\t\t\t// could be spawned between the shots firing), but let's say it's good enough for now\r\n\t\t\t\t\t\t\t\tconst lighterFighterDamage =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.LighterFighter_BG28_968_G ? 8 : 4;\r\n\t\t\t\t\t\t\t\tfor (let j = 0; j < 2; j++) {\r\n\t\t\t\t\t\t\t\t\tconst target = pickRandomLowestHealth(otherBoard);\r\n\t\t\t\t\t\t\t\t\tgameState.spectator.registerPowerTarget(\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tdealDamageToMinion(\r\n\t\t\t\t\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tlighterFighterDamage,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.DrBoombox_BG25_165:\r\n\t\t\t\t\t\t\tcase CardIds.DrBoombox_BG25_165_G:\r\n\t\t\t\t\t\t\t\t// FIXME: I don't think this way of doing things is really accurate (as some deathrattles\r\n\t\t\t\t\t\t\t\t// could be spawned between the shots firing), but let's say it's good enough for now\r\n\t\t\t\t\t\t\t\tconst boomboxDamage = deadEntity.cardId === CardIds.DrBoombox_BG25_165_G ? 14 : 7;\r\n\t\t\t\t\t\t\t\t// The nearest enemies use the full board info\r\n\t\t\t\t\t\t\t\t// const boardIncludingDeadEntityAtCorrectIndex = boardWithDeadEntity.splice(\r\n\t\t\t\t\t\t\t\t// \tdeadEntityIndexFromRight,\r\n\t\t\t\t\t\t\t\t// \t0,\r\n\t\t\t\t\t\t\t\t// \tdeadEntity,\r\n\t\t\t\t\t\t\t\t// );\r\n\t\t\t\t\t\t\t\tconst targets = findNearestEnemies(\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tnull,\r\n\t\t\t\t\t\t\t\t\tdeadEntityIndexFromRight,\r\n\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t2,\r\n\t\t\t\t\t\t\t\t\tgameState.allCards,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\ttargets.forEach((target) => {\r\n\t\t\t\t\t\t\t\t\t// console.debug('dealing damage to', stringifySimpleCard(target));\r\n\t\t\t\t\t\t\t\t\tdealDamageToMinion(\r\n\t\t\t\t\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboomboxDamage,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.UnstableGhoul_BG_FP1_024:\r\n\t\t\t\t\t\t\t\t// case CardIds.UnstableGhoul_TB_BaconUps_118:\r\n\t\t\t\t\t\t\t\tconst damage = 1; //deadEntityCardId === CardIds.UnstableGhoul_TB_BaconUps_118 ? 2 : 1;\r\n\t\t\t\t\t\t\t\t// In case there are spawns, don't target them\r\n\t\t\t\t\t\t\t\tconst minionsToDamage = [...otherBoard, ...boardWithDeadEntity];\r\n\t\t\t\t\t\t\t\tfor (const target of minionsToDamage) {\r\n\t\t\t\t\t\t\t\t\tconst isSameSide = target.friendly === deadEntity.friendly;\r\n\t\t\t\t\t\t\t\t\tconst board = isSameSide ? boardWithDeadEntity : otherBoard;\r\n\t\t\t\t\t\t\t\t\tconst hero = isSameSide ? boardWithDeadEntityHero : otherBoardHero;\r\n\t\t\t\t\t\t\t\t\tdealDamageToMinion(\r\n\t\t\t\t\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\t\t\t\t\tboard,\r\n\t\t\t\t\t\t\t\t\t\thero,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tdamage,\r\n\t\t\t\t\t\t\t\t\t\tisSameSide ? otherBoard : boardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tisSameSide ? otherBoardHero : boardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.RadioStar_BG25_399:\r\n\t\t\t\t\t\t\tcase CardIds.RadioStar_BG25_399_G:\r\n\t\t\t\t\t\t\t\tconst radioQuantity = deadEntityCardId === CardIds.RadioStar_BG25_399_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tconst radioEntities = Array(radioQuantity).fill(deadEntity.lastAffectedByEntity);\r\n\t\t\t\t\t\t\t\taddCardsInHand(boardWithDeadEntityHero, boardWithDeadEntity, radioEntities, gameState);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.MysticSporebat_BG28_900:\r\n\t\t\t\t\t\t\tcase CardIds.MysticSporebat_BG28_900_G:\r\n\t\t\t\t\t\t\t\tconst loops = deadEntityCardId === CardIds.MysticSporebat_BG28_900_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tconst cardsToAdd = Array(loops).fill(null);\r\n\t\t\t\t\t\t\t\taddCardsInHand(boardWithDeadEntityHero, boardWithDeadEntity, cardsToAdd, gameState);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.SrTombDiver_TB_BaconShop_HERO_41_Buddy:\r\n\t\t\t\t\t\t\tcase CardIds.SrTombDiver_TB_BaconShop_HERO_41_Buddy_G:\r\n\t\t\t\t\t\t\t\tconst numberToGild =\r\n\t\t\t\t\t\t\t\t\tdeadEntityCardId === CardIds.SrTombDiver_TB_BaconShop_HERO_41_Buddy_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tconst targetBoard = boardWithDeadEntity.filter(\r\n\t\t\t\t\t\t\t\t\t(e) => !e.definitelyDead && e.health > 0,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t// .filter((e) => !gameState.cardsData.isGolden(gameState.allCards.getCard(e.cardId)));\r\n\t\t\t\t\t\t\t\tfor (let i = 0; i < Math.min(numberToGild, boardWithDeadEntity.length); i++) {\r\n\t\t\t\t\t\t\t\t\tconst rightMostMinion = targetBoard[targetBoard.length - 1 - i];\r\n\t\t\t\t\t\t\t\t\tif (rightMostMinion) {\r\n\t\t\t\t\t\t\t\t\t\tmakeMinionGolden(\r\n\t\t\t\t\t\t\t\t\t\t\trightMostMinion,\r\n\t\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Scourfin_BG26_360:\r\n\t\t\t\t\t\t\tcase CardIds.Scourfin_BG26_360_G:\r\n\t\t\t\t\t\t\t\tconst statsScourfin = deadEntityCardId === CardIds.Scourfin_BG26_360_G ? 10 : 5;\r\n\t\t\t\t\t\t\t\tgrantRandomStats(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero.hand.filter(\r\n\t\t\t\t\t\t\t\t\t\t(e) =>\r\n\t\t\t\t\t\t\t\t\t\t\tgameState.allCards.getCard(e.cardId).type?.toUpperCase() ===\r\n\t\t\t\t\t\t\t\t\t\t\tCardType[CardType.MINION],\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tstatsScourfin,\r\n\t\t\t\t\t\t\t\t\tstatsScourfin,\r\n\t\t\t\t\t\t\t\t\tnull,\r\n\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.SanguineChampion_BG23_017:\r\n\t\t\t\t\t\t\tcase CardIds.SanguineChampion_BG23_017_G:\r\n\t\t\t\t\t\t\t\tconst sanguineChampionStats =\r\n\t\t\t\t\t\t\t\t\tdeadEntityCardId === CardIds.SanguineChampion_BG23_017 ? 1 : 2;\r\n\t\t\t\t\t\t\t\tboardWithDeadEntityHero.globalInfo.BloodGemAttackBonus += sanguineChampionStats;\r\n\t\t\t\t\t\t\t\tboardWithDeadEntityHero.globalInfo.BloodGemHealthBonus += sanguineChampionStats;\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.PricklyPiper_BG26_160:\r\n\t\t\t\t\t\t\tcase CardIds.PricklyPiper_BG26_160_G:\r\n\t\t\t\t\t\t\t\tconst piperBuff = deadEntityCardId === CardIds.PricklyPiper_BG26_160 ? 1 : 2;\r\n\t\t\t\t\t\t\t\tboardWithDeadEntityHero.globalInfo.BloodGemAttackBonus += piperBuff;\r\n\t\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\t\t// Putricide-only\r\n\t\t\t\t\t\t\tcase CardIds.Banshee_BG_RLK_957:\r\n\t\t\t\t\t\t\t\taddStatsToBoard(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t2,\r\n\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tRace[Race.UNDEAD],\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.LostSpirit_BG26_GIL_513:\r\n\t\t\t\t\t\t\t\taddStatsToBoard(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tnull,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.TickingAbomination_BG_ICC_099:\r\n\t\t\t\t\t\t\t\tfor (const entity of boardWithDeadEntity) {\r\n\t\t\t\t\t\t\t\t\tdealDamageToMinion(\r\n\t\t\t\t\t\t\t\t\t\tentity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t5,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t// case CardIds.WitheredSpearhide_BG27_006:\r\n\t\t\t\t\t\t\t// case CardIds.WitheredSpearhide_BG27_006_G:\r\n\t\t\t\t\t\t\t// \tconst witheredSpearhideCardsToAdd = Array(\r\n\t\t\t\t\t\t\t// \t\tdeadEntity.cardId === CardIds.WitheredSpearhide_BG27_006_G ? 2 : 1,\r\n\t\t\t\t\t\t\t// \t).fill(CardIds.BloodGem);\r\n\t\t\t\t\t\t\t// \taddCardsInHand(\r\n\t\t\t\t\t\t\t// \t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\twitheredSpearhideCardsToAdd,\r\n\t\t\t\t\t\t\t// \t\tgameState,\r\n\t\t\t\t\t\t\t// \t);\r\n\t\t\t\t\t\t\t// \tbreak;\r\n\t\t\t\t\t\t\t// case CardIds.RecurringNightmare_BG26_055:\r\n\t\t\t\t\t\t\t// case CardIds.RecurringNightmare_BG26_055_G:\r\n\t\t\t\t\t\t\t// \tapplyRecurringNightmareDeathrattleEffect(\r\n\t\t\t\t\t\t\t// \t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\tdeadEntity,\r\n\t\t\t\t\t\t\t// \t\tdeadEntityCardId === CardIds.RecurringNightmare_BG26_055_G,\r\n\t\t\t\t\t\t\t// \t\tgameState,\r\n\t\t\t\t\t\t\t// \t);\r\n\t\t\t\t\t\t\t// \tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.MotleyPhalanx_BG27_080:\r\n\t\t\t\t\t\t\tcase CardIds.MotleyPhalanx_BG27_080_G:\r\n\t\t\t\t\t\t\t\tconst motleyBuff = deadEntity.cardId === CardIds.MotleyPhalanx_BG27_080_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tgrantStatsToMinionsOfEachType(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tmotleyBuff * 1,\r\n\t\t\t\t\t\t\t\t\tmotleyBuff * 1,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.MoroesStewardOfDeath_BG28_304:\r\n\t\t\t\t\t\t\tcase CardIds.MoroesStewardOfDeath_BG28_304_G:\r\n\t\t\t\t\t\t\t\tconst moroesBuffAtk =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.MoroesStewardOfDeath_BG28_304_G ? 8 : 4;\r\n\t\t\t\t\t\t\t\tconst moroesBuffHealth =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.MoroesStewardOfDeath_BG28_304_G ? 12 : 6;\r\n\t\t\t\t\t\t\t\taddStatsToBoard(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tmoroesBuffAtk,\r\n\t\t\t\t\t\t\t\t\tmoroesBuffHealth,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tRace[Race.UNDEAD],\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.SteadfastSpirit_BG28_306:\r\n\t\t\t\t\t\t\tcase CardIds.SteadfastSpirit_BG28_306_G:\r\n\t\t\t\t\t\t\t\tconst steadfastSpiritBuff =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.SteadfastSpirit_BG28_306_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\taddStatsToBoard(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tsteadfastSpiritBuff,\r\n\t\t\t\t\t\t\t\t\tsteadfastSpiritBuff,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.ScrapScraper_BG26_148:\r\n\t\t\t\t\t\t\tcase CardIds.ScrapScraper_BG26_148_G:\r\n\t\t\t\t\t\t\t\tconst scraperToAddQuantity =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.ScrapScraper_BG26_148_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tconst scraperCardsToAdd = [];\r\n\t\t\t\t\t\t\t\tfor (let i = 0; i < scraperToAddQuantity; i++) {\r\n\t\t\t\t\t\t\t\t\tscraperCardsToAdd.push(pickRandom(gameState.cardsData.scrapScraperSpawns));\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\taddCardsInHand(\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tscraperCardsToAdd,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.BarrensConjurer_BG29_862:\r\n\t\t\t\t\t\t\tcase CardIds.BarrensConjurer_BG29_862_G:\r\n\t\t\t\t\t\t\t\tconst conjurerToAddQuantity =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.BarrensConjurer_BG29_862_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tconst conjurerCardsToAdd = [];\r\n\t\t\t\t\t\t\t\tfor (let i = 0; i < conjurerToAddQuantity; i++) {\r\n\t\t\t\t\t\t\t\t\tconjurerCardsToAdd.push(pickRandom(gameState.cardsData.battlecryMinions));\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\taddCardsInHand(\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tconjurerCardsToAdd,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.SpikedSavior_BG29_808:\r\n\t\t\t\t\t\t\tcase CardIds.SpikedSavior_BG29_808_G:\r\n\t\t\t\t\t\t\t\tconst spikedSaviorLoops = deadEntity.cardId === CardIds.SpikedSavior_BG29_808_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tfor (let j = 0; j < spikedSaviorLoops; j++) {\r\n\t\t\t\t\t\t\t\t\tconst targetBoard = [...boardWithDeadEntity];\r\n\t\t\t\t\t\t\t\t\tfor (const entity of targetBoard) {\r\n\t\t\t\t\t\t\t\t\t\tmodifyStats(\r\n\t\t\t\t\t\t\t\t\t\t\tentity,\r\n\t\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tfor (const entity of targetBoard) {\r\n\t\t\t\t\t\t\t\t\t\t// Issue: because this can spawn a new minion, the entity indices can be incorrect\r\n\t\t\t\t\t\t\t\t\t\t// See sim.sample.1.txt\r\n\t\t\t\t\t\t\t\t\t\t// Ideally, I should probably move the minion spawn index to another paradigm: keep the dead minions\r\n\t\t\t\t\t\t\t\t\t\t// until there are new spawns, and delete them afterwards, so I can easily refer to their index\r\n\t\t\t\t\t\t\t\t\t\t// by just looking them up, and spawning to the right\r\n\t\t\t\t\t\t\t\t\t\t// However, since this doesn't work, maybe I can look for entity indices adjustments needed\r\n\t\t\t\t\t\t\t\t\t\t// by looking up the position changes of other minions?\r\n\t\t\t\t\t\t\t\t\t\t// Not sure how this could work without creating a giant mess, so for now it will probably\r\n\t\t\t\t\t\t\t\t\t\t// stay as a bug\r\n\t\t\t\t\t\t\t\t\t\tdealDamageToMinion(\r\n\t\t\t\t\t\t\t\t\t\t\tentity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t// Add all the deathrattles that don't have an effect on combat\r\n\t\t\t\t\t\t\t// case CardIds.FieryFelblood_BG29_877:\r\n\t\t\t\t\t\t\t// case CardIds.FieryFelblood_BG29_877_G:\r\n\t\t\t\t\t\t\t// Enchantments\r\n\t\t\t\t\t\t\tcase CardIds.RustyTrident_TridentsTreasureEnchantment_BG30_MagicItem_917e:\r\n\t\t\t\t\t\t\t\taddCardsInHand(boardWithDeadEntityHero, boardWithDeadEntity, [null], gameState);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.HoggyBank_GemInTheBankEnchantment_BG30_MagicItem_411e:\r\n\t\t\t\t\t\t\t\taddCardsInHand(\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t[CardIds.BloodGem],\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Leapfrogger_LeapfrogginEnchantment_BG21_000e:\r\n\t\t\t\t\t\t\tcase CardIds.Leapfrogger_LeapfrogginEnchantment_BG21_000_Ge:\r\n\t\t\t\t\t\t\t\t// console.log('\\t', 'Leapfrogger enchantment', enchantment.repeats);\r\n\t\t\t\t\t\t\t\tapplyLeapFroggerEffect(\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tdeadEntityCardId === CardIds.Leapfrogger_LeapfrogginEnchantment_BG21_000_Ge,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t1, //enchantment.repeats || 1,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\t\tif (deadEntity.additionalCards?.includes(deadEntityCardId)) {\r\n\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t!hasMechanic(gameState.allCards.getCard(deadEntityCardId), GameTag.DEATHRATTLE)\r\n\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\thasTriggeredThisLoop = false;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tconst source = [deadEntity, ...enchantments].find(\r\n\t\t\t\t\t\t\t\t\t\t(e) => e.cardId === deadEntityCardId,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tif (!hasEntityMechanic(source, GameTag.DEATHRATTLE, gameState.allCards)) {\r\n\t\t\t\t\t\t\t\t\t\thasTriggeredThisLoop = false;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\thasTriggered = hasTriggered || hasTriggeredThisLoop;\r\n\t\t\t\t\t// 33.6.2 we fully process each deathrattle before applying the next\r\n\t\t\t\t\t// The key is to find the correct order for processing, hence the sorting for enchantments and \"natural\" deathrattles\r\n\t\t\t\t\tif (spawnedEntities?.length > 0) {\r\n\t\t\t\t\t\tconst actualSpawns = performEntitySpawns(\r\n\t\t\t\t\t\t\tspawnedEntities,\r\n\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\tdeadEntityIndexFromRight,\r\n\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tfinalSpawns.push(...actualSpawns);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// It's an enchantment\r\n\t\t\telse {\r\n\t\t\t\tconst spawnedEntities: BoardEntity[] = [];\r\n\t\t\t\tlet hasTriggeredThisLoop = true;\r\n\t\t\t\tconst enchantment = card as BoardEnchantment;\r\n\t\t\t\tconst deathrattleImpl = cardMappings[enchantment.cardId];\r\n\t\t\t\tif (hasDeathrattleSpawnEnchantment(deathrattleImpl)) {\r\n\t\t\t\t\tconst spawns = deathrattleImpl.deathrattleSpawnEnchantmentEffect(\r\n\t\t\t\t\t\tenchantment,\r\n\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\tdeathrattleTriggeredInput,\r\n\t\t\t\t\t);\r\n\t\t\t\t\tif (!!spawns?.length) {\r\n\t\t\t\t\t\tspawnedEntities.push(...spawns);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tswitch (enchantment.cardId) {\r\n\t\t\t\t\t\tcase CardIds.EarthRecollectionEnchantment:\r\n\t\t\t\t\t\t\tapplyEarthInvocationEnchantment(boardWithDeadEntity, deadEntity, deadEntity, gameState);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase CardIds.FireRecollectionEnchantment:\r\n\t\t\t\t\t\t\tapplyFireInvocationEnchantment(\r\n\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase CardIds.WaterRecollectionEnchantment:\r\n\t\t\t\t\t\t\tapplyWaterInvocationEnchantment(\r\n\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase CardIds.LightningRecollectionEnchantment:\r\n\t\t\t\t\t\t\tapplyLightningInvocationEnchantment(\r\n\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t// case CardIds.RecurringNightmare_NightmareInsideEnchantment_BG26_055e:\r\n\t\t\t\t\t\t// case CardIds.RecurringNightmare_NightmareInsideEnchantment_BG26_055_Ge:\r\n\t\t\t\t\t\t// \tspawnedEntities.push(\r\n\t\t\t\t\t\t// \t\t...spawnEntities(\r\n\t\t\t\t\t\t// \t\t\tenchantment.cardId === CardIds.RecurringNightmare_NightmareInsideEnchantment_BG26_055e\r\n\t\t\t\t\t\t// \t\t\t\t? CardIds.RecurringNightmare_BG26_055\r\n\t\t\t\t\t\t// \t\t\t\t: CardIds.RecurringNightmare_BG26_055_G,\r\n\t\t\t\t\t\t// \t\t\t1,\r\n\t\t\t\t\t\t// \t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t// \t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t// \t\t\totherBoard,\r\n\t\t\t\t\t\t// \t\t\totherBoardHero,\r\n\t\t\t\t\t\t// \t\t\tgameState,\r\n\t\t\t\t\t\t// \t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t// \t\t\tfalse,\r\n\t\t\t\t\t\t// \t\t),\r\n\t\t\t\t\t\t// \t);\r\n\t\t\t\t\t\t// \tbreak;\r\n\t\t\t\t\t\t// Replicating Menace\r\n\t\t\t\t\t\tcase CardIds.ReplicatingMenace_ReplicatingMenaceEnchantment_BG_BOT_312e:\r\n\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\tCardIds.ReplicatingMenace_MicrobotToken_BG_BOT_312t,\r\n\t\t\t\t\t\t\t\t\t3,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase CardIds.ReplicatingMenace_ReplicatingMenaceEnchantment_TB_BaconUps_032e:\r\n\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\tCardIds.ReplicatingMenace_MicrobotToken_TB_BaconUps_032t,\r\n\t\t\t\t\t\t\t\t\t3,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase CardIds.LivingSpores_LivingSporesEnchantment:\r\n\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\tCardIds.LivingSpores_PlantToken,\r\n\t\t\t\t\t\t\t\t\t2,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase CardIds.EarthInvocation_ElementEarthEnchantment:\r\n\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\tCardIds.ElementEarth_StoneElementalToken,\r\n\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase CardIds.BoonOfBeetles_BeetleSwarmEnchantment_BG28_603e:\r\n\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\tCardIds.BoonOfBeetles_BeetleToken_BG28_603t,\r\n\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase CardIds.TheUninvitedGuest_UninvitedEnchantment_BG29_875e:\r\n\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\tCardIds.TheUninvitedGuest_ShadowToken_BG29_875t,\r\n\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase CardIds.TheUninvitedGuest_UninvitedEnchantment_BG29_875_Ge:\r\n\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\tCardIds.TheUninvitedGuest_ShadowToken_BG29_875_Gt,\r\n\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase CardIds.SneedsReplicator_ReplicateEnchantment:\r\n\t\t\t\t\t\t\tconst tavernTier =\r\n\t\t\t\t\t\t\t\tdeadEntity.tavernTier ?? gameState.cardsData.getTavernLevel(deadEntity.cardId);\r\n\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\tgameState.cardsData.getRandomMinionForTavernTier(Math.max(1, tavernTier - 1)),\r\n\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t// case CardIds.SurfNSurf_CrabRidingEnchantment_BG27_004e:\r\n\t\t\t\t\t\t// case CardIds.SurfNSurf_CrabRidingEnchantment_BG27_004_Ge:\r\n\t\t\t\t\t\t// \tspawnedEntities.push(\r\n\t\t\t\t\t\t// \t\t...spawnEntities(\r\n\t\t\t\t\t\t// \t\t\tenchantment.cardId === CardIds.SurfNSurf_CrabRidingEnchantment_BG27_004_Ge\r\n\t\t\t\t\t\t// \t\t\t\t? CardIds.SurfNSurf_CrabToken_BG27_004_Gt2\r\n\t\t\t\t\t\t// \t\t\t\t: CardIds.SurfNSurf_CrabToken_BG27_004t2,\r\n\t\t\t\t\t\t// \t\t\t1,\r\n\t\t\t\t\t\t// \t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t// \t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t// \t\t\totherBoard,\r\n\t\t\t\t\t\t// \t\t\totherBoardHero,\r\n\t\t\t\t\t\t// \t\t\tgameState,\r\n\t\t\t\t\t\t// \t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t// \t\t\tfalse,\r\n\t\t\t\t\t\t// \t\t),\r\n\t\t\t\t\t\t// \t);\r\n\t\t\t\t\t\t// \tbreak;\r\n\t\t\t\t\t\tcase CardIds.JarredFrostling_FrostyGlobeEnchantment_BG30_MagicItem_952e:\r\n\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\tCardIds.FlourishingFrostling_BG26_537,\r\n\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\thasTriggeredThisLoop = false;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\thasTriggered = hasTriggered || hasTriggeredThisLoop;\r\n\t\t\t\tif (spawnedEntities?.length > 0) {\r\n\t\t\t\t\tconst actualSpawns = performEntitySpawns(\r\n\t\t\t\t\t\tspawnedEntities,\r\n\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\tdeadEntityIndexFromRight,\r\n\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t\tfinalSpawns.push(...actualSpawns);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (hasTriggered) {\r\n\t\t\tonDeathrattleTriggered(deathrattleTriggeredInput);\r\n\t\t}\r\n\t}\r\n\treturn finalSpawns;\r\n};\r\n"]}
1
+ {"version":3,"file":"deathrattle-spawns.js","sourceRoot":"","sources":["../../src/simulation/deathrattle-spawns.ts"],"names":[],"mappings":"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","sourcesContent":["import { CardType, GameTag, Race } from '@firestone-hs/reference-data';\r\nimport { BgsPlayerEntity } from '../bgs-player-entity';\r\nimport { BoardEnchantment, BoardEntity } from '../board-entity';\r\nimport { hasDeathrattleSpawn, hasDeathrattleSpawnEnchantment } from '../cards/card.interface';\r\nimport { cardMappings } from '../cards/impl/_card-mappings';\r\nimport { updateDivineShield } from '../keywords/divine-shield';\r\nimport { updateTaunt } from '../keywords/taunt';\r\nimport { updateWindfury } from '../keywords/windfury';\r\nimport { CardIds } from '../services/card-ids';\r\nimport { pickRandom, pickRandomAlive, pickRandomLowestHealth } from '../services/utils';\r\nimport {\r\n\taddStatsToBoard,\r\n\tbuildRandomUndeadCreation,\r\n\tbuildSingleBoardEntity,\r\n\tgetTeammateInitialState,\r\n\tgrantRandomAttack,\r\n\tgrantRandomStats,\r\n\tgrantStatsToMinionsOfEachType,\r\n\thasCorrectTribe,\r\n\thasEntityMechanic,\r\n\thasMechanic,\r\n\tstringifySimple,\r\n} from '../utils';\r\nimport { dealDamageToMinion, dealDamageToRandomEnemy, findNearestEnemies } from './attack';\r\nimport { addCardsInHand } from './cards-in-hand';\r\nimport {\r\n\tapplyEarthInvocationEnchantment,\r\n\tapplyFireInvocationEnchantment,\r\n\tapplyLeapFroggerEffect,\r\n\tapplyLightningInvocationEnchantment,\r\n\tapplyWaterInvocationEnchantment,\r\n\tcomputeDeathrattleMultiplier,\r\n} from './deathrattle-effects';\r\nimport { DeathrattleTriggeredInput, onDeathrattleTriggered } from './deathrattle-on-trigger';\r\nimport { FullGameState } from './internal-game-state';\r\nimport { performEntitySpawns } from './spawns';\r\nimport { modifyStats } from './stats';\r\nimport { makeMinionGolden } from './utils/golden';\r\n\r\nexport const simplifiedSpawnEntities = (\r\n\tcardId: string,\r\n\tquantity: number,\r\n\tinput: DeathrattleTriggeredInput,\r\n\tboardEntityToSpawn: BoardEntity = null,\r\n): readonly BoardEntity[] => {\r\n\treturn spawnEntities(\r\n\t\tcardId,\r\n\t\tquantity,\r\n\t\tinput.boardWithDeadEntity,\r\n\t\tinput.boardWithDeadEntityHero,\r\n\t\tinput.otherBoard,\r\n\t\tinput.otherBoardHero,\r\n\t\tinput.gameState,\r\n\t\tinput.deadEntity.friendly,\r\n\t\tfalse,\r\n\t\tfalse,\r\n\t\tfalse,\r\n\t\tboardEntityToSpawn,\r\n\t);\r\n};\r\n\r\nexport const simplifiedSpawnEntitiesWithAddToBoard = (\r\n\tcardId: string,\r\n\tquantity: number,\r\n\tinput: DeathrattleTriggeredInput,\r\n\tsource: BoardEntity,\r\n\tindexFromRight: number,\r\n\tboardEntityToSpawn: BoardEntity = null,\r\n): void => {\r\n\tconst spawns = spawnEntities(\r\n\t\tcardId,\r\n\t\tquantity,\r\n\t\tinput.boardWithDeadEntity,\r\n\t\tinput.boardWithDeadEntityHero,\r\n\t\tinput.otherBoard,\r\n\t\tinput.otherBoardHero,\r\n\t\tinput.gameState,\r\n\t\tinput.deadEntity.friendly,\r\n\t\tfalse,\r\n\t\tfalse,\r\n\t\tfalse,\r\n\t\tboardEntityToSpawn,\r\n\t);\r\n\tperformEntitySpawns(\r\n\t\tspawns,\r\n\t\tinput.boardWithDeadEntity,\r\n\t\tinput.boardWithDeadEntityHero,\r\n\t\tsource,\r\n\t\tindexFromRight,\r\n\t\tinput.otherBoard,\r\n\t\tinput.otherBoardHero,\r\n\t\tinput.gameState,\r\n\t);\r\n};\r\n\r\nexport const spawnEntities = (\r\n\tcardId: string,\r\n\tquantity: number,\r\n\tboardToSpawnInto: BoardEntity[],\r\n\tboardToSpawnIntoHero: BgsPlayerEntity,\r\n\totherBoard: BoardEntity[],\r\n\totherHero: BgsPlayerEntity,\r\n\tgameState: FullGameState,\r\n\tfriendly: boolean,\r\n\t// In most cases the business of knowing the number of minions to handle is left to the caller\r\n\t// Bascially, use limitSpawns = true only if the source does not trigger if there is not enough room,\r\n\t// e.g. Toxic Tumbleweed. Otherwise, it will prevent the \"spawn failed\" event.\r\n\tlimitSpawns: boolean,\r\n\tspawnReborn = false,\r\n\tuseKhadgar = true,\r\n\tboardEntityToSpawn: BoardEntity = null,\r\n\toriginalEntity: BoardEntity = null,\r\n): readonly BoardEntity[] => {\r\n\tif (!cardId) {\r\n\t\tconsole.error(\r\n\t\t\t'Cannot spawn a minion without any cardId defined',\r\n\t\t\tstringifySimple(boardToSpawnInto, gameState.allCards),\r\n\t\t\tnew Error().stack,\r\n\t\t);\r\n\t}\r\n\tif (gameState.anomalies?.includes(CardIds.TheGoldenArena_BG27_Anomaly_801)) {\r\n\t\tif (!gameState.allCards.getCard(cardId).premium) {\r\n\t\t\tconst premiumDbfId = gameState.allCards.getCard(cardId).battlegroundsPremiumDbfId;\r\n\t\t\tcardId = gameState.allCards.getCard(premiumDbfId).id;\r\n\t\t}\r\n\t}\r\n\tconst spawnMultiplier = useKhadgar\r\n\t\t? 2 * boardToSpawnInto.filter((entity) => entity.cardId === CardIds.Khadgar_BG_DAL_575).length || 1\r\n\t\t: 1;\r\n\tconst spawnMultiplierGolden = useKhadgar\r\n\t\t? 3 * boardToSpawnInto.filter((entity) => entity.cardId === CardIds.Khadgar_TB_BaconUps_034).length || 1\r\n\t\t: 1;\r\n\tconst minionsToSpawn = limitSpawns\r\n\t\t? Math.min(quantity * spawnMultiplier * spawnMultiplierGolden, 7 - boardToSpawnInto.length)\r\n\t\t: quantity * spawnMultiplier * spawnMultiplierGolden;\r\n\tconst result: BoardEntity[] = [];\r\n\tfor (let i = 0; i < minionsToSpawn; i++) {\r\n\t\tconst newMinion = buildSingleBoardEntity(\r\n\t\t\tcardId,\r\n\t\t\tboardToSpawnIntoHero,\r\n\t\t\tboardToSpawnInto,\r\n\t\t\tgameState.allCards,\r\n\t\t\tfriendly,\r\n\t\t\tgameState.sharedState.currentEntityId++,\r\n\t\t\tspawnReborn,\r\n\t\t\tgameState.cardsData,\r\n\t\t\tgameState.sharedState,\r\n\t\t\tboardEntityToSpawn,\r\n\t\t\toriginalEntity,\r\n\t\t);\r\n\t\tif (!newMinion.cardId) {\r\n\t\t\tconsole.warn('Invalid spawn', newMinion, cardId);\r\n\t\t}\r\n\t\tresult.push(newMinion);\r\n\t}\r\n\r\n\treturn result;\r\n};\r\n\r\nexport const spawnEntitiesFromDeathrattle = (\r\n\tdeadEntity: BoardEntity,\r\n\tdeadEntityIndexFromRight: number,\r\n\tboardWithDeadEntity: BoardEntity[],\r\n\tboardWithDeadEntityHero: BgsPlayerEntity,\r\n\totherBoard: BoardEntity[],\r\n\totherBoardHero: BgsPlayerEntity,\r\n\tentitiesDeadThisAttack: readonly BoardEntity[],\r\n\tgameState: FullGameState,\r\n): readonly BoardEntity[] => {\r\n\tconst finalSpawns: BoardEntity[] = [];\r\n\t// Because if the baron dies because of a cleave, it still applies its effect to the other entities that died this turn\r\n\t// TOOD: I need a replay for this\r\n\t// If the Titus dies, its effect doesn't apply to the other deathrattle effects that die at the same time\r\n\t// e.g. Tunnel Blaster + Omega Buster + Titus, if the titus dies, then the omega buster DR isn't applied multiple\r\n\t// times\r\n\t// http://replays.firestoneapp.com/?reviewId=fb739cc8-bf3b-4003-ab99-031ee1aa0ea1&turn=25&action=1\r\n\tconst multiplier = computeDeathrattleMultiplier(\r\n\t\t// [...boardWithDeadEntity, ...entitiesDeadThisAttack],\r\n\t\t[...boardWithDeadEntity],\r\n\t\tboardWithDeadEntityHero,\r\n\t\tdeadEntity,\r\n\t\tgameState.sharedState,\r\n\t);\r\n\r\n\tconst deathrattleTriggeredInput: DeathrattleTriggeredInput = {\r\n\t\tboardWithDeadEntity,\r\n\t\tboardWithDeadEntityHero,\r\n\t\tdeadEntity,\r\n\t\tdeadEntityIndexFromRight: deadEntityIndexFromRight,\r\n\t\totherBoard,\r\n\t\totherBoardHero,\r\n\t\tgameState,\r\n\t};\r\n\r\n\t// const otherBoardSpawnedEntities: BoardEntity[] = [];\r\n\t// console.debug(\r\n\t// \t'spawn triggers',\r\n\t// \tgameState.allCards.getCard(deadEntity.cardId).name,\r\n\t// \tcardIds.map((c) => gameState.allCards.getCard(c).name),\r\n\t// \tcardIds,\r\n\t// );\r\n\r\n\t// We compute the enchantments first, so that we don't include enchantments created by the just-processed\r\n\t// deathrattles\r\n\t// It's important to first copy the enchantments, otherwise you could end up\r\n\t// in an infinite loop - since new enchants are added after each step\r\n\tconst enchantments: BoardEnchantment[] = [\r\n\t\t...deadEntity.enchantments,\r\n\t\t// These seem to be first processed separately\r\n\t\t// ...(deadEntity.rememberedDeathrattles ?? []),\r\n\t].sort((a, b) => a.timing - b.timing);\r\n\tconst cards = [deadEntity, ...enchantments]\r\n\t\t// Two cases that illustrate this:\r\n\t\t// 33.6.2 https://replays.firestoneapp.com/?reviewId=3b025701-01f5-4527-9d53-d8d67f78c5c8&turn=7&action=0\r\n\t\t// The Phylactery enchantment exists before the Golden Deathrattle power so it goes first.\r\n\t\t// 33.6.2 https://replays.firestoneapp.com/?reviewId=e717d075-3f1b-463a-a644-cda2584eeb0e&turn=5&action=1\r\n\t\t// the Deathrattle of the Manasaber exists before the Phylactery Deathrattle power is added so the Manasaber Deathrattle goes first.\r\n\t\t.sort(\r\n\t\t\t(a, b) =>\r\n\t\t\t\t((a as BoardEntity).entityId ?? (a as BoardEnchantment).timing ?? 0) -\r\n\t\t\t\t((b as BoardEntity).entityId ?? (b as BoardEnchantment).timing ?? 0),\r\n\t\t);\r\n\r\n\tfor (let i = 0; i < multiplier; i++) {\r\n\t\tlet hasTriggered = false;\r\n\t\tfor (const card of cards) {\r\n\t\t\tconst spawnedEntities: BoardEntity[] = [];\r\n\t\t\tconst refCard = gameState.allCards.getCard(card.cardId);\r\n\t\t\tif (\r\n\t\t\t\trefCard.type?.toUpperCase() === CardType[CardType.MINION] &&\r\n\t\t\t\t(card as BoardEntity).health !== undefined\r\n\t\t\t) {\r\n\t\t\t\tconst cardIds = [card.cardId, ...((card as BoardEntity).additionalCards ?? [])];\r\n\t\t\t\tfor (const deadEntityCardId of cardIds) {\r\n\t\t\t\t\tlet hasTriggeredThisLoop = true;\r\n\t\t\t\t\tconst spawnEntityImpl = cardMappings[deadEntityCardId];\r\n\t\t\t\t\tif (hasDeathrattleSpawn(spawnEntityImpl)) {\r\n\t\t\t\t\t\tconst spawned = spawnEntityImpl.deathrattleSpawn(deadEntity, deathrattleTriggeredInput);\r\n\t\t\t\t\t\tif (spawned?.length) {\r\n\t\t\t\t\t\t\tspawnedEntities.push(...spawned);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tswitch (deadEntityCardId) {\r\n\t\t\t\t\t\t\tcase CardIds.Mecharoo_BOT_445:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.Mecharoo_JoEBotToken_BOT_445t,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Mecharoo_TB_BaconUps_002:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.Mecharoo_JoEBotToken_TB_BaconUps_002t,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.CordPuller_BG29_611:\r\n\t\t\t\t\t\t\tcase CardIds.CordPuller_BG29_611_G:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.CordPuller_BG29_611\r\n\t\t\t\t\t\t\t\t\t\t\t? CardIds.ReplicatingMenace_MicrobotToken_BG_BOT_312t\r\n\t\t\t\t\t\t\t\t\t\t\t: CardIds.ReplicatingMenace_MicrobotToken_TB_BaconUps_032t,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.PiggybackImp_BG_AV_309:\r\n\t\t\t\t\t\t\tcase CardIds.PiggybackImp_BG_AV_309_G:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.PiggybackImp_BackpiggyImpToken_AV_309t,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntityCardId === CardIds.PiggybackImp_BG_AV_309_G ? 2 : 1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.EternalSummoner_BG25_009:\r\n\t\t\t\t\t\t\tcase CardIds.EternalSummoner_BG25_009_G:\r\n\t\t\t\t\t\t\t\t// TODO\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tdeadEntityCardId === CardIds.EternalSummoner_BG25_009_G\r\n\t\t\t\t\t\t\t\t\t\t\t? CardIds.EternalKnight_BG25_008_G\r\n\t\t\t\t\t\t\t\t\t\t\t: CardIds.EternalKnight_BG25_008,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.IckyImp_BG21_029:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.ImpGangBoss_ImpToken_BRM_006t,\r\n\t\t\t\t\t\t\t\t\t\t2,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.IckyImp_BG21_029_G:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.ImpGangBoss_ImpToken_BRM_006t,\r\n\t\t\t\t\t\t\t\t\t\t4,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.HarvestGolemLegacy_BG_EX1_556:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.DamagedGolemLegacy,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.HarvestGolemLegacy_TB_BaconUps_006:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.HarvestGolem_DamagedGolemLegacyToken_TB_BaconUps_006t,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.SewerRat_BG19_010:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.SewerRat_HalfShellToken_BG19_010t,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.SewerRat_BG19_010_G:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.SewerRat_HalfShellToken_BG19_010_Gt,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.MawswornSoulkeeper_TB_BaconShop_HERO_702_Buddy:\r\n\t\t\t\t\t\t\tcase CardIds.MawswornSoulkeeper_TB_BaconShop_HERO_702_Buddy_G:\r\n\t\t\t\t\t\t\t\tconst minionsToSpawnMawsworn =\r\n\t\t\t\t\t\t\t\t\tdeadEntityCardId === CardIds.MawswornSoulkeeper_TB_BaconShop_HERO_702_Buddy_G\r\n\t\t\t\t\t\t\t\t\t\t? 4\r\n\t\t\t\t\t\t\t\t\t\t: 2;\r\n\t\t\t\t\t\t\t\tfor (let i = 0; i < minionsToSpawnMawsworn; i++) {\r\n\t\t\t\t\t\t\t\t\tconst minionCardId = gameState.cardsData.getRandomMinionForTribe(\r\n\t\t\t\t\t\t\t\t\t\tRace.UNDEAD,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero.tavernTier,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\t\tminionCardId,\r\n\t\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Festergut_BG25_HERO_100_Buddy:\r\n\t\t\t\t\t\t\tcase CardIds.Festergut_BG25_HERO_100_Buddy_G:\r\n\t\t\t\t\t\t\t\tconst minionsToSpawnFestergut =\r\n\t\t\t\t\t\t\t\t\tdeadEntityCardId === CardIds.Festergut_BG25_HERO_100_Buddy_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tfor (let i = 0; i < minionsToSpawnFestergut; i++) {\r\n\t\t\t\t\t\t\t\t\tconst randomUndeadCreation = buildRandomUndeadCreation(\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tgameState.allCards,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tgameState.cardsData,\r\n\t\t\t\t\t\t\t\t\t\tgameState.sharedState,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\t\trandomUndeadCreation.cardId,\r\n\t\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\t\t\trandomUndeadCreation,\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\taddCardsInHand(\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t[randomUndeadCreation],\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.KindlyGrandmother_BG_KAR_005:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.KindlyGrandmother_BigBadWolf_BG_KAR_005a,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.KindlyGrandmother_TB_BaconUps_004:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.KindlyGrandmother_BigBadWolfToken,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.RatPack_BG_CFM_316:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.RatPack_RatToken_BG_CFM_316t,\r\n\t\t\t\t\t\t\t\t\t\tMath.min(7, deadEntity.attack),\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.RatPack_TB_BaconUps_027:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.RatPack_RatToken_TB_BaconUps_027t,\r\n\t\t\t\t\t\t\t\t\t\tMath.min(7, deadEntity.attack),\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Imprisoner_BGS_014:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.ImpGangBoss_ImpToken_BRM_006t,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Imprisoner_TB_BaconUps_113:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.ImpGangBoss_ImpToken_TB_BaconUps_030t,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.InfestedWolf_OG_216:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.InfestedWolf_Spider,\r\n\t\t\t\t\t\t\t\t\t\t2,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t// case CardIds.InfestedWolf_TB_BaconUps_026:\r\n\t\t\t\t\t\t\t// \tspawnedEntities.push(\r\n\t\t\t\t\t\t\t// \t\t...spawnEntities(\r\n\t\t\t\t\t\t\t// \t\t\tCardIds.InfestedWolf_SpiderToken,\r\n\t\t\t\t\t\t\t// \t\t\t2,\r\n\t\t\t\t\t\t\t// \t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\t\totherBoard,\r\n\t\t\t\t\t\t\t// \t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t// \t\t\tgameState,\r\n\t\t\t\t\t\t\t// \t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t// \t\t\tfalse,\r\n\t\t\t\t\t\t\t// \t\t),\r\n\t\t\t\t\t\t\t// \t);\r\n\t\t\t\t\t\t\t// \tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.ReplicatingMenace_BG_BOT_312:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.ReplicatingMenace_MicrobotToken_BG_BOT_312t,\r\n\t\t\t\t\t\t\t\t\t\t3,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.ReplicatingMenace_TB_BaconUps_032:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.ReplicatingMenace_MicrobotToken_TB_BaconUps_032t,\r\n\t\t\t\t\t\t\t\t\t\t3,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.MechanoEgg_BOT_537:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.MechanoEgg_RobosaurToken_BOT_537t,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.MechanoEgg_TB_BaconUps_039:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.MechanoEgg_RobosaurToken_TB_BaconUps_039t,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.SavannahHighmaneLegacy_BG_EX1_534:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.SavannahHighmane_HyenaLegacyToken_BG_EX1_534t,\r\n\t\t\t\t\t\t\t\t\t\t2,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.SavannahHighmaneLegacy_TB_BaconUps_049:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.SavannahHighmane_HyenaLegacyToken_TB_BaconUps_049t,\r\n\t\t\t\t\t\t\t\t\t\t2,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.RingMatron_BG_DMF_533:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.RingMatron_FieryImpToken_BG_DMF_533t,\r\n\t\t\t\t\t\t\t\t\t\t2,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.RingMatron_TB_BaconUps_309:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.RingMatron_FieryImpToken_TB_BaconUps_309t,\r\n\t\t\t\t\t\t\t\t\t\t2,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.SatedThreshadon_UNG_010:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.PrimalfinTotem_PrimalfinToken,\r\n\t\t\t\t\t\t\t\t\t\t3,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t// case CardIds.SatedThreshadon_TB_BaconUps_052:\r\n\t\t\t\t\t\t\t// \tspawnedEntities.push(\r\n\t\t\t\t\t\t\t// \t\t...spawnEntities(\r\n\t\t\t\t\t\t\t// \t\t\tCardIds.SatedThreshadon_PrimalfinToken,\r\n\t\t\t\t\t\t\t// \t\t\t3,\r\n\t\t\t\t\t\t\t// \t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\t\totherBoard,\r\n\t\t\t\t\t\t\t// \t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t// \t\t\tgameState,\r\n\t\t\t\t\t\t\t// \t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t// \t\t\tfalse,\r\n\t\t\t\t\t\t\t// \t\t),\r\n\t\t\t\t\t\t\t// \t);\r\n\t\t\t\t\t\t\t// \tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Ghastcoiler_BGS_008:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...[\r\n\t\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\t\tgameState.cardsData.ghastcoilerSpawns[\r\n\t\t\t\t\t\t\t\t\t\t\t\tMath.floor(Math.random() * gameState.cardsData.ghastcoilerSpawns.length)\r\n\t\t\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\t\tgameState.cardsData.ghastcoilerSpawns[\r\n\t\t\t\t\t\t\t\t\t\t\t\tMath.floor(Math.random() * gameState.cardsData.ghastcoilerSpawns.length)\r\n\t\t\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\t\tcase CardIds.Kilrek_TB_BaconShop_HERO_37_Buddy:\r\n\t\t\t\t\t\t\tcase CardIds.Kilrek_TB_BaconShop_HERO_37_Buddy_G:\r\n\t\t\t\t\t\t\t\tconst kilrekCardsToAddQuantity =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.Kilrek_TB_BaconShop_HERO_37_Buddy_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tconst kilrekCardsToAdd = [];\r\n\t\t\t\t\t\t\t\tfor (let i = 0; i < kilrekCardsToAddQuantity; i++) {\r\n\t\t\t\t\t\t\t\t\tkilrekCardsToAdd.push(pickRandom(gameState.cardsData.demonSpawns));\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\taddCardsInHand(\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tkilrekCardsToAdd,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\t\tcase CardIds.BrannsEpicEgg_TB_BaconShop_HERO_43_Buddy:\r\n\t\t\t\t\t\t\tcase CardIds.BrannsEpicEgg_TB_BaconShop_HERO_43_Buddy_G:\r\n\t\t\t\t\t\t\t\tconst brannSpawns = [];\r\n\t\t\t\t\t\t\t\tconst brannToSpawnQuandtity =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.BrannsEpicEgg_TB_BaconShop_HERO_43_Buddy_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tfor (let i = 0; i < brannToSpawnQuandtity; i++) {\r\n\t\t\t\t\t\t\t\t\tbrannSpawns.push(pickRandom(gameState.cardsData.battlecryMinions));\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tfor (const brannSpawn of brannSpawns) {\r\n\t\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\t\tbrannSpawn,\r\n\t\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\taddCardsInHand(boardWithDeadEntityHero, boardWithDeadEntity, brannSpawns, gameState);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\t\tcase CardIds.Ghastcoiler_TRLA_149:\r\n\t\t\t\t\t\t\tcase CardIds.Ghastcoiler_TB_BaconUps_057:\r\n\t\t\t\t\t\t\t\tconst ghastcoilerLoop =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.Ghastcoiler_TB_BaconUps_057 ? 4 : 2;\r\n\t\t\t\t\t\t\t\tfor (let i = 0; i < ghastcoilerLoop; i++) {\r\n\t\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t\t...[\r\n\t\t\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\t\t\tgameState.cardsData.ghastcoilerSpawns[\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tMath.floor(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tMath.random() * gameState.cardsData.ghastcoilerSpawns.length,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Voidlord_BG_LOOT_368:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.VoidwalkerLegacy_BG_CS2_065,\r\n\t\t\t\t\t\t\t\t\t\t3,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Voidlord_TB_BaconUps_059:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.Voidlord_VoidwalkerLegacyToken,\r\n\t\t\t\t\t\t\t\t\t\t3,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.AnnoyOTroupe_BG26_ETC_321:\r\n\t\t\t\t\t\t\tcase CardIds.AnnoyOTroupe_BG26_ETC_321_G:\r\n\t\t\t\t\t\t\t\tconst annoyOTroupeSpawns =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.AnnoyOTroupe_BG26_ETC_321_G\r\n\t\t\t\t\t\t\t\t\t\t? CardIds.AnnoyOTron_BG_GVG_085_G\r\n\t\t\t\t\t\t\t\t\t\t: CardIds.AnnoyOTron_BG_GVG_085;\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tannoyOTroupeSpawns,\r\n\t\t\t\t\t\t\t\t\t\t3,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.OmegaBuster_BG21_025:\r\n\t\t\t\t\t\t\tcase CardIds.OmegaBuster_BG21_025_G:\r\n\t\t\t\t\t\t\t\t// Here we have to truncate the spawned entities instead of letting the caller handle it,\r\n\t\t\t\t\t\t\t\t// because we need to know how many minions couldn't spawn so that we can apply the buff.\r\n\t\t\t\t\t\t\t\t// HOWEVER, this can cause an issue, if for instance a Scallywag token spawns, attacks right away,\r\n\t\t\t\t\t\t\t\t// and then Omega Buster spawns. In this case, it will not have yet processed the token's attack,\r\n\t\t\t\t\t\t\t\t// and will limit the spawns\r\n\t\t\t\t\t\t\t\tconst cardParam = 6;\r\n\t\t\t\t\t\t\t\tconst entitiesToSpawn = Math.max(\r\n\t\t\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\t\t\tMath.min(cardParam, 7 - boardWithDeadEntity.length - spawnedEntities.length),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tconst buffAmount =\r\n\t\t\t\t\t\t\t\t\t(deadEntityCardId === CardIds.OmegaBuster_BG21_025_G ? 2 : 1) *\r\n\t\t\t\t\t\t\t\t\t(cardParam - entitiesToSpawn);\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tdeadEntityCardId === CardIds.OmegaBuster_BG21_025_G\r\n\t\t\t\t\t\t\t\t\t\t\t? CardIds.ReplicatingMenace_MicrobotToken_TB_BaconUps_032t\r\n\t\t\t\t\t\t\t\t\t\t\t: CardIds.ReplicatingMenace_MicrobotToken_BG_BOT_312t,\r\n\t\t\t\t\t\t\t\t\t\tentitiesToSpawn,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\taddStatsToBoard(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tbuffAmount,\r\n\t\t\t\t\t\t\t\t\tbuffAmount,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tRace[Race.MECH],\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t// when the buster triggers multiple times because of Baron for instance\r\n\t\t\t\t\t\t\t\taddStatsToBoard(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tspawnedEntities,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tbuffAmount,\r\n\t\t\t\t\t\t\t\t\tbuffAmount,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tRace[Race.MECH],\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t// case CardIds.TheTideRazor_BGS_079:\r\n\t\t\t\t\t\t\t// \tspawnedEntities.push(\r\n\t\t\t\t\t\t\t// \t\t...[\r\n\t\t\t\t\t\t\t// \t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState.cardsData.pirateSpawns[\r\n\t\t\t\t\t\t\t// \t\t\t\t\tMath.floor(Math.random() * gameState.cardsData.pirateSpawns.length)\r\n\t\t\t\t\t\t\t// \t\t\t\t],\r\n\t\t\t\t\t\t\t// \t\t\t\t1,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState,\r\n\t\t\t\t\t\t\t// \t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t// \t\t\t\tfalse,\r\n\t\t\t\t\t\t\t// \t\t\t),\r\n\t\t\t\t\t\t\t// \t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState.cardsData.pirateSpawns[\r\n\t\t\t\t\t\t\t// \t\t\t\t\tMath.floor(Math.random() * gameState.cardsData.pirateSpawns.length)\r\n\t\t\t\t\t\t\t// \t\t\t\t],\r\n\t\t\t\t\t\t\t// \t\t\t\t1,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState,\r\n\t\t\t\t\t\t\t// \t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t// \t\t\t\tfalse,\r\n\t\t\t\t\t\t\t// \t\t\t),\r\n\t\t\t\t\t\t\t// \t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState.cardsData.pirateSpawns[\r\n\t\t\t\t\t\t\t// \t\t\t\t\tMath.floor(Math.random() * gameState.cardsData.pirateSpawns.length)\r\n\t\t\t\t\t\t\t// \t\t\t\t],\r\n\t\t\t\t\t\t\t// \t\t\t\t1,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState,\r\n\t\t\t\t\t\t\t// \t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t// \t\t\t\tfalse,\r\n\t\t\t\t\t\t\t// \t\t\t),\r\n\t\t\t\t\t\t\t// \t\t],\r\n\t\t\t\t\t\t\t// \t);\r\n\t\t\t\t\t\t\t// \tbreak;\r\n\t\t\t\t\t\t\t// case CardIds.TheTideRazor_TB_BaconUps_137:\r\n\t\t\t\t\t\t\t// \tspawnedEntities.push(\r\n\t\t\t\t\t\t\t// \t\t...[\r\n\t\t\t\t\t\t\t// \t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState.cardsData.pirateSpawns[\r\n\t\t\t\t\t\t\t// \t\t\t\t\tMath.floor(Math.random() * gameState.cardsData.pirateSpawns.length)\r\n\t\t\t\t\t\t\t// \t\t\t\t],\r\n\t\t\t\t\t\t\t// \t\t\t\t1,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState,\r\n\t\t\t\t\t\t\t// \t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t// \t\t\t\tfalse,\r\n\t\t\t\t\t\t\t// \t\t\t),\r\n\t\t\t\t\t\t\t// \t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState.cardsData.pirateSpawns[\r\n\t\t\t\t\t\t\t// \t\t\t\t\tMath.floor(Math.random() * gameState.cardsData.pirateSpawns.length)\r\n\t\t\t\t\t\t\t// \t\t\t\t],\r\n\t\t\t\t\t\t\t// \t\t\t\t1,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState,\r\n\t\t\t\t\t\t\t// \t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t// \t\t\t\tfalse,\r\n\t\t\t\t\t\t\t// \t\t\t),\r\n\t\t\t\t\t\t\t// \t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState.cardsData.pirateSpawns[\r\n\t\t\t\t\t\t\t// \t\t\t\t\tMath.floor(Math.random() * gameState.cardsData.pirateSpawns.length)\r\n\t\t\t\t\t\t\t// \t\t\t\t],\r\n\t\t\t\t\t\t\t// \t\t\t\t1,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState,\r\n\t\t\t\t\t\t\t// \t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t// \t\t\t\tfalse,\r\n\t\t\t\t\t\t\t// \t\t\t),\r\n\t\t\t\t\t\t\t// \t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState.cardsData.pirateSpawns[\r\n\t\t\t\t\t\t\t// \t\t\t\t\tMath.floor(Math.random() * gameState.cardsData.pirateSpawns.length)\r\n\t\t\t\t\t\t\t// \t\t\t\t],\r\n\t\t\t\t\t\t\t// \t\t\t\t1,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState,\r\n\t\t\t\t\t\t\t// \t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t// \t\t\t\tfalse,\r\n\t\t\t\t\t\t\t// \t\t\t),\r\n\t\t\t\t\t\t\t// \t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState.cardsData.pirateSpawns[\r\n\t\t\t\t\t\t\t// \t\t\t\t\tMath.floor(Math.random() * gameState.cardsData.pirateSpawns.length)\r\n\t\t\t\t\t\t\t// \t\t\t\t],\r\n\t\t\t\t\t\t\t// \t\t\t\t1,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState,\r\n\t\t\t\t\t\t\t// \t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t// \t\t\t\tfalse,\r\n\t\t\t\t\t\t\t// \t\t\t),\r\n\t\t\t\t\t\t\t// \t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState.cardsData.pirateSpawns[\r\n\t\t\t\t\t\t\t// \t\t\t\t\tMath.floor(Math.random() * gameState.cardsData.pirateSpawns.length)\r\n\t\t\t\t\t\t\t// \t\t\t\t],\r\n\t\t\t\t\t\t\t// \t\t\t\t1,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t// \t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState,\r\n\t\t\t\t\t\t\t// \t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t// \t\t\t\tfalse,\r\n\t\t\t\t\t\t\t// \t\t\t),\r\n\t\t\t\t\t\t\t// \t\t],\r\n\t\t\t\t\t\t\t// \t);\r\n\t\t\t\t\t\t\t// \tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.OctosariWrapGod_BG26_804:\r\n\t\t\t\t\t\t\tcase CardIds.OctosariWrapGod_BG26_804_G:\r\n\t\t\t\t\t\t\t\t// For remembered deathrattles\r\n\t\t\t\t\t\t\t\tconst stats =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.scriptDataNum1 ||\r\n\t\t\t\t\t\t\t\t\tgameState.sharedState.deaths.find(\r\n\t\t\t\t\t\t\t\t\t\t(e) => e.friendly === deadEntity.friendly && e.cardId === deadEntity.cardId,\r\n\t\t\t\t\t\t\t\t\t)?.scriptDataNum1 ||\r\n\t\t\t\t\t\t\t\t\t0;\r\n\t\t\t\t\t\t\t\tconst octosariSpawn =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.OctosariWrapGod_BG26_804_G\r\n\t\t\t\t\t\t\t\t\t\t? CardIds.TentacleOfOctosariToken_BG26_803_Gt\r\n\t\t\t\t\t\t\t\t\t\t: CardIds.TentacleOfOctosariToken_BG26_803t;\r\n\t\t\t\t\t\t\t\tconst octoSpawns = spawnEntities(\r\n\t\t\t\t\t\t\t\t\toctosariSpawn,\r\n\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\toctoSpawns.forEach((b) => {\r\n\t\t\t\t\t\t\t\t\tb.attack = stats;\r\n\t\t\t\t\t\t\t\t\tb.health = stats;\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(...octoSpawns);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Bassgill_BG26_350:\r\n\t\t\t\t\t\t\tcase CardIds.Bassgill_BG26_350_G:\r\n\t\t\t\t\t\t\t\tconst bassgillIterations = deadEntity.cardId === CardIds.Bassgill_BG26_350_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tfor (let i = 0; i < bassgillIterations; i++) {\r\n\t\t\t\t\t\t\t\t\tconst hand =\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero.hand\r\n\t\t\t\t\t\t\t\t\t\t\t?.filter((e) =>\r\n\t\t\t\t\t\t\t\t\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\te,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tRace.MURLOC,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tgameState.anomalies,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tgameState.allCards,\r\n\t\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t.filter((e) => !!e?.cardId)\r\n\t\t\t\t\t\t\t\t\t\t\t.filter((e) => !e.locked) ?? [];\r\n\t\t\t\t\t\t\t\t\tconst highestHealth = Math.max(\r\n\t\t\t\t\t\t\t\t\t\t...hand.filter((c) => c.health).map((c) => c.health),\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tconst highestHealthMinions = highestHealth\r\n\t\t\t\t\t\t\t\t\t\t? hand.filter((c) => c.health === highestHealth)\r\n\t\t\t\t\t\t\t\t\t\t: null;\r\n\t\t\t\t\t\t\t\t\tconst spawn = !!highestHealthMinions?.length\r\n\t\t\t\t\t\t\t\t\t\t? pickRandom(highestHealthMinions)\r\n\t\t\t\t\t\t\t\t\t\t: hand.filter((c) => c.cardId).length\r\n\t\t\t\t\t\t\t\t\t\t? pickRandom(hand.filter((c) => c.cardId))\r\n\t\t\t\t\t\t\t\t\t\t: null;\r\n\t\t\t\t\t\t\t\t\tif (spawn) {\r\n\t\t\t\t\t\t\t\t\t\tspawn.locked = true;\r\n\t\t\t\t\t\t\t\t\t\t// Technically it should not be removed from hand, but rather flagged\r\n\t\t\t\t\t\t\t\t\t\t// Probably very low impact doing it like this\r\n\t\t\t\t\t\t\t\t\t\t// spawn.locked = true;\r\n\t\t\t\t\t\t\t\t\t\t// removeCardFromHand(boardWithDeadEntityHero, spawn);\r\n\t\t\t\t\t\t\t\t\t\tconst bassgillSpawns = spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\t\tspawn.cardId,\r\n\t\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\t\t\t{ ...spawn } as BoardEntity,\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tfor (const s of bassgillSpawns) {\r\n\t\t\t\t\t\t\t\t\t\t\ts.onCanceledSummon = () => (spawn.locked = false);\r\n\t\t\t\t\t\t\t\t\t\t\t// s.backRef = spawn;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tspawnedEntities.push(...bassgillSpawns);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.CultistSthara_BG27_081:\r\n\t\t\t\t\t\t\tcase CardIds.CultistSthara_BG27_081_G:\r\n\t\t\t\t\t\t\t\tconst cultistStharaSpawnNumber =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.CultistSthara_BG27_081_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tconst cultistStharaSpawnCandidates = gameState.sharedState.deaths\r\n\t\t\t\t\t\t\t\t\t.filter((entity) => entity.friendly === deadEntity.friendly)\r\n\t\t\t\t\t\t\t\t\t.filter((entity) =>\r\n\t\t\t\t\t\t\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\t\t\t\t\t\t\tentity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\tRace.DEMON,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState.anomalies,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState.allCards,\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t.slice(0, cultistStharaSpawnNumber);\r\n\t\t\t\t\t\t\t\tcultistStharaSpawnCandidates.forEach((candidate) => {\r\n\t\t\t\t\t\t\t\t\tconst spawns = spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tcandidate.cardId,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tspawns.forEach((spawn) => {\r\n\t\t\t\t\t\t\t\t\t\tspawn.attack = candidate.maxAttack ?? candidate.attack;\r\n\t\t\t\t\t\t\t\t\t\tspawn.health = candidate.maxHealth ?? candidate.health;\r\n\t\t\t\t\t\t\t\t\t\tspawn.maxHealth = spawn.health;\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tspawnedEntities.push(...spawns);\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Magnanimoose_BGDUO_105:\r\n\t\t\t\t\t\t\tcase CardIds.Magnanimoose_BGDUO_105_G:\r\n\t\t\t\t\t\t\t\tconst magnanimooseCopies =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.Magnanimoose_BGDUO_105_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tfor (let i = 0; i < magnanimooseCopies; i++) {\r\n\t\t\t\t\t\t\t\t\tconst teammateState = getTeammateInitialState(\r\n\t\t\t\t\t\t\t\t\t\tgameState.gameState,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tconst teammateBoard = teammateState?.board ?? [];\r\n\t\t\t\t\t\t\t\t\tconst copied: number[] = [];\r\n\t\t\t\t\t\t\t\t\tconst minionToCopy = pickRandom(\r\n\t\t\t\t\t\t\t\t\t\tteammateBoard.filter((e) => !copied.includes(e.entityId)),\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tif (minionToCopy) {\r\n\t\t\t\t\t\t\t\t\t\tconst copy: BoardEntity = {\r\n\t\t\t\t\t\t\t\t\t\t\t...minionToCopy,\r\n\t\t\t\t\t\t\t\t\t\t\thealth: 1,\r\n\t\t\t\t\t\t\t\t\t\t\tmaxHealth: 1,\r\n\t\t\t\t\t\t\t\t\t\t\tenchantments: [...minionToCopy.enchantments],\r\n\t\t\t\t\t\t\t\t\t\t\tpendingAttackBuffs: [],\r\n\t\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\t\t\tcopy.cardId,\r\n\t\t\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcopy,\r\n\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tcopied.push(copy.entityId);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\t\t// Putricide-only\r\n\t\t\t\t\t\t\tcase CardIds.FoulEgg_BG26_RLK_833:\r\n\t\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\t\tCardIds.FoulEgg_FoulFowlToken,\r\n\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.SpiritOfAir_TB_BaconShop_HERO_76_Buddy:\r\n\t\t\t\t\t\t\tcase CardIds.SpiritOfAir_TB_BaconShop_HERO_76_Buddy_G:\r\n\t\t\t\t\t\t\t\tconst iterations =\r\n\t\t\t\t\t\t\t\t\tdeadEntityCardId === CardIds.SpiritOfAir_TB_BaconShop_HERO_76_Buddy_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tfor (let j = 0; j < iterations; j++) {\r\n\t\t\t\t\t\t\t\t\tlet validTargets = boardWithDeadEntity.filter((entity) => !entity.divineShield);\r\n\t\t\t\t\t\t\t\t\tif (!validTargets?.length) {\r\n\t\t\t\t\t\t\t\t\t\tvalidTargets = boardWithDeadEntity.filter((entity) => !entity.taunt);\r\n\t\t\t\t\t\t\t\t\t\tif (!validTargets?.length) {\r\n\t\t\t\t\t\t\t\t\t\t\tvalidTargets = boardWithDeadEntity.filter((entity) => !entity.windfury);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tconst target = pickRandom(validTargets);\r\n\t\t\t\t\t\t\t\t\tif (target) {\r\n\t\t\t\t\t\t\t\t\t\tif (!target.divineShield) {\r\n\t\t\t\t\t\t\t\t\t\t\tupdateDivineShield(\r\n\t\t\t\t\t\t\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tupdateTaunt(\r\n\t\t\t\t\t\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tupdateWindfury(\r\n\t\t\t\t\t\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tgameState.spectator.registerPowerTarget(\r\n\t\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.NadinaTheRed_BGS_040:\r\n\t\t\t\t\t\t\tcase CardIds.NadinaTheRed_TB_BaconUps_154:\r\n\t\t\t\t\t\t\t\tconst nadinaMultiplier =\r\n\t\t\t\t\t\t\t\t\tdeadEntityCardId === CardIds.NadinaTheRed_TB_BaconUps_154 ? 6 : 3;\r\n\t\t\t\t\t\t\t\tfor (let j = 0; j < nadinaMultiplier; j++) {\r\n\t\t\t\t\t\t\t\t\tconst validTargets = boardWithDeadEntity\r\n\t\t\t\t\t\t\t\t\t\t.filter((e) =>\r\n\t\t\t\t\t\t\t\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\t\t\t\t\t\t\t\te,\r\n\t\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\t\tRace.DRAGON,\r\n\t\t\t\t\t\t\t\t\t\t\t\tgameState.anomalies,\r\n\t\t\t\t\t\t\t\t\t\t\t\tgameState.allCards,\r\n\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t.filter((entity) => !entity.divineShield);\r\n\t\t\t\t\t\t\t\t\tconst target = pickRandom(validTargets);\r\n\t\t\t\t\t\t\t\t\tif (target) {\r\n\t\t\t\t\t\t\t\t\t\tupdateDivineShield(\r\n\t\t\t\t\t\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tgameState.spectator.registerPowerTarget(\r\n\t\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.SpawnOfNzoth_BG_OG_256:\r\n\t\t\t\t\t\t\t\taddStatsToBoard(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.SpawnOfNzoth_TB_BaconUps_025:\r\n\t\t\t\t\t\t\t\taddStatsToBoard(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t2,\r\n\t\t\t\t\t\t\t\t\t2,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.FiendishServant_YOD_026:\r\n\t\t\t\t\t\t\t\tgrantRandomAttack(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.attack,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.FiendishServant_TB_BaconUps_112:\r\n\t\t\t\t\t\t\t\tgrantRandomAttack(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.attack,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tgrantRandomAttack(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.attack,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.NightbaneIgnited_BG29_815:\r\n\t\t\t\t\t\t\tcase CardIds.NightbaneIgnited_BG29_815_G:\r\n\t\t\t\t\t\t\t\tconst nightbaneLoops = deadEntityCardId === CardIds.NightbaneIgnited_BG29_815_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tfor (let j = 0; j < nightbaneLoops; j++) {\r\n\t\t\t\t\t\t\t\t\tconst pickedTargetEntityIds = [];\r\n\t\t\t\t\t\t\t\t\tfor (let k = 0; k < 2; k++) {\r\n\t\t\t\t\t\t\t\t\t\tconst target = pickRandomAlive(\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity\r\n\t\t\t\t\t\t\t\t\t\t\t\t.filter(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t(e) =>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t![\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCardIds.NightbaneIgnited_BG29_815,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCardIds.NightbaneIgnited_BG29_815_G,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t].includes(e.cardId as CardIds),\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t.filter((e) => !pickedTargetEntityIds.includes(e.entityId)),\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\tif (!!target) {\r\n\t\t\t\t\t\t\t\t\t\t\tpickedTargetEntityIds.push(target.entityId);\r\n\t\t\t\t\t\t\t\t\t\t\tmodifyStats(\r\n\t\t\t\t\t\t\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\t\tdeadEntity.attack,\r\n\t\t\t\t\t\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Leapfrogger_BG21_000:\r\n\t\t\t\t\t\t\t\t// console.log('\\t', 'Leapfrogger from DR', deadEntity.entityId);\r\n\t\t\t\t\t\t\t\tapplyLeapFroggerEffect(\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.deathrattleRepeats,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Leapfrogger_BG21_000_G:\r\n\t\t\t\t\t\t\t\tapplyLeapFroggerEffect(\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.deathrattleRepeats,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.PalescaleCrocolisk_BG21_001:\r\n\t\t\t\t\t\t\t\tconst target = grantRandomStats(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t6,\r\n\t\t\t\t\t\t\t\t\t6,\r\n\t\t\t\t\t\t\t\t\tRace.BEAST,\r\n\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tif (!!target) {\r\n\t\t\t\t\t\t\t\t\tgameState.spectator.registerPowerTarget(\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.PalescaleCrocolisk_BG21_001_G:\r\n\t\t\t\t\t\t\t\tconst crocTarget = grantRandomStats(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t12,\r\n\t\t\t\t\t\t\t\t\t12,\r\n\t\t\t\t\t\t\t\t\tRace.BEAST,\r\n\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tif (!!crocTarget) {\r\n\t\t\t\t\t\t\t\t\tgameState.spectator.registerPowerTarget(\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tcrocTarget,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.ScarletSkull_BG25_022:\r\n\t\t\t\t\t\t\tcase CardIds.ScarletSkull_BG25_022_G:\r\n\t\t\t\t\t\t\t\tconst scarletMultiplier = deadEntityCardId === CardIds.ScarletSkull_BG25_022_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tconst scarletTarget = grantRandomStats(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tscarletMultiplier * 1,\r\n\t\t\t\t\t\t\t\t\tscarletMultiplier * 2,\r\n\t\t\t\t\t\t\t\t\tRace.UNDEAD,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tif (!!scarletTarget) {\r\n\t\t\t\t\t\t\t\t\tgameState.spectator.registerPowerTarget(\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tscarletTarget,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.ElementiumSquirrelBomb_TB_BaconShop_HERO_17_Buddy:\r\n\t\t\t\t\t\t\tcase CardIds.ElementiumSquirrelBomb_TB_BaconShop_HERO_17_Buddy_G:\r\n\t\t\t\t\t\t\t\t// FIXME: I don't think this way of doing things is really accurate (as some deathrattles\r\n\t\t\t\t\t\t\t\t// could be spawned between the shots firing), but let's say it's good enough for now\r\n\t\t\t\t\t\t\t\tconst squirrelDamage =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.ElementiumSquirrelBomb_TB_BaconShop_HERO_17_Buddy_G\r\n\t\t\t\t\t\t\t\t\t\t? 4\r\n\t\t\t\t\t\t\t\t\t\t: 2;\r\n\t\t\t\t\t\t\t\tconst numberOfDeadMechsThisCombat = gameState.sharedState.deaths\r\n\t\t\t\t\t\t\t\t\t.filter((entity) => entity.friendly === deadEntity.friendly)\r\n\t\t\t\t\t\t\t\t\t// eslint-disable-next-line prettier/prettier\r\n\t\t\t\t\t\t\t\t\t.filter((entity) =>\r\n\t\t\t\t\t\t\t\t\t\thasCorrectTribe(\r\n\t\t\t\t\t\t\t\t\t\t\tentity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\tRace.MECH,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState.anomalies,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState.allCards,\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t).length;\r\n\t\t\t\t\t\t\t\tfor (let j = 0; j < numberOfDeadMechsThisCombat; j++) {\r\n\t\t\t\t\t\t\t\t\tdealDamageToRandomEnemy(\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tsquirrelDamage,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.KaboomBot_BG_BOT_606:\r\n\t\t\t\t\t\t\tcase CardIds.KaboomBot_TB_BaconUps_028:\r\n\t\t\t\t\t\t\t\t// FIXME: I don't think this way of doing things is really accurate (as some deathrattles\r\n\t\t\t\t\t\t\t\t// could be spawned between the shots firing), but let's say it's good enough for now\r\n\t\t\t\t\t\t\t\tconst kaboomLoops = deadEntity.cardId === CardIds.KaboomBot_TB_BaconUps_028 ? 2 : 1;\r\n\t\t\t\t\t\t\t\tconst baseDamage =\r\n\t\t\t\t\t\t\t\t\t4 +\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero.trinkets.filter(\r\n\t\t\t\t\t\t\t\t\t\t(t) => t.cardId === CardIds.KaboomBotPortrait_BG30_MagicItem_803,\r\n\t\t\t\t\t\t\t\t\t).length *\r\n\t\t\t\t\t\t\t\t\t\t10;\r\n\t\t\t\t\t\t\t\tfor (let j = 0; j < kaboomLoops; j++) {\r\n\t\t\t\t\t\t\t\t\tdealDamageToRandomEnemy(\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tbaseDamage,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t// case CardIds.FireDancer_BG29_843:\r\n\t\t\t\t\t\t\t// case CardIds.FireDancer_BG29_843_G:\r\n\t\t\t\t\t\t\t// \tconst fireDancerLoops = deadEntity.cardId === CardIds.FireDancer_BG29_843_G ? 2 : 1;\r\n\t\t\t\t\t\t\t// \tfor (let j = 0; j < fireDancerLoops; j++) {\r\n\t\t\t\t\t\t\t// \t\t// In case there are spawns, don't target them\r\n\t\t\t\t\t\t\t// \t\tconst minionsToDamage = [...otherBoard, ...boardWithDeadEntity];\r\n\t\t\t\t\t\t\t// \t\tfor (const target of minionsToDamage) {\r\n\t\t\t\t\t\t\t// \t\t\tconst isSameSide = target.friendly === deadEntity.friendly;\r\n\t\t\t\t\t\t\t// \t\t\tconst board = isSameSide ? boardWithDeadEntity : otherBoard;\r\n\t\t\t\t\t\t\t// \t\t\tconst hero = isSameSide ? boardWithDeadEntityHero : otherBoardHero;\r\n\t\t\t\t\t\t\t// \t\t\tdealDamageToMinion(\r\n\t\t\t\t\t\t\t// \t\t\t\ttarget,\r\n\t\t\t\t\t\t\t// \t\t\t\tboard,\r\n\t\t\t\t\t\t\t// \t\t\t\thero,\r\n\t\t\t\t\t\t\t// \t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\t\t1,\r\n\t\t\t\t\t\t\t// \t\t\t\tisSameSide ? otherBoard : boardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\t\t\tisSameSide ? otherBoardHero : boardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\t\t\tgameState,\r\n\t\t\t\t\t\t\t// \t\t\t);\r\n\t\t\t\t\t\t\t// \t\t}\r\n\t\t\t\t\t\t\t// \t}\r\n\t\t\t\t\t\t\t// \t// Most likely there is a death loop after each round of damage, see\r\n\t\t\t\t\t\t\t// \t// http://replays.firestoneapp.com/?reviewId=4b6e4d8d-fc83-4795-b450-4cd0c3a518be&turn=17&action=2\r\n\t\t\t\t\t\t\t// \t// Update 13/05/2024: the death process is probably between each deathrattle proc, but not each\r\n\t\t\t\t\t\t\t// \t// individual tick. See\r\n\t\t\t\t\t\t\t// \t// http://replays.firestoneapp.com/?reviewId=6d66b90d-5678-4a68-a45f-7ddb887f9450&turn=17&action=11\r\n\t\t\t\t\t\t\t// \tprocessMinionDeath(\r\n\t\t\t\t\t\t\t// \t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\totherBoard,\r\n\t\t\t\t\t\t\t// \t\totherBoardHero,\r\n\t\t\t\t\t\t\t// \t\tgameState,\r\n\t\t\t\t\t\t\t// \t);\r\n\t\t\t\t\t\t\t// \tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.LighterFighter_BG28_968:\r\n\t\t\t\t\t\t\tcase CardIds.LighterFighter_BG28_968_G:\r\n\t\t\t\t\t\t\t\t// FIXME: I don't think this way of doing things is really accurate (as some deathrattles\r\n\t\t\t\t\t\t\t\t// could be spawned between the shots firing), but let's say it's good enough for now\r\n\t\t\t\t\t\t\t\tconst lighterFighterDamage =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.LighterFighter_BG28_968_G ? 8 : 4;\r\n\t\t\t\t\t\t\t\tfor (let j = 0; j < 2; j++) {\r\n\t\t\t\t\t\t\t\t\tconst target = pickRandomLowestHealth(otherBoard);\r\n\t\t\t\t\t\t\t\t\tgameState.spectator.registerPowerTarget(\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tdealDamageToMinion(\r\n\t\t\t\t\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tlighterFighterDamage,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.DrBoombox_BG25_165:\r\n\t\t\t\t\t\t\tcase CardIds.DrBoombox_BG25_165_G:\r\n\t\t\t\t\t\t\t\t// FIXME: I don't think this way of doing things is really accurate (as some deathrattles\r\n\t\t\t\t\t\t\t\t// could be spawned between the shots firing), but let's say it's good enough for now\r\n\t\t\t\t\t\t\t\tconst boomboxDamage = deadEntity.cardId === CardIds.DrBoombox_BG25_165_G ? 14 : 7;\r\n\t\t\t\t\t\t\t\t// The nearest enemies use the full board info\r\n\t\t\t\t\t\t\t\t// const boardIncludingDeadEntityAtCorrectIndex = boardWithDeadEntity.splice(\r\n\t\t\t\t\t\t\t\t// \tdeadEntityIndexFromRight,\r\n\t\t\t\t\t\t\t\t// \t0,\r\n\t\t\t\t\t\t\t\t// \tdeadEntity,\r\n\t\t\t\t\t\t\t\t// );\r\n\t\t\t\t\t\t\t\tconst targets = findNearestEnemies(\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tnull,\r\n\t\t\t\t\t\t\t\t\tdeadEntityIndexFromRight,\r\n\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t2,\r\n\t\t\t\t\t\t\t\t\tgameState.allCards,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\ttargets.forEach((target) => {\r\n\t\t\t\t\t\t\t\t\t// console.debug('dealing damage to', stringifySimpleCard(target));\r\n\t\t\t\t\t\t\t\t\tdealDamageToMinion(\r\n\t\t\t\t\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboomboxDamage,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.UnstableGhoul_BG_FP1_024:\r\n\t\t\t\t\t\t\t\t// case CardIds.UnstableGhoul_TB_BaconUps_118:\r\n\t\t\t\t\t\t\t\tconst damage = 1; //deadEntityCardId === CardIds.UnstableGhoul_TB_BaconUps_118 ? 2 : 1;\r\n\t\t\t\t\t\t\t\t// In case there are spawns, don't target them\r\n\t\t\t\t\t\t\t\tconst minionsToDamage = [...otherBoard, ...boardWithDeadEntity];\r\n\t\t\t\t\t\t\t\tfor (const target of minionsToDamage) {\r\n\t\t\t\t\t\t\t\t\tconst isSameSide = target.friendly === deadEntity.friendly;\r\n\t\t\t\t\t\t\t\t\tconst board = isSameSide ? boardWithDeadEntity : otherBoard;\r\n\t\t\t\t\t\t\t\t\tconst hero = isSameSide ? boardWithDeadEntityHero : otherBoardHero;\r\n\t\t\t\t\t\t\t\t\tdealDamageToMinion(\r\n\t\t\t\t\t\t\t\t\t\ttarget,\r\n\t\t\t\t\t\t\t\t\t\tboard,\r\n\t\t\t\t\t\t\t\t\t\thero,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tdamage,\r\n\t\t\t\t\t\t\t\t\t\tisSameSide ? otherBoard : boardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tisSameSide ? otherBoardHero : boardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.RadioStar_BG25_399:\r\n\t\t\t\t\t\t\tcase CardIds.RadioStar_BG25_399_G:\r\n\t\t\t\t\t\t\t\tconst radioQuantity = deadEntityCardId === CardIds.RadioStar_BG25_399_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tconst radioEntities = Array(radioQuantity).fill(deadEntity.lastAffectedByEntity);\r\n\t\t\t\t\t\t\t\taddCardsInHand(boardWithDeadEntityHero, boardWithDeadEntity, radioEntities, gameState);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.MysticSporebat_BG28_900:\r\n\t\t\t\t\t\t\tcase CardIds.MysticSporebat_BG28_900_G:\r\n\t\t\t\t\t\t\t\tconst loops = deadEntityCardId === CardIds.MysticSporebat_BG28_900_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tconst cardsToAdd = Array(loops).fill(null);\r\n\t\t\t\t\t\t\t\taddCardsInHand(boardWithDeadEntityHero, boardWithDeadEntity, cardsToAdd, gameState);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.SrTombDiver_TB_BaconShop_HERO_41_Buddy:\r\n\t\t\t\t\t\t\tcase CardIds.SrTombDiver_TB_BaconShop_HERO_41_Buddy_G:\r\n\t\t\t\t\t\t\t\tconst numberToGild =\r\n\t\t\t\t\t\t\t\t\tdeadEntityCardId === CardIds.SrTombDiver_TB_BaconShop_HERO_41_Buddy_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tconst targetBoard = boardWithDeadEntity.filter(\r\n\t\t\t\t\t\t\t\t\t(e) => !e.definitelyDead && e.health > 0,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t// .filter((e) => !gameState.cardsData.isGolden(gameState.allCards.getCard(e.cardId)));\r\n\t\t\t\t\t\t\t\tfor (let i = 0; i < Math.min(numberToGild, boardWithDeadEntity.length); i++) {\r\n\t\t\t\t\t\t\t\t\tconst rightMostMinion = targetBoard[targetBoard.length - 1 - i];\r\n\t\t\t\t\t\t\t\t\tif (rightMostMinion) {\r\n\t\t\t\t\t\t\t\t\t\tmakeMinionGolden(\r\n\t\t\t\t\t\t\t\t\t\t\trightMostMinion,\r\n\t\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Scourfin_BG26_360:\r\n\t\t\t\t\t\t\tcase CardIds.Scourfin_BG26_360_G:\r\n\t\t\t\t\t\t\t\tconst statsScourfin = deadEntityCardId === CardIds.Scourfin_BG26_360_G ? 10 : 5;\r\n\t\t\t\t\t\t\t\tgrantRandomStats(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero.hand.filter(\r\n\t\t\t\t\t\t\t\t\t\t(e) =>\r\n\t\t\t\t\t\t\t\t\t\t\tgameState.allCards.getCard(e.cardId).type?.toUpperCase() ===\r\n\t\t\t\t\t\t\t\t\t\t\tCardType[CardType.MINION],\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tstatsScourfin,\r\n\t\t\t\t\t\t\t\t\tstatsScourfin,\r\n\t\t\t\t\t\t\t\t\tnull,\r\n\t\t\t\t\t\t\t\t\ttrue,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.SanguineChampion_BG23_017:\r\n\t\t\t\t\t\t\tcase CardIds.SanguineChampion_BG23_017_G:\r\n\t\t\t\t\t\t\t\tconst sanguineChampionStats =\r\n\t\t\t\t\t\t\t\t\tdeadEntityCardId === CardIds.SanguineChampion_BG23_017 ? 1 : 2;\r\n\t\t\t\t\t\t\t\tboardWithDeadEntityHero.globalInfo.BloodGemAttackBonus += sanguineChampionStats;\r\n\t\t\t\t\t\t\t\tboardWithDeadEntityHero.globalInfo.BloodGemHealthBonus += sanguineChampionStats;\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.PricklyPiper_BG26_160:\r\n\t\t\t\t\t\t\tcase CardIds.PricklyPiper_BG26_160_G:\r\n\t\t\t\t\t\t\t\tconst piperBuff = deadEntityCardId === CardIds.PricklyPiper_BG26_160 ? 1 : 2;\r\n\t\t\t\t\t\t\t\tboardWithDeadEntityHero.globalInfo.BloodGemAttackBonus += piperBuff;\r\n\t\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\t\t// Putricide-only\r\n\t\t\t\t\t\t\tcase CardIds.Banshee_BG_RLK_957:\r\n\t\t\t\t\t\t\t\taddStatsToBoard(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t2,\r\n\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tRace[Race.UNDEAD],\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.LostSpirit_BG26_GIL_513:\r\n\t\t\t\t\t\t\t\taddStatsToBoard(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tnull,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.TickingAbomination_BG_ICC_099:\r\n\t\t\t\t\t\t\t\tfor (const entity of boardWithDeadEntity) {\r\n\t\t\t\t\t\t\t\t\tdealDamageToMinion(\r\n\t\t\t\t\t\t\t\t\t\tentity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t5,\r\n\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t// case CardIds.WitheredSpearhide_BG27_006:\r\n\t\t\t\t\t\t\t// case CardIds.WitheredSpearhide_BG27_006_G:\r\n\t\t\t\t\t\t\t// \tconst witheredSpearhideCardsToAdd = Array(\r\n\t\t\t\t\t\t\t// \t\tdeadEntity.cardId === CardIds.WitheredSpearhide_BG27_006_G ? 2 : 1,\r\n\t\t\t\t\t\t\t// \t).fill(CardIds.BloodGem);\r\n\t\t\t\t\t\t\t// \taddCardsInHand(\r\n\t\t\t\t\t\t\t// \t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\twitheredSpearhideCardsToAdd,\r\n\t\t\t\t\t\t\t// \t\tgameState,\r\n\t\t\t\t\t\t\t// \t);\r\n\t\t\t\t\t\t\t// \tbreak;\r\n\t\t\t\t\t\t\t// case CardIds.RecurringNightmare_BG26_055:\r\n\t\t\t\t\t\t\t// case CardIds.RecurringNightmare_BG26_055_G:\r\n\t\t\t\t\t\t\t// \tapplyRecurringNightmareDeathrattleEffect(\r\n\t\t\t\t\t\t\t// \t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t// \t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t// \t\tdeadEntity,\r\n\t\t\t\t\t\t\t// \t\tdeadEntityCardId === CardIds.RecurringNightmare_BG26_055_G,\r\n\t\t\t\t\t\t\t// \t\tgameState,\r\n\t\t\t\t\t\t\t// \t);\r\n\t\t\t\t\t\t\t// \tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.MotleyPhalanx_BG27_080:\r\n\t\t\t\t\t\t\tcase CardIds.MotleyPhalanx_BG27_080_G:\r\n\t\t\t\t\t\t\t\tconst motleyBuff = deadEntity.cardId === CardIds.MotleyPhalanx_BG27_080_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tgrantStatsToMinionsOfEachType(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tmotleyBuff * 1,\r\n\t\t\t\t\t\t\t\t\tmotleyBuff * 1,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.MoroesStewardOfDeath_BG28_304:\r\n\t\t\t\t\t\t\tcase CardIds.MoroesStewardOfDeath_BG28_304_G:\r\n\t\t\t\t\t\t\t\tconst moroesBuffAtk =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.MoroesStewardOfDeath_BG28_304_G ? 8 : 4;\r\n\t\t\t\t\t\t\t\tconst moroesBuffHealth =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.MoroesStewardOfDeath_BG28_304_G ? 12 : 6;\r\n\t\t\t\t\t\t\t\taddStatsToBoard(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tmoroesBuffAtk,\r\n\t\t\t\t\t\t\t\t\tmoroesBuffHealth,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tRace[Race.UNDEAD],\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.SteadfastSpirit_BG28_306:\r\n\t\t\t\t\t\t\tcase CardIds.SteadfastSpirit_BG28_306_G:\r\n\t\t\t\t\t\t\t\tconst steadfastSpiritBuff =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.SteadfastSpirit_BG28_306_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\taddStatsToBoard(\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tsteadfastSpiritBuff,\r\n\t\t\t\t\t\t\t\t\tsteadfastSpiritBuff,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.ScrapScraper_BG26_148:\r\n\t\t\t\t\t\t\tcase CardIds.ScrapScraper_BG26_148_G:\r\n\t\t\t\t\t\t\t\tconst scraperToAddQuantity =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.ScrapScraper_BG26_148_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tconst scraperCardsToAdd = [];\r\n\t\t\t\t\t\t\t\tfor (let i = 0; i < scraperToAddQuantity; i++) {\r\n\t\t\t\t\t\t\t\t\tscraperCardsToAdd.push(pickRandom(gameState.cardsData.scrapScraperSpawns));\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\taddCardsInHand(\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tscraperCardsToAdd,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.BarrensConjurer_BG29_862:\r\n\t\t\t\t\t\t\tcase CardIds.BarrensConjurer_BG29_862_G:\r\n\t\t\t\t\t\t\t\tconst conjurerToAddQuantity =\r\n\t\t\t\t\t\t\t\t\tdeadEntity.cardId === CardIds.BarrensConjurer_BG29_862_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tconst conjurerCardsToAdd = [];\r\n\t\t\t\t\t\t\t\tfor (let i = 0; i < conjurerToAddQuantity; i++) {\r\n\t\t\t\t\t\t\t\t\tconjurerCardsToAdd.push(pickRandom(gameState.cardsData.battlecryMinions));\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\taddCardsInHand(\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tconjurerCardsToAdd,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.SpikedSavior_BG29_808:\r\n\t\t\t\t\t\t\tcase CardIds.SpikedSavior_BG29_808_G:\r\n\t\t\t\t\t\t\t\tconst spikedSaviorLoops = deadEntity.cardId === CardIds.SpikedSavior_BG29_808_G ? 2 : 1;\r\n\t\t\t\t\t\t\t\tfor (let j = 0; j < spikedSaviorLoops; j++) {\r\n\t\t\t\t\t\t\t\t\tconst targetBoard = [...boardWithDeadEntity];\r\n\t\t\t\t\t\t\t\t\tfor (const entity of targetBoard) {\r\n\t\t\t\t\t\t\t\t\t\tmodifyStats(\r\n\t\t\t\t\t\t\t\t\t\t\tentity,\r\n\t\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tfor (const entity of targetBoard) {\r\n\t\t\t\t\t\t\t\t\t\t// Issue: because this can spawn a new minion, the entity indices can be incorrect\r\n\t\t\t\t\t\t\t\t\t\t// See sim.sample.1.txt\r\n\t\t\t\t\t\t\t\t\t\t// Ideally, I should probably move the minion spawn index to another paradigm: keep the dead minions\r\n\t\t\t\t\t\t\t\t\t\t// until there are new spawns, and delete them afterwards, so I can easily refer to their index\r\n\t\t\t\t\t\t\t\t\t\t// by just looking them up, and spawning to the right\r\n\t\t\t\t\t\t\t\t\t\t// However, since this doesn't work, maybe I can look for entity indices adjustments needed\r\n\t\t\t\t\t\t\t\t\t\t// by looking up the position changes of other minions?\r\n\t\t\t\t\t\t\t\t\t\t// Not sure how this could work without creating a giant mess, so for now it will probably\r\n\t\t\t\t\t\t\t\t\t\t// stay as a bug\r\n\t\t\t\t\t\t\t\t\t\tdealDamageToMinion(\r\n\t\t\t\t\t\t\t\t\t\t\tentity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t// Add all the deathrattles that don't have an effect on combat\r\n\t\t\t\t\t\t\t// case CardIds.FieryFelblood_BG29_877:\r\n\t\t\t\t\t\t\t// case CardIds.FieryFelblood_BG29_877_G:\r\n\t\t\t\t\t\t\t// Enchantments\r\n\t\t\t\t\t\t\tcase CardIds.RustyTrident_TridentsTreasureEnchantment_BG30_MagicItem_917e:\r\n\t\t\t\t\t\t\t\taddCardsInHand(boardWithDeadEntityHero, boardWithDeadEntity, [null], gameState);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.HoggyBank_GemInTheBankEnchantment_BG30_MagicItem_411e:\r\n\t\t\t\t\t\t\t\taddCardsInHand(\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\t[CardIds.BloodGem],\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase CardIds.Leapfrogger_LeapfrogginEnchantment_BG21_000e:\r\n\t\t\t\t\t\t\tcase CardIds.Leapfrogger_LeapfrogginEnchantment_BG21_000_Ge:\r\n\t\t\t\t\t\t\t\t// console.log('\\t', 'Leapfrogger enchantment', enchantment.repeats);\r\n\t\t\t\t\t\t\t\tapplyLeapFroggerEffect(\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\t\tdeadEntityCardId === CardIds.Leapfrogger_LeapfrogginEnchantment_BG21_000_Ge,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\t1, //enchantment.repeats || 1,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\t\tif (deadEntity.additionalCards?.includes(deadEntityCardId)) {\r\n\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t!hasMechanic(gameState.allCards.getCard(deadEntityCardId), GameTag.DEATHRATTLE)\r\n\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\thasTriggeredThisLoop = false;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tconst source = [deadEntity, ...enchantments].find(\r\n\t\t\t\t\t\t\t\t\t\t(e) => e.cardId === deadEntityCardId,\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tif (!hasEntityMechanic(source, GameTag.DEATHRATTLE, gameState.allCards)) {\r\n\t\t\t\t\t\t\t\t\t\thasTriggeredThisLoop = false;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\thasTriggered = hasTriggered || hasTriggeredThisLoop;\r\n\t\t\t\t\t// 33.6.2 we fully process each deathrattle before applying the next\r\n\t\t\t\t\t// The key is to find the correct order for processing, hence the sorting for enchantments and \"natural\" deathrattles\r\n\t\t\t\t\tif (spawnedEntities?.length > 0) {\r\n\t\t\t\t\t\tconst actualSpawns = performEntitySpawns(\r\n\t\t\t\t\t\t\tspawnedEntities,\r\n\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\tdeadEntityIndexFromRight,\r\n\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tfinalSpawns.push(...actualSpawns);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// It's an enchantment\r\n\t\t\telse {\r\n\t\t\t\tconst spawnedEntities: BoardEntity[] = [];\r\n\t\t\t\tlet hasTriggeredThisLoop = true;\r\n\t\t\t\tconst enchantment = card as BoardEnchantment;\r\n\t\t\t\tconst deathrattleImpl = cardMappings[enchantment.cardId];\r\n\t\t\t\tif (hasDeathrattleSpawnEnchantment(deathrattleImpl)) {\r\n\t\t\t\t\tconst spawns = deathrattleImpl.deathrattleSpawnEnchantmentEffect(\r\n\t\t\t\t\t\tenchantment,\r\n\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\tdeathrattleTriggeredInput,\r\n\t\t\t\t\t);\r\n\t\t\t\t\tif (!!spawns?.length) {\r\n\t\t\t\t\t\tspawnedEntities.push(...spawns);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tswitch (enchantment.cardId) {\r\n\t\t\t\t\t\tcase CardIds.EarthRecollectionEnchantment:\r\n\t\t\t\t\t\t\tapplyEarthInvocationEnchantment(boardWithDeadEntity, deadEntity, deadEntity, gameState);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase CardIds.FireRecollectionEnchantment:\r\n\t\t\t\t\t\t\tapplyFireInvocationEnchantment(\r\n\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase CardIds.WaterRecollectionEnchantment:\r\n\t\t\t\t\t\t\tapplyWaterInvocationEnchantment(\r\n\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase CardIds.LightningRecollectionEnchantment:\r\n\t\t\t\t\t\t\tapplyLightningInvocationEnchantment(\r\n\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t// case CardIds.RecurringNightmare_NightmareInsideEnchantment_BG26_055e:\r\n\t\t\t\t\t\t// case CardIds.RecurringNightmare_NightmareInsideEnchantment_BG26_055_Ge:\r\n\t\t\t\t\t\t// \tspawnedEntities.push(\r\n\t\t\t\t\t\t// \t\t...spawnEntities(\r\n\t\t\t\t\t\t// \t\t\tenchantment.cardId === CardIds.RecurringNightmare_NightmareInsideEnchantment_BG26_055e\r\n\t\t\t\t\t\t// \t\t\t\t? CardIds.RecurringNightmare_BG26_055\r\n\t\t\t\t\t\t// \t\t\t\t: CardIds.RecurringNightmare_BG26_055_G,\r\n\t\t\t\t\t\t// \t\t\t1,\r\n\t\t\t\t\t\t// \t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t// \t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t// \t\t\totherBoard,\r\n\t\t\t\t\t\t// \t\t\totherBoardHero,\r\n\t\t\t\t\t\t// \t\t\tgameState,\r\n\t\t\t\t\t\t// \t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t// \t\t\tfalse,\r\n\t\t\t\t\t\t// \t\t),\r\n\t\t\t\t\t\t// \t);\r\n\t\t\t\t\t\t// \tbreak;\r\n\t\t\t\t\t\t// Replicating Menace\r\n\t\t\t\t\t\tcase CardIds.ReplicatingMenace_ReplicatingMenaceEnchantment_BG_BOT_312e:\r\n\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\tCardIds.ReplicatingMenace_MicrobotToken_BG_BOT_312t,\r\n\t\t\t\t\t\t\t\t\t3,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase CardIds.ReplicatingMenace_ReplicatingMenaceEnchantment_TB_BaconUps_032e:\r\n\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\tCardIds.ReplicatingMenace_MicrobotToken_TB_BaconUps_032t,\r\n\t\t\t\t\t\t\t\t\t3,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase CardIds.LivingSpores_LivingSporesEnchantment:\r\n\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\tCardIds.LivingSpores_PlantToken,\r\n\t\t\t\t\t\t\t\t\t2,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase CardIds.EarthInvocation_ElementEarthEnchantment:\r\n\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\tCardIds.ElementEarth_StoneElementalToken,\r\n\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase CardIds.BoonOfBeetles_BeetleSwarmEnchantment_BG28_603e:\r\n\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\tCardIds.BoonOfBeetles_BeetleToken_BG28_603t,\r\n\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase CardIds.TheUninvitedGuest_UninvitedEnchantment_BG29_875e:\r\n\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\tCardIds.TheUninvitedGuest_ShadowToken_BG29_875t,\r\n\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase CardIds.TheUninvitedGuest_UninvitedEnchantment_BG29_875_Ge:\r\n\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\tCardIds.TheUninvitedGuest_ShadowToken_BG29_875_Gt,\r\n\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase CardIds.SneedsReplicator_ReplicateEnchantment:\r\n\t\t\t\t\t\t\tconst tavernTier =\r\n\t\t\t\t\t\t\t\tdeadEntity.tavernTier ?? gameState.cardsData.getTavernLevel(deadEntity.cardId);\r\n\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\tgameState.cardsData.getRandomMinionForTavernTier(Math.max(1, tavernTier - 1)),\r\n\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t// case CardIds.SurfNSurf_CrabRidingEnchantment_BG27_004e:\r\n\t\t\t\t\t\t// case CardIds.SurfNSurf_CrabRidingEnchantment_BG27_004_Ge:\r\n\t\t\t\t\t\t// \tspawnedEntities.push(\r\n\t\t\t\t\t\t// \t\t...spawnEntities(\r\n\t\t\t\t\t\t// \t\t\tenchantment.cardId === CardIds.SurfNSurf_CrabRidingEnchantment_BG27_004_Ge\r\n\t\t\t\t\t\t// \t\t\t\t? CardIds.SurfNSurf_CrabToken_BG27_004_Gt2\r\n\t\t\t\t\t\t// \t\t\t\t: CardIds.SurfNSurf_CrabToken_BG27_004t2,\r\n\t\t\t\t\t\t// \t\t\t1,\r\n\t\t\t\t\t\t// \t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t// \t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t// \t\t\totherBoard,\r\n\t\t\t\t\t\t// \t\t\totherBoardHero,\r\n\t\t\t\t\t\t// \t\t\tgameState,\r\n\t\t\t\t\t\t// \t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t// \t\t\tfalse,\r\n\t\t\t\t\t\t// \t\t),\r\n\t\t\t\t\t\t// \t);\r\n\t\t\t\t\t\t// \tbreak;\r\n\t\t\t\t\t\tcase CardIds.JarredFrostling_FrostyGlobeEnchantment_BG30_MagicItem_952e:\r\n\t\t\t\t\t\t\tspawnedEntities.push(\r\n\t\t\t\t\t\t\t\t...spawnEntities(\r\n\t\t\t\t\t\t\t\t\tCardIds.FlourishingFrostling_BG26_537,\r\n\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t\t\t\t\tdeadEntity.friendly,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\thasTriggeredThisLoop = false;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\thasTriggered = hasTriggered || hasTriggeredThisLoop;\r\n\t\t\t\tif (spawnedEntities?.length > 0) {\r\n\t\t\t\t\tconst actualSpawns = performEntitySpawns(\r\n\t\t\t\t\t\tspawnedEntities,\r\n\t\t\t\t\t\tboardWithDeadEntity,\r\n\t\t\t\t\t\tboardWithDeadEntityHero,\r\n\t\t\t\t\t\tdeadEntity,\r\n\t\t\t\t\t\tdeadEntityIndexFromRight,\r\n\t\t\t\t\t\totherBoard,\r\n\t\t\t\t\t\totherBoardHero,\r\n\t\t\t\t\t\tgameState,\r\n\t\t\t\t\t);\r\n\t\t\t\t\tfinalSpawns.push(...actualSpawns);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (hasTriggered) {\r\n\t\t\tonDeathrattleTriggered(deathrattleTriggeredInput);\r\n\t\t}\r\n\t}\r\n\treturn finalSpawns;\r\n};\r\n"]}