{ "_readme": [ "Star Wars: The Deckbuilding Game — full card data. This file is the single", "source of truth for every card: edit stats/text here and the game engine", "picks the changes up on the next page load (no rebuild needed).", "", "Galaxy cards were transcribed from the owner's physical set", "(assets/info/sw-force-cards.csv). tools/verifySWDBG.js cross-checks this", "file against that CSV, so keep the two in sync when editing.", "", "CARD FIELDS:", " id unique lowercase key (do not change once art is mapped)", " name display name", " faction 'empire' | 'rebel' | 'neutral'", " type 'unit' | 'capital' (capital ships stay in play, have hp)", " unique true = Hero card (CSV 'Hero' column): gold inset, and what", " Hero-matters abilities (Chewbacca, Millennium Falcon) look for", " traits flavor tags referenced by abilities (Fighter, Trooper, ...)", " cost purchase cost in resources", " attack / resources / force printed values gained when played", " hp capital ships only — damage needed to destroy it in play", " count copies in the galaxy deck", " target attack needed to bounty-hunt/sabotage it in the row (faction", " units only; neutral cards and capital ships use null)", " reward what the defeater gains:", " { resources?, force?, draw?, exile?, freePurchase? } or null", " exile: n = exile up to n cards from your hand/discard", " freePurchase: true = purchase a card of your faction for free", " ability machine-readable effect (see OPS below) or null", " text display-only rules text — keep in sync with `ability`", "", "ABILITY SHAPE: { timing, op, ...params, cost?, ...gates? }", " timing 'action' = use once per turn while in play (the default)", " 'constant' = always on while in play ('While ...')", " 'onPlay' = triggers when the card is played", " 'onBounty' = triggers when THIS card helps defeat a galaxy-row", " target ('When X defeats ...')", " 'onPurchase' = triggers when you purchase this card", " 'onReveal' = bases only: when the base is revealed", " cost paid before the op resolves; any of:", " { exileSelf: true } exile this card from play", " { exileFromHand: 1 } exile a card from your hand", " { discardFromHand: 1 } discard a card from your hand", " GATES (usable/fires only while true; combine freely):", " requiresForce: true the Force is with you", " requiresCapital: true you have a capital ship in play", " requiresOppCapital: true your OPPONENT has a capital ship in play", " requiresTraitInPlay: [...] you have a card with any listed trait in play", " requiresOtherHero: true you have another Hero unit in play", " nForce / amountForce = upgraded number while the Force is with you", "", "SUPPORTED OPS (the engine understands exactly these):", " draw{n,nForce,nBase,nWithCard} draw cards. nBase:{base,n} = n while your", " base is that id; nWithCard:{id,n} = n while the", " named card is in your play area", " gainResources{n,nForce} add resources to your pool this turn", " gainForce{n} move the Force marker toward you", " gainAttack{n,nForce} this card gains attack this turn", " damageBase{n,nForce} damage enemy base directly (ignores capitals)", " dealDamage{n} deal n damage to the enemy base OR one enemy", " capital ship in play (attacker picks)", " repairBase{n} remove damage from your base", " oppDiscard{n,randomForce} opponent discards (random while Force is w/ you)", " oppChoice{options} OPPONENT picks one option; each option is", " {kind:'discardSelf'} (they discard 1),", " {kind:'giveForce',n} (you gain n Force), or", " {kind:'attackBoost',n} (this card gains n attack)", " discardRow{} discard a card from the galaxy row (no reward)", " destroyCapital{scope} destroy a capital ship. scope 'oppPlay' = only", " ones your opponent has in play; 'any' = also", " enemy capitals in the galaxy row", " exileCards{n,nForce,optional} exile up to n cards from your hand/discard", " freePurchase{faction,maxCost,forceTopdeck} take a row card for free", " buyGalaxyDiscard{} purchase a card from the galaxy discard pile,", " paying its cost, as if it were in the row", " topdeckNextPurchase{} the next card you purchase this turn goes on", " top of your deck instead of your discard", " recoverDiscard{filter} return a card from your discard to your hand;", " filter {trait:'X'} or {heroUnit:true}", " lookTop{mayDiscard} look at top of galaxy deck, optionally discard", " lookTopSwap{} look at top of galaxy deck; while the Force is", " with you, you may swap it with a galaxy-row card", " lookOppHand{forceTopdeck} look at opponent's hand; while the Force is with", " you, put 1 card from it on top of their deck", " takeRowTemp{faction} add a row card of that faction to your hand;", " it is exiled at the end of your turn", " revealTop{onMine} reveal top of galaxy deck; if it matches your", " faction resolve onMine ({op:'gainForce'|'draw'|", " 'gainResources', n}), if enemy you may discard", " it, if neutral nothing happens", " choose{options:[...]} pick one of the sub-abilities (2 or more)", " multi{effects:[...]} resolve each sub-effect in order; a sub-effect", " with its own gate (e.g. requiresForce) is", " skipped when the gate fails", " traitBoost{trait,amount} constant: your units with trait get +attack", " typeBoost{cardType,amount} constant: your cards of that type ('capital'", " or 'unit') get +attack", " rowBonus{amount} constant: +attack when attacking the galaxy row", " selfBoostWhileForce{amount} constant: +attack while the Force is with you", " selfBoostWithTrait{trait,amount} constant: +attack while you have another", " card with the trait in play", " selfBoostPerBaseLost{amount} constant: +attack per base you have lost", " capitalDiscount{n} constant (bases): your capital ships cost less", " onPlayTraitAttack{trait,amount} constant (bases): played units with the", " trait gain +attack", "", "BASES: hp, starting (true = begin the game with it), ability (onReveal /", "constant / action ops above), text. Beginner game uses these five per side;", "add more entries to play Full Galaxy mode." ], "meta": { "basesToWin": 3, "handSize": 5, "galaxyRowSize": 6, "forceSpaces": 3, "forceStartsWith": "rebel" }, "starters": { "rebel": [ { "id": "allianceshuttle", "count": 7 }, { "id": "rebeltrooper", "count": 2 }, { "id": "templeguardian", "count": 1 } ], "empire": [ { "id": "imperialshuttle", "count": 7 }, { "id": "stormtrooper", "count": 2 }, { "id": "inquisitor", "count": 1 } ] }, "starterCards": [ { "id": "allianceshuttle", "name": "Alliance Shuttle", "faction": "rebel", "type": "unit", "unique": false, "traits": ["Transport"], "cost": 0, "attack": 0, "resources": 1, "force": 0, "target": null, "reward": null, "ability": null, "text": "The workhorse of the Rebellion's supply lines." }, { "id": "rebeltrooper", "name": "Rebel Trooper", "faction": "rebel", "type": "unit", "unique": false, "traits": ["Trooper"], "cost": 0, "attack": 2, "resources": 0, "force": 0, "target": null, "reward": null, "ability": null, "text": "Rebels don't wait for the odds to look good." }, { "id": "templeguardian", "name": "Temple Guardian", "faction": "rebel", "type": "unit", "unique": false, "traits": ["Guardian"], "cost": 0, "attack": 1, "resources": 0, "force": 1, "target": null, "reward": null, "ability": null, "text": "The Force is with me, and I am one with the Force." }, { "id": "imperialshuttle", "name": "Imperial Shuttle", "faction": "empire", "type": "unit", "unique": false, "traits": ["Transport"], "cost": 0, "attack": 0, "resources": 1, "force": 0, "target": null, "reward": null, "ability": null, "text": "Cleared for landing on platform 327." }, { "id": "stormtrooper", "name": "Stormtrooper", "faction": "empire", "type": "unit", "unique": false, "traits": ["Trooper"], "cost": 0, "attack": 2, "resources": 0, "force": 0, "target": null, "reward": null, "ability": null, "text": "Precision aim is a myth. Overwhelming numbers are not." }, { "id": "inquisitor", "name": "Inquisitor", "faction": "empire", "type": "unit", "unique": false, "traits": ["Sith"], "cost": 0, "attack": 1, "resources": 0, "force": 1, "target": null, "reward": null, "ability": null, "text": "There are things far worse than death." } ], "outerRimPilot": { "id": "outerrimpilot", "name": "Outer Rim Pilot", "faction": "neutral", "type": "unit", "unique": false, "traits": ["Pilot"], "cost": 2, "attack": 0, "resources": 2, "force": 0, "count": 10, "target": null, "reward": null, "ability": { "timing": "action", "op": "gainResources", "n": 1, "cost": { "exileSelf": true } }, "text": "Exile Outer Rim Pilot to gain 1 resource." }, "cards": [ { "id": "z95headhunter", "name": "Z-95 Headhunter", "faction": "neutral", "type": "unit", "unique": false, "traits": ["Fighter"], "cost": 1, "attack": 2, "resources": 0, "force": 0, "count": 2, "target": null, "reward": null, "ability": { "timing": "action", "op": "draw", "n": 1, "requiresOppCapital": true }, "text": "If your opponent has a capital ship in play, draw 1 card." }, { "id": "jawascavenger", "name": "Jawa Scavenger", "faction": "neutral", "type": "unit", "unique": false, "traits": [], "cost": 1, "attack": 0, "resources": 2, "force": 0, "count": 2, "target": null, "reward": null, "ability": { "timing": "action", "op": "buyGalaxyDiscard", "cost": { "exileSelf": true } }, "text": "Exile this unit to purchase a card from the galaxy discard pile as if it were in the galaxy row." }, { "id": "rodiangunslinger", "name": "Rodian Gunslinger", "faction": "neutral", "type": "unit", "unique": false, "traits": ["Bounty Hunter"], "cost": 2, "attack": 2, "resources": 0, "force": 0, "count": 2, "target": null, "reward": null, "ability": { "timing": "constant", "op": "rowBonus", "amount": 2 }, "text": "This unit gains 2 attack while attacking a target in the galaxy row." }, { "id": "keldormystic", "name": "Kel Dor Mystic", "faction": "neutral", "type": "unit", "unique": false, "traits": [], "cost": 2, "attack": 0, "resources": 0, "force": 2, "count": 2, "target": null, "reward": null, "ability": { "timing": "action", "op": "exileCards", "n": 1, "optional": true, "cost": { "exileSelf": true } }, "text": "Exile this unit to exile 1 card from your hand or discard pile." }, { "id": "lobot", "name": "Lobot", "faction": "neutral", "type": "unit", "unique": true, "traits": ["Officer"], "cost": 3, "attack": 0, "resources": 0, "force": 0, "count": 1, "target": null, "reward": null, "ability": { "timing": "onPlay", "op": "choose", "options": [ { "op": "gainAttack", "n": 2 }, { "op": "gainResources", "n": 2 }, { "op": "gainForce", "n": 2 } ] }, "text": "When you play Lobot, choose: he gains 2 attack, 2 resources, or 2 Force this turn." }, { "id": "bossk", "name": "Bossk", "faction": "neutral", "type": "unit", "unique": true, "traits": ["Bounty Hunter"], "cost": 3, "attack": 3, "resources": 0, "force": 0, "count": 1, "target": null, "reward": null, "ability": { "timing": "onBounty", "op": "gainForce", "n": 1 }, "text": "When Bossk defeats a target in the galaxy row, gain 1 Force." }, { "id": "fangfighter", "name": "Fang Fighter", "faction": "neutral", "type": "unit", "unique": false, "traits": ["Fighter"], "cost": 3, "attack": 3, "resources": 0, "force": 0, "count": 2, "target": null, "reward": null, "ability": { "timing": "onPurchase", "op": "multi", "effects": [ { "op": "purchaseToHand" }, { "op": "draw", "n": 1, "requiresForce": true } ] }, "text": "When you purchase this unit, add it to your hand (and draw 1 card if the Force is with you)." }, { "id": "twileksmuggler", "name": "Twi'lek Smuggler", "faction": "neutral", "type": "unit", "unique": false, "traits": ["Scoundrel"], "cost": 3, "attack": 0, "resources": 3, "force": 0, "count": 2, "target": null, "reward": null, "ability": { "timing": "action", "op": "topdeckNextPurchase" }, "text": "Place the next card you purchase this turn on top of your deck." }, { "id": "crocruiser", "name": "C-ROC Cruiser", "faction": "neutral", "type": "capital", "unique": false, "traits": ["Capital Ship"], "cost": 3, "attack": 0, "resources": 1, "force": 0, "hp": 3, "count": 2, "target": null, "reward": null, "ability": { "timing": "action", "op": "repairBase", "n": 3, "cost": { "discardFromHand": 1 } }, "text": "Discard 1 card from your hand to repair 3 damage from your base." }, { "id": "dengar", "name": "Dengar", "faction": "neutral", "type": "unit", "unique": true, "traits": ["Bounty Hunter"], "cost": 4, "attack": 4, "resources": 0, "force": 0, "count": 1, "target": null, "reward": null, "ability": { "timing": "onBounty", "op": "gainResources", "n": 2 }, "text": "When Dengar defeats a target in the galaxy row, gain 2 resources." }, { "id": "quarrenmercenary", "name": "Quarren Mercenary", "faction": "neutral", "type": "unit", "unique": false, "traits": ["Trooper"], "cost": 4, "attack": 4, "resources": 0, "force": 0, "count": 2, "target": null, "reward": null, "ability": { "timing": "onPurchase", "op": "exileCards", "n": 1, "nForce": 2, "optional": true }, "text": "When you purchase this unit, exile 1 card from your hand or discard pile (up to 2 cards instead if the Force is with you)." }, { "id": "hwk290", "name": "HWK-290", "faction": "neutral", "type": "unit", "unique": false, "traits": ["Transport"], "cost": 4, "attack": 0, "resources": 4, "force": 0, "count": 2, "target": null, "reward": null, "ability": { "timing": "action", "op": "repairBase", "n": 4, "cost": { "exileSelf": true } }, "text": "Exile this unit to repair 4 damage from your base." }, { "id": "blockaderunner", "name": "Blockade Runner", "faction": "neutral", "type": "capital", "unique": false, "traits": ["Capital Ship"], "cost": 4, "attack": 1, "resources": 1, "force": 0, "hp": 4, "count": 3, "target": null, "reward": null, "ability": null, "text": "Though designed as a diplomatic courier, the Corellian CR90 corvette is often used to run planetary blockades." }, { "id": "ig88", "name": "IG-88", "faction": "neutral", "type": "unit", "unique": true, "traits": ["Bounty Hunter", "Droid"], "cost": 5, "attack": 5, "resources": 0, "force": 0, "count": 1, "target": null, "reward": null, "ability": { "timing": "onBounty", "op": "exileCards", "n": 1, "optional": true }, "text": "When IG-88 defeats a target in the galaxy row, exile 1 card from your hand or discard pile." }, { "id": "nebulonbfrigate", "name": "Nebulon-B Frigate", "faction": "neutral", "type": "capital", "unique": false, "traits": ["Capital Ship"], "cost": 5, "attack": 0, "resources": 0, "force": 0, "hp": 5, "count": 2, "target": null, "reward": null, "ability": { "timing": "action", "op": "choose", "options": [ { "op": "repairBase", "n": 3 }, { "op": "gainResources", "n": 3 } ] }, "text": "Choose: repair 3 damage from your base, or gain 3 resources." }, { "id": "landocalrissian", "name": "Lando Calrissian", "faction": "neutral", "type": "unit", "unique": true, "traits": ["Scoundrel"], "cost": 6, "attack": 3, "resources": 3, "force": 0, "count": 1, "target": null, "reward": null, "ability": { "timing": "action", "op": "multi", "effects": [ { "op": "draw", "n": 1 }, { "op": "oppDiscard", "n": 1, "requiresForce": true } ] }, "text": "Draw 1 card. If the Force is with you, your opponent discards 1 card from their hand." }, { "id": "jabbassailbarge", "name": "Jabba's Sail Barge", "faction": "neutral", "type": "unit", "unique": true, "traits": ["Vehicle"], "cost": 7, "attack": 4, "resources": 3, "force": 0, "count": 1, "target": null, "reward": null, "ability": { "timing": "action", "op": "recoverDiscard", "filter": { "trait": "Bounty Hunter" } }, "text": "Add a Bounty Hunter from your discard pile to your hand." }, { "id": "jabbathehutt", "name": "Jabba the Hutt", "faction": "neutral", "type": "unit", "unique": true, "traits": ["Scoundrel"], "cost": 8, "attack": 2, "resources": 2, "force": 2, "count": 1, "target": null, "reward": null, "ability": { "timing": "action", "op": "draw", "n": 1, "nForce": 2, "cost": { "exileFromHand": 1 } }, "text": "Exile 1 card from your hand to draw 1 card (2 cards instead if the Force is with you)." }, { "id": "ywing", "name": "Y-Wing", "faction": "rebel", "type": "unit", "unique": false, "traits": ["Fighter"], "cost": 1, "attack": 2, "resources": 0, "force": 0, "count": 2, "target": 1, "reward": { "resources": 2 }, "ability": { "timing": "action", "op": "dealDamage", "n": 2, "cost": { "exileSelf": true } }, "text": "Exile this unit to deal 2 damage to your opponent's base or a capital ship they have in play." }, { "id": "bazemalbus", "name": "Baze Malbus", "faction": "rebel", "type": "unit", "unique": true, "traits": ["Trooper"], "cost": 2, "attack": 2, "resources": 0, "force": 0, "count": 1, "target": 2, "reward": { "force": 1 }, "ability": { "timing": "constant", "op": "selfBoostPerBaseLost", "amount": 1 }, "text": "Baze Malbus gains 1 attack for each Rebel base in your opponent's victory pile." }, { "id": "snowspeeder", "name": "Snowspeeder", "faction": "rebel", "type": "unit", "unique": false, "traits": ["Vehicle"], "cost": 2, "attack": 2, "resources": 0, "force": 0, "count": 2, "target": 2, "reward": { "exile": 1 }, "ability": { "timing": "action", "op": "oppDiscard", "n": 1 }, "text": "Your opponent discards 1 card from their hand." }, { "id": "durosspy", "name": "Duros Spy", "faction": "rebel", "type": "unit", "unique": false, "traits": ["Trooper"], "cost": 2, "attack": 0, "resources": 2, "force": 0, "count": 2, "target": 2, "reward": { "exile": 1 }, "ability": { "timing": "action", "op": "oppChoice", "options": [ { "kind": "discardSelf" }, { "kind": "giveForce", "n": 1 } ] }, "text": "Your opponent must choose: either they discard 1 card from their hand, or you gain 1 Force." }, { "id": "rebeltransport", "name": "Rebel Transport", "faction": "rebel", "type": "capital", "unique": false, "traits": ["Capital Ship"], "cost": 2, "attack": 0, "resources": 0, "force": 0, "hp": 2, "count": 2, "target": null, "reward": null, "ability": { "timing": "action", "op": "choose", "options": [ { "op": "repairBase", "n": 2 }, { "op": "gainResources", "n": 1 } ] }, "text": "Choose: repair 2 damage from your base, or gain 1 resource." }, { "id": "chirrutimwe", "name": "Chirrut Îmwe", "faction": "rebel", "type": "unit", "unique": false, "traits": ["Trooper"], "cost": 3, "attack": 0, "resources": 0, "force": 2, "count": 1, "target": 3, "reward": { "force": 2 }, "ability": { "timing": "constant", "op": "selfBoostWhileForce", "amount": 2 }, "text": "While the Force is with you, Chirrut Îmwe gains 2 attack." }, { "id": "rebelcommando", "name": "Rebel Commando", "faction": "rebel", "type": "unit", "unique": false, "traits": ["Trooper"], "cost": 3, "attack": 3, "resources": 0, "force": 0, "count": 2, "target": 3, "reward": { "force": 2 }, "ability": { "timing": "action", "op": "oppDiscard", "n": 1, "randomForce": true }, "text": "Your opponent discards 1 card from their hand (at random if the Force is with you)." }, { "id": "xwing", "name": "X-Wing", "faction": "rebel", "type": "unit", "unique": false, "traits": ["Fighter"], "cost": 3, "attack": 3, "resources": 0, "force": 0, "count": 3, "target": 3, "reward": { "resources": 3 }, "ability": { "timing": "action", "op": "draw", "n": 1, "requiresForce": true }, "text": "If the Force is with you, draw 1 card." }, { "id": "chewbacca", "name": "Chewbacca", "faction": "rebel", "type": "unit", "unique": true, "traits": ["Scoundrel"], "cost": 4, "attack": 5, "resources": 0, "force": 0, "count": 1, "target": 4, "reward": { "force": 3 }, "ability": { "timing": "action", "op": "draw", "n": 1, "requiresOtherHero": true }, "text": "If you have another Hero unit in play, draw 1 card." }, { "id": "jynerso", "name": "Jyn Erso", "faction": "rebel", "type": "unit", "unique": true, "traits": ["Scoundrel"], "cost": 4, "attack": 4, "resources": 0, "force": 0, "count": 1, "target": 4, "reward": { "force": 3 }, "ability": { "timing": "action", "op": "lookOppHand", "forceTopdeck": true }, "text": "Look at your opponent's hand. If the Force is with you, place 1 card from their hand on top of their deck." }, { "id": "uwing", "name": "U-Wing", "faction": "rebel", "type": "unit", "unique": false, "traits": ["Transport"], "cost": 4, "attack": 0, "resources": 3, "force": 0, "count": 2, "target": 4, "reward": { "resources": 4 }, "ability": { "timing": "action", "op": "repairBase", "n": 3, "requiresForce": true }, "text": "If the Force is with you, repair 3 damage from your base." }, { "id": "hammerheadcorvette", "name": "Hammerhead Corvette", "faction": "rebel", "type": "capital", "unique": false, "traits": ["Capital Ship"], "cost": 4, "attack": 0, "resources": 2, "force": 0, "hp": 4, "count": 2, "target": null, "reward": null, "ability": { "timing": "action", "op": "destroyCapital", "scope": "any", "cost": { "exileSelf": true } }, "text": "Exile this capital ship to destroy a capital ship your opponent has in play, or an enemy capital ship in the galaxy row." }, { "id": "hansolo", "name": "Han Solo", "faction": "rebel", "type": "unit", "unique": true, "traits": ["Scoundrel"], "cost": 5, "attack": 3, "resources": 2, "force": 0, "count": 1, "target": 5, "reward": { "resources": 3, "force": 2 }, "ability": { "timing": "action", "op": "draw", "n": 1, "nWithCard": { "id": "millenniumfalcon", "n": 2 } }, "text": "Draw 1 card (2 cards instead if you have the Millennium Falcon in play)." }, { "id": "cassianandor", "name": "Cassian Andor", "faction": "rebel", "type": "unit", "unique": true, "traits": ["Trooper"], "cost": 5, "attack": 5, "resources": 0, "force": 0, "count": 1, "target": 5, "reward": { "resources": 3, "force": 2 }, "ability": { "timing": "onBounty", "op": "oppDiscard", "n": 1 }, "text": "When Cassian Andor defeats a target in the galaxy row, your opponent discards 1 card from their hand." }, { "id": "bwing", "name": "B-Wing", "faction": "rebel", "type": "unit", "unique": false, "traits": ["Fighter"], "cost": 5, "attack": 5, "resources": 0, "force": 0, "count": 2, "target": 5, "reward": { "exile": 2 }, "ability": { "timing": "action", "op": "oppChoice", "options": [ { "kind": "discardSelf" }, { "kind": "attackBoost", "n": 2 } ] }, "text": "Your opponent must choose: either they discard 1 card from their hand, or this unit gains 2 attack." }, { "id": "princessleia", "name": "Princess Leia", "faction": "rebel", "type": "unit", "unique": true, "traits": ["Officer"], "cost": 6, "attack": 2, "resources": 2, "force": 2, "count": 1, "target": 6, "reward": { "resources": 3, "force": 3 }, "ability": { "timing": "action", "op": "freePurchase", "faction": "rebel", "forceTopdeck": true }, "text": "Purchase a Rebel card from the galaxy row for free. If the Force is with you, place that card on top of your deck." }, { "id": "moncalamaricruiser", "name": "Mon Calamari Cruiser", "faction": "rebel", "type": "capital", "unique": false, "traits": ["Capital Ship"], "cost": 6, "attack": 3, "resources": 0, "force": 0, "hp": 6, "count": 2, "target": null, "reward": null, "ability": null, "text": "The backbone of the Rebel fleet, crewed by the galaxy's finest shipwrights." }, { "id": "millenniumfalcon", "name": "Millennium Falcon", "faction": "rebel", "type": "unit", "unique": true, "traits": ["Transport"], "cost": 7, "attack": 5, "resources": 2, "force": 0, "count": 1, "target": 7, "reward": { "freePurchase": true }, "ability": { "timing": "action", "op": "recoverDiscard", "filter": { "heroUnit": true } }, "text": "Add a Hero unit from your discard pile to your hand." }, { "id": "lukeskywalker", "name": "Luke Skywalker", "faction": "rebel", "type": "unit", "unique": true, "traits": ["Jedi"], "cost": 8, "attack": 6, "resources": 0, "force": 2, "count": 1, "target": 8, "reward": { "resources": 4, "force": 4 }, "ability": { "timing": "action", "op": "destroyCapital", "scope": "oppPlay", "requiresForce": true }, "text": "If the Force is with you, destroy a capital ship your opponent has in play." }, { "id": "tiefighter", "name": "TIE Fighter", "faction": "empire", "type": "unit", "unique": false, "traits": ["Fighter"], "cost": 1, "attack": 2, "resources": 0, "force": 0, "count": 3, "target": 1, "reward": { "resources": 1 }, "ability": { "timing": "action", "op": "draw", "n": 1, "requiresCapital": true }, "text": "If you have a capital ship in play, draw 1 card." }, { "id": "admiralpiett", "name": "Admiral Piett", "faction": "empire", "type": "unit", "unique": true, "traits": ["Officer"], "cost": 2, "attack": 0, "resources": 2, "force": 0, "count": 1, "target": 2, "reward": { "force": 1 }, "ability": { "timing": "constant", "op": "typeBoost", "cardType": "capital", "amount": 1 }, "text": "While Admiral Piett is in play, each of your capital ships gains 1 attack." }, { "id": "tiebomber", "name": "TIE Bomber", "faction": "empire", "type": "unit", "unique": false, "traits": ["Fighter"], "cost": 2, "attack": 2, "resources": 0, "force": 0, "count": 2, "target": 2, "reward": { "exile": 1 }, "ability": { "timing": "action", "op": "discardRow" }, "text": "Discard 1 card from the galaxy row." }, { "id": "scouttrooper", "name": "Scout Trooper", "faction": "empire", "type": "unit", "unique": false, "traits": ["Trooper"], "cost": 2, "attack": 0, "resources": 2, "force": 0, "count": 2, "target": 2, "reward": { "exile": 1 }, "ability": { "timing": "action", "op": "revealTop", "onMine": { "op": "gainForce", "n": 1 } }, "text": "Reveal the top card of the galaxy deck. If it is an Empire card, gain 1 Force. If it is an enemy card, you may discard it." }, { "id": "deathtrooper", "name": "Death Trooper", "faction": "empire", "type": "unit", "unique": false, "traits": ["Trooper"], "cost": 3, "attack": 3, "resources": 0, "force": 0, "count": 2, "target": 3, "reward": { "force": 2 }, "ability": { "timing": "constant", "op": "selfBoostWhileForce", "amount": 2 }, "text": "While the Force is with you, this unit gains 2 attack." }, { "id": "tieinterceptor", "name": "TIE Interceptor", "faction": "empire", "type": "unit", "unique": false, "traits": ["Fighter"], "cost": 3, "attack": 3, "resources": 0, "force": 0, "count": 2, "target": 3, "reward": { "resources": 3 }, "ability": { "timing": "action", "op": "revealTop", "onMine": { "op": "draw", "n": 1 } }, "text": "Reveal the top card of the galaxy deck. If it is an Empire card, draw 1 card. If it is an enemy card, you may discard it." }, { "id": "gozanticruiser", "name": "Gozanti Cruiser", "faction": "empire", "type": "capital", "unique": false, "traits": ["Capital Ship"], "cost": 3, "attack": 0, "resources": 2, "force": 0, "hp": 3, "count": 3, "target": null, "reward": null, "ability": { "timing": "action", "op": "draw", "n": 1, "cost": { "discardFromHand": 1 } }, "text": "Discard 1 card from your hand to draw 1 card." }, { "id": "moffjerjerrod", "name": "Moff Jerjerrod", "faction": "empire", "type": "unit", "unique": true, "traits": ["Officer"], "cost": 4, "attack": 2, "resources": 2, "force": 0, "count": 1, "target": 4, "reward": { "force": 3 }, "ability": { "timing": "action", "op": "lookTopSwap" }, "text": "Look at the top card of the galaxy deck. If the Force is with you, you may swap that card with a card from the galaxy row." }, { "id": "generalveers", "name": "General Veers", "faction": "empire", "type": "unit", "unique": true, "traits": ["Officer"], "cost": 4, "attack": 4, "resources": 0, "force": 0, "count": 1, "target": 4, "reward": { "force": 3 }, "ability": { "timing": "action", "op": "draw", "n": 1, "requiresTraitInPlay": ["Trooper", "Vehicle"] }, "text": "If you have a Trooper or Vehicle in play, draw 1 card." }, { "id": "atst", "name": "AT-ST", "faction": "empire", "type": "unit", "unique": false, "traits": ["Vehicle"], "cost": 4, "attack": 4, "resources": 0, "force": 0, "count": 2, "target": 4, "reward": { "exile": 2 }, "ability": { "timing": "action", "op": "discardRow" }, "text": "Discard 1 card from the galaxy row." }, { "id": "landingcraft", "name": "Landing Craft", "faction": "empire", "type": "unit", "unique": false, "traits": ["Transport"], "cost": 4, "attack": 0, "resources": 0, "force": 0, "count": 2, "target": 4, "reward": { "resources": 4 }, "ability": { "timing": "action", "op": "choose", "options": [ { "op": "gainResources", "n": 4 }, { "op": "repairBase", "n": 4 } ] }, "text": "Choose: gain 4 resources, or repair 4 damage from your base." }, { "id": "directorkrennic", "name": "Director Krennic", "faction": "empire", "type": "unit", "unique": true, "traits": ["Officer"], "cost": 5, "attack": 3, "resources": 2, "force": 0, "count": 1, "target": 5, "reward": { "resources": 3, "force": 2 }, "ability": { "timing": "action", "op": "draw", "n": 1, "nBase": { "base": "deathstar", "n": 2 } }, "text": "Draw 1 card (2 cards instead if your base is the Death Star)." }, { "id": "bobafett", "name": "Boba Fett", "faction": "empire", "type": "unit", "unique": true, "traits": ["Bounty Hunter"], "cost": 5, "attack": 5, "resources": 0, "force": 0, "count": 1, "target": 5, "reward": { "resources": 3, "force": 2 }, "ability": { "timing": "onBounty", "op": "draw", "n": 1 }, "text": "When Boba Fett defeats a target in the galaxy row, draw 1 card." }, { "id": "imperialcarrier", "name": "Imperial Carrier", "faction": "empire", "type": "capital", "unique": false, "traits": ["Capital Ship"], "cost": 5, "attack": 0, "resources": 3, "force": 0, "hp": 5, "count": 2, "target": null, "reward": null, "ability": { "timing": "constant", "op": "traitBoost", "trait": "Fighter", "amount": 1 }, "text": "While Imperial Carrier is in play, each of your Fighter units gains 1 attack." }, { "id": "grandmofftarkin", "name": "Grand Moff Tarkin", "faction": "empire", "type": "unit", "unique": true, "traits": ["Officer"], "cost": 6, "attack": 2, "resources": 2, "force": 2, "count": 1, "target": 6, "reward": { "resources": 3, "force": 3 }, "ability": { "timing": "action", "op": "takeRowTemp", "faction": "empire" }, "text": "Add an Empire card from the galaxy row to your hand. You must exile that card at the end of your turn." }, { "id": "atat", "name": "AT-AT", "faction": "empire", "type": "unit", "unique": false, "traits": ["Vehicle"], "cost": 6, "attack": 6, "resources": 0, "force": 0, "count": 1, "target": 6, "reward": { "freePurchase": true }, "ability": { "timing": "action", "op": "recoverDiscard", "filter": { "trait": "Trooper" } }, "text": "Add a Trooper from your discard pile to your hand." }, { "id": "stardestroyer", "name": "Star Destroyer", "faction": "empire", "type": "capital", "unique": false, "traits": ["Capital Ship"], "cost": 7, "attack": 4, "resources": 0, "force": 0, "hp": 7, "count": 2, "target": null, "reward": null, "ability": null, "text": "The Imperial Navy's argument, delivered at length." }, { "id": "darthvader", "name": "Darth Vader", "faction": "empire", "type": "unit", "unique": true, "traits": ["Sith"], "cost": 8, "attack": 6, "resources": 0, "force": 0, "count": 1, "target": 8, "reward": { "resources": 4, "force": 4 }, "ability": { "timing": "constant", "op": "selfBoostWhileForce", "amount": 4 }, "text": "While the Force is with you, Darth Vader gains 4 attack." } ], "bases": { "rebel": [ { "id": "dantooine", "name": "Dantooine", "hp": 8, "starting": true, "ability": null, "text": "Rebel Outpost. Begin the game with this base in play." }, { "id": "hoth", "name": "Hoth", "hp": 10, "starting": false, "ability": { "timing": "onReveal", "op": "draw", "n": 2 }, "text": "Echo Station. When you reveal this base, draw 2 cards." }, { "id": "sullust", "name": "Sullust", "hp": 12, "starting": false, "ability": { "timing": "onReveal", "op": "exileCards", "n": 2, "optional": true }, "text": "Staging Point. When you reveal this base, exile up to 2 cards from your hand or discard pile." }, { "id": "moncala", "name": "Mon Cala", "hp": 12, "starting": false, "ability": { "timing": "constant", "op": "capitalDiscount", "n": 1 }, "text": "Shipyards. Your capital ships cost 1 less resource." }, { "id": "yavin4", "name": "Yavin IV", "hp": 14, "starting": false, "ability": { "timing": "constant", "op": "onPlayTraitAttack", "trait": "Fighter", "amount": 1 }, "text": "Great Temple. When you play a Fighter, it gains 1 attack." } ], "empire": [ { "id": "lothal", "name": "Lothal", "hp": 8, "starting": true, "ability": null, "text": "Imperial Outpost. Begin the game with this base in play." }, { "id": "corellia", "name": "Corellia", "hp": 10, "starting": false, "ability": { "timing": "constant", "op": "capitalDiscount", "n": 1 }, "text": "Shipyards. Your capital ships cost 1 less resource." }, { "id": "coruscant", "name": "Coruscant", "hp": 12, "starting": false, "ability": { "timing": "onReveal", "op": "gainResources", "n": 3 }, "text": "Imperial Center. When you reveal this base, gain 3 resources." }, { "id": "deathstar", "name": "Death Star", "hp": 14, "starting": false, "ability": { "timing": "action", "op": "damageBase", "n": 1 }, "text": "Battle Station. Once per turn: deal 1 damage to the enemy base." }, { "id": "endor", "name": "Endor", "hp": 16, "starting": false, "ability": null, "text": "Shield Generator. The toughest Imperial position in the galaxy." } ] } }