@flesh-and-blood/cards 3.0.0 → 3.0.2

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 (2) hide show
  1. package/dist/index.js +6 -6
  2. package/package.json +4 -4
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- var at=Object.create;var h=Object.defineProperty;var rt=Object.getOwnPropertyDescriptor;var nt=Object.getOwnPropertyNames;var st=Object.getPrototypeOf,ot=Object.prototype.hasOwnProperty;var lt=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),dt=(i,e)=>{for(var a in e)h(i,a,{get:e[a],enumerable:!0})},D=(i,e,a,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of nt(e))!ot.call(i,r)&&r!==a&&h(i,r,{get:()=>e[r],enumerable:!(n=rt(e,r))||n.enumerable});return i};var ct=(i,e,a)=>(a=i!=null?at(st(i)):{},D(e||!i||!i.__esModule?h(a,"default",{value:i,enumerable:!0}):a,i)),gt=i=>D(h({},"__esModule",{value:!0}),i);var tt=lt((xt,$)=>{var w=Object.defineProperty,pt=Object.defineProperties,ut=Object.getOwnPropertyDescriptor,mt=Object.getOwnPropertyDescriptors,ht=Object.getOwnPropertyNames,O=Object.getOwnPropertySymbols,W=Object.prototype.hasOwnProperty,wt=Object.prototype.propertyIsEnumerable,S=(i,e,a)=>e in i?w(i,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[e]=a,yt=(i,e)=>{for(var a in e||(e={}))W.call(e,a)&&S(i,a,e[a]);if(O)for(var a of O(e))wt.call(e,a)&&S(i,a,e[a]);return i},ft=(i,e)=>pt(i,mt(e)),Rt=(i,e)=>{for(var a in e)w(i,a,{get:e[a],enumerable:!0})},Et=(i,e,a,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of ht(e))!W.call(i,r)&&r!==a&&w(i,r,{get:()=>e[r],enumerable:!(n=ut(e,r))||n.enumerable});return i},It=i=>Et(w({},"__esModule",{value:!0}),i),H={};Rt(H,{Class:()=>x,Foiling:()=>v,Format:()=>V,Fusion:()=>G,Hero:()=>_,Keyword:()=>Z,Rarity:()=>z,Release:()=>Y,ReleaseEdition:()=>K,Subtype:()=>q,Talent:()=>j,Treatment:()=>B,Type:()=>J,fullSetIdentifiers:()=>E,getCanAddToDeck:()=>Tt,getCardIdentifier:()=>At,getDefaultPrinting:()=>Mt,getIsArenaCard:()=>X,getIsDeckCard:()=>R,getPrint:()=>Ct,getSpecialPrinting:()=>Nt,orderedFullSetBlackBorderIdentifiers:()=>kt,setIdentifierToSetMappings:()=>Q,setToSetIdentifierMappings:()=>bt});$.exports=It(H);var v=(i=>(i.C="Cold",i.G="Gold",i.R="Rainbow",i))(v||{}),B=(i=>(i.AB="Alternate Border",i.AA="Alternate Art",i.AT="Alternate Text",i.EA="Extended Art",i.FA="Full Art",i))(B||{}),x=(i=>(i.NotClassed="NotClassed",i.Generic="Generic",i.Adjudicator="Adjudicator",i.Assassin="Assassin",i.Bard="Bard",i.Brute="Brute",i.Guardian="Guardian",i.Illusionist="Illusionist",i.Mechanologist="Mechanologist",i.Merchant="Merchant",i.Ninja="Ninja",i.Ranger="Ranger",i.Runeblade="Runeblade",i.Shapeshifter="Shapeshifter",i.Warrior="Warrior",i.Wizard="Wizard",i))(x||{}),V=(i=>(i.Blitz="Blitz",i.BlitzLivingLegend="Blitz (Living Legend)",i.Clash="Clash",i.ClassicConstructed="Classic Constructed",i.ClassicConstructedLivingLegend="Classic Constructed (Living Legend)",i.Commoner="Commoner",i.Draft="Draft",i.Open="Open",i.Sealed="Sealed",i.UltimatePitFight="Ultimate Pit Fight",i))(V||{}),G=(i=>(i.Earth="Earth",i.Ice="Ice",i.Lightning="Lightning",i))(G||{}),z=(i=>(i.Token="Token",i.Common="Common",i.Rare="Rare",i.SuperRare="Super Rare",i.Majestic="Majestic",i.Marvel="Marvel",i.Legendary="Legendary",i.Fabled="Fabled",i.Promo="Promo",i))(z||{}),Y=(i=>(i.ArcaneRising="Arcane Rising",i.BrightLights="Bright Lights",i.CrucibleOfWar="Crucible of War",i.DuskTillDawn="Dusk till Dawn",i.Dynasty="Dynasty",i.Everfest="Everfest",i.HeavyHitters="Heavy Hitters",i.HistoryPack1="History Pack 1",i.Monarch="Monarch",i.Outsiders="Outsiders",i.PartTheMistveil="Part the Mistveil",i.Rosetta="Rosetta",i.TalesOfAria="Tales of Aria",i.Uprising="Uprising",i.WelcomeToRathe="Welcome to Rathe",i.ArmoryDeckKayo="Armory Deck: Kayo",i.ArmoryDeckBoltyn="Armory Deck: Boltyn",i.ArmoryDeckAzalea="Armory Deck: Azalea",i.ArakniBlitzDeck="Arakni Blitz Deck",i.AzaleaBlitzDeck="Azalea Blitz Deck",i.BenjiBlitzDeck="Benji Blitz Deck",i.BetsyBlitzDeck="Betsy Blitz Deck",i.BoltynBlitzDeck="Boltyn Blitz Deck",i.BriarBlitzDeck="Briar Blitz Deck",i.BravoBlitzDeck="Bravo Blitz Deck",i.ChaneBlitzDeck="Chane Blitz Deck",i.DromaiBlitzDeck="Dromai Blitz Deck",i.EnigmaBlitzDeck="Enigma Blitz Deck",i.FaiBlitzDeck="Fai Blitz Deck",i.KassaiBlitzDeck="Kassai Blitz Deck",i.KatsuBlitzDeck="Katsu Blitz Deck",i.KayoBlitzDeck="Kayo Blitz Deck",i.LeviaBlitzDeck="Levia Blitz Deck",i.LexiBlitzDeck="Lexi Blitz Deck",i.NuuBlitzDeck="Nuu Blitz Deck",i.OldhimBlitzDeck="Oldhim Blitz Deck",i.OlympiaBlitzDeck="Olympia Blitz Deck",i.PrismBlitzDeck="Prism Blitz Deck",i.RhinarBlitzDeck="Rhinar Blitz Deck",i.RiptideBlitzDeck="Riptide Blitz Deck",i.UzuriBlitzDeck="Uzuri Blitz Deck",i.VictorBlitzDeck="Victor Blitz Deck",i.ZenBlitzDeck="Zen Blitz Deck",i.FirstStrikeAurora="1st Strike: Aurora",i.FirstStrikeTerra="1st Strike: Terra",i.DorintheaHeroDeck="Dorinthea Hero Deck",i.KatsuHeroDeck="Katsu Hero Deck",i.RhinarHeroDeck="Rhinar Hero Deck",i.ClassicBattlesRhinarDorinthea="Classic Battles: Rhinar vs Dorinthea",i.IraWelcomeDeck="Ira Welcome Deck",i.RoundTheTable="Round the Table",i.Promos="Promos",i))(Y||{}),K=(i=>(i.Alpha="Alpha",i.First="First",i.Unlimited="Unlimited",i.Promo="Promo",i))(K||{}),j=(i=>(i.Draconic="Draconic",i.Earth="Earth",i.Elemental="Elemental",i.Ice="Ice",i.Light="Light",i.Lightning="Lightning",i.Mystic="Mystic",i.Royal="Royal",i.Shadow="Shadow",i))(j||{}),J=(i=>(i.Action="Action",i.AttackReaction="Attack Reaction",i.Block="Block",i.DefenseReaction="Defense Reaction",i.DemiHero="Demi-Hero",i.Equipment="Equipment",i.Hero="Hero",i.Instant="Instant",i.Macro="Macro",i.Mentor="Mentor",i.Resource="Resource",i.Token="Token",i.Weapon="Weapon",i))(J||{}),q=(i=>(i.OneHanded="1H",i.TwoHanded="2H",i.Affliction="Affliction",i.Ally="Ally",i.Angel="Angel",i.Arms="Arms",i.Arrow="Arrow",i.Ash="Ash",i.Attack="Attack",i.Aura="Aura",i.Axe="Axe",i.Base="Base",i.Book="Book",i.Bow="Bow",i.Chest="Chest",i.Chi="Chi",i.Claw="Claw",i.Club="Club",i.Construct="Construct",i.Dagger="Dagger",i.Demon="Demon",i.Dragon="Dragon",i.Evo="Evo",i.Fiddle="Fiddle",i.Figment="Figment",i.Flail="Flail",i.Gem="Gem",i.Gun="Gun",i.Hammer="Hammer",i.Head="Head",i.Invocation="Invocation",i.Item="Item",i.Landmark="Landmark",i.Lute="Lute",i.Legs="Legs",i.NonAttack="Non-Attack",i.OffHand="Off-Hand",i.Orb="Orb",i.Pistol="Pistol",i.Quiver="Quiver",i.Rock="Rock",i.Shuriken="Shuriken",i.Scepter="Scepter",i.Scroll="Scroll",i.Scythe="Scythe",i.Song="Song",i.Staff="Staff",i.Sword="Sword",i.Trap="Trap",i.Wrench="Wrench",i.Young="Young",i))(q||{}),_=(i=>(i.Arakni="Arakni",i.Aurora="Aurora",i.Azalea="Azalea",i.Benji="Benji",i.Betsy="Betsy",i.Blaze="Blaze",i.Boltyn="Boltyn",i.Bravo="Bravo",i.Brevant="Brevant",i.Briar="Briar",i.Brutus="Brutus",i.Chane="Chane",i.Dash="Dash",i.DataDoll="Data Doll",i.Dorinthea="Dorinthea",i.Dromai="Dromai",i.Emperor="Emperor",i.Enigma="Enigma",i.Fai="Fai",i.Florian="Florian",i.GenisWotchuneed="Genis Wotchuneed",i.Ira="Ira",i.Iyslander="Iyslander",i.Kano="Kano",i.Kassai="Kassai",i.Katsu="Katsu",i.Kavdaen="Kavdaen",i.Kayo="Kayo",i.Levia="Levia",i.Lexi="Lexi",i.Maxx="Maxx",i.Melody="Melody",i.Nuu="Nuu",i.Oldhim="Oldhim",i.Olympia="Olympia",i.Oscilio="Oscilio",i.Prism="Prism",i.Rhinar="Rhinar",i.Riptide="Riptide",i.Ruudi="Ruu'di",i.Shiyana="Shiyana",i.Squizzy="Squizzy",i.Taipanis="Taipanis",i.Taylor="Taylor",i.Teklovossen="Teklovossen",i.Terra="Terra",i.Theryon="Theryon",i.Uzuri="Uzuri",i.Valda="Valda",i.Verdance="Verdance",i.Victor="Victor",i.Vynnset="Vynnset",i.Viserai="Viserai",i.Yorick="Yorick",i.Yoji="Yoji",i.Zen="Zen",i))(_||{}),Z=(i=>(i.Ambush="Ambush",i.Amp="Amp",i.ArcaneBarrier="Arcane Barrier",i.Awaken="Awaken",i.Battleworn="Battleworn",i.BeatChest="Beat Chest",i.BladeBreak="Blade Break",i.BloodDebt="Blood Debt",i.Boost="Boost",i.Channel="Channel",i.Charge="Charge",i.Clash="Clash",i.Cloaked="Cloaked",i.Combo="Combo",i.Contract="Contract",i.Crank="Crank",i.Crush="Crush",i.Decompose="Decompose",i.Dominate="Dominate",i.Ephemeral="Ephemeral",i.Essence="Essence",i.EvoUpgrade="Evo Upgrade",i.Freeze="Freeze",i.Fusion="Fusion",i.Galvanize="Galvanize",i.GoAgain="Go again",i.Guardwell="Guardwell",i.Heave="Heave",i.Intimidate="Intimidate",i.Legendary="Legendary",i.Material="Material",i.Meld="Meld",i.Modular="Modular",i.Mirage="Mirage",i.Negate="Negate",i.Opt="Opt",i.Overpower="Overpower",i.Pairs="Pairs",i.Piercing="Piercing",i.Phantasm="Phantasm",i.Protect="Protect",i.Quell="Quell",i.Reload="Reload",i.Reprise="Reprise",i.RuneGate="Rune Gate",i.Rupture="Rupture",i.Scrap="Scrap",i.Solflare="Solflare",i.Specialization="Specialization",i.Spectra="Spectra",i.Spellvoid="Spellvoid",i.Stealth="Stealth",i.Surge="Surge",i.Temper="Temper",i.Tower="Tower",i.Transform="Transform",i.Transcend="Transcend",i.Universal="Universal",i.Unfreeze="Unfreeze",i.Unity="Unity",i.Wager="Wager",i.Ward="Ward",i))(Z||{}),At=(i,e)=>{let{name:a,pitch:n}=i,r=a.toLowerCase().replace("//","-").normalize("NFD").replace(new RegExp("\\p{Diacritic}","gu"),"").replace(/ /g,"-").replace("\xED","i").replace(/[^a-z0-9 -]/g,"").replace(/--/,"-"),o="";switch(n){case"1":case 1:o=e?"-1":"-red";break;case"2":case 2:o=e?"-2":"-yellow";break;case"3":case 3:o=e?"-3":"-blue";break}return`${r}${o}`},X=(i,e)=>{let a=R(i,e),n=["Demi-Hero","Equipment","Weapon"].some(r=>i.includes(r));return!a&&n},R=(i,e)=>{let a=["Action","Attack Reaction","Block","Defense Reaction","Instant","Mentor","Resource"].some(r=>i.includes(r)),n=!e||!e.includes("Ephemeral");return a&&n},Tt=(i,e)=>{let a=X(i,e),n=R(i,e);return a||n},E={wtr:"Welcome to Rathe",arc:"Arcane Rising",cru:"Crucible of War",mon:"Monarch",ele:"Tales of Aria",evr:"Everfest","1hp":"History Pack 1",hp1:"History Pack 1",upr:"Uprising",dyn:"Dynasty",out:"Outsiders",dtd:"Dusk till Dawn",evo:"Bright Lights",hvy:"Heavy Hitters",mst:"Part the Mistveil",ros:"Rosetta"},Q=ft(yt({},E),{ako:"Armory Deck: Kayo",asb:"Armory Deck: Boltyn",aaz:"Armory Deck: Azalea",ara:"Arakni Blitz Deck",azl:"Azalea Blitz Deck",ben:"Benji Blitz Deck",bet:"Betsy Blitz Deck",bol:"Boltyn Blitz Deck",bri:"Briar Blitz Deck",bvo:"Bravo Blitz Deck",chn:"Chane Blitz Deck",dro:"Dromai Blitz Deck",eng:"Enigma Blitz Deck",fai:"Fai Blitz Deck",kat:"Katsu Blitz Deck",ksi:"Kassai Blitz Deck",kyo:"Kayo Blitz Deck",lev:"Levia Blitz Deck",lxi:"Lexi Blitz Deck",nuu:"Nuu Blitz Deck",old:"Oldhim Blitz Deck",ola:"Olympia Blitz Deck",psm:"Prism Blitz Deck",rip:"Riptide Blitz Deck",rnr:"Rhinar Blitz Deck",uzu:"Uzuri Blitz Deck",vic:"Victor Blitz Deck",zen:"Zen Blitz Deck",aur:"1st Strike: Aurora",ter:"1st Strike: Terra",dvr:"Classic Battles: Rhinar vs Dorinthea",rvd:"Classic Battles: Rhinar vs Dorinthea",ira:"Ira Welcome Deck",tcc:"Round the Table",tea:"Dorinthea Hero Deck",ksu:"Katsu Hero Deck",rnr2:"Rhinar Hero Deck",fab:"Promos",her:"Promos",jdg:"Promos",lgs:"Promos",lss:"Promos",oxo:"Promos",xxx:"Promos",win:"Promos"}),f={};for(let[i,e]of Object.entries(Q)){let a=f[e];a?a.push(i):f[e]=[i]}var bt=f,Pt={"Rhinar Blitz Deck":"-Blitz"},Lt={MST158_V3:"-V3",ROS162_V2:"-V2"},Ct=i=>{var e,a;let n=Pt[i.set]||"",r=`${i.identifier}${n}`,o=i.edition?`-${i.edition}`:"",l=i.foiling?`-${i.foiling}`:"",d=i.treatment?`-${i.treatment}`:"",c=(e=i.image)!=null&&e.toLowerCase().includes("back")?"-Back":"",p=Lt[((a=i.image)==null?void 0:a.toUpperCase())||""]||"";return`${r}${o}${l}${d}${c}${p}`},kt=Object.keys(E).filter(i=>!i.toLowerCase().includes("hp")).reverse().map(i=>i.toUpperCase()),Ut={"command-and-conquer-red":{print:"DYN000-Cold"},"cracked-bauble-yellow":{print:"LGS083-Cold"},"fate-foreseen-red":{print:"FAB024-Rainbow"},"pitfall-trap-yellow":{print:"LGS151-Rainbow"},quicken:{print:"EVO250"},"ravenous-rabble-red":{print:"FAB190-Rainbow-Extended Art"},"rockslide-trap-blue":{print:"LGS152-Rainbow"},"sigil-of-solace-red":{print:"FAB178-Rainbow-Extended Art"},"spectral-shield":{print:"MST158-Alternate Art-V3"},"tripwire-trap-red":{print:"LGS150-Rainbow"},"viserai-rune-blood":{print:"HER011-Cold"}},Nt=(i,e)=>{let{cardIdentifier:a}=i,n=Object.entries(Ut).find(([r])=>r===a);if(n){let[,{print:r}]=n;return e.find(o=>o.print===r)||e[0]}else{let r,o,l,d,c,p,I,A,T,b,P,L,C,k,U,N,F,M;for(let s of e){let{edition:g,foiling:u,identifier:it,image:y,treatment:m}=s,et=it.toLowerCase().includes("win");if(y&&!et){if(r||(r=s),m==="Alternate Art")o=s;else if(m==="Alternate Border")l=s;else if(m==="Alternate Text")d=s;else if(m==="Extended Art")I=s,u==="Cold"&&(c=s),u||(T=s),g==="Promo"&&(b=s);else if(m==="Full Art"){A=s,u==="Cold"&&(p=s);break}y&&y.includes("_V2")&&(P=s),g==="Alpha"?L=s:g==="First"?C=s:g==="Promo"?k=s:g==="Unlimited"&&(U=s),u==="Cold"?(N=s,g==="Promo"&&(M=s)):u==="Gold"&&(F=s)}}return p||A||c||b||T||I||l||o||d||P||M||L||C||k||U||F||N||r}},Ft={"command-and-conquer-red":{print:"ARC159-Unlimited"},"pitfall-trap-yellow":{print:"LGS151-Rainbow"},"rockslide-trap-blue":{print:"LGS152-Rainbow"},"spectral-shield":{print:"MST158"},"tripwire-trap-red":{print:"LGS150-Rainbow"}},Mt=(i,e)=>{let{cardIdentifier:a}=i,n=Object.entries(Ft).find(([r])=>r===a);if(n){let[,{print:r}]=n;return e.find(o=>o.print===r)||e[0]}else{let r,o;for(let l of e){let{edition:d,image:c,treatment:p}=l;if(c&&(r||(r=l),!o&&d!=="Promo"&&(o=l)),r&&o)break}return o||r||e[0]}}});var vt={};dt(vt,{cards:()=>Ht});module.exports=gt(vt);var t=ct(tt()),Dt=[{artists:["Jessada Sutthi"],cardIdentifier:"florian-rotwood-harbinger",classes:[t.Class.Runeblade],defaultImage:"ROS001",name:"Florian, Rotwood Harbinger",printings:[{artists:["Jessada Sutthi"],identifier:"ROS001",image:"ROS001",print:"ROS001",set:t.Release.Rosetta}],rarities:[t.Rarity.Majestic],rarity:t.Rarity.Majestic,setIdentifiers:["ROS001"],sets:[t.Release.Rosetta],specialImage:"ROS001",subtypes:[],types:[t.Type.Hero],typeText:"Elemental Runeblade Hero",bannedFormats:[t.Format.Blitz,t.Format.Commoner],functionalText:`If there are 8 or more Earth cards in your banished zone, Florian gets "If you would create 1 or more aura tokens, instead create that many plus 1 of each of those tokens."
1
+ var at=Object.create;var h=Object.defineProperty;var rt=Object.getOwnPropertyDescriptor;var nt=Object.getOwnPropertyNames;var st=Object.getPrototypeOf,ot=Object.prototype.hasOwnProperty;var lt=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),dt=(i,e)=>{for(var a in e)h(i,a,{get:e[a],enumerable:!0})},D=(i,e,a,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of nt(e))!ot.call(i,r)&&r!==a&&h(i,r,{get:()=>e[r],enumerable:!(n=rt(e,r))||n.enumerable});return i};var ct=(i,e,a)=>(a=i!=null?at(st(i)):{},D(e||!i||!i.__esModule?h(a,"default",{value:i,enumerable:!0}):a,i)),gt=i=>D(h({},"__esModule",{value:!0}),i);var tt=lt((Vt,$)=>{var w=Object.defineProperty,pt=Object.defineProperties,ut=Object.getOwnPropertyDescriptor,mt=Object.getOwnPropertyDescriptors,ht=Object.getOwnPropertyNames,O=Object.getOwnPropertySymbols,W=Object.prototype.hasOwnProperty,wt=Object.prototype.propertyIsEnumerable,S=(i,e,a)=>e in i?w(i,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[e]=a,yt=(i,e)=>{for(var a in e||(e={}))W.call(e,a)&&S(i,a,e[a]);if(O)for(var a of O(e))wt.call(e,a)&&S(i,a,e[a]);return i},ft=(i,e)=>pt(i,mt(e)),Rt=(i,e)=>{for(var a in e)w(i,a,{get:e[a],enumerable:!0})},Et=(i,e,a,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of ht(e))!W.call(i,r)&&r!==a&&w(i,r,{get:()=>e[r],enumerable:!(n=ut(e,r))||n.enumerable});return i},It=i=>Et(w({},"__esModule",{value:!0}),i),H={};Rt(H,{Class:()=>x,Foiling:()=>v,Format:()=>V,Fusion:()=>G,Hero:()=>_,Keyword:()=>Z,Rarity:()=>z,Release:()=>Y,ReleaseEdition:()=>K,Subtype:()=>q,Talent:()=>j,Treatment:()=>B,Type:()=>J,fullSetIdentifiers:()=>E,getCanAddToDeck:()=>Tt,getCardIdentifier:()=>At,getDefaultPrinting:()=>Dt,getIsArenaCard:()=>X,getIsDeckCard:()=>R,getPrint:()=>kt,getShouldRotateCardImage:()=>bt,getSpecialPrinting:()=>Ft,orderedFullSetBlackBorderIdentifiers:()=>Ut,setIdentifierToSetMappings:()=>Q,setToSetIdentifierMappings:()=>Pt});$.exports=It(H);var v=(i=>(i.C="Cold",i.G="Gold",i.R="Rainbow",i))(v||{}),B=(i=>(i.AB="Alternate Border",i.AA="Alternate Art",i.AT="Alternate Text",i.EA="Extended Art",i.FA="Full Art",i))(B||{}),x=(i=>(i.NotClassed="NotClassed",i.Generic="Generic",i.Adjudicator="Adjudicator",i.Assassin="Assassin",i.Bard="Bard",i.Brute="Brute",i.Guardian="Guardian",i.Illusionist="Illusionist",i.Mechanologist="Mechanologist",i.Merchant="Merchant",i.Ninja="Ninja",i.Ranger="Ranger",i.Runeblade="Runeblade",i.Shapeshifter="Shapeshifter",i.Warrior="Warrior",i.Wizard="Wizard",i))(x||{}),V=(i=>(i.Blitz="Blitz",i.BlitzLivingLegend="Blitz (Living Legend)",i.Clash="Clash",i.ClassicConstructed="Classic Constructed",i.ClassicConstructedLivingLegend="Classic Constructed (Living Legend)",i.Commoner="Commoner",i.Draft="Draft",i.Open="Open",i.Sealed="Sealed",i.UltimatePitFight="Ultimate Pit Fight",i))(V||{}),G=(i=>(i.Earth="Earth",i.Ice="Ice",i.Lightning="Lightning",i))(G||{}),z=(i=>(i.Token="Token",i.Common="Common",i.Rare="Rare",i.SuperRare="Super Rare",i.Majestic="Majestic",i.Marvel="Marvel",i.Legendary="Legendary",i.Fabled="Fabled",i.Promo="Promo",i))(z||{}),Y=(i=>(i.ArcaneRising="Arcane Rising",i.BrightLights="Bright Lights",i.CrucibleOfWar="Crucible of War",i.DuskTillDawn="Dusk till Dawn",i.Dynasty="Dynasty",i.Everfest="Everfest",i.HeavyHitters="Heavy Hitters",i.HistoryPack1="History Pack 1",i.Monarch="Monarch",i.Outsiders="Outsiders",i.PartTheMistveil="Part the Mistveil",i.Rosetta="Rosetta",i.TalesOfAria="Tales of Aria",i.Uprising="Uprising",i.WelcomeToRathe="Welcome to Rathe",i.ArmoryDeckKayo="Armory Deck: Kayo",i.ArmoryDeckBoltyn="Armory Deck: Boltyn",i.ArmoryDeckAzalea="Armory Deck: Azalea",i.ArakniBlitzDeck="Arakni Blitz Deck",i.AzaleaBlitzDeck="Azalea Blitz Deck",i.BenjiBlitzDeck="Benji Blitz Deck",i.BetsyBlitzDeck="Betsy Blitz Deck",i.BoltynBlitzDeck="Boltyn Blitz Deck",i.BriarBlitzDeck="Briar Blitz Deck",i.BravoBlitzDeck="Bravo Blitz Deck",i.ChaneBlitzDeck="Chane Blitz Deck",i.DromaiBlitzDeck="Dromai Blitz Deck",i.EnigmaBlitzDeck="Enigma Blitz Deck",i.FaiBlitzDeck="Fai Blitz Deck",i.KassaiBlitzDeck="Kassai Blitz Deck",i.KatsuBlitzDeck="Katsu Blitz Deck",i.KayoBlitzDeck="Kayo Blitz Deck",i.LeviaBlitzDeck="Levia Blitz Deck",i.LexiBlitzDeck="Lexi Blitz Deck",i.NuuBlitzDeck="Nuu Blitz Deck",i.OldhimBlitzDeck="Oldhim Blitz Deck",i.OlympiaBlitzDeck="Olympia Blitz Deck",i.PrismBlitzDeck="Prism Blitz Deck",i.RhinarBlitzDeck="Rhinar Blitz Deck",i.RiptideBlitzDeck="Riptide Blitz Deck",i.UzuriBlitzDeck="Uzuri Blitz Deck",i.VictorBlitzDeck="Victor Blitz Deck",i.ZenBlitzDeck="Zen Blitz Deck",i.FirstStrikeAurora="1st Strike: Aurora",i.FirstStrikeTerra="1st Strike: Terra",i.DorintheaHeroDeck="Dorinthea Hero Deck",i.KatsuHeroDeck="Katsu Hero Deck",i.RhinarHeroDeck="Rhinar Hero Deck",i.ClassicBattlesRhinarDorinthea="Classic Battles: Rhinar vs Dorinthea",i.IraWelcomeDeck="Ira Welcome Deck",i.RoundTheTable="Round the Table",i.Promos="Promos",i))(Y||{}),K=(i=>(i.Alpha="Alpha",i.First="First",i.Unlimited="Unlimited",i.Promo="Promo",i))(K||{}),j=(i=>(i.Draconic="Draconic",i.Earth="Earth",i.Elemental="Elemental",i.Ice="Ice",i.Light="Light",i.Lightning="Lightning",i.Mystic="Mystic",i.Royal="Royal",i.Shadow="Shadow",i))(j||{}),J=(i=>(i.Action="Action",i.AttackReaction="Attack Reaction",i.Block="Block",i.DefenseReaction="Defense Reaction",i.DemiHero="Demi-Hero",i.Equipment="Equipment",i.Hero="Hero",i.Instant="Instant",i.Macro="Macro",i.Mentor="Mentor",i.Resource="Resource",i.Token="Token",i.Weapon="Weapon",i))(J||{}),q=(i=>(i.OneHanded="1H",i.TwoHanded="2H",i.Affliction="Affliction",i.Ally="Ally",i.Angel="Angel",i.Arms="Arms",i.Arrow="Arrow",i.Ash="Ash",i.Attack="Attack",i.Aura="Aura",i.Axe="Axe",i.Base="Base",i.Book="Book",i.Bow="Bow",i.Chest="Chest",i.Chi="Chi",i.Claw="Claw",i.Club="Club",i.Construct="Construct",i.Dagger="Dagger",i.Demon="Demon",i.Dragon="Dragon",i.Evo="Evo",i.Fiddle="Fiddle",i.Figment="Figment",i.Flail="Flail",i.Gem="Gem",i.Gun="Gun",i.Hammer="Hammer",i.Head="Head",i.Invocation="Invocation",i.Item="Item",i.Landmark="Landmark",i.Lute="Lute",i.Legs="Legs",i.NonAttack="Non-Attack",i.OffHand="Off-Hand",i.Orb="Orb",i.Pistol="Pistol",i.Quiver="Quiver",i.Rock="Rock",i.Shuriken="Shuriken",i.Scepter="Scepter",i.Scroll="Scroll",i.Scythe="Scythe",i.Song="Song",i.Staff="Staff",i.Sword="Sword",i.Trap="Trap",i.Wrench="Wrench",i.Young="Young",i))(q||{}),_=(i=>(i.Arakni="Arakni",i.Aurora="Aurora",i.Azalea="Azalea",i.Benji="Benji",i.Betsy="Betsy",i.Blaze="Blaze",i.Boltyn="Boltyn",i.Bravo="Bravo",i.Brevant="Brevant",i.Briar="Briar",i.Brutus="Brutus",i.Chane="Chane",i.Dash="Dash",i.DataDoll="Data Doll",i.Dorinthea="Dorinthea",i.Dromai="Dromai",i.Emperor="Emperor",i.Enigma="Enigma",i.Fai="Fai",i.Florian="Florian",i.GenisWotchuneed="Genis Wotchuneed",i.Ira="Ira",i.Iyslander="Iyslander",i.Kano="Kano",i.Kassai="Kassai",i.Katsu="Katsu",i.Kavdaen="Kavdaen",i.Kayo="Kayo",i.Levia="Levia",i.Lexi="Lexi",i.Maxx="Maxx",i.Melody="Melody",i.Nuu="Nuu",i.Oldhim="Oldhim",i.Olympia="Olympia",i.Oscilio="Oscilio",i.Prism="Prism",i.Rhinar="Rhinar",i.Riptide="Riptide",i.Ruudi="Ruu'di",i.Shiyana="Shiyana",i.Squizzy="Squizzy",i.Taipanis="Taipanis",i.Taylor="Taylor",i.Teklovossen="Teklovossen",i.Terra="Terra",i.Theryon="Theryon",i.Uzuri="Uzuri",i.Valda="Valda",i.Verdance="Verdance",i.Victor="Victor",i.Vynnset="Vynnset",i.Viserai="Viserai",i.Yorick="Yorick",i.Yoji="Yoji",i.Zen="Zen",i))(_||{}),Z=(i=>(i.Ambush="Ambush",i.Amp="Amp",i.ArcaneBarrier="Arcane Barrier",i.Awaken="Awaken",i.Battleworn="Battleworn",i.BeatChest="Beat Chest",i.BladeBreak="Blade Break",i.BloodDebt="Blood Debt",i.Boost="Boost",i.Channel="Channel",i.Charge="Charge",i.Clash="Clash",i.Cloaked="Cloaked",i.Combo="Combo",i.Contract="Contract",i.Crank="Crank",i.Crush="Crush",i.Decompose="Decompose",i.Dominate="Dominate",i.Ephemeral="Ephemeral",i.Essence="Essence",i.EvoUpgrade="Evo Upgrade",i.Freeze="Freeze",i.Fusion="Fusion",i.Galvanize="Galvanize",i.GoAgain="Go again",i.Guardwell="Guardwell",i.Heave="Heave",i.Intimidate="Intimidate",i.Legendary="Legendary",i.Material="Material",i.Meld="Meld",i.Modular="Modular",i.Mirage="Mirage",i.Negate="Negate",i.Opt="Opt",i.Overpower="Overpower",i.Pairs="Pairs",i.Piercing="Piercing",i.Phantasm="Phantasm",i.Protect="Protect",i.Quell="Quell",i.Reload="Reload",i.Reprise="Reprise",i.RuneGate="Rune Gate",i.Rupture="Rupture",i.Scrap="Scrap",i.Solflare="Solflare",i.Specialization="Specialization",i.Spectra="Spectra",i.Spellvoid="Spellvoid",i.Stealth="Stealth",i.Surge="Surge",i.Temper="Temper",i.Tower="Tower",i.Transform="Transform",i.Transcend="Transcend",i.Universal="Universal",i.Unfreeze="Unfreeze",i.Unity="Unity",i.Wager="Wager",i.Ward="Ward",i))(Z||{}),At=(i,e)=>{let{name:a,pitch:n}=i,r=a.toLowerCase().replace("//","-").normalize("NFD").replace(new RegExp("\\p{Diacritic}","gu"),"").replace(/ /g,"-").replace("\xED","i").replace(/[^a-z0-9 -]/g,"").replace(/--/,"-"),o="";switch(n){case"1":case 1:o=e?"-1":"-red";break;case"2":case 2:o=e?"-2":"-yellow";break;case"3":case 3:o=e?"-3":"-blue";break}return`${r}${o}`},X=(i,e)=>{let a=R(i,e),n=["Demi-Hero","Equipment","Weapon"].some(r=>i.includes(r));return!a&&n},R=(i,e)=>{let a=["Action","Attack Reaction","Block","Defense Reaction","Instant","Mentor","Resource"].some(r=>i.includes(r)),n=!e||!e.includes("Ephemeral");return a&&n},Tt=(i,e)=>{let a=X(i,e),n=R(i,e);return a||n},bt=i=>{var e,a;return((e=i.keywords)==null?void 0:e.includes("Meld"))||((a=i.subtypes)==null?void 0:a.includes("Landmark"))||!1},E={wtr:"Welcome to Rathe",arc:"Arcane Rising",cru:"Crucible of War",mon:"Monarch",ele:"Tales of Aria",evr:"Everfest","1hp":"History Pack 1",hp1:"History Pack 1",upr:"Uprising",dyn:"Dynasty",out:"Outsiders",dtd:"Dusk till Dawn",evo:"Bright Lights",hvy:"Heavy Hitters",mst:"Part the Mistveil",ros:"Rosetta"},Q=ft(yt({},E),{ako:"Armory Deck: Kayo",asb:"Armory Deck: Boltyn",aaz:"Armory Deck: Azalea",ara:"Arakni Blitz Deck",azl:"Azalea Blitz Deck",ben:"Benji Blitz Deck",bet:"Betsy Blitz Deck",bol:"Boltyn Blitz Deck",bri:"Briar Blitz Deck",bvo:"Bravo Blitz Deck",chn:"Chane Blitz Deck",dro:"Dromai Blitz Deck",eng:"Enigma Blitz Deck",fai:"Fai Blitz Deck",kat:"Katsu Blitz Deck",ksi:"Kassai Blitz Deck",kyo:"Kayo Blitz Deck",lev:"Levia Blitz Deck",lxi:"Lexi Blitz Deck",nuu:"Nuu Blitz Deck",old:"Oldhim Blitz Deck",ola:"Olympia Blitz Deck",psm:"Prism Blitz Deck",rip:"Riptide Blitz Deck",rnr:"Rhinar Blitz Deck",uzu:"Uzuri Blitz Deck",vic:"Victor Blitz Deck",zen:"Zen Blitz Deck",aur:"1st Strike: Aurora",ter:"1st Strike: Terra",dvr:"Classic Battles: Rhinar vs Dorinthea",rvd:"Classic Battles: Rhinar vs Dorinthea",ira:"Ira Welcome Deck",tcc:"Round the Table",tea:"Dorinthea Hero Deck",ksu:"Katsu Hero Deck",rnr2:"Rhinar Hero Deck",fab:"Promos",her:"Promos",jdg:"Promos",lgs:"Promos",lss:"Promos",oxo:"Promos",xxx:"Promos",win:"Promos"}),f={};for(let[i,e]of Object.entries(Q)){let a=f[e];a?a.push(i):f[e]=[i]}var Pt=f,Lt={"Rhinar Blitz Deck":"-Blitz"},Ct={MST158_V3:"-V3",ROS162_V2:"-V2"},kt=i=>{var e,a;let n=Lt[i.set]||"",r=`${i.identifier}${n}`,o=i.edition?`-${i.edition}`:"",l=i.foiling?`-${i.foiling}`:"",d=i.treatment?`-${i.treatment}`:"",c=(e=i.image)!=null&&e.toLowerCase().includes("back")?"-Back":"",p=Ct[((a=i.image)==null?void 0:a.toUpperCase())||""]||"";return`${r}${o}${l}${d}${c}${p}`},Ut=Object.keys(E).filter(i=>!i.toLowerCase().includes("hp")).reverse().map(i=>i.toUpperCase()),Nt={"command-and-conquer-red":{print:"DYN000-Cold"},"cracked-bauble-yellow":{print:"LGS083-Cold"},"fate-foreseen-red":{print:"FAB024-Rainbow"},"pitfall-trap-yellow":{print:"LGS151-Rainbow"},quicken:{print:"EVO250"},"ravenous-rabble-red":{print:"FAB190-Rainbow-Extended Art"},"rockslide-trap-blue":{print:"LGS152-Rainbow"},"sigil-of-solace-red":{print:"FAB178-Rainbow-Extended Art"},"spectral-shield":{print:"MST158-Alternate Art-V3"},"tripwire-trap-red":{print:"LGS150-Rainbow"},"viserai-rune-blood":{print:"HER011-Cold"}},Ft=(i,e)=>{let{cardIdentifier:a}=i,n=Object.entries(Nt).find(([r])=>r===a);if(n){let[,{print:r}]=n;return e.find(o=>o.print===r)||e[0]}else{let r,o,l,d,c,p,I,A,T,b,P,L,C,k,U,N,F,M;for(let s of e){let{edition:g,foiling:u,identifier:it,image:y,treatment:m}=s,et=it.toLowerCase().includes("win");if(y&&!et){if(r||(r=s),m==="Alternate Art")o=s;else if(m==="Alternate Border")l=s;else if(m==="Alternate Text")d=s;else if(m==="Extended Art")I=s,u==="Cold"&&(c=s),u||(T=s),g==="Promo"&&(b=s);else if(m==="Full Art"){A=s,u==="Cold"&&(p=s);break}y&&y.includes("_V2")&&(P=s),g==="Alpha"?L=s:g==="First"?C=s:g==="Promo"?k=s:g==="Unlimited"&&(U=s),u==="Cold"?(N=s,g==="Promo"&&(M=s)):u==="Gold"&&(F=s)}}return p||A||c||b||T||I||l||o||d||P||M||L||C||k||U||F||N||r}},Mt={"command-and-conquer-red":{print:"ARC159-Unlimited"},"pitfall-trap-yellow":{print:"LGS151-Rainbow"},"rockslide-trap-blue":{print:"LGS152-Rainbow"},"spectral-shield":{print:"MST158"},"tripwire-trap-red":{print:"LGS150-Rainbow"}},Dt=(i,e)=>{let{cardIdentifier:a}=i,n=Object.entries(Mt).find(([r])=>r===a);if(n){let[,{print:r}]=n;return e.find(o=>o.print===r)||e[0]}else{let r,o;for(let l of e){let{edition:d,image:c,treatment:p}=l;if(c&&(r||(r=l),!o&&d!=="Promo"&&(o=l)),r&&o)break}return o||r||e[0]}}});var Bt={};dt(Bt,{cards:()=>vt});module.exports=gt(Bt);var t=ct(tt()),Ot=[{artists:["Jessada Sutthi"],cardIdentifier:"florian-rotwood-harbinger",classes:[t.Class.Runeblade],defaultImage:"ROS001",name:"Florian, Rotwood Harbinger",printings:[{artists:["Jessada Sutthi"],identifier:"ROS001",image:"ROS001",print:"ROS001",set:t.Release.Rosetta}],rarities:[t.Rarity.Majestic],rarity:t.Rarity.Majestic,setIdentifiers:["ROS001"],sets:[t.Release.Rosetta],specialImage:"ROS001",subtypes:[],types:[t.Type.Hero],typeText:"Elemental Runeblade Hero",bannedFormats:[t.Format.Blitz,t.Format.Commoner],functionalText:`If there are 8 or more Earth cards in your banished zone, Florian gets "If you would create 1 or more aura tokens, instead create that many plus 1 of each of those tokens."
2
2
 
3
3
  **Essence of Earth**`,hero:t.Hero.Florian,intellect:4,keywords:[t.Keyword.Essence],life:40,talents:[t.Talent.Earth,t.Talent.Elemental]},{artists:["Jessada Sutthi"],cardIdentifier:"florian",classes:[t.Class.Runeblade],defaultImage:"ROS002",name:"Florian",printings:[{artists:["Jessada Sutthi"],identifier:"ROS002",image:"ROS002",print:"ROS002",set:t.Release.Rosetta}],rarities:[t.Rarity.Token],rarity:t.Rarity.Token,setIdentifiers:["ROS002"],sets:[t.Release.Rosetta],specialImage:"ROS002",subtypes:[t.Subtype.Young],types:[t.Type.Hero],typeText:"Elemental Runeblade Hero - Young",bannedFormats:[t.Format.ClassicConstructed],functionalText:`If there are 4 or more Earth cards in your banished zone, Florian gets "If you would create 1 or more aura tokens, instead create that many plus 1 of each of those tokens."
4
4
 
@@ -50,7 +50,7 @@ If target instant card has cost less than the total arcane damage you've dealt t
50
50
 
51
51
  //
52
52
 
53
- Deal 1 arcane damage to any target.`,keywords:[t.Keyword.Negate],pitch:2,talents:[t.Talent.Lightning]},{artists:["Olga Tereshenko","Simon Dominic"],cardIdentifier:"comet-storm--shock-red",classes:[t.Class.Wizard],defaultImage:"ROS024",name:"Comet Storm // Shock",printings:[{artists:["Simon Dominic","Olga Tereshenko"],identifier:"ROS024",image:"ROS024",print:"ROS024",set:t.Release.Rosetta}],rarities:[t.Rarity.Rare],rarity:t.Rarity.Rare,setIdentifiers:["ROS024"],sets:[t.Release.Rosetta],specialImage:"ROS024",subtypes:[t.Subtype.NonAttack],types:[t.Type.Action,t.Type.Instant],typeText:"Wizard Action / Lightning Instant",bannedFormats:[t.Format.Commoner],cost:2,defense:3,functionalText:`**Meld**
53
+ Deal 1 arcane damage to any target.`,keywords:[t.Keyword.Meld,t.Keyword.Negate],pitch:2,talents:[t.Talent.Lightning]},{artists:["Olga Tereshenko","Simon Dominic"],cardIdentifier:"comet-storm--shock-red",classes:[t.Class.Wizard],defaultImage:"ROS024",name:"Comet Storm // Shock",printings:[{artists:["Simon Dominic","Olga Tereshenko"],identifier:"ROS024",image:"ROS024",print:"ROS024",set:t.Release.Rosetta}],rarities:[t.Rarity.Rare],rarity:t.Rarity.Rare,setIdentifiers:["ROS024"],sets:[t.Release.Rosetta],specialImage:"ROS024",subtypes:[t.Subtype.NonAttack],types:[t.Type.Action,t.Type.Instant],typeText:"Wizard Action / Lightning Instant",bannedFormats:[t.Format.Commoner],cost:2,defense:3,functionalText:`**Meld**
54
54
 
55
55
  Deal 5 arcane damage to any target.
56
56
 
@@ -1193,7 +1193,7 @@ Whenever this banishes an attack action card, gain 1{h}.`,keywords:[t.Keyword.St
1193
1193
 
1194
1194
  When this hits a hero, banish the top card of their deck.
1195
1195
 
1196
- Whenever this banishes an attack action card, gain 1{h}.`,keywords:[t.Keyword.Stealth],pitch:2,power:2}],Ot=[{artists:["Camille Alquier"],cardIdentifier:"desires-of-flesh-blue",classes:[t.Class.Assassin],defaultImage:"MST120",name:"Desires of Flesh",printings:[{artists:["Camille Alquier"],identifier:"MST120",image:"MST120",print:"MST120",set:t.Release.PartTheMistveil,tcgplayer:{productId:"551545",url:"https://www.tcgplayer.com/product/551545?Language=English&Printing=Normal"}},{artists:["Camille Alquier"],foiling:t.Foiling.R,identifier:"MST120",image:"MST120",print:"MST120-Rainbow",set:t.Release.PartTheMistveil,tcgplayer:{productId:"551545",url:"https://www.tcgplayer.com/product/551545?Language=English&Printing=Rainbow+Foil"}},{artists:["Camille Alquier"],identifier:"NUU019",image:"NUU019",print:"NUU019",set:t.Release.NuuBlitzDeck,tcgplayer:{productId:"549753",url:"https://www.tcgplayer.com/product/549753?Language=English&Printing=Normal"}}],rarities:[t.Rarity.Common],rarity:t.Rarity.Common,setIdentifiers:["MST120","NUU019"],sets:[t.Release.NuuBlitzDeck,t.Release.PartTheMistveil],specialImage:"MST120",subtypes:[t.Subtype.Attack],types:[t.Type.Action],typeText:"Assassin Action - Attack",cost:0,defense:3,functionalText:`**Stealth**
1196
+ Whenever this banishes an attack action card, gain 1{h}.`,keywords:[t.Keyword.Stealth],pitch:2,power:2}],St=[{artists:["Camille Alquier"],cardIdentifier:"desires-of-flesh-blue",classes:[t.Class.Assassin],defaultImage:"MST120",name:"Desires of Flesh",printings:[{artists:["Camille Alquier"],identifier:"MST120",image:"MST120",print:"MST120",set:t.Release.PartTheMistveil,tcgplayer:{productId:"551545",url:"https://www.tcgplayer.com/product/551545?Language=English&Printing=Normal"}},{artists:["Camille Alquier"],foiling:t.Foiling.R,identifier:"MST120",image:"MST120",print:"MST120-Rainbow",set:t.Release.PartTheMistveil,tcgplayer:{productId:"551545",url:"https://www.tcgplayer.com/product/551545?Language=English&Printing=Rainbow+Foil"}},{artists:["Camille Alquier"],identifier:"NUU019",image:"NUU019",print:"NUU019",set:t.Release.NuuBlitzDeck,tcgplayer:{productId:"549753",url:"https://www.tcgplayer.com/product/549753?Language=English&Printing=Normal"}}],rarities:[t.Rarity.Common],rarity:t.Rarity.Common,setIdentifiers:["MST120","NUU019"],sets:[t.Release.NuuBlitzDeck,t.Release.PartTheMistveil],specialImage:"MST120",subtypes:[t.Subtype.Attack],types:[t.Type.Action],typeText:"Assassin Action - Attack",cost:0,defense:3,functionalText:`**Stealth**
1197
1197
 
1198
1198
  When this hits a hero, banish the top card of their deck.
1199
1199
 
@@ -2618,7 +2618,7 @@ Cards you own lose **blood debt**.`,intellect:4,keywords:[t.Keyword.Legendary,t.
2618
2618
 
2619
2619
  **Once per Turn Action** - Turn a face down card in your arsenal face up: If it's a Lightning card, your next attack this turn gains **go again**. If it's an Ice card, create a Frostbite token under target hero's control. **Go again**`,hero:t.Hero.Lexi,intellect:4,keywords:[t.Keyword.Essence,t.Keyword.GoAgain],life:20,talents:[t.Talent.Elemental,t.Talent.Ice,t.Talent.Lightning],young:!0},{artists:["Federico Musetti"],cardIdentifier:"lexi-livewire",classes:[t.Class.Ranger],defaultImage:"ELE031.width-450",name:"Lexi, Livewire",printings:[{artists:["Federico Musetti"],edition:t.ReleaseEdition.First,identifier:"ELE031",image:"ELE031.width-450",print:"ELE031-First",set:t.Release.TalesOfAria,tcgplayer:{productId:"250014",url:"https://www.tcgplayer.com/product/250014?Language=English&Printing=1st+Edition+Normal"}},{artists:["Federico Musetti"],edition:t.ReleaseEdition.Unlimited,identifier:"ELE031",image:"U-ELE031.width-450",print:"ELE031-Unlimited",set:t.Release.TalesOfAria,tcgplayer:{productId:"250014",url:"https://www.tcgplayer.com/product/250014?Language=English&Printing=Unlimited+Edition+Normal"}},{artists:["Federico Musetti"],foiling:t.Foiling.C,identifier:"HER043",image:"HER043",print:"HER043-Cold",set:t.Release.Promos,tcgplayer:{productId:"254686",url:"https://www.tcgplayer.com/product/254686?Language=English&Printing=Cold+Foil"}},{artists:["Federico Musetti"],foiling:t.Foiling.R,identifier:"HER049",image:"HER049",print:"HER049-Rainbow",set:t.Release.Promos,tcgplayer:{productId:"251171",url:"https://www.tcgplayer.com/product/251171?Language=English&Printing=Rainbow+Foil"}},{artists:["Federico Musetti"],foiling:t.Foiling.G,identifier:"WIN014",image:"WIN014",print:"WIN014-Gold",set:t.Release.Promos}],rarities:[t.Rarity.Promo,t.Rarity.Token],rarity:t.Rarity.Token,setIdentifiers:["ELE031","HER043","HER049","WIN014"],sets:[t.Release.Promos,t.Release.TalesOfAria],specialImage:"ELE031.width-450",subtypes:[],types:[t.Type.Hero],typeText:"Elemental Ranger Hero",bannedFormats:[t.Format.Blitz,t.Format.ClassicConstructed,t.Format.Commoner],functionalText:`**Essence of Ice and Lightning**
2620
2620
 
2621
- **Once per Turn Action** - Turn a face down card in your arsenal face up: If it's a Lightning card, your next attack this turn gains **go again**. If it's an Ice card, create a Frostbite token under target hero's control. **Go again**`,hero:t.Hero.Lexi,intellect:4,keywords:[t.Keyword.Essence,t.Keyword.GoAgain],life:40,talents:[t.Talent.Elemental,t.Talent.Ice,t.Talent.Lightning]}],St=[{artists:["Regina Krivolapova"],cardIdentifier:"life-for-a-life-red",classes:[t.Class.Generic],defaultImage:"ARC164",name:"Life for a Life",printings:[{artists:["Regina Krivolapova"],edition:t.ReleaseEdition.First,identifier:"ARC164",image:"ARC164",print:"ARC164-First",set:t.Release.ArcaneRising,tcgplayer:{productId:"225883",url:"https://www.tcgplayer.com/product/225883?Language=English&Printing=1st+Edition+Normal"}},{artists:["Regina Krivolapova"],edition:t.ReleaseEdition.First,foiling:t.Foiling.R,identifier:"ARC164",image:"ARC164",print:"ARC164-First-Rainbow",set:t.Release.ArcaneRising,tcgplayer:{productId:"225883",url:"https://www.tcgplayer.com/product/225883?Language=English&Printing=1st+Edition+Rainbow+Foil"}},{artists:["Regina Krivolapova"],edition:t.ReleaseEdition.Unlimited,identifier:"ARC164",image:"U-ARC164",print:"ARC164-Unlimited",set:t.Release.ArcaneRising,tcgplayer:{productId:"225883",url:"https://www.tcgplayer.com/product/225883?Language=English&Printing=Unlimited+Edition+Normal"}},{artists:["Regina Krivolapova"],edition:t.ReleaseEdition.Unlimited,foiling:t.Foiling.R,identifier:"ARC164",image:"U-ARC164",print:"ARC164-Unlimited-Rainbow",set:t.Release.ArcaneRising,tcgplayer:{productId:"225883",url:"https://www.tcgplayer.com/product/225883?Language=English&Printing=Unlimited+Edition+Rainbow+Foil"}},{artists:["Regina Krivolapova"],identifier:"1HP368",image:"1HP368.width-450",print:"1HP368",set:t.Release.HistoryPack1,tcgplayer:{productId:"270998",url:"https://www.tcgplayer.com/product/270998?Language=English&Printing=Normal"}}],rarities:[t.Rarity.Rare],rarity:t.Rarity.Rare,setIdentifiers:["1HP368","ARC164"],sets:[t.Release.ArcaneRising,t.Release.HistoryPack1],specialImage:"ARC164",subtypes:[t.Subtype.Attack],types:[t.Type.Action],typeText:"Generic Action - Attack",bannedFormats:[t.Format.Commoner],cost:1,defense:2,functionalText:`If Life for a Life hits, gain 1{h}.
2621
+ **Once per Turn Action** - Turn a face down card in your arsenal face up: If it's a Lightning card, your next attack this turn gains **go again**. If it's an Ice card, create a Frostbite token under target hero's control. **Go again**`,hero:t.Hero.Lexi,intellect:4,keywords:[t.Keyword.Essence,t.Keyword.GoAgain],life:40,talents:[t.Talent.Elemental,t.Talent.Ice,t.Talent.Lightning]}],Wt=[{artists:["Regina Krivolapova"],cardIdentifier:"life-for-a-life-red",classes:[t.Class.Generic],defaultImage:"ARC164",name:"Life for a Life",printings:[{artists:["Regina Krivolapova"],edition:t.ReleaseEdition.First,identifier:"ARC164",image:"ARC164",print:"ARC164-First",set:t.Release.ArcaneRising,tcgplayer:{productId:"225883",url:"https://www.tcgplayer.com/product/225883?Language=English&Printing=1st+Edition+Normal"}},{artists:["Regina Krivolapova"],edition:t.ReleaseEdition.First,foiling:t.Foiling.R,identifier:"ARC164",image:"ARC164",print:"ARC164-First-Rainbow",set:t.Release.ArcaneRising,tcgplayer:{productId:"225883",url:"https://www.tcgplayer.com/product/225883?Language=English&Printing=1st+Edition+Rainbow+Foil"}},{artists:["Regina Krivolapova"],edition:t.ReleaseEdition.Unlimited,identifier:"ARC164",image:"U-ARC164",print:"ARC164-Unlimited",set:t.Release.ArcaneRising,tcgplayer:{productId:"225883",url:"https://www.tcgplayer.com/product/225883?Language=English&Printing=Unlimited+Edition+Normal"}},{artists:["Regina Krivolapova"],edition:t.ReleaseEdition.Unlimited,foiling:t.Foiling.R,identifier:"ARC164",image:"U-ARC164",print:"ARC164-Unlimited-Rainbow",set:t.Release.ArcaneRising,tcgplayer:{productId:"225883",url:"https://www.tcgplayer.com/product/225883?Language=English&Printing=Unlimited+Edition+Rainbow+Foil"}},{artists:["Regina Krivolapova"],identifier:"1HP368",image:"1HP368.width-450",print:"1HP368",set:t.Release.HistoryPack1,tcgplayer:{productId:"270998",url:"https://www.tcgplayer.com/product/270998?Language=English&Printing=Normal"}}],rarities:[t.Rarity.Rare],rarity:t.Rarity.Rare,setIdentifiers:["1HP368","ARC164"],sets:[t.Release.ArcaneRising,t.Release.HistoryPack1],specialImage:"ARC164",subtypes:[t.Subtype.Attack],types:[t.Type.Action],typeText:"Generic Action - Attack",bannedFormats:[t.Format.Commoner],cost:1,defense:2,functionalText:`If Life for a Life hits, gain 1{h}.
2622
2622
 
2623
2623
  When you play Life for a Life, if you have less {h} than an opposing hero, it gains **go again**.`,keywords:[t.Keyword.GoAgain],pitch:1,power:4},{artists:["Regina Krivolapova"],cardIdentifier:"life-for-a-life-yellow",classes:[t.Class.Generic],defaultImage:"ARC165",name:"Life for a Life",printings:[{artists:["Regina Krivolapova"],edition:t.ReleaseEdition.First,identifier:"ARC165",image:"ARC165",print:"ARC165-First",set:t.Release.ArcaneRising,tcgplayer:{productId:"225884",url:"https://www.tcgplayer.com/product/225884?Language=English&Printing=1st+Edition+Normal"}},{artists:["Regina Krivolapova"],edition:t.ReleaseEdition.First,foiling:t.Foiling.R,identifier:"ARC165",image:"ARC165",print:"ARC165-First-Rainbow",set:t.Release.ArcaneRising,tcgplayer:{productId:"225884",url:"https://www.tcgplayer.com/product/225884?Language=English&Printing=1st+Edition+Rainbow+Foil"}},{artists:["Regina Krivolapova"],edition:t.ReleaseEdition.Unlimited,identifier:"ARC165",image:"U-ARC165",print:"ARC165-Unlimited",set:t.Release.ArcaneRising,tcgplayer:{productId:"225884",url:"https://www.tcgplayer.com/product/225884?Language=English&Printing=Unlimited+Edition+Normal"}},{artists:["Regina Krivolapova"],edition:t.ReleaseEdition.Unlimited,foiling:t.Foiling.R,identifier:"ARC165",image:"U-ARC165",print:"ARC165-Unlimited-Rainbow",set:t.Release.ArcaneRising,tcgplayer:{productId:"225884",url:"https://www.tcgplayer.com/product/225884?Language=English&Printing=Unlimited+Edition+Rainbow+Foil"}},{artists:["Regina Krivolapova"],identifier:"1HP369",image:"1HP369.width-450",print:"1HP369",set:t.Release.HistoryPack1,tcgplayer:{productId:"271004",url:"https://www.tcgplayer.com/product/271004?Language=English&Printing=Normal"}}],rarities:[t.Rarity.Rare],rarity:t.Rarity.Rare,setIdentifiers:["1HP369","ARC165"],sets:[t.Release.ArcaneRising,t.Release.HistoryPack1],specialImage:"ARC165",subtypes:[t.Subtype.Attack],types:[t.Type.Action],typeText:"Generic Action - Attack",bannedFormats:[t.Format.Commoner],cost:1,defense:2,functionalText:`If Life for a Life hits, gain 1{h}.
2624
2624
 
@@ -3909,7 +3909,7 @@ The next attack action card with cost 0 you play this turns gains +1{p} and **go
3909
3909
 
3910
3910
  When Sekem attacks, you may banish a card from your hero's soul. If you do, deal 2 arcane damage to any target.
3911
3911
 
3912
- **Ward 4**`,isCardBack:!0,keywords:[t.Keyword.Ward],life:4,oppositeSideCardIdentifier:"figment-of-ravages-yellow",oppositeSideCardIdentifiers:["figment-of-ravages-yellow"],power:4,talents:[t.Talent.Light]}],Wt=[{artists:["Asur Misoa"],cardIdentifier:"semblance-blue",classes:[t.Class.Illusionist],defaultImage:"UPR154",name:"Semblance",printings:[{artists:["Asur Misoa"],identifier:"UPR154",image:"UPR154",print:"UPR154",set:t.Release.Uprising,tcgplayer:{productId:"275710",url:"https://www.tcgplayer.com/product/275710?Language=English&Printing=Normal"}},{artists:["Asur Misoa"],foiling:t.Foiling.R,identifier:"UPR154",image:"UPR154",print:"UPR154-Rainbow",set:t.Release.Uprising,tcgplayer:{productId:"275710",url:"https://www.tcgplayer.com/product/275710?Language=English&Printing=Rainbow+Foil"}}],rarities:[t.Rarity.Majestic],rarity:t.Rarity.Majestic,setIdentifiers:["UPR154"],sets:[t.Release.Uprising],specialImage:"UPR154",subtypes:[],types:[t.Type.Instant],typeText:"Illusionist Instant",bannedFormats:[t.Format.Commoner],cost:3,functionalText:"Negate all **phantasm** triggered effects of target Illusionist attack you control. The attack loses and can't gain **phantasm**.",pitch:3},{artists:["Athiwut B."],cardIdentifier:"send-packing-yellow",classes:[t.Class.Brute],defaultImage:"HVY012",name:"Send Packing",printings:[{artists:["Athiwut B."],identifier:"HVY012",image:"HVY012",print:"HVY012",set:t.Release.HeavyHitters,tcgplayer:{productId:"533449",url:"https://www.tcgplayer.com/product/533449?Language=English&Printing=Normal"}},{artists:["Athiwut B."],foiling:t.Foiling.R,identifier:"HVY012",image:"HVY012",print:"HVY012-Rainbow",set:t.Release.HeavyHitters,tcgplayer:{productId:"533449",url:"https://www.tcgplayer.com/product/533449?Language=English&Printing=Rainbow+Foil"}}],rarities:[t.Rarity.Majestic],rarity:t.Rarity.Majestic,setIdentifiers:["HVY012"],sets:[t.Release.HeavyHitters],specialImage:"HVY012",subtypes:[t.Subtype.Attack],types:[t.Type.Action],typeText:"Brute Action - Attack",bannedFormats:[t.Format.Commoner],cost:3,defense:3,functionalText:"When this attacks a hero, banish a card from their arsenal. When the chain link resolves, if this didn't hit, return the banished card to its owner's hand.",pitch:2,power:6},{artists:["Ausonia"],cardIdentifier:"shaden-death-hydra-yellow",classes:[t.Class.Brute],defaultImage:"DTD108",name:"Shaden Death Hydra",printings:[{artists:["Ausonia"],identifier:"DTD108",image:"DTD108",print:"DTD108",set:t.Release.DuskTillDawn,tcgplayer:{productId:"502865",url:"https://www.tcgplayer.com/product/502865?Language=English&Printing=Normal"}},{artists:["Ausonia"],foiling:t.Foiling.R,identifier:"DTD108",image:"DTD108",print:"DTD108-Rainbow",set:t.Release.DuskTillDawn,tcgplayer:{productId:"502865",url:"https://www.tcgplayer.com/product/502865?Language=English&Printing=Rainbow+Foil"}}],rarities:[t.Rarity.Majestic],rarity:t.Rarity.Majestic,setIdentifiers:["DTD108"],sets:[t.Release.DuskTillDawn],specialImage:"DTD108",subtypes:[t.Subtype.Attack],types:[t.Type.Action],typeText:"Shadow Brute Action - Attack",bannedFormats:[t.Format.Commoner],cost:6,defense:3,functionalText:`When this attacks, it deals X damage to you, where X is 13 minus the number of cards with **blood debt** in your banished zone.
3912
+ **Ward 4**`,isCardBack:!0,keywords:[t.Keyword.Ward],life:4,oppositeSideCardIdentifier:"figment-of-ravages-yellow",oppositeSideCardIdentifiers:["figment-of-ravages-yellow"],power:4,talents:[t.Talent.Light]}],Ht=[{artists:["Asur Misoa"],cardIdentifier:"semblance-blue",classes:[t.Class.Illusionist],defaultImage:"UPR154",name:"Semblance",printings:[{artists:["Asur Misoa"],identifier:"UPR154",image:"UPR154",print:"UPR154",set:t.Release.Uprising,tcgplayer:{productId:"275710",url:"https://www.tcgplayer.com/product/275710?Language=English&Printing=Normal"}},{artists:["Asur Misoa"],foiling:t.Foiling.R,identifier:"UPR154",image:"UPR154",print:"UPR154-Rainbow",set:t.Release.Uprising,tcgplayer:{productId:"275710",url:"https://www.tcgplayer.com/product/275710?Language=English&Printing=Rainbow+Foil"}}],rarities:[t.Rarity.Majestic],rarity:t.Rarity.Majestic,setIdentifiers:["UPR154"],sets:[t.Release.Uprising],specialImage:"UPR154",subtypes:[],types:[t.Type.Instant],typeText:"Illusionist Instant",bannedFormats:[t.Format.Commoner],cost:3,functionalText:"Negate all **phantasm** triggered effects of target Illusionist attack you control. The attack loses and can't gain **phantasm**.",pitch:3},{artists:["Athiwut B."],cardIdentifier:"send-packing-yellow",classes:[t.Class.Brute],defaultImage:"HVY012",name:"Send Packing",printings:[{artists:["Athiwut B."],identifier:"HVY012",image:"HVY012",print:"HVY012",set:t.Release.HeavyHitters,tcgplayer:{productId:"533449",url:"https://www.tcgplayer.com/product/533449?Language=English&Printing=Normal"}},{artists:["Athiwut B."],foiling:t.Foiling.R,identifier:"HVY012",image:"HVY012",print:"HVY012-Rainbow",set:t.Release.HeavyHitters,tcgplayer:{productId:"533449",url:"https://www.tcgplayer.com/product/533449?Language=English&Printing=Rainbow+Foil"}}],rarities:[t.Rarity.Majestic],rarity:t.Rarity.Majestic,setIdentifiers:["HVY012"],sets:[t.Release.HeavyHitters],specialImage:"HVY012",subtypes:[t.Subtype.Attack],types:[t.Type.Action],typeText:"Brute Action - Attack",bannedFormats:[t.Format.Commoner],cost:3,defense:3,functionalText:"When this attacks a hero, banish a card from their arsenal. When the chain link resolves, if this didn't hit, return the banished card to its owner's hand.",pitch:2,power:6},{artists:["Ausonia"],cardIdentifier:"shaden-death-hydra-yellow",classes:[t.Class.Brute],defaultImage:"DTD108",name:"Shaden Death Hydra",printings:[{artists:["Ausonia"],identifier:"DTD108",image:"DTD108",print:"DTD108",set:t.Release.DuskTillDawn,tcgplayer:{productId:"502865",url:"https://www.tcgplayer.com/product/502865?Language=English&Printing=Normal"}},{artists:["Ausonia"],foiling:t.Foiling.R,identifier:"DTD108",image:"DTD108",print:"DTD108-Rainbow",set:t.Release.DuskTillDawn,tcgplayer:{productId:"502865",url:"https://www.tcgplayer.com/product/502865?Language=English&Printing=Rainbow+Foil"}}],rarities:[t.Rarity.Majestic],rarity:t.Rarity.Majestic,setIdentifiers:["DTD108"],sets:[t.Release.DuskTillDawn],specialImage:"DTD108",subtypes:[t.Subtype.Attack],types:[t.Type.Action],typeText:"Shadow Brute Action - Attack",bannedFormats:[t.Format.Commoner],cost:6,defense:3,functionalText:`When this attacks, it deals X damage to you, where X is 13 minus the number of cards with **blood debt** in your banished zone.
3913
3913
 
3914
3914
  **Blood Debt**`,keywords:[t.Keyword.BloodDebt],pitch:2,power:13,talents:[t.Talent.Shadow]},{artists:["Marco Gonz\xE1lez"],cardIdentifier:"shaden-scream-red",classes:[t.Class.Brute],defaultImage:"DTD118",name:"Shaden Scream",printings:[{artists:["Marco Gonz\xE1lez"],identifier:"DTD118",image:"DTD118",print:"DTD118",set:t.Release.DuskTillDawn,tcgplayer:{productId:"502900",url:"https://www.tcgplayer.com/product/502900?Language=English&Printing=Normal"}},{artists:["Marco Gonz\xE1lez"],foiling:t.Foiling.R,identifier:"DTD118",image:"DTD118",print:"DTD118-Rainbow",set:t.Release.DuskTillDawn,tcgplayer:{productId:"502900",url:"https://www.tcgplayer.com/product/502900?Language=English&Printing=Rainbow+Foil"}}],rarities:[t.Rarity.Rare],rarity:t.Rarity.Rare,setIdentifiers:["DTD118"],sets:[t.Release.DuskTillDawn],specialImage:"DTD118",subtypes:[t.Subtype.NonAttack],types:[t.Type.Action],typeText:"Shadow Brute Action",bannedFormats:[t.Format.Commoner],cost:0,defense:3,functionalText:`As an additional cost to play this, banish a random card from hand.
3915
3915
 
@@ -5098,4 +5098,4 @@ When Zephyr Needle is defended by a card with {d} greater than Zephyr Needle's {
5098
5098
 
5099
5099
  **Boost**`,keywords:[t.Keyword.Boost,t.Keyword.Opt],pitch:2,power:4},{artists:["Alief Rusdiatama"],cardIdentifier:"zoom-in-blue",classes:[t.Class.Mechanologist],defaultImage:"EVR081.width-450",name:"Zoom In",printings:[{artists:["Alief Rusdiatama"],edition:t.ReleaseEdition.First,identifier:"EVR081",image:"EVR081.width-450",print:"EVR081-First",set:t.Release.Everfest,tcgplayer:{productId:"261431",url:"https://www.tcgplayer.com/product/261431?Language=English&Printing=1st+Edition+Normal"}},{artists:["Alief Rusdiatama"],edition:t.ReleaseEdition.First,foiling:t.Foiling.R,identifier:"EVR081",image:"EVR081.width-450",print:"EVR081-First-Rainbow",set:t.Release.Everfest,tcgplayer:{productId:"261431",url:"https://www.tcgplayer.com/product/261431?Language=English&Printing=1st+Edition+Rainbow+Foil"}}],rarities:[t.Rarity.Common],rarity:t.Rarity.Common,setIdentifiers:["EVR081"],sets:[t.Release.Everfest],specialImage:"EVR081.width-450",subtypes:[t.Subtype.Attack],types:[t.Type.Action],typeText:"Mechanologist Action - Attack",cost:2,defense:3,functionalText:`When you attack with Zoom in, **opt X**, where X is the number of times you have **boosted** this combat chain.
5100
5100
 
5101
- **Boost**`,keywords:[t.Keyword.Boost,t.Keyword.Opt],pitch:3,power:3}],Ht=[...Dt,...Ot,...St,...Wt];0&&(module.exports={cards});
5101
+ **Boost**`,keywords:[t.Keyword.Boost,t.Keyword.Opt],pitch:3,power:3}],vt=[...Ot,...St,...Wt,...Ht];0&&(module.exports={cards});
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@flesh-and-blood/cards",
3
3
  "description": "TypeScript representations of Flesh and Blood cards",
4
- "version": "3.0.0",
4
+ "version": "3.0.2",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "sideEffects": false,
@@ -20,7 +20,7 @@
20
20
  "prepublish": "npm run full"
21
21
  },
22
22
  "dependencies": {
23
- "@flesh-and-blood/types": "^3.0.0"
23
+ "@flesh-and-blood/types": "^3.0.1"
24
24
  },
25
25
  "devDependencies": {
26
26
  "@types/jest": "^29.5.11",
@@ -31,7 +31,7 @@
31
31
  "esbuild-jest": "^0.5.0",
32
32
  "fast-xml-parser": "4.3.2",
33
33
  "jest": "^29.7.0",
34
- "latest-cards": "npm:@flesh-and-blood/cards@^2.1.38",
34
+ "latest-cards": "npm:@flesh-and-blood/cards@^3.0.1",
35
35
  "papaparse": "^5.3.2",
36
36
  "ts-node": "^10.9.2",
37
37
  "typescript": "^5.3.3",
@@ -58,5 +58,5 @@
58
58
  "FAB",
59
59
  "FABTCG"
60
60
  ],
61
- "gitHead": "3cea7dfd51c7fa013bb075f9b3d7fddf72031b40"
61
+ "gitHead": "7aed38c0720f32918009f16d1fb18d79fbd3a066"
62
62
  }