diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..d1af6fe12 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,8 @@ +FROM alpine:3.19 + +COPY ./v2/ /netrunner-cards-json/v2/ +COPY ./translations/ /netrunner-cards-json/translations/ +COPY ./pack/ /netrunner-cards-json/pack/ +COPY ./cycles.json ./factions.json ./mwl.json ./packs.json ./prebuilts.json ./rotations.json ./sides.json ./types.json /netrunner-cards-json/ + +ENTRYPOINT ["/bin/sh", "-c", "rm -rf /mnt/netrunner-cards-json/* && cp -r /netrunner-cards-json/* /mnt/netrunner-cards-json/ && exit"] diff --git a/cycles.json b/cycles.json index cab27b490..191eea37c 100644 --- a/cycles.json +++ b/cycles.json @@ -66,7 +66,7 @@ "code": "data-and-destiny", "name": "Data and Destiny", "position": 9, - "rotated": false, + "rotated": true, "size": 1 }, { @@ -80,7 +80,7 @@ "code": "flashpoint", "name": "Flashpoint", "position": 11, - "rotated": false, + "rotated": true, "size": 6 }, { @@ -186,6 +186,6 @@ "name": "Liberation", "position": 33, "rotated": false, - "size": 1 + "size": 2 } ] diff --git a/mwl.json b/mwl.json index efda4a174..b7063e60f 100644 --- a/mwl.json +++ b/mwl.json @@ -3544,5 +3544,629 @@ "deck_limit": 0 } } + }, + { + "cards": { + "01058": { + "deck_limit": 0 + }, + "09021": { + "deck_limit": 0 + }, + "09023": { + "deck_limit": 0 + }, + "09053": { + "deck_limit": 0 + }, + "11001": { + "deck_limit": 0 + }, + "11007": { + "deck_limit": 0 + }, + "11022": { + "deck_limit": 0 + }, + "11057": { + "deck_limit": 0 + }, + "11059": { + "deck_limit": 0 + }, + "11060": { + "deck_limit": 0 + }, + "11069": { + "deck_limit": 0 + }, + "11087": { + "deck_limit": 0 + }, + "11100": { + "deck_limit": 0 + }, + "12013": { + "deck_limit": 0 + }, + "12022": { + "deck_limit": 0 + }, + "12026": { + "deck_limit": 0 + }, + "12070": { + "deck_limit": 0 + }, + "12072": { + "deck_limit": 0 + }, + "12079": { + "deck_limit": 0 + }, + "12080": { + "deck_limit": 0 + }, + "12081": { + "deck_limit": 0 + }, + "12089": { + "deck_limit": 0 + }, + "12098": { + "deck_limit": 0 + }, + "12103": { + "deck_limit": 0 + }, + "12113": { + "deck_limit": 0 + }, + "12116": { + "deck_limit": 0 + }, + "20071": { + "deck_limit": 0 + }, + "21025": { + "deck_limit": 0 + }, + "21038": { + "deck_limit": 0 + }, + "21044": { + "deck_limit": 0 + }, + "21058": { + "deck_limit": 0 + }, + "21070": { + "deck_limit": 0 + }, + "21086": { + "deck_limit": 0 + }, + "21106": { + "deck_limit": 0 + }, + "21114": { + "deck_limit": 0 + }, + "21119": { + "deck_limit": 0 + }, + "22008": { + "deck_limit": 0 + }, + "22032": { + "deck_limit": 0 + }, + "23013": { + "deck_limit": 0 + }, + "23045": { + "deck_limit": 0 + }, + "23100": { + "deck_limit": 0 + }, + "23101": { + "deck_limit": 0 + }, + "25079": { + "deck_limit": 0 + }, + "26016": { + "deck_limit": 0 + }, + "26026": { + "deck_limit": 0 + }, + "26097": { + "deck_limit": 0 + }, + "26108": { + "deck_limit": 0 + }, + "26116": { + "deck_limit": 0 + }, + "26127": { + "deck_limit": 0 + }, + "26128": { + "deck_limit": 0 + }, + "27007": { + "deck_limit": 0 + }, + "28002": { + "deck_limit": 0 + }, + "28004": { + "deck_limit": 0 + }, + "31047": { + "deck_limit": 0 + }, + "33025": { + "deck_limit": 0 + }, + "33051": { + "deck_limit": 0 + }, + "33111": { + "deck_limit": 0 + } + }, + "code": "standard-ban-list-23-08", + "date_start": "2023-08-11", + "name": "Standard Ban List 23.08", + "subtypes": { + "current": { + "deck_limit": 0 + } + } + }, + { + "cards": { + "01058": { + "deck_limit": 0 + }, + "09021": { + "deck_limit": 0 + }, + "09023": { + "deck_limit": 0 + }, + "09053": { + "deck_limit": 0 + }, + "11001": { + "deck_limit": 0 + }, + "11007": { + "deck_limit": 0 + }, + "11022": { + "deck_limit": 0 + }, + "11057": { + "deck_limit": 0 + }, + "11059": { + "deck_limit": 0 + }, + "11060": { + "deck_limit": 0 + }, + "11069": { + "deck_limit": 0 + }, + "11087": { + "deck_limit": 0 + }, + "11100": { + "deck_limit": 0 + }, + "12013": { + "deck_limit": 0 + }, + "12022": { + "deck_limit": 0 + }, + "12026": { + "deck_limit": 0 + }, + "12070": { + "deck_limit": 0 + }, + "12072": { + "deck_limit": 0 + }, + "12079": { + "deck_limit": 0 + }, + "12080": { + "deck_limit": 0 + }, + "12081": { + "deck_limit": 0 + }, + "12089": { + "deck_limit": 0 + }, + "12098": { + "deck_limit": 0 + }, + "12103": { + "deck_limit": 0 + }, + "12113": { + "deck_limit": 0 + }, + "12116": { + "deck_limit": 0 + }, + "20071": { + "deck_limit": 0 + }, + "21025": { + "deck_limit": 0 + }, + "21038": { + "deck_limit": 0 + }, + "21044": { + "deck_limit": 0 + }, + "21058": { + "deck_limit": 0 + }, + "21070": { + "deck_limit": 0 + }, + "21106": { + "deck_limit": 0 + }, + "21114": { + "deck_limit": 0 + }, + "21119": { + "deck_limit": 0 + }, + "22008": { + "deck_limit": 0 + }, + "22032": { + "deck_limit": 0 + }, + "23013": { + "deck_limit": 0 + }, + "23045": { + "deck_limit": 0 + }, + "23100": { + "deck_limit": 0 + }, + "23101": { + "deck_limit": 0 + }, + "25079": { + "deck_limit": 0 + }, + "26016": { + "deck_limit": 0 + }, + "26026": { + "deck_limit": 0 + }, + "26095": { + "deck_limit": 0 + }, + "26097": { + "deck_limit": 0 + }, + "26108": { + "deck_limit": 0 + }, + "26116": { + "deck_limit": 0 + }, + "26127": { + "deck_limit": 0 + }, + "26128": { + "deck_limit": 0 + }, + "27007": { + "deck_limit": 0 + }, + "28002": { + "deck_limit": 0 + }, + "28004": { + "deck_limit": 0 + }, + "31047": { + "deck_limit": 0 + }, + "33025": { + "deck_limit": 0 + }, + "33051": { + "deck_limit": 0 + }, + "33106": { + "deck_limit": 0 + }, + "33111": { + "deck_limit": 0 + } + }, + "code": "standard-ban-list-23-09", + "date_start": "2023-09-22", + "name": "Standard Ban List 23.09", + "subtypes": { + "current": { + "deck_limit": 0 + } + } + }, + { + "cards": { + "01058": { + "deck_limit": 0 + }, + "03046": { + "deck_limit": 0 + }, + "03052": { + "deck_limit": 0 + }, + "03053": { + "deck_limit": 0 + }, + "09021": { + "deck_limit": 0 + }, + "09023": { + "deck_limit": 0 + }, + "09053": { + "deck_limit": 0 + }, + "11001": { + "deck_limit": 0 + }, + "11007": { + "deck_limit": 0 + }, + "11022": { + "deck_limit": 0 + }, + "11057": { + "deck_limit": 0 + }, + "11059": { + "deck_limit": 0 + }, + "11060": { + "deck_limit": 0 + }, + "11069": { + "deck_limit": 0 + }, + "11087": { + "deck_limit": 0 + }, + "11100": { + "deck_limit": 0 + }, + "12013": { + "deck_limit": 0 + }, + "12022": { + "deck_limit": 0 + }, + "12026": { + "deck_limit": 0 + }, + "12070": { + "deck_limit": 0 + }, + "12072": { + "deck_limit": 0 + }, + "12079": { + "deck_limit": 0 + }, + "12080": { + "deck_limit": 0 + }, + "12081": { + "deck_limit": 0 + }, + "12089": { + "deck_limit": 0 + }, + "12098": { + "deck_limit": 0 + }, + "12103": { + "deck_limit": 0 + }, + "12113": { + "deck_limit": 0 + }, + "12116": { + "deck_limit": 0 + }, + "20071": { + "deck_limit": 0 + }, + "21025": { + "deck_limit": 0 + }, + "21038": { + "deck_limit": 0 + }, + "21039": { + "deck_limit": 0 + }, + "21044": { + "deck_limit": 0 + }, + "21058": { + "deck_limit": 0 + }, + "21070": { + "deck_limit": 0 + }, + "21080": { + "deck_limit": 0 + }, + "21106": { + "deck_limit": 0 + }, + "21114": { + "deck_limit": 0 + }, + "21119": { + "deck_limit": 0 + }, + "22008": { + "deck_limit": 0 + }, + "22032": { + "deck_limit": 0 + }, + "22048": { + "deck_limit": 0 + }, + "22052": { + "deck_limit": 0 + }, + "23013": { + "deck_limit": 0 + }, + "23045": { + "deck_limit": 0 + }, + "23100": { + "deck_limit": 0 + }, + "23101": { + "deck_limit": 0 + }, + "25060": { + "deck_limit": 0 + }, + "25079": { + "deck_limit": 0 + }, + "26016": { + "deck_limit": 0 + }, + "26026": { + "deck_limit": 0 + }, + "26073": { + "deck_limit": 0 + }, + "26075": { + "deck_limit": 0 + }, + "26090": { + "deck_limit": 0 + }, + "26094": { + "deck_limit": 0 + }, + "26095": { + "deck_limit": 0 + }, + "26097": { + "deck_limit": 0 + }, + "26108": { + "deck_limit": 0 + }, + "26114": { + "deck_limit": 0 + }, + "26116": { + "deck_limit": 0 + }, + "26127": { + "deck_limit": 0 + }, + "26128": { + "deck_limit": 0 + }, + "27007": { + "deck_limit": 0 + }, + "28002": { + "deck_limit": 0 + }, + "28004": { + "deck_limit": 0 + }, + "30006": { + "deck_limit": 0 + }, + "30051": { + "deck_limit": 0 + }, + "31037": { + "deck_limit": 0 + }, + "31047": { + "deck_limit": 0 + }, + "33025": { + "deck_limit": 0 + }, + "33051": { + "deck_limit": 0 + }, + "33074": { + "deck_limit": 0 + }, + "33106": { + "deck_limit": 0 + }, + "33111": { + "deck_limit": 0 + } + }, + "code": "sunset-ban-list-24-01", + "date_start": "2077-01-01", + "name": "Sunset Ban List 24.01", + "subtypes": { + "current": { + "deck_limit": 0 + } + } + }, + { + "cards": { + "33025": { + "deck_limit": 0 + }, + "33051": { + "deck_limit": 0 + } + }, + "code": "startup-ban-list-24-01-for-classic-only", + "date_start": "2023-09-21", + "name": "Startup Ban List 24.01 (ignore active date)", + "subtypes": { + "current": { + "deck_limit": 0 + } + } } ] diff --git a/pack/asis.json b/pack/asis.json index 214b6b300..ed54a939d 100644 --- a/pack/asis.json +++ b/pack/asis.json @@ -230,7 +230,7 @@ "faction_code": "jinteki", "faction_cost": 2, "flavor": "so very still, even\ncherry blossoms are not stirred\nby the temple bell\n-Fuhaku", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Facility", "pack_code": "asis", "position": 72, diff --git a/pack/atr.json b/pack/atr.json index ee5c1c629..b1fdfb0ea 100644 --- a/pack/atr.json +++ b/pack/atr.json @@ -94,9 +94,9 @@ "position": 85, "quantity": 3, "side_code": "corp", - "stripped_text": "When you score this agenda, you may reveal 1 asset or upgrade in HQ or Archives. Install and rez that card, ignoring all costs.", + "stripped_text": "When you score this agenda, you may install and rez 1 asset or upgrade from HQ or Archives, ignoring all costs.", "stripped_title": "License Acquisition", - "text": "When you score this agenda, you may reveal 1 asset or upgrade in HQ or Archives. Install and rez that card, ignoring all costs.", + "text": "When you score this agenda, you may install and rez 1 asset or upgrade from HQ or Archives, ignoring all costs.", "title": "License Acquisition", "type_code": "agenda", "uniqueness": false diff --git a/pack/bf.json b/pack/bf.json index 2880ffbbb..f729c0a56 100644 --- a/pack/bf.json +++ b/pack/bf.json @@ -200,7 +200,7 @@ "deck_limit": 1, "faction_code": "jinteki", "flavor": "We Are What We Eat. ", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Division", "minimum_deck_size": 45, @@ -222,7 +222,7 @@ "faction_code": "jinteki", "faction_cost": 2, "flavor": "Expensive to build but dramatically more efficient than traditional farming, agroplexes are emblems of the inevitable corporatization of the food industry. ", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Facility", "pack_code": "bf", "position": 31, diff --git a/pack/cac.json b/pack/cac.json index 5a2282c70..f6a828a61 100644 --- a/pack/cac.json +++ b/pack/cac.json @@ -4,7 +4,7 @@ "deck_limit": 1, "faction_code": "haas-bioroid", "flavor": "The densest information cluster in the galaxy.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Division", "minimum_deck_size": 45, @@ -24,7 +24,7 @@ "deck_limit": 1, "faction_code": "haas-bioroid", "flavor": "The Once and Future Android.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 22, "keywords": "Division", "minimum_deck_size": 45, @@ -43,7 +43,7 @@ "code": "03003", "deck_limit": 1, "faction_code": "haas-bioroid", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 12, "keywords": "Division", "minimum_deck_size": 45, @@ -168,9 +168,9 @@ "position": 9, "quantity": 3, "side_code": "corp", - "stripped_text": "You can advance this asset. When the Runner accesses this asset while it is installed, you may pay 3 credits. If you do, do 1 core damage for each hosted advancement counter.", + "stripped_text": "You can advance this asset. When the Runner accesses this asset while it is installed, you may pay 3 credits to do X core damage. X is equal to the number of hosted advancement counters.", "stripped_title": "Cerebral Overwriter", - "text": "You can advance this asset.\nWhen the Runner accesses this asset while it is installed, you may pay 3[credit]. If you do, do 1 core damage for each hosted advancement counter.", + "text": "You can advance this asset.\nWhen the Runner accesses this asset while it is installed, you may pay 3[credit] to do X core damage. X is equal to the number of hosted advancement counters.", "title": "Cerebral Overwriter", "trash_cost": 0, "type_code": "asset", @@ -242,7 +242,7 @@ "deck_limit": 3, "faction_code": "haas-bioroid", "faction_cost": 2, - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Condition", "pack_code": "cac", "position": 13, @@ -447,7 +447,7 @@ "faction_code": "neutral-corp", "faction_cost": 0, "flavor": "Sell the dream-show them how very much they want to be rich, and they'll convince themselves that someday, they will be. How can they revolt against their future selves? -the New Gospel of Wealth", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Expansion", "pack_code": "cac", "position": 23, @@ -561,7 +561,7 @@ "stripped_text": "The first time each turn you encounter a piece of ice, it gains code gate for the remainder of this run.", "stripped_title": "Rielle \"Kit\" Peddler: Transhuman", "text": "The first time each turn you encounter a piece of ice, it gains code gate for the remainder of this run.", - "title": "Rielle \"Kit\" Peddler: Transhuman", + "title": "Rielle “Kit” Peddler: Transhuman", "type_code": "identity", "uniqueness": false }, @@ -680,9 +680,9 @@ "position": 34, "quantity": 3, "side_code": "runner", - "stripped_text": "Trash 1 installed program. If you do, install 1 program from your grip or heap, paying X credits less. X is equal to the install cost of the program you trashed.", + "stripped_text": "As an additional cost to play this event, trash 1 installed program. Install 1 program from your grip or heap, paying X credits less. X is equal to the install cost of the program you trashed.", "stripped_title": "Scavenge", - "text": "Trash 1 installed program. If you do, install 1 program from your grip or heap, paying X[credit] less. X is equal to the install cost of the program you trashed.", + "text": "As an additional cost to play this event, trash 1 installed program.\n Install 1 program from your grip or heap, paying X[credit] less. X is equal to the install cost of the program you trashed.", "title": "Scavenge", "type_code": "event", "uniqueness": false @@ -712,7 +712,7 @@ "deck_limit": 3, "faction_code": "shaper", "faction_cost": 3, - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Console", "pack_code": "cac", "position": 36, @@ -923,9 +923,9 @@ "position": 46, "quantity": 3, "side_code": "runner", - "stripped_text": "2 credits, trash: Search your stack for a program. Install it.", + "stripped_text": "2 credits, trash: Search your stack for 1 program. Install it. (Shuffle your stack after searching it.)", "stripped_title": "Self-modifying Code", - "text": "2[credit], [trash]: Search your stack for a program. Install it.", + "text": "2[credit], [trash]: Search your stack for 1 program. Install it. (Shuffle your stack after searching it.)", "title": "Self-modifying Code", "type_code": "program", "uniqueness": false diff --git a/pack/ce.json b/pack/ce.json index 5c02fca66..581cb9b43 100644 --- a/pack/ce.json +++ b/pack/ce.json @@ -132,9 +132,9 @@ "position": 47, "quantity": 3, "side_code": "runner", - "stripped_text": "Search either your stack or your heap for 1 program. (Shuffle your stack if you searched it.) Install that program, ignoring all costs. When your turn ends, if that program has not been uninstalled, add it to the top of your stack.", + "stripped_text": "Search either your stack or your heap for 1 program. (Shuffle your stack after searching it.) Install that program, ignoring all costs. When your turn ends, if that program has not been uninstalled, add it to the top of your stack.", "stripped_title": "Test Run", - "text": "Search either your stack or your heap for 1 program. (Shuffle your stack if you searched it.) Install that program, ignoring all costs. When your turn ends, if that program has not been uninstalled, add it to the top of your stack.", + "text": "Search either your stack or your heap for 1 program. (Shuffle your stack after searching it.) Install that program, ignoring all costs. When your turn ends, if that program has not been uninstalled, add it to the top of your stack.", "title": "Test Run", "type_code": "event", "uniqueness": false @@ -202,7 +202,7 @@ "code": "02051", "deck_limit": 3, "faction_code": "haas-bioroid", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Research", "pack_code": "ce", "position": 51, diff --git a/pack/core.json b/pack/core.json index c3877f515..2bbe05e52 100644 --- a/pack/core.json +++ b/pack/core.json @@ -303,7 +303,7 @@ "side_code": "runner", "stripped_text": "While you are encountering a piece of ice, it gets -1 strength.", "stripped_title": "Ice Carver", - "text": "While you are encountering a piece of ice, it gets -1 strength.", + "text": "While you are encountering a piece of ice, it gets −1 strength.", "title": "Ice Carver", "type_code": "resource", "uniqueness": true @@ -422,9 +422,9 @@ "position": 21, "quantity": 3, "side_code": "runner", - "stripped_text": "Run any server. The first time this run you encounter a piece of ice, bypass it.", + "stripped_text": "Run any server. The first time you encounter a piece of ice during that run, bypass it.", "stripped_title": "Inside Job", - "text": "Run any server. The first time this run you encounter a piece of ice, bypass it.", + "text": "Run any server. The first time you encounter a piece of ice during that run, bypass it.", "title": "Inside Job", "type_code": "event", "uniqueness": false @@ -726,7 +726,7 @@ "stripped_text": "Run R&D. If successful, access 2 additional cards when you breach R&D.", "stripped_title": "The Maker's Eye", "text": "Run R&D. If successful, access 2 additional cards when you breach R&D.", - "title": "The Maker's Eye", + "title": "The Maker’s Eye", "type_code": "event", "uniqueness": false }, @@ -950,7 +950,7 @@ "stripped_text": "When your turn begins, you may trash 1 of your other installed cards. If you do, gain 3 credits.", "stripped_title": "Aesop's Pawnshop", "text": "When your turn begins, you may trash 1 of your other installed cards. If you do, gain 3[credit].", - "title": "Aesop's Pawnshop", + "title": "Aesop’s Pawnshop", "type_code": "resource", "uniqueness": true }, @@ -1306,7 +1306,7 @@ "side_code": "corp", "stripped_text": "X credits, trash: Choose 1 rezzed piece of ice protecting this server. That ice gets +X strength for the remainder of the turn.", "stripped_title": "Corporate Troubleshooter", - "text": "X[credit], [trash]: Choose 1 rezzed piece of ice protecting this server. That ice gets +X strength for the remainder of the turn.", + "text": "X[credit], [trash]: Choose 1 rezzed piece of ice protecting this server. That ice gets +X strength for the remainder of the turn.", "title": "Corporate Troubleshooter", "trash_cost": 2, "type_code": "upgrade", @@ -1842,7 +1842,7 @@ "side_code": "corp", "stripped_text": "Each agenda in the root of this server gets -1 advancement requirement. Limit 1 region per server.", "stripped_title": "SanSan City Grid", - "text": "Each agenda in the root of this server gets -1 advancement requirement.\nLimit 1 region per server.", + "text": "Each agenda in the root of this server gets −1 advancement requirement.\nLimit 1 region per server.", "title": "SanSan City Grid", "trash_cost": 5, "type_code": "upgrade", diff --git a/pack/core2.json b/pack/core2.json index 0221e9d6e..0bff34891 100644 --- a/pack/core2.json +++ b/pack/core2.json @@ -301,7 +301,7 @@ "side_code": "runner", "stripped_text": "While you are encountering a piece of ice, it gets -1 strength.", "stripped_title": "Ice Carver", - "text": "While you are encountering a piece of ice, it gets -1 strength.", + "text": "While you are encountering a piece of ice, it gets −1 strength.", "title": "Ice Carver", "type_code": "resource", "uniqueness": true @@ -460,9 +460,9 @@ "position": 23, "quantity": 2, "side_code": "runner", - "stripped_text": "Run any server. The first time this run you encounter a piece of ice, bypass it.", + "stripped_text": "Run any server. The first time you encounter a piece of ice during that run, bypass it.", "stripped_title": "Inside Job", - "text": "Run any server. The first time this run you encounter a piece of ice, bypass it.", + "text": "Run any server. The first time you encounter a piece of ice during that run, bypass it.", "title": "Inside Job", "type_code": "event", "uniqueness": false @@ -841,9 +841,9 @@ "position": 42, "quantity": 2, "side_code": "runner", - "stripped_text": "Search either your stack or your heap for 1 program. (Shuffle your stack if you searched it.) Install that program, ignoring all costs. When your turn ends, if that program has not been uninstalled, add it to the top of your stack.", + "stripped_text": "Search either your stack or your heap for 1 program. (Shuffle your stack after searching it.) Install that program, ignoring all costs. When your turn ends, if that program has not been uninstalled, add it to the top of your stack.", "stripped_title": "Test Run", - "text": "Search either your stack or your heap for 1 program. (Shuffle your stack if you searched it.) Install that program, ignoring all costs. When your turn ends, if that program has not been uninstalled, add it to the top of your stack.", + "text": "Search either your stack or your heap for 1 program. (Shuffle your stack after searching it.) Install that program, ignoring all costs. When your turn ends, if that program has not been uninstalled, add it to the top of your stack.", "title": "Test Run", "type_code": "event", "uniqueness": false @@ -864,7 +864,7 @@ "stripped_text": "Run R&D. If successful, access 2 additional cards when you breach R&D.", "stripped_title": "The Maker's Eye", "text": "Run R&D. If successful, access 2 additional cards when you breach R&D.", - "title": "The Maker's Eye", + "title": "The Maker’s Eye", "type_code": "event", "uniqueness": false }, @@ -1048,7 +1048,7 @@ "stripped_text": "When your turn begins, you may trash 1 of your other installed cards. If you do, gain 3 credits.", "stripped_title": "Aesop's Pawnshop", "text": "When your turn begins, you may trash 1 of your other installed cards. If you do, gain 3[credit].", - "title": "Aesop's Pawnshop", + "title": "Aesop’s Pawnshop", "type_code": "resource", "uniqueness": true }, @@ -1236,7 +1236,7 @@ "deck_limit": 3, "faction_code": "haas-bioroid", "flavor": "Who wants to start a war?", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Security", "pack_code": "core2", "position": 62, @@ -1255,7 +1255,7 @@ "code": "20063", "deck_limit": 3, "faction_code": "haas-bioroid", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Research", "pack_code": "core2", "position": 63, @@ -1840,7 +1840,7 @@ "faction_code": "jinteki", "faction_cost": 2, "flavor": "Despite its appearance, the Hokusai Grid is the most notorious research facility at Jinteki.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Region", "pack_code": "core2", "position": 92, @@ -1918,7 +1918,7 @@ "deck_limit": 3, "faction_code": "nbn", "faction_cost": 1, - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Ambush - Facility", "pack_code": "core2", "position": 96, @@ -2197,7 +2197,7 @@ "code": "20079", "deck_limit": 3, "faction_code": "weyland-consortium", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Research", "pack_code": "core2", "position": 110, @@ -2279,7 +2279,7 @@ "faction_code": "weyland-consortium", "faction_cost": 2, "flavor": "GRNDL refineries process many different rare elements unearthed during the fracking process.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Facility", "pack_code": "core2", "position": 114, @@ -2547,7 +2547,7 @@ "faction_code": "neutral-corp", "faction_cost": 0, "flavor": "\"The mining bosses are worse than any downstalk crime lords. Tri-Maf, 4K, Yak, I don't care what gangs you got down there. In Heinlein there's just one law: the He3 must flow.\" -\"Old\" Rick Henry, escaped clone.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "pack_code": "core2", "position": 127, "quantity": 2, diff --git a/pack/cotc.json b/pack/cotc.json index 167d4a421..063cd521b 100644 --- a/pack/cotc.json +++ b/pack/cotc.json @@ -260,7 +260,7 @@ "code": "21054", "deck_limit": 1, "faction_code": "nbn", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Division", "minimum_deck_size": 40, diff --git a/pack/dad.json b/pack/dad.json index 1aa299eee..5058addce 100644 --- a/pack/dad.json +++ b/pack/dad.json @@ -43,7 +43,7 @@ "deck_limit": 1, "faction_code": "nbn", "flavor": "We're ready to start the fire.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Division", "minimum_deck_size": 45, diff --git a/pack/dc.json b/pack/dc.json index 43b270a11..2463cb4d9 100644 --- a/pack/dc.json +++ b/pack/dc.json @@ -299,7 +299,7 @@ "code": "12016", "deck_limit": 1, "faction_code": "weyland-consortium", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Corp", "minimum_deck_size": 45, diff --git a/pack/df.json b/pack/df.json index 91e1b5504..056973894 100644 --- a/pack/df.json +++ b/pack/df.json @@ -6,14 +6,14 @@ "faction_code": "anarch", "faction_cost": 1, "flavor": "With each passing day alone, Hoshiko found it harder to think. With each hour, the static grew louder.", - "illustrator": "Photo Tammy Gann/Unsplash & Deep Dream", + "illustrator": "Photo Tammy Gann Unsplash. Deep Dream", "pack_code": "df", "position": 1, "quantity": 3, "side_code": "runner", - "stripped_text": "As an additional cost to play this event, trash an installed resource. Gain 7 credits.", + "stripped_text": "As an additional cost to play this event, trash 1 installed resource. Gain 7 credits.", "stripped_title": "Isolation", - "text": "As an additional cost to play this event, trash an installed resource.\nGain 7[credit].", + "text": "As an additional cost to play this event, trash 1 installed resource.\nGain 7[credit].", "title": "Isolation", "type_code": "event", "uniqueness": false @@ -31,9 +31,9 @@ "position": 2, "quantity": 3, "side_code": "runner", - "stripped_text": "+1 mu The trash cost of each Corp card is lowered by 1. The first time each turn you trash a Corp card, gain 1 credit. Limit 1 console per player.", + "stripped_text": "+1 mu The trash cost of each Corp card is lowered by 1 credit. The first time each turn you trash a Corp card, gain 1 credit. Limit 1 console per player.", "stripped_title": "Demolisher", - "text": "+1[mu]\nThe trash cost of each Corp card is lowered by 1.\nThe first time each turn you trash a Corp card, gain 1[credit].\nLimit 1 console per player.", + "text": "+1[mu]\nThe trash cost of each Corp card is lowered by 1[credit].\nThe first time each turn you trash a Corp card, gain 1[credit].\nLimit 1 console per player.", "title": "Demolisher", "type_code": "hardware", "uniqueness": true @@ -52,9 +52,9 @@ "position": 3, "quantity": 3, "side_code": "runner", - "stripped_text": "Install only on a piece of ice. Host ice gets -1 strength for each hosted virus counter. When you encounter host ice, if its strength is 0 or less, trash it. Otherwise, place 1 virus counter on this program.", + "stripped_text": "Install only on a piece of ice. Host ice gets -1 strength for each hosted virus counter. Whenever you encounter host ice, if its strength is 0 or less, trash it. Otherwise, place 1 virus counter on this program.", "stripped_title": "Chisel", - "text": "Install only on a piece of ice.\nHost ice gets -1 strength for each hosted virus counter.\nWhen you encounter host ice, if its strength is 0 or less, trash it. Otherwise, place 1 virus counter on this program.", + "text": "Install only on a piece of ice.\nHost ice gets −1 strength for each hosted virus counter.\nWhenever you encounter host ice, if its strength is 0 or less, trash it. Otherwise, place 1 virus counter on this program.", "title": "Chisel", "type_code": "program", "uniqueness": false @@ -65,7 +65,7 @@ "deck_limit": 3, "faction_code": "anarch", "faction_cost": 3, - "flavor": "\"Net space is an abstraction, a white lie protecting fragile comprehensions. Do not limit yourself.\" -z\\h/r", + "flavor": "“Net space is an abstraction, a white lie protecting fragile comprehensions. Do not limit yourself.”\n)—z\\h/r", "illustrator": "Iain Fairclough", "memory_cost": 2, "pack_code": "df", @@ -132,9 +132,9 @@ "position": 7, "quantity": 3, "side_code": "runner", - "stripped_text": "When your turn begins or you steal an agenda, place 1 credit on this resource. Whenever you make a successful run, you may spend hosted credits for the remainder of that run. When your turn ends, if there are 3 or more hosted credits, you must pay 1 credit or trash this resource.", + "stripped_text": "When your turn begins and whenever you steal an agenda, place 1 credit on this resource. Whenever you make a successful run, you can spend hosted credits for the remainder of that run. When your turn ends, if there are 3 or more hosted credits, you must pay 1 credit or trash this resource.", "stripped_title": "Fencer Fueno", - "text": "When your turn begins or you steal an agenda, place 1[credit] on this resource.\nWhenever you make a successful run, you may spend hosted credits for the remainder of that run.\nWhen your turn ends, if there are 3 or more hosted credits, you must pay 1[credit] or trash this resource.", + "text": "When your turn begins and whenever you steal an agenda, place 1[credit] on this resource.\nWhenever you make a successful run, you can spend hosted credits for the remainder of that run.\nWhen your turn ends, if there are 3 or more hosted credits, you must pay 1[credit] or trash this resource.", "title": "Fencer Fueno", "type_code": "resource", "uniqueness": true @@ -145,7 +145,7 @@ "deck_limit": 3, "faction_code": "anarch", "faction_cost": 5, - "flavor": "\"...well, I'm laughing.\"", + "flavor": "“…well, I’m laughing.”", "illustrator": "Wyn Lacabra", "keywords": "Connection - Seedy", "pack_code": "df", @@ -167,14 +167,14 @@ "faction_cost": 3, "flavor": "Friends hide your fears.", "illustrator": "Izzy Pruett", - "keywords": "Stealth - Companion - Virtual", + "keywords": "Companion - Stealth - Virtual", "pack_code": "df", "position": 9, "quantity": 3, "side_code": "runner", - "stripped_text": "When your turn begins or you steal an agenda, place 1 credit on this resource. Spend hosted credits to use programs during runs. When your turn ends, if there are 3 or more hosted credits, you must take 1 tag or trash this resource.", + "stripped_text": "When your turn begins and whenever you steal an agenda, place 1 credit on this resource. You can spend hosted credits to use programs during runs. When your turn ends, if there are 3 or more hosted credits, you must take 1 tag or trash this resource.", "stripped_title": "Trickster Taka", - "text": "When your turn begins or you steal an agenda, place 1[credit] on this resource.\nSpend hosted credits to use programs during runs.\nWhen your turn ends, if there are 3 or more hosted credits, you must take 1 tag or trash this resource.", + "text": "When your turn begins and whenever you steal an agenda, place 1[credit] on this resource.\nYou can spend hosted credits to use programs during runs.\nWhen your turn ends, if there are 3 or more hosted credits, you must take 1 tag or trash this resource.", "title": "Trickster Taka", "type_code": "resource", "uniqueness": true @@ -184,7 +184,7 @@ "code": "26010", "deck_limit": 1, "faction_code": "criminal", - "flavor": "\"You're not listening.\"", + "flavor": "“You’re not listening.”", "illustrator": "Luminita Pham", "influence_limit": 15, "keywords": "Cyborg", @@ -207,16 +207,16 @@ "deck_limit": 3, "faction_code": "criminal", "faction_cost": 3, - "flavor": "\"Everyone told me she was reliable in a pinch.\"\n -Az McCaffrey", + "flavor": "“Everyone told me she was reliable in a pinch.”\n—Az McCaffrey", "illustrator": "Olie Boldador", "keywords": "Run", "pack_code": "df", "position": 11, "quantity": 3, "side_code": "runner", - "stripped_text": "Run any server. When that run ends, if it was unsuccessful, you may run that server again, ignoring any additional costs to run. During the second run, when you encounter the last ice you encountered in the first run, bypass it.", + "stripped_text": "Run any server. When that run ends, if it was unsuccessful, you may run the attacked server again, ignoring any additional costs to run. During the second run, whenever you encounter the last piece of ice you encountered during the first run, bypass it.", "stripped_title": "Always Have a Backup Plan", - "text": "Run any server. When that run ends, if it was unsuccessful, you may run that server again, ignoring any additional costs to run. During the second run, when you encounter the last ice you encountered in the first run, bypass it.", + "text": "Run any server. When that run ends, if it was unsuccessful, you may run the attacked server again, ignoring any additional costs to run. During the second run, whenever you encounter the last piece of ice you encountered during the first run, bypass it.", "title": "Always Have a Backup Plan", "type_code": "event", "uniqueness": false @@ -246,15 +246,15 @@ "deck_limit": 3, "faction_code": "criminal", "faction_cost": 1, - "flavor": "BMI switches let runners surface without a true disconnect. Handy for a break... immediately.", + "flavor": "BMI switches let runners surface without a true disconnect. Handy for a break… immediately.", "illustrator": "Krembler", "pack_code": "df", "position": 13, "quantity": 3, "side_code": "runner", - "stripped_text": "You cannot use this hardware during the Corp's turn. trash: Jack out. trash: Remove 1 tag. Interrupt -> trash: Reduce the base trace strength of a trace to 0.", + "stripped_text": "Use this hardware only during your turn. trash: Jack out. trash: Remove 1 tag. Interrupt -> trash: Reduce the base trace strength of a trace to 0.", "stripped_title": "Flip Switch", - "text": "You cannot use this hardware during the Corp's turn.\n[trash]: Jack out.\n[trash]: Remove 1 tag.\n[interrupt] → [trash]: Reduce the base trace strength of a trace to 0.", + "text": "Use this hardware only during your turn.\n[trash]: Jack out.\n[trash]: Remove 1 tag.\n[interrupt] → [trash]: Reduce the base trace strength of a trace to 0.", "title": "Flip Switch", "type_code": "hardware", "uniqueness": false @@ -267,13 +267,14 @@ "faction_cost": 2, "flavor": "Want to win a coinflip? Use a coin with two heads.", "illustrator": "Elizaveta Sokolova", + "keywords": "Chip", "pack_code": "df", "position": 14, "quantity": 3, "side_code": "runner", - "stripped_text": "Remove this hardware from the game: Prevent a Corp card ability from ending the run. Use this ability only if you made a successful run on HQ this turn.", + "stripped_text": "Interrupt -> Remove this hardware from the game: Prevent a Corp card ability from ending the run. Use this ability only if you made a successful run on HQ this turn.", "stripped_title": "Lucky Charm", - "text": "Remove this hardware from the game: Prevent a Corp card ability from ending the run. Use this ability only if you made a successful run on HQ this turn.", + "text": "[interrupt] → Remove this hardware from the game: Prevent a Corp card ability from ending the run. Use this ability only if you made a successful run on HQ this turn.", "title": "Lucky Charm", "type_code": "hardware", "uniqueness": true @@ -284,16 +285,16 @@ "deck_limit": 3, "faction_code": "criminal", "faction_cost": 4, - "flavor": "v35: Springs to the mount ejectors (new feature)\nv36: Reduced power to springs (x5)", + "flavor": "v35: Springs to the mount ejectors (new feature)\nv36: Reduced power to springs (×5)", "illustrator": "Olie Boldador", "keywords": "Console", "pack_code": "df", "position": 15, "quantity": 3, "side_code": "runner", - "stripped_text": "+1 mu. The first time each turn you install a piece of hardware, draw 1 card. Whenever a run begins, you may install a piece of hardware, paying 1 credit more. Limit 1 console per player.", + "stripped_text": "+1 mu The first time each turn you install a piece of hardware, draw 1 card. Whenever a run begins, you may install 1 piece of hardware from your grip, paying 1 credit more. Limit 1 console per player.", "stripped_title": "Masterwork (v37)", - "text": "+1[mu].\nThe first time each turn you install a piece of hardware, draw 1 card.\nWhenever a run begins, you may install a piece of hardware, paying 1[credit] more.\nLimit 1 console per player.", + "text": "+1[mu]\nThe first time each turn you install a piece of hardware, draw 1 card.\nWhenever a run begins, you may install 1 piece of hardware from your grip, paying 1[credit] more.\nLimit 1 console per player.", "title": "Masterwork (v37)", "type_code": "hardware", "uniqueness": true @@ -304,7 +305,7 @@ "deck_limit": 3, "faction_code": "criminal", "faction_cost": 4, - "flavor": "\"Do the job. Get paid. Leave feelings at the door.\" -\"Baklan\" Bochkin", + "flavor": "“Do the job. Get paid. Leave feelings at the door.”\n—“Baklan” Bochkin", "illustrator": "Iain Fairclough", "keywords": "Icebreaker - Killer", "memory_cost": 1, @@ -326,17 +327,17 @@ "deck_limit": 3, "faction_code": "criminal", "faction_cost": 3, - "flavor": "\"Psh, let them gossip. The cat knows whose meat it has eaten.\" -\"Baklan\" Bochkin", + "flavor": "“Psh, let them gossip. The cat knows whose meat it has eaten.”\n—“Baklan” Bochkin", "illustrator": "Janet Bruesselbach", "keywords": "Connection", "pack_code": "df", "position": 17, "quantity": 3, "side_code": "runner", - "stripped_text": "The first time each run you encounter a piece of ice, place 1 power counter on this resource. trash: Derez the ice you are encountering if its strength is equal to or less than the number of hosted power counters. Take 1 tag.", + "stripped_text": "The first time you encounter a piece of ice during each run, place 1 power counter on this resource. trash, X hosted power counters: Derez the ice you are encountering if its strength is X or less. Take 1 tag.", "stripped_title": "\"Baklan\" Bochkin", - "text": "The first time each run you encounter a piece of ice, place 1 power counter on this resource.\n[trash]: Derez the ice you are encountering if its strength is equal to or less than the number of hosted power counters. Take 1 tag.", - "title": "\"Baklan\" Bochkin", + "text": "The first time you encounter a piece of ice during each run, place 1 power counter on this resource.\n[trash], X hosted power counters: Derez the ice you are encountering if its strength is X or less. Take 1 tag.", + "title": "“Baklan” Bochkin", "type_code": "resource", "uniqueness": true }, @@ -346,16 +347,16 @@ "deck_limit": 3, "faction_code": "criminal", "faction_cost": 5, - "flavor": "\"...but I am without compare.\"", + "flavor": "“…but I am without compare.”", "illustrator": "Wyn Lacabra", "keywords": "Connection - Ritzy", "pack_code": "df", "position": 18, "quantity": 3, "side_code": "runner", - "stripped_text": "When your discard phase ends, if you installed this resource this turn, draw 4 cards. Interrupt -> The first time each turn you would draw any number of cards, look at the top X cards of your stack. Add 1 of those cards to the bottom of your stack. X is equal to the number of cards you will draw plus 1.", + "stripped_text": "When a discard phase ends, if you installed this resource this turn, draw 4 cards. Interrupt -> The first time each turn you would draw any number of cards, look at the top X cards of your stack. Add 1 of those cards to the bottom of your stack. X is equal to the number of cards you would draw plus 1.", "stripped_title": "The Class Act", - "text": "When your discard phase ends, if you installed this resource this turn, draw 4 cards.\n[interrupt] → The first time each turn you would draw any number of cards, look at the top X cards of your stack. Add 1 of those cards to the bottom of your stack. X is equal to the number of cards you will draw plus 1.", + "text": "When a discard phase ends, if you installed this resource this turn, draw 4 cards.\n[interrupt] → The first time each turn you would draw any number of cards, look at the top X cards of your stack. Add 1 of those cards to the bottom of your stack. X is equal to the number of cards you would draw plus 1.", "title": "The Class Act", "type_code": "resource", "uniqueness": true @@ -365,6 +366,7 @@ "code": "26019", "deck_limit": 1, "faction_code": "shaper", + "flavor": "Letʼs do it fast fast, then back to mine for tuak.", "illustrator": "Luminita Pham", "influence_limit": 15, "keywords": "Natural", @@ -374,9 +376,9 @@ "pronouns": "he/him", "quantity": 1, "side_code": "runner", - "stripped_text": "When your turn ends, if you have the same number of cards in your grip as the Corp has in HQ, you may draw 1 card.", + "stripped_text": "When your discard phase ends, if you have the same number of cards in your grip as the Corp has in HQ, you may draw 1 card.", "stripped_title": "Lat: Ethical Freelancer", - "text": "When your turn ends, if you have the same number of cards in your grip as the Corp has in HQ, you may draw 1 card.", + "text": "When your discard phase ends, if you have the same number of cards in your grip as the Corp has in HQ, you may draw 1 card.", "title": "Lat: Ethical Freelancer", "type_code": "identity", "uniqueness": false @@ -387,16 +389,16 @@ "deck_limit": 3, "faction_code": "shaper", "faction_cost": 4, - "flavor": "Do you know how many food deliveries I've missed this week?", + "flavor": "Do you know how many food deliveries I’ve missed this week?", "illustrator": "Olie Boldador", "keywords": "Priority", "pack_code": "df", "position": 20, "quantity": 3, "side_code": "runner", - "stripped_text": "Play only as your first click. Whenever you install a card with a printed install cost of 1 or greater this turn, draw 1 card or gain 1 credit.", + "stripped_text": "Play only as your first click. For the remainder of this turn, whenever you install a card with a printed install cost of 1 credit or greater, draw 1 card or gain 1 credit.", "stripped_title": "In the Groove", - "text": "Play only as your first [click].\nWhenever you install a card with a printed install cost of 1 or greater this turn, draw 1 card or gain 1[credit].", + "text": "Play only as your first [click].\nFor the remainder of this turn, whenever you install a card with a printed install cost of 1[credit] or greater, draw 1 card or gain 1[credit].", "title": "In the Groove", "type_code": "event", "uniqueness": false @@ -413,9 +415,9 @@ "position": 21, "quantity": 3, "side_code": "runner", - "stripped_text": "Run R&D. If successful, instead of breaching R&D, choose a number greater than 0. For each installed card you have with a printed install cost matching that number, reveal 1 card from the top of R&D (max 6). Access 1 of the revealed cards, then the Corp shuffles R&D.", + "stripped_text": "Run R&D. If successful, instead of breaching R&D, choose an install cost greater than 0 credits. The Corp sets aside the top X cards of R&D faceup, where X is equal to the number of your installed cards with that printed install cost, up to 6. Access 1 of the set-aside cards. The Corp shuffles the set-aside cards into R&D.", "stripped_title": "Khusyuk", - "text": "Run R&D. If successful, instead of breaching R&D, choose a number greater than 0. For each installed card you have with a printed install cost matching that number, reveal 1 card from the top of R&D (max 6). Access 1 of the revealed cards, then the Corp shuffles R&D.", + "text": "Run R&D. If successful, instead of breaching R&D, choose an install cost greater than 0[credit]. The Corp sets aside the top X cards of R&D faceup, where X is equal to the number of your installed cards with that printed install cost, up to 6. Access 1 of the set-aside cards. The Corp shuffles the set-aside cards into R&D.", "title": "Khusyuk", "type_code": "event", "uniqueness": false @@ -426,16 +428,16 @@ "deck_limit": 3, "faction_code": "shaper", "faction_cost": 1, - "flavor": "\"There is never a wasted program. Someone, somewhere, will have a use for that code. Even corps are scrambling for quick fixes nowadays.\"\n-Lat", + "flavor": "“There is never a wasted program. Someone, somewhere, will have a use for that code. Even corps are scrambling for quick fixes nowadays.”\n—Lat", "illustrator": "Krembler", "keywords": "Job", "pack_code": "df", "position": 22, "quantity": 3, "side_code": "runner", - "stripped_text": "As an additional cost to play this event, trash an installed program. Gain 4 credits and draw 2 cards.", + "stripped_text": "As an additional cost to play this event, trash 1 installed program. Gain 4 credits and draw 2 cards.", "stripped_title": "Spec Work", - "text": "As an additional cost to play this event, trash an installed program.\nGain 4[credit] and draw 2 cards.", + "text": "As an additional cost to play this event, trash 1 installed program.\nGain 4[credit] and draw 2 cards.", "title": "Spec Work", "type_code": "event", "uniqueness": false @@ -453,9 +455,9 @@ "position": 23, "quantity": 3, "side_code": "runner", - "stripped_text": "+2 mu You have +1 maximum hand size. When your turn ends, if you and the Corp have the same number of credits, you may gain 2 credits. Limit 1 console per player.", + "stripped_text": "+2 mu You get +1 maximum hand size. When your turn ends, if you and the Corp have the same number of credits, you may gain 2 credits. Limit 1 console per player.", "stripped_title": "Supercorridor", - "text": "+2[mu]\nYou have +1 maximum hand size.\nWhen your turn ends, if you and the Corp have the same number of credits, you may gain 2[credit].\nLimit 1 console per player.", + "text": "+2[mu]\nYou get +1 maximum hand size.\nWhen your turn ends, if you and the Corp have the same number of credits, you may gain 2[credit].\nLimit 1 console per player.", "title": "Supercorridor", "type_code": "hardware", "uniqueness": true @@ -488,7 +490,7 @@ "deck_limit": 3, "faction_code": "shaper", "faction_cost": 3, - "flavor": "It makes sysops see red. And orange, yellow, green...", + "flavor": "It makes sysops see red. And orange, yellow, green…", "illustrator": "Iain Fairclough", "keywords": "Virus", "memory_cost": 1, @@ -496,9 +498,9 @@ "position": 25, "quantity": 3, "side_code": "runner", - "stripped_text": "When you install this program, place 2 virus counters on it. Hosted virus counter: Choose an ice subtype. The ice you are encountering gains that subtype for the remainder of the encounter. Use this ability only once per turn.", + "stripped_text": "When you install this program, place 2 virus counters on it. Hosted virus counter: Choose an ice subtype. The ice you are encountering gains that subtype for the remainder of this encounter. Use this ability only once per turn.", "stripped_title": "Pelangi", - "text": "When you install this program, place 2 virus counters on it.\nHosted virus counter: Choose an ice subtype. The ice you are encountering gains that subtype for the remainder of the encounter. Use this ability only once per turn.", + "text": "When you install this program, place 2 virus counters on it.\nHosted virus counter: Choose an ice subtype. The ice you are encountering gains that subtype for the remainder of this encounter. Use this ability only once per turn.", "title": "Pelangi", "type_code": "program", "uniqueness": false @@ -509,8 +511,8 @@ "deck_limit": 3, "faction_code": "shaper", "faction_cost": 1, - "flavor": "\"It takes such simple things to sustain us, the most important of which is to be thankful.\" -Lat", - "illustrator": "Jakuza", + "flavor": "“It takes such simple things to sustain us, the most important of which is to be thankful.”\n—Lat", + "illustrator": "Elwin \"Jakuza\" Rumplmair", "memory_cost": 1, "pack_code": "df", "position": 26, @@ -529,16 +531,16 @@ "deck_limit": 3, "faction_code": "shaper", "faction_cost": 5, - "flavor": "\"...then let me paint you a picture.\"", + "flavor": "“…then let me paint you a picture.”", "illustrator": "Wyn Lacabra", "keywords": "Connection", "pack_code": "df", "position": 27, "quantity": 3, "side_code": "runner", - "stripped_text": "Use each ability on this resource only once per turn. click: Gain 2 credits. click: Install a program or piece of hardware, paying 1 credit less.", + "stripped_text": "Use each ability on this resource only once per turn. click: Gain 2 credits. click: Install 1 program or piece of hardware from your grip, paying 1 credit less.", "stripped_title": "The Artist", - "text": "Use each ability on this resource only once per turn.\n[click]: Gain 2[credit].\n[click]: Install a program or piece of hardware, paying 1[credit] less.", + "text": "Use each ability on this resource only once per turn.\n[click]: Gain 2[credit].\n[click]: Install 1 program or piece of hardware from your grip, paying 1[credit] less.", "title": "The Artist", "type_code": "resource", "uniqueness": true @@ -558,7 +560,7 @@ "side_code": "runner", "stripped_text": "While you are resolving this event, each player's identity loses all abilities. Run any server. When that run ends, you may shuffle this event into your stack.", "stripped_title": "Direct Access", - "text": "While you are resolving this event, each player's identity loses all abilities.\nRun any server. When that run ends, you may shuffle this event into your stack.", + "text": "While you are resolving this event, each playerʼs identity loses all abilities.\nRun any server. When that run ends, you may shuffle this event into your stack.", "title": "Direct Access", "type_code": "event", "uniqueness": false @@ -569,15 +571,16 @@ "deck_limit": 3, "faction_code": "neutral-runner", "faction_cost": 0, - "flavor": "I didn't say your hopper should be hauling garbage. I said it should be hauled away as garbage.", + "flavor": "I didn’t say your hopper should be hauling garbage. I said it should be hauled away as garbage.", "illustrator": "Krembler", + "keywords": "Mod", "pack_code": "df", "position": 29, "quantity": 3, "side_code": "runner", - "stripped_text": "Add an installed program or piece of hardware to your grip. If you do, you may install a program or piece of hardware, paying X credits less. X is equal to the printed install cost of the uninstalled card.", + "stripped_text": "As an additional cost to play this event, add 1 installed program or piece of hardware to your grip. Install 1 program or piece of hardware from your grip, paying X credits less. X is equal to the printed install cost of the card you added to your grip.", "stripped_title": "Rejig", - "text": "Add an installed program or piece of hardware to your grip. If you do, you may install a program or piece of hardware, paying X[credit] less. X is equal to the printed install cost of the uninstalled card.", + "text": "As an additional cost to play this event, add 1 installed program or piece of hardware to your grip.\nInstall 1 program or piece of hardware from your grip, paying X[credit] less. X is equal to the printed install cost of the card you added to your grip.", "title": "Rejig", "type_code": "event", "uniqueness": false @@ -588,16 +591,16 @@ "deck_limit": 3, "faction_code": "neutral-runner", "faction_cost": 1, - "flavor": "\"Corporations are made of people; just normal people doing their 6-to-6. The right truths, the right critique, and they can be redeemed.\" -Lat", + "flavor": "“Corporations are made of people; just normal people doing their 6-to-6. The right truths, the right critique, and they can be redeemed.”\n—Lat", "illustrator": "Olie Boldador", "keywords": "Connection", "pack_code": "df", "position": 30, "quantity": 3, "side_code": "runner", - "stripped_text": "Whenever you make a successful run, you may trash this resource to name an agenda. The next time this run you access a copy of the named agenda, steal it, ignoring all costs. (You are no longer accessing it.)", + "stripped_text": "Whenever you make a successful run, you may trash this resource to choose a card name. The next time this run you access an agenda with the chosen name, steal it, ignoring all costs. (You are no longer accessing it.)", "stripped_title": "Whistleblower", - "text": "Whenever you make a successful run, you may trash this resource to name an agenda. The next time this run you access a copy of the named agenda, steal it, ignoring all costs. (You are no longer accessing it.)", + "text": "Whenever you make a successful run, you may trash this resource to choose a card name. The next time this run you access an agenda with the chosen name, steal it, ignoring all costs. (You are no longer accessing it.)", "title": "Whistleblower", "type_code": "resource", "uniqueness": true @@ -606,6 +609,7 @@ "code": "26031", "deck_limit": 1, "faction_code": "haas-bioroid", + "flavor": "Reflection, Not Imitation.", "illustrator": "Kira L. Nguyen", "influence_limit": 15, "keywords": "Division", @@ -614,9 +618,9 @@ "position": 31, "quantity": 1, "side_code": "corp", - "stripped_text": "If the first, second, and third actions you take on your turn are different from each other, when the third completes, you may gain 1 credit or take another different action, paying 1click less.", + "stripped_text": "If the first, second, and third actions you take on your turn are each different from one another, when the third action completes, you may gain 1 credit or take another different action, paying click less.", "stripped_title": "MirrorMorph: Endless Iteration", - "text": "If the first, second, and third actions you take on your turn are different from each other, when the third completes, you may gain 1[credit] or take another different action, paying 1[click] less.", + "text": "If the first, second, and third actions you take on your turn are each different from one another, when the third action completes, you may gain 1[credit] or take another different action, paying [click] less.", "title": "MirrorMorph: Endless Iteration", "type_code": "identity", "uniqueness": false @@ -627,7 +631,7 @@ "code": "26032", "deck_limit": 3, "faction_code": "haas-bioroid", - "flavor": "\"Early success should be rewarded, as it will encourage a culture of drive and competition.\"\n-Corporate Leadership for Dummies", + "flavor": "“Early success should be rewarded, as it will encourage a culture of drive and competition.”\n—Corporate Leadership for Dummies", "illustrator": "Krembler", "keywords": "Research", "pack_code": "df", @@ -656,7 +660,7 @@ "side_code": "corp", "stripped_text": "click: Draw 2 cards. Use this ability only once per turn. When the Runner trashes this asset, you may draw 2 cards.", "stripped_title": "Calvin B4L3Y", - "text": "[click]: Draw 2 cards. Use this ability only once per turn.\nWhen the Runner trashes this asset, you may draw 2 cards.", + "text": "[click]: Draw 2 cards. Use this ability only once per turn.\nWhen the Runner trashes this asset, you may draw 2 cards.", "title": "Calvin B4L3Y", "trash_cost": 3, "type_code": "asset", @@ -670,13 +674,14 @@ "faction_cost": 2, "flavor": "At the scale where nanobots cut glass, quantum mechanics dictate error. A silicon atom here, an oxygen there, an erbium out of place. Each bioroid is born unique.", "illustrator": "Krembler", + "keywords": "Industrial", "pack_code": "df", "position": 34, "quantity": 3, "side_code": "corp", "stripped_text": "click: Gain 2 credits. Use this ability only once per turn. When the Runner trashes this asset, you may gain 2 credits.", "stripped_title": "Nanoetching Matrix", - "text": "[click]: Gain 2[credit]. Use this ability only once per turn.\nWhen the Runner trashes this asset, you may gain 2[credit].", + "text": "[click]: Gain 2[credit]. Use this ability only once per turn.\nWhen the Runner trashes this asset, you may gain 2[credit].", "title": "Nanoetching Matrix", "trash_cost": 3, "type_code": "asset", @@ -696,9 +701,9 @@ "quantity": 3, "side_code": "corp", "strength": 6, - "stripped_text": "This ice has -1 strength for each installed icebreaker. Subroutine Trash 1 program that is not a decoder, fracter, or killer. Subroutine End the run.", + "stripped_text": "This ice gets -1 strength for each installed icebreaker. Subroutine Trash 1 installed program that is not a decoder, fracter, or killer. Subroutine End the run.", "stripped_title": "Hagen", - "text": "This ice has -1 strength for each installed icebreaker.\n[subroutine] Trash 1 program that is not a decoder, fracter, or killer.\n[subroutine] End the run.", + "text": "This ice gets −1 strength for each installed icebreaker.\n[subroutine] Trash 1 installed program that is not a decoder, fracter, or killer.\n[subroutine] End the run.", "title": "Hagen", "type_code": "ice", "uniqueness": false @@ -709,7 +714,7 @@ "deck_limit": 3, "faction_code": "haas-bioroid", "faction_cost": 3, - "flavor": "Haas' unsecured servers were fortified just before the storm. Are their bioroid oracles that good, or were they tipped off?", + "flavor": "Haas’ unsecured servers were fortified just before the storm. Are their bioroid oracles that good, or were they tipped off?", "illustrator": "Krembler", "pack_code": "df", "position": 36, @@ -735,9 +740,9 @@ "position": 37, "quantity": 3, "side_code": "corp", - "stripped_text": "Resolve two of the following in any order: * Draw 2 cards. * Gain 2 credits. * Install up to 1 non-agenda card. * Gain click.", + "stripped_text": "Resolve 2 of the following in any order: * Draw 2 cards. * Gain 2 credits. * Install 1 non-agenda card from HQ. * Gain click.", "stripped_title": "Red Level Clearance", - "text": "Resolve two of the following in any order:", + "text": "Resolve 2 of the following in any order:", "title": "Red Level Clearance", "type_code": "operation", "uniqueness": false @@ -748,16 +753,16 @@ "deck_limit": 3, "faction_code": "haas-bioroid", "faction_cost": 3, - "flavor": "The Net abhors a vacuum. Any unexplained gap must be made.", + "flavor": "The Net abhors a vacuum. Any unexplained gap must be made.", "illustrator": "Krembler", "keywords": "Facility", "pack_code": "df", "position": 38, "quantity": 3, "side_code": "corp", - "stripped_text": "click: Place 1 power counter on this upgrade. As an additional cost to run this server, the Runner must spend 1click and 1 credit for each hosted power counter. When your turn begins, remove all hosted power counters.", + "stripped_text": "click: Place 1 power counter on this upgrade. As an additional cost to run this server, the Runner must spend click and 1 credit for each hosted power counter. When your turn begins, remove all hosted power counters.", "stripped_title": "Cold Site Server", - "text": "[click]: Place 1 power counter on this upgrade.\nAs an additional cost to run this server, the Runner must spend 1[click] and 1[credit] for each hosted power counter.\nWhen your turn begins, remove all hosted power counters.", + "text": "[click]: Place 1 power counter on this upgrade.\nAs an additional cost to run this server, the Runner must spend [click] and 1[credit] for each hosted power counter.\nWhen your turn begins, remove all hosted power counters.", "title": "Cold Site Server", "trash_cost": 3, "type_code": "upgrade", @@ -768,7 +773,7 @@ "deck_limit": 1, "faction_code": "jinteki", "flavor": "No Stone Unturned.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Division", "minimum_deck_size": 45, @@ -776,9 +781,9 @@ "position": 39, "quantity": 1, "side_code": "corp", - "stripped_text": "The first time each turn you reveal a card, gain 1 credit. click: Reveal a card from the grip at random or the top card of the stack.", + "stripped_text": "The first time each turn you reveal a card, gain 1 credit. click: Reveal 1 card from the grip at random or the top card of the stack.", "stripped_title": "Hyoubu Institute: Absolute Clarity", - "text": "The first time each turn you reveal a card, gain 1[credit].\n[click]: Reveal a card from the grip at random or the top card of the stack.", + "text": "The first time each turn you reveal a card, gain 1[credit].\n[click]: Reveal 1 card from the grip at random or the top card of the stack.", "title": "Hyoubu Institute: Absolute Clarity", "type_code": "identity", "uniqueness": false @@ -808,16 +813,16 @@ "code": "26041", "deck_limit": 3, "faction_code": "jinteki", - "flavor": "\"'It is my nature,' said the scorpion.\"\n-Conceptual Frameworks in Bio-Ethics and Synthetic Morality, Moser University Press", + "flavor": "“‘It is my nature,’ said the scorpion.”\n—Conceptual Frameworks in Bio-Ethics and Synthetic Morality, Moser University Press", "illustrator": "Krembler", "keywords": "Ambush", "pack_code": "df", "position": 41, "quantity": 3, "side_code": "corp", - "stripped_text": "When a player scores or steals this agenda, do X net damage. X is equal to the number of copies of Sting! in the other player's score area plus 1.", + "stripped_text": "When a player scores or steals this agenda, do X net damage. X is equal to 1 plus the number of copies of Sting! in the other player's score area.", "stripped_title": "Sting!", - "text": "When a player scores or steals this agenda, do X net damage. X is equal to the number of copies of Sting! in the other player's score area plus 1.", + "text": "When a player scores or steals this agenda, do X net damage. X is equal to 1 plus the number of copies of Sting! in the other playerʼs score area.", "title": "Sting!", "type_code": "agenda", "uniqueness": false @@ -829,7 +834,7 @@ "faction_code": "jinteki", "faction_cost": 1, "flavor": "Hyoubu is our vanguard in the battle for hearts and minds.", - "illustrator": "Krembler, Iain Fairclough", + "illustrator": "Krembler & Iain Fairclough", "keywords": "Facility", "pack_code": "df", "position": 42, @@ -849,16 +854,16 @@ "deck_limit": 3, "faction_code": "jinteki", "faction_cost": 2, - "flavor": "\"Memory is a tangle of emotional threads. Pull one, it twists a second, unravels a third!\" -Letheia Nisei", + "flavor": "“Memory is a tangle of emotional threads. Pull one, it twists a second, unravels a third!”\n—Letheia Nisei", "illustrator": "Krembler", "keywords": "Hostile", "pack_code": "df", "position": 43, "quantity": 3, "side_code": "corp", - "stripped_text": "The first time each turn you trash (from any location) a card that matches the faction of the Runner's identity, place 1 power counter on this asset. click, hosted power counter: Do 1 net damage.", + "stripped_text": "The first time each turn you trash a card that matches the faction of the Runner's identity (from any location), place 1 power counter on this asset. click, hosted power counter: Do 1 net damage.", "stripped_title": "Storgotic Resonator", - "text": "The first time each turn you trash (from any location) a card that matches the faction of the Runner's identity, place 1 power counter on this asset.\n[click], hosted power counter: Do 1 net damage.", + "text": "The first time each turn you trash a card that matches the faction of the Runnerʼs identity (from any location), place 1 power counter on this asset.\n[click], hosted power counter: Do 1 net damage. ", "title": "Storgotic Resonator", "trash_cost": 2, "type_code": "asset", @@ -877,9 +882,9 @@ "quantity": 3, "side_code": "corp", "strength": 2, - "stripped_text": "When the Runner encounters this ice, choose a card type. For the remainder of the encounter, whenever you trash a card of that type with net damage from a subroutine on this ice, do 1 net damage. Subroutine Do 1 net damage. Subroutine Do 1 net damage. Subroutine Do 1 net damage.", + "stripped_text": "When the Runner encounters this ice, choose a card type. For the remainder of the encounter, whenever you trash a card of the chosen type with net damage from a subroutine on this ice, do 1 net damage. Subroutine Do 1 net damage. Subroutine Do 1 net damage. Subroutine Do 1 net damage.", "stripped_title": "Saisentan", - "text": "When the Runner encounters this ice, choose a card type. For the remainder of the encounter, whenever you trash a card of that type with net damage from a subroutine on this ice, do 1 net damage.\n[subroutine] Do 1 net damage.\n[subroutine] Do 1 net damage.\n[subroutine] Do 1 net damage.", + "text": "When the Runner encounters this ice, choose a card type. For the remainder of the encounter, whenever you trash a card of the chosen type with net damage from a subroutine on this ice, do 1 net damage.\n[subroutine] Do 1 net damage.\n[subroutine] Do 1 net damage.\n[subroutine] Do 1 net damage.", "title": "Saisentan", "type_code": "ice", "uniqueness": false @@ -896,9 +901,9 @@ "position": 45, "quantity": 3, "side_code": "corp", - "stripped_text": "After you resolve this operation, your action phase ends. Play only if the Runner has 3 or more agenda points and they made a successful run during their last turn. Name a card, then do 1 net damage. If you trash a copy of the named card, repeat this process.", + "stripped_text": "Play only if the Runner has 3 or more agenda points and they made a successful run during their last turn. After you resolve this operation, your action phase ends. Choose a card name, then do 1 net damage. If you trash a card with the chosen name this way, repeat this process.", "stripped_title": "Complete Image", - "text": "After you resolve this operation, your action phase ends.\nPlay only if the Runner has 3 or more agenda points and they made a successful run during their last turn.\nName a card, then do 1 net damage. If you trash a copy of the named card, repeat this process.", + "text": "Play only if the Runner has 3 or more agenda points and they made a successful run during their last turn.\nAfter you resolve this operation, your action phase ends.\nChoose a card name, then do 1 net damage. If you trash a card with the chosen name this way, repeat this process.", "title": "Complete Image", "trash_cost": 2, "type_code": "operation", @@ -916,9 +921,9 @@ "position": 46, "quantity": 3, "side_code": "corp", - "stripped_text": "The first time each run the Runner approaches this server, you and the Runner secretly spend 0 credits, 1 credit, or 2 credits. Reveal spent credits. If you and the Runner spent a different number of credits, you may trash this upgrade. If you do, the Runner moves to the outermost position of this server. The Runner may jack out.", + "stripped_text": "The first time the Runner approaches this server during each run, play a Psi Game. (Players secretly bid 0-2 credits. Then each player reveals and spends their bid.) If the bids differ, you may trash this upgrade. If you do, the Runner moves to the outermost position of this server. They may jack out.", "stripped_title": "Letheia Nisei", - "text": "The first time each run the Runner approaches this server, you and the Runner secretly spend 0[credit], 1[credit], or 2[credit]. Reveal spent credits. If you and the Runner spent a different number of credits, you may trash this upgrade. If you do, the Runner moves to the outermost position of this server. The Runner may jack out.", + "text": "The first time the Runner approaches this server during each run, play a Psi Game. (Players secretly bid 0–2[credit]. Then each player reveals and spends their bid.) If the bids differ, you may trash this upgrade. If you do, the Runner moves to the outermost position of this server. They may jack out.", "title": "Letheia Nisei", "trash_cost": 2, "type_code": "upgrade", @@ -937,9 +942,9 @@ "position": 47, "quantity": 3, "side_code": "corp", - "stripped_text": "When you score this agenda, place 1 agenda counter on it. Hosted agenda counter: Place 1 advancement token on an installed card.", + "stripped_text": "When you score this agenda, place 1 agenda counter on it. Hosted agenda counter: Place 1 advancement counter on an installed card.", "stripped_title": "Remastered Edition", - "text": "When you score this agenda, place 1 agenda counter on it.\nHosted agenda counter: Place 1 advancement token on an installed card.", + "text": "When you score this agenda, place 1 agenda counter on it.\nHosted agenda counter: Place 1 advancement counter on an installed card.", "title": "Remastered Edition", "type_code": "agenda", "uniqueness": false @@ -955,9 +960,9 @@ "position": 48, "quantity": 3, "side_code": "corp", - "stripped_text": "Rez only during your action phase. Whenever the Runner makes a successful run on this server, they gain 2 credits. When your turn begins, gain 3 credits if the Runner did not make any successful runs on this server during their last turn.", + "stripped_text": "Rez only during your action phase. Whenever the Runner makes a successful run on this server, they gain 2 credits. When your turn begins, if the Runner did not make a successful run on this server during their last turn, gain 3 credits.", "stripped_title": "Daily Quest", - "text": "Rez only during your action phase.\nWhenever the Runner makes a successful run on this server, they gain 2[credit].\nWhen your turn begins, gain 3[credit] if the Runner did not make any successful runs on this server during their last turn.", + "text": "Rez only during your action phase.\nWhenever the Runner makes a successful run on this server, they gain 2[credit].\nWhen your turn begins, if the Runner did not make a successful run on this server during their last turn, gain 3[credit].", "title": "Daily Quest", "trash_cost": 3, "type_code": "asset", @@ -969,7 +974,7 @@ "deck_limit": 3, "faction_code": "nbn", "faction_cost": 1, - "flavor": "Subscribe for 12 months to get that premium uplink you need to blaze ahead of the crowd!", + "flavor": "Subscribe for 12 months to get that premium uplink you need to blaze ahead of the crowd!", "illustrator": "N. Hopkins", "keywords": "Advertisement", "pack_code": "df", @@ -1000,7 +1005,7 @@ "strength": 3, "stripped_text": "When the Runner passes this ice, gain 1 credit. Subroutine Gain 2 credits. The Runner gains 1 credit.", "stripped_title": "Congratulations!", - "text": "When the Runner passes this ice, gain 1[credit].\n[subroutine]Gain 2[credit]. The Runner gains 1[credit].", + "text": "When the Runner passes this ice, gain 1[credit].\n[subroutine] Gain 2[credit]. The Runner gains 1[credit].", "title": "Congratulations!", "type_code": "ice", "uniqueness": false @@ -1011,7 +1016,7 @@ "deck_limit": 3, "faction_code": "nbn", "faction_cost": 1, - "flavor": "Though many countries attempted to regulate digital loot boxes in the early 21st century, GameNET has managed to circumvent any such laws via explicit, transparent percentage rates... and some very determined lobbyists.", + "flavor": "Though many countries attempted to regulate digital loot boxes in the early 21st century, GameNET has managed to circumvent any such laws via explicit, transparent percentage rates… and some very determined lobbyists.", "illustrator": "Krembler", "keywords": "Trap", "pack_code": "df", @@ -1019,9 +1024,9 @@ "quantity": 3, "side_code": "corp", "strength": 3, - "stripped_text": "Subroutine End the run unless the Runner pays 2 credits. Subroutine Reveal the top 3 cards of the stack. Add 1 of those cards to the grip and gain credits equal to its install or play cost. The Runner shuffles the stack. Trash this ice.", + "stripped_text": "Subroutine End the run unless the Runner pays 2 credits. Subroutine Reveal the top 3 cards of the stack. Add 1 of those cards to the grip and gain X credits, where X is equal to that card's play or install cost. The Runner shuffles the stack. Trash this ice.", "stripped_title": "Loot Box", - "text": "[subroutine]End the run unless the Runner pays 2[credit].\n[subroutine]Reveal the top 3 cards of the stack. Add 1 of those cards to the grip and gain credits equal to its install or play cost. The Runner shuffles the stack. Trash this ice.", + "text": "[subroutine] End the run unless the Runner pays 2[credit].\n[subroutine] Reveal the top 3 cards of the stack. Add 1 of those cards to the grip and gain X[credit], where X is equal to that cardʼs play or install cost. The Runner shuffles the stack. Trash this ice.", "title": "Loot Box", "type_code": "ice", "uniqueness": false @@ -1032,15 +1037,15 @@ "deck_limit": 3, "faction_code": "nbn", "faction_cost": 3, - "flavor": "\"There's gonna be catering, right?\"", + "flavor": "“There’s gonna be catering, right?”", "illustrator": "Dimik", "pack_code": "df", "position": 52, "quantity": 3, "side_code": "corp", - "stripped_text": "Play only if the Runner made a successful run during their last turn. Choose a card type, then reveal the grip. You may pay X credits to place X advancement tokens on an installed card. X is equal to or less than the number of revealed cards of the chosen type.", + "stripped_text": "Play only if the Runner made a successful run during their last turn. Choose a card type, then reveal the grip. Choose a value for X equal to or less than the number of revealed cards of the chosen type. You may pay X credits to place X advancement counters on 1 installed card.", "stripped_title": "Focus Group", - "text": "Play only if the Runner made a successful run during their last turn.\nChoose a card type, then reveal the grip. You may pay X[credit] to place X advancement tokens on an installed card. X is equal to or less than the number of revealed cards of the chosen type.", + "text": "Play only if the Runner made a successful run during their last turn.\nChoose a card type, then reveal the grip. Choose a value for X equal to or less than the number of revealed cards of the chosen type. You may pay X[credit] to place X advancement counters on 1 installed card.", "title": "Focus Group", "type_code": "operation", "uniqueness": false @@ -1058,9 +1063,9 @@ "position": 53, "quantity": 3, "side_code": "corp", - "stripped_text": "Play only if the Runner stole an agenda during their last turn. Choose a Runner card type. Trash all installed non-icebreaker cards of that type. The Runner may prevent any of those cards from being trashed by paying 3 credits each. Take 1 bad publicity.", + "stripped_text": "Play only if the Runner stole an agenda during their last turn. Choose a Runner card type. Trash all installed non-icebreaker cards of the chosen type. For each card that would be trashed this way, the Runner may pay 3 credits to prevent that card from being trashed. Take 1 bad publicity.", "stripped_title": "Game Over", - "text": "Play only if the Runner stole an agenda during their last turn.\nChoose a Runner card type. Trash all installed non-icebreaker cards of that type. The Runner may prevent any of those cards from being trashed by paying 3[credit] each. Take 1 bad publicity.", + "text": "Play only if the Runner stole an agenda during their last turn.\nChoose a Runner card type. Trash all installed non-icebreaker cards of the chosen type. For each card that would be trashed this way, the Runner may pay 3[credit] to prevent that card from being trashed.\nTake 1 bad publicity.", "title": "Game Over", "type_code": "operation", "uniqueness": false @@ -1071,8 +1076,8 @@ "deck_limit": 3, "faction_code": "nbn", "faction_cost": 1, - "flavor": "Ultra-Mythic chance ↑!↑!↑! Free Vorpal Tommy Gun [epic] and pinstripe suit [cosmetic] with 10x buy-in!", - "illustrator": "N. Hopkins, Krembler", + "flavor": "Ultra-Mythic chance ↑!↑!↑! Free Vorpal Tommy Gun [epic] and pinstripe suit [cosmetic] with 10× buy-in!", + "illustrator": "N. Hopkins & Krembler", "keywords": "Ambush", "pack_code": "df", "position": 54, @@ -1092,7 +1097,7 @@ "code": "26055", "deck_limit": 3, "faction_code": "weyland-consortium", - "flavor": "As the documents show, for eight months they have operated as an entirely independent fiscal entity. We are as appalled at the carelessness as you are, and fully support City Hall's investigation.", + "flavor": "As the documents show, for eight months they have operated as an entirely independent fiscal entity. We are as appalled at the carelessness as you are, and fully support City Hall’s investigation.", "illustrator": "Krembler", "pack_code": "df", "position": 55, @@ -1111,16 +1116,16 @@ "code": "26056", "deck_limit": 3, "faction_code": "weyland-consortium", - "flavor": "\"Drones are precision instruments. Collateral damage is merely an undisclosed target.\" -Chief \"Pinchy\" Wilson", + "flavor": "“Drones are precision instruments. Collateral damage is merely an undisclosed target.”\n—Chief “Pinchy” Wilson", "illustrator": "Olie Boldador", "keywords": "Security", "pack_code": "df", "position": 56, "quantity": 3, "side_code": "corp", - "stripped_text": "As an additional cost to steal this agenda, the Runner must trash an installed program. When you score this agenda, trash an installed program.", + "stripped_text": "As an additional cost to steal this agenda, the Runner must trash 1 installed program. When you score this agenda, trash 1 installed program.", "stripped_title": "SDS Drone Deployment", - "text": "As an additional cost to steal this agenda, the Runner must trash an installed program.\nWhen you score this agenda, trash an installed program.", + "text": "As an additional cost to steal this agenda, the Runner must trash 1 installed program.\nWhen you score this agenda, trash 1 installed program.", "title": "SDS Drone Deployment", "type_code": "agenda", "uniqueness": false @@ -1131,15 +1136,16 @@ "deck_limit": 3, "faction_code": "weyland-consortium", "faction_cost": 1, - "flavor": "\"There's something about the human touch that androids will never replace.\" -Mila Braun", + "flavor": "“There’s something about the human touch that androids will never replace.”\n—Mila Braun", "illustrator": "Olie Boldador", + "keywords": "Industrial", "pack_code": "df", "position": 57, "quantity": 3, "side_code": "corp", - "stripped_text": "click, click, click: Gain 6 credits. You may remove 1 bad publicity.", + "stripped_text": "click click click: Gain 6 credits. You may remove 1 bad publicity.", "stripped_title": "Roughneck Repair Squad", - "text": "[click], [click], [click]: Gain 6[credit]. You may remove 1 bad publicity.", + "text": "[click][click][click]: Gain 6[credit]. You may remove 1 bad publicity.", "title": "Roughneck Repair Squad", "trash_cost": 3, "type_code": "asset", @@ -1161,7 +1167,7 @@ "strength": 1, "stripped_text": "While this ice is protecting HQ, the Runner cannot break more than 1 of its printed subroutines during each encounter. Subroutine The Runner loses 2 credits. Subroutine End the run.", "stripped_title": "Afshar", - "text": "While this ice is protecting HQ, the Runner cannot break more than 1 of its printed subroutines during each encounter.\n[subroutine]The Runner loses 2[credit].\n[subroutine]End the run.", + "text": "While this ice is protecting HQ, the Runner cannot break more than 1 of its printed subroutines during each encounter.\n[subroutine] The Runner loses 2[credit].\n[subroutine] End the run.", "title": "Afshar", "type_code": "ice", "uniqueness": false @@ -1180,9 +1186,9 @@ "quantity": 3, "side_code": "corp", "strength": 6, - "stripped_text": "When the Runner encounters this ice, place 1 virus counter on it. This ice has -1 strength for each hosted virus counter. Subroutine End the run.", + "stripped_text": "When the Runner encounters this ice, place 1 virus counter on it. This ice gets -1 strength for each hosted virus counter. Subroutine End the run.", "stripped_title": "Sandstone", - "text": "When the Runner encounters this ice, place 1 virus counter on it.\nThis ice has -1 strength for each hosted virus counter.\n[subroutine]End the run.", + "text": "When the Runner encounters this ice, place 1 virus counter on it.\nThis ice gets −1 strength for each hosted virus counter.\n[subroutine] End the run.", "title": "Sandstone", "type_code": "ice", "uniqueness": false @@ -1200,9 +1206,9 @@ "quantity": 3, "side_code": "corp", "strength": 6, - "stripped_text": "When you rez this ice, take 1 bad publicity. Subroutine Trash 1 installed Runner card. Subroutine Trace[6]. If successful, the Runner cannot steal or trash Corp cards for the remainder of the run.", + "stripped_text": "When you rez this ice, take 1 bad publicity. Subroutine Trash 1 installed Runner card. Subroutine Trace[6]. If successful, the Runner cannot steal or trash Corp cards for the remainder of this run.", "stripped_title": "Trebuchet", - "text": "When you rez this ice, take 1 bad publicity.\n[subroutine] Trash 1 installed Runner card.\n[subroutine] Trace[6]. If successful, the Runner cannot steal or trash Corp cards for the remainder of the run.", + "text": "When you rez this ice, take 1 bad publicity.\n[subroutine] Trash 1 installed Runner card.\n[subroutine] Trace[6]. If successful, the Runner cannot steal or trash Corp cards for the remainder of this run.", "title": "Trebuchet", "type_code": "ice", "uniqueness": false @@ -1213,16 +1219,16 @@ "deck_limit": 3, "faction_code": "weyland-consortium", "faction_cost": 3, - "flavor": "Secure Servers. Contain Infections. Protect Data.\n-The SecTech Mantra", + "flavor": "Secure Servers. Contain Infections. Protect Data.\n—The SecTech Mantra", "illustrator": "Krembler", "keywords": "Double", "pack_code": "df", "position": 61, "quantity": 3, "side_code": "corp", - "stripped_text": "As an additional cost to play this operation, spend click. Search R&D for a piece of ice and reveal it. (Shuffle R&D after searching it.) Install that ice protecting a central server, paying 3 credits less.", + "stripped_text": "As an additional cost to play this operation, spend click. Search R&D for 1 piece of ice and reveal it. (Shuffle R&D after searching it.) Install that ice protecting a central server, paying 3 credits less.", "stripped_title": "Secure and Protect", - "text": "As an additional cost to play this operation, spend [click].\nSearch R&D for a piece of ice and reveal it. (Shuffle R&D after searching it.) Install that ice protecting a central server, paying 3[credit] less.", + "text": "As an additional cost to play this operation, spend [click].\nSearch R&D for 1 piece of ice and reveal it. (Shuffle R&D after searching it.) Install that ice protecting a central server, paying 3[credit] less.", "title": "Secure and Protect", "type_code": "operation", "uniqueness": false @@ -1253,16 +1259,16 @@ "deck_limit": 3, "faction_code": "neutral-corp", "faction_cost": 1, - "flavor": "The Fracture was no different from any other crisis. As always, Management's first instinct was to find someone to blame. Getting food up to Midway or He3 down to power Earthside hospitals are trivialities compared to the important work of salving Executive ego and keeping one's job.", + "flavor": "The Fracture was no different from any other crisis. As always, Management’s first instinct was to find someone to blame. Getting food up to Midway or He3 down to power Earthside hospitals are trivialities compared to the important work of salving Executive ego and keeping one’s job.", "illustrator": "Iain Fairclough", "keywords": "Research", "pack_code": "df", "position": 63, "quantity": 3, "side_code": "corp", - "stripped_text": "You cannot score this agenda if you installed it this turn.", + "stripped_text": "You cannot score this agenda if it was installed this turn.", "stripped_title": "Vulnerability Audit", - "text": "You cannot score this agenda if you installed it this turn.", + "text": "You cannot score this agenda if it was installed this turn.", "title": "Vulnerability Audit", "type_code": "agenda", "uniqueness": false @@ -1273,7 +1279,7 @@ "deck_limit": 3, "faction_code": "neutral-corp", "faction_cost": 0, - "flavor": "\"By matching funds on your donations, the Space Elevator Authority has already planted over eight million trees on the Pacific coast. Together we can restore New Angeles to its former glory.\"\n-Elizabeth Mills", + "flavor": "“By matching funds on your donations, the Space Elevator Authority has already planted over eight million trees on the Pacific coast. Together we can restore New Angeles to its former glory.”\n—Elizabeth Mills", "illustrator": "Elizaveta Sokolova", "keywords": "Advertisement", "pack_code": "df", @@ -1301,9 +1307,9 @@ "quantity": 3, "side_code": "corp", "strength": 0, - "stripped_text": "During runs on this server, you can rez this ice any time you could rez non-ice cards. Each piece of ice protecting this server has +1 strength. Subroutine The Runner loses 1 credit.", + "stripped_text": "During runs against this server, you can rez this ice any time you could rez non-ice cards. Each piece of ice protecting this server gets +1 strength. Subroutine The Runner loses 1 credit.", "stripped_title": "Rime", - "text": "During runs on this server, you can rez this ice any time you could rez non-ice cards.\nEach piece of ice protecting this server has +1 strength.\n[subroutine] The Runner loses 1[credit].", + "text": "During runs against this server, you can rez this ice any time you could rez non-ice cards.\nEach piece of ice protecting this server gets +1 strength.\n[subroutine] The Runner loses 1[credit].", "title": "Rime", "type_code": "ice", "uniqueness": false diff --git a/pack/draft.json b/pack/draft.json index 6c014a0aa..59fd291e2 100644 --- a/pack/draft.json +++ b/pack/draft.json @@ -123,7 +123,7 @@ "code": "00011", "deck_limit": 1, "faction_code": "jinteki", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": null, "keywords": "Division", "minimum_deck_size": 30, @@ -161,7 +161,7 @@ "code": "00013", "deck_limit": 1, "faction_code": "weyland-consortium", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": null, "keywords": "Division", "minimum_deck_size": 30, diff --git a/pack/dt.json b/pack/dt.json index 2916a1227..127631f59 100644 --- a/pack/dt.json +++ b/pack/dt.json @@ -204,7 +204,7 @@ "deck_limit": 3, "faction_code": "haas-bioroid", "faction_cost": 2, - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Double", "pack_code": "dt", "position": 111, diff --git a/pack/dtwn.json b/pack/dtwn.json index 83c9f0229..9ff5a0f71 100644 --- a/pack/dtwn.json +++ b/pack/dtwn.json @@ -293,9 +293,9 @@ "position": 35, "quantity": 3, "side_code": "corp", - "stripped_text": "Play only if the Runner trashed a Corp card during their last turn. Choose 1 installed Runner card. The Runner must take 2 tags or add that card to the top of the stack. Remove this operation from the game.", + "stripped_text": "Play only if the Runner trashed a Corp card during their last turn and the Runner has at least 1 installed card. Choose 1 installed Runner card. The Runner must take 2 tags or add that card to the top of the stack. Remove this operation from the game.", "stripped_title": "Threat Assessment", - "text": "Play only if the Runner trashed a Corp card during their last turn.\nChoose 1 installed Runner card. The Runner must take 2 tags or add that card to the top of the stack.\nRemove this operation from the game.", + "text": "Play only if the Runner trashed a Corp card during their last turn and the Runner has at least 1 installed card.\nChoose 1 installed Runner card. The Runner must take 2 tags or add that card to the top of the stack.\nRemove this operation from the game.", "title": "Threat Assessment", "type_code": "operation", "uniqueness": false @@ -367,7 +367,7 @@ "faction_code": "neutral-corp", "faction_cost": 0, "flavor": "\"Who knew non-profits could be so profitable?\"", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "pack_code": "dtwn", "position": 39, "quantity": 3, @@ -387,7 +387,7 @@ "faction_code": "neutral-corp", "faction_cost": 0, "flavor": "\"Food. Drinks. Entertainment. It doesn't take much to gratify the bourgeoisie.\"", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "pack_code": "dtwn", "position": 40, "quantity": 3, diff --git a/pack/eas.json b/pack/eas.json index 56a2d2ecc..129e2391d 100644 --- a/pack/eas.json +++ b/pack/eas.json @@ -225,7 +225,7 @@ "code": "12052", "deck_limit": 1, "faction_code": "jinteki", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 17, "keywords": "Division", "minimum_deck_size": 45, diff --git a/pack/fal.json b/pack/fal.json index 3bf39881a..74b323872 100644 --- a/pack/fal.json +++ b/pack/fal.json @@ -326,7 +326,7 @@ "deck_limit": 1, "faction_code": "weyland-consortium", "flavor": "Geostrategic Research and Neothermal Development Laboratories", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 10, "keywords": "Division", "minimum_deck_size": 45, @@ -368,7 +368,7 @@ "faction_code": "weyland-consortium", "faction_cost": 2, "flavor": "GRNDL refineries process many different rare elements unearthed during the fracking process.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Facility", "pack_code": "fal", "position": 99, diff --git a/pack/fc.json b/pack/fc.json index 189c337ca..65857a6fa 100644 --- a/pack/fc.json +++ b/pack/fc.json @@ -69,7 +69,7 @@ "faction_code": "jinteki", "faction_cost": 2, "flavor": "The port was first built as a remote location to unload and offload dangerous felons.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Region", "pack_code": "fc", "position": 44, diff --git a/pack/ftm.json b/pack/ftm.json index 88fc4615a..323ab2f44 100644 --- a/pack/ftm.json +++ b/pack/ftm.json @@ -150,9 +150,9 @@ "quantity": 3, "side_code": "corp", "strength": 3, - "stripped_text": "When you rez this ice, choose 1 installed program hosted on a piece of ice. Move that program onto this ice. Each hosted program loses all abilities. Subroutine End the run.", + "stripped_text": "When you rez this ice, choose 1 installed program hosted on a piece of ice. Host that program on this ice. Each hosted program loses all abilities and cannot gain abilities. Subroutine End the run.", "stripped_title": "Magnet", - "text": "When you rez this ice, choose 1 installed program hosted on a piece of ice. Move that program onto this ice.\nEach hosted program loses all abilities.\n[subroutine] End the run.", + "text": "When you rez this ice, choose 1 installed program hosted on a piece of ice. Host that program on this ice.\nEach hosted program loses all abilities and cannot gain abilities.\n[subroutine] End the run.", "title": "Magnet", "type_code": "ice", "uniqueness": false @@ -221,7 +221,7 @@ "deck_limit": 1, "faction_code": "nbn", "flavor": "We Know What You Want.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 17, "keywords": "Division", "minimum_deck_size": 45, diff --git a/pack/hap.json b/pack/hap.json index 512d58bdd..3ee0d6ed6 100644 --- a/pack/hap.json +++ b/pack/hap.json @@ -4,7 +4,7 @@ "deck_limit": 1, "faction_code": "jinteki", "flavor": "Evolving a Better You.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 12, "keywords": "Division", "minimum_deck_size": 40, @@ -24,7 +24,7 @@ "deck_limit": 1, "faction_code": "jinteki", "flavor": "Perfecting the Imperfect.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Division", "minimum_deck_size": 45, @@ -43,7 +43,7 @@ "code": "05003", "deck_limit": 1, "faction_code": "jinteki", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Division", "minimum_deck_size": 45, @@ -406,7 +406,7 @@ "faction_code": "jinteki", "faction_cost": 2, "flavor": "It is difficult to go to Japan without ending up in the sprawl of NeoTokyo.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Region", "pack_code": "hap", "position": 21, @@ -510,7 +510,7 @@ "faction_code": "neutral-corp", "faction_cost": 0, "flavor": "YucaBean has seen astounding growth in even the most remote markets.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Transaction", "pack_code": "hap", "position": 26, @@ -582,7 +582,7 @@ "stripped_text": "The first time each turn you play a run event, gain 1 credit.", "stripped_title": "Ken \"Express\" Tenma: Disappeared Clone", "text": "The first time each turn you play a run event, gain 1[credit].", - "title": "Ken \"Express\" Tenma: Disappeared Clone", + "title": "Ken “Express” Tenma: Disappeared Clone", "type_code": "identity", "uniqueness": false }, @@ -751,7 +751,7 @@ "faction_code": "criminal", "faction_cost": 2, "flavor": "Express loved libraries. The consoles were weak, but the security even weaker. He wirelessly loaded up his personal blend of code and started cloning the drive. In just a few minutes, another zombie would claw its way to the surface of cyberspace.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "pack_code": "hap", "position": 38, "quantity": 3, diff --git a/pack/hs.json b/pack/hs.json index 8b9ab8823..f940bb61d 100644 --- a/pack/hs.json +++ b/pack/hs.json @@ -284,7 +284,7 @@ "faction_code": "jinteki", "faction_cost": 2, "flavor": "Despite its appearance, the Hokusai Grid is the most notorious research facility at Jinteki.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Region", "pack_code": "hs", "position": 95, diff --git a/pack/ka.json b/pack/ka.json index 945934c66..22a46cd92 100644 --- a/pack/ka.json +++ b/pack/ka.json @@ -259,7 +259,7 @@ "code": "21114", "deck_limit": 1, "faction_code": "jinteki", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Division", "minimum_deck_size": 45, diff --git a/pack/mo.json b/pack/mo.json index a9ce58e0c..e2d6a472f 100644 --- a/pack/mo.json +++ b/pack/mo.json @@ -128,7 +128,7 @@ "faction_code": "neutral-runner", "faction_cost": 1, "flavor": "Designed by the Day 1A players at Magnum Opus", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Orgcrime - Run - Terminal", "pack_code": "mo", "position": 7, diff --git a/pack/ms.json b/pack/ms.json index 469741424..51329f449 100644 --- a/pack/ms.json +++ b/pack/ms.json @@ -8,7 +8,6 @@ "illustrator": "Benjamin Giletti", "influence_limit": 15, "keywords": "Cyborg", - "memory_cost": 4, "minimum_deck_size": 45, "pack_code": "ms", "position": 1, @@ -210,7 +209,6 @@ "illustrator": "Benjamin Giletti", "influence_limit": 15, "keywords": "G-mod", - "memory_cost": 4, "minimum_deck_size": 45, "pack_code": "ms", "position": 11, @@ -415,7 +413,6 @@ "illustrator": "Benjamin Giletti", "influence_limit": 15, "keywords": "Cyborg", - "memory_cost": 4, "minimum_deck_size": 45, "pack_code": "ms", "position": 21, @@ -498,7 +495,7 @@ "position": 25, "quantity": 3, "side_code": "runner", - "stripped_text": "+2mu When you install this hardware, place 3 power counters on it. The first time each turn you make a successful run, place 1 power counter on this hardware. 2 hosted power counters: Break up to 2 subroutines. Limit 1 console per player.", + "stripped_text": "+2 mu When you install this hardware, place 3 power counters on it. The first time each turn you make a successful run, place 1 power counter on this hardware. 2 hosted power counters: Break up to 2 subroutines. Limit 1 console per player.", "stripped_title": "Endurance", "text": "+2[mu]\nWhen you install this hardware, place 3 power counters on it.\nThe first time each turn you make a successful run, place 1 power counter on this hardware.\n2 hosted power counters: Break up to 2 subroutines.\nLimit 1 console per player.", "title": "Endurance", @@ -634,7 +631,7 @@ "deck_limit": 3, "faction_code": "haas-bioroid", "flavor": "\"The Midnight-3 glows with an inviting warmth that belies the broken promise within. All that awaits you there is a life of indentured servitude.\"\n–Sundog", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Expansion", "pack_code": "ms", "position": 32, @@ -924,7 +921,7 @@ "faction_code": "jinteki", "faction_cost": 4, "flavor": "One becomes many.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Double", "pack_code": "ms", "position": 46, @@ -963,7 +960,7 @@ "deck_limit": 1, "faction_code": "nbn", "flavor": "Political news, fit for public consumption.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Division", "minimum_deck_size": 45, diff --git a/pack/oac.json b/pack/oac.json index 5fde8a6fe..0c4f2ed2d9 100644 --- a/pack/oac.json +++ b/pack/oac.json @@ -4,7 +4,7 @@ "deck_limit": 1, "faction_code": "weyland-consortium", "flavor": "We Never Sleep.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Corp", "minimum_deck_size": 45, @@ -24,7 +24,7 @@ "deck_limit": 1, "faction_code": "weyland-consortium", "flavor": "Sic Itur Ad Astra.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Corp", "minimum_deck_size": 45, @@ -44,7 +44,7 @@ "deck_limit": 1, "faction_code": "weyland-consortium", "flavor": "The Way Forward.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 17, "keywords": "Corp", "minimum_deck_size": 45, diff --git a/pack/oh.json b/pack/oh.json index 541864def..d92889c6f 100644 --- a/pack/oh.json +++ b/pack/oh.json @@ -223,7 +223,7 @@ "deck_limit": 1, "faction_code": "nbn", "flavor": "Home of Your Imagination.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Division", "minimum_deck_size": 45, diff --git a/pack/om.json b/pack/om.json index 8a9c5299c..8d84dcb4b 100644 --- a/pack/om.json +++ b/pack/om.json @@ -185,7 +185,7 @@ "deck_limit": 3, "faction_code": "haas-bioroid", "flavor": "Who wants to start a war?", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Security", "pack_code": "om", "position": 10, diff --git a/pack/ph.json b/pack/ph.json index 5af00827f..2f855db4e 100644 --- a/pack/ph.json +++ b/pack/ph.json @@ -784,7 +784,7 @@ "deck_limit": 1, "faction_code": "jinteki", "flavor": "Bringing Mother Nature up to speed.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Division", "minimum_deck_size": 45, @@ -929,7 +929,7 @@ "faction_code": "jinteki", "faction_cost": 2, "flavor": "Here, at the edge of the habitable world, they extract the future from the bones of the past.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Region", "pack_code": "ph", "position": 111, @@ -1275,7 +1275,7 @@ "deck_limit": 1, "faction_code": "neutral-corp", "flavor": "Affordable, Effective, and Uncompromising.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": null, "keywords": "Corp", "minimum_deck_size": 45, diff --git a/pack/qu.json b/pack/qu.json index f93737722..bfcae21f7 100644 --- a/pack/qu.json +++ b/pack/qu.json @@ -346,7 +346,7 @@ "deck_limit": 3, "faction_code": "neutral-corp", "faction_cost": 0, - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "pack_code": "qu", "position": 118, "quantity": 3, diff --git a/pack/rar.json b/pack/rar.json index 74b326cfb..4524bf11d 100644 --- a/pack/rar.json +++ b/pack/rar.json @@ -126,7 +126,7 @@ "faction_code": "anarch", "faction_cost": 3, "flavor": "Another man's treasure.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Location - Seedy", "pack_code": "rar", "position": 7, @@ -648,7 +648,7 @@ "faction_code": "haas-bioroid", "faction_cost": 2, "flavor": "The world changed. Concession prices did not.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Facility", "pack_code": "rar", "position": 33, @@ -796,9 +796,9 @@ "position": 40, "quantity": 3, "side_code": "corp", - "stripped_text": "Play only if the Runner trashed a Corp card during their last turn. Choose 1 of your installed cards. The Runner may access that card. If they do, remove this operation from the game; otherwise, add this operation to the Runner's score area as an agenda worth -1 agenda point.", + "stripped_text": "Play only if the Runner trashed a Corp card during their last turn and you have at least 1 installed card. Choose 1 of your installed cards. The Runner may access that card. If they do, remove this operation from the game; otherwise, add this operation to the Runner's score area as an agenda worth -1 agenda point.", "stripped_title": "Hangeki", - "text": "Play only if the Runner trashed a Corp card during their last turn.\nChoose 1 of your installed cards. The Runner may access that card. If they do, remove this operation from the game; otherwise, add this operation to the Runner's score area as an agenda worth -1 agenda point.", + "text": "Play only if the Runner trashed a Corp card during their last turn and you have at least 1 installed card.\nChoose 1 of your installed cards. The Runner may access that card. If they do, remove this operation from the game; otherwise, add this operation to the Runner's score area as an agenda worth -1 agenda point.", "title": "Hangeki", "type_code": "operation", "uniqueness": false @@ -826,7 +826,7 @@ "code": "22042", "deck_limit": 1, "faction_code": "nbn", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Subsidiary", "minimum_deck_size": 45, @@ -987,7 +987,7 @@ "deck_limit": 1, "faction_code": "weyland-consortium", "flavor": "We do things our way.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Subsidiary", "minimum_deck_size": 45, @@ -1027,7 +1027,7 @@ "deck_limit": 3, "faction_code": "weyland-consortium", "faction_cost": 2, - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "pack_code": "rar", "position": 52, "quantity": 3, @@ -1146,7 +1146,7 @@ "deck_limit": 1, "faction_code": "neutral-corp", "faction_cost": 0, - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Region - Ritzy", "pack_code": "rar", "position": 58, diff --git a/pack/sc19.json b/pack/sc19.json index ed2a05c93..0667c448d 100644 --- a/pack/sc19.json +++ b/pack/sc19.json @@ -320,7 +320,7 @@ "side_code": "runner", "stripped_text": "While you are encountering a piece of ice, it gets -1 strength.", "stripped_title": "Ice Carver", - "text": "While you are encountering a piece of ice, it gets -1 strength.", + "text": "While you are encountering a piece of ice, it gets −1 strength.", "title": "Ice Carver", "type_code": "resource", "uniqueness": true @@ -519,9 +519,9 @@ "position": 26, "quantity": 2, "side_code": "runner", - "stripped_text": "Run any server. The first time this run you encounter a piece of ice, bypass it.", + "stripped_text": "Run any server. The first time you encounter a piece of ice during that run, bypass it.", "stripped_title": "Inside Job", - "text": "Run any server. The first time this run you encounter a piece of ice, bypass it.", + "text": "Run any server. The first time you encounter a piece of ice during that run, bypass it.", "title": "Inside Job", "type_code": "event", "uniqueness": false @@ -828,7 +828,7 @@ "stripped_text": "The first time each turn you encounter a piece of ice, it gains code gate for the remainder of this run.", "stripped_title": "Rielle \"Kit\" Peddler: Transhuman", "text": "The first time each turn you encounter a piece of ice, it gains code gate for the remainder of this run.", - "title": "Rielle \"Kit\" Peddler: Transhuman", + "title": "Rielle “Kit” Peddler: Transhuman", "type_code": "identity", "uniqueness": false }, @@ -901,9 +901,9 @@ "position": 45, "quantity": 1, "side_code": "runner", - "stripped_text": "Search either your stack or your heap for 1 program. (Shuffle your stack if you searched it.) Install that program, ignoring all costs. When your turn ends, if that program has not been uninstalled, add it to the top of your stack.", + "stripped_text": "Search either your stack or your heap for 1 program. (Shuffle your stack after searching it.) Install that program, ignoring all costs. When your turn ends, if that program has not been uninstalled, add it to the top of your stack.", "stripped_title": "Test Run", - "text": "Search either your stack or your heap for 1 program. (Shuffle your stack if you searched it.) Install that program, ignoring all costs. When your turn ends, if that program has not been uninstalled, add it to the top of your stack.", + "text": "Search either your stack or your heap for 1 program. (Shuffle your stack after searching it.) Install that program, ignoring all costs. When your turn ends, if that program has not been uninstalled, add it to the top of your stack.", "title": "Test Run", "type_code": "event", "uniqueness": false @@ -924,7 +924,7 @@ "stripped_text": "Run R&D. If successful, access 2 additional cards when you breach R&D.", "stripped_title": "The Maker's Eye", "text": "Run R&D. If successful, access 2 additional cards when you breach R&D.", - "title": "The Maker's Eye", + "title": "The Maker’s Eye", "type_code": "event", "uniqueness": false }, @@ -1131,7 +1131,7 @@ "stripped_text": "When your turn begins, you may trash 1 of your other installed cards. If you do, gain 3 credits.", "stripped_title": "Aesop's Pawnshop", "text": "When your turn begins, you may trash 1 of your other installed cards. If you do, gain 3[credit].", - "title": "Aesop's Pawnshop", + "title": "Aesop’s Pawnshop", "type_code": "resource", "uniqueness": true }, @@ -1338,7 +1338,7 @@ "deck_limit": 1, "faction_code": "haas-bioroid", "flavor": "Interweaving the Past and the Future.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Division", "minimum_deck_size": 45, @@ -1359,7 +1359,7 @@ "code": "25068", "deck_limit": 3, "faction_code": "haas-bioroid", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Research", "pack_code": "sc19", "position": 68, @@ -2065,7 +2065,7 @@ "faction_code": "jinteki", "faction_cost": 2, "flavor": "Despite its appearance, the Hokusai Grid is the most notorious research facility at Jinteki.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Region", "pack_code": "sc19", "position": 103, @@ -2103,7 +2103,7 @@ "deck_limit": 1, "faction_code": "nbn", "flavor": "We're ready to start the fire.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Division", "minimum_deck_size": 45, @@ -2184,7 +2184,7 @@ "deck_limit": 3, "faction_code": "nbn", "faction_cost": 1, - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Ambush - Facility", "pack_code": "sc19", "position": 109, @@ -2463,7 +2463,7 @@ "deck_limit": 1, "faction_code": "weyland-consortium", "flavor": "Unlimited Energy. Reasonable Prices.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Corp", "minimum_deck_size": 45, @@ -2523,7 +2523,7 @@ "code": "25126", "deck_limit": 3, "faction_code": "weyland-consortium", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Research", "pack_code": "sc19", "position": 126, diff --git a/pack/sg.json b/pack/sg.json index e9739982a..7672c9790 100644 --- a/pack/sg.json +++ b/pack/sg.json @@ -17,7 +17,7 @@ "stripped_text": "The first time each turn you trash a card you are accessing, gain 1 credit and draw 1 card.", "stripped_title": "Rene \"Loup\" Arcemont: Party Animal", "text": "The first time each turn you trash a card you are accessing, gain 1[credit] and draw 1 card.", - "title": "René \"Loup\" Arcemont: Party Animal", + "title": "René “Loup” Arcemont: Party Animal", "type_code": "identity", "uniqueness": false }, @@ -27,7 +27,7 @@ "deck_limit": 3, "faction_code": "anarch", "faction_cost": 1, - "flavor": "They can buy off union leadership, but they can't stop us walking out!", + "flavor": "They can buy off union leadership, but they canʼt stop us walking out!", "illustrator": "David Lei", "pack_code": "sg", "position": 2, @@ -35,7 +35,7 @@ "side_code": "runner", "stripped_text": "Resolve 1 of the following of the Corp's choice: * Gain 6 credits. * Draw 4 cards.", "stripped_title": "Wildcat Strike", - "text": "Resolve 1 of the following of the Corp's choice:", + "text": "Resolve 1 of the following of the Corpʼs choice:", "title": "Wildcat Strike", "type_code": "event", "uniqueness": false @@ -46,7 +46,7 @@ "deck_limit": 3, "faction_code": "anarch", "faction_cost": 3, - "flavor": "\"It hungers to sink teeth into problems.\"\n—Loup", + "flavor": "“It hungers to sink teeth into problems.”\n–Loup", "illustrator": "Martin de Diego Sádaba", "keywords": "Console", "pack_code": "sg", @@ -74,9 +74,9 @@ "position": 4, "quantity": 3, "side_code": "runner", - "stripped_text": "Install only on a piece of ice. When you install this program and when your turn begins, place 1 virus counter on this program. Hosted virus counter: Break 1 subroutine on host ice.", + "stripped_text": "Install only on a piece of ice. (If the host ice is uninstalled, this program is trashed.) When you install this program and when your turn begins, place 1 virus counter on this program. Hosted virus counter: Break 1 subroutine on host ice.", "stripped_title": "Botulus", - "text": "Install only on a piece of ice.\nWhen you install this program and when your turn begins, place 1 virus counter on this program.\nHosted virus counter: Break 1 subroutine on host ice.", + "text": "Install only on a piece of ice. (If the host ice is uninstalled, this program is trashed.)\nWhen you install this program and when your turn begins, place 1 virus counter on this program.\nHosted virus counter: Break 1 subroutine on host ice.", "title": "Botulus", "type_code": "program", "uniqueness": false @@ -131,7 +131,7 @@ "deck_limit": 3, "faction_code": "anarch", "faction_cost": 2, - "flavor": "\"There's a tension to a cook. Each processing cycle sweetens the pot and raises the heat. I stir all night, but few have my appetite for danger.\"\n—René \"Loup\" Arcemont", + "flavor": "“Thereʼs a tension to a cook. Each processing cycle sweetens the pot and raises the heat. I stir all night, but few have my appetite for danger.”\n–René “Loup” Arcemont", "illustrator": "Cat Shen", "keywords": "Virus", "memory_cost": 1, @@ -173,7 +173,7 @@ "deck_limit": 3, "faction_code": "anarch", "faction_cost": 3, - "flavor": "\"It waits on an unlabelled memstrip far below the deepest hab. Angry, desperate souls seek it out, hungry for power to change a brutal world. Once they can stomach no more bitter revenge, they return to that nameless tunnel, the book a recipe thicker.\"\n—Heinlein urban legend", + "flavor": "“It waits on an unlabelled memstrip far below the deepest hab. Angry, desperate souls seek it out, hungry for power to change a brutal world. Once they can stomach no more bitter revenge, they return to that nameless tunnel, the book a recipe thicker.”\n–Heinlein urban legend", "illustrator": "Cat Shen", "keywords": "Virtual", "pack_code": "sg", @@ -221,9 +221,9 @@ "position": 11, "quantity": 3, "side_code": "runner", - "stripped_text": "Search your stack for 1 icebreaker program and reveal it. (Shuffle your stack after searching it.) If you made a successful run this turn, you may install it. If you do not, add it to your grip.", + "stripped_text": "Search your stack for 1 icebreaker and reveal it. (Shuffle your stack after searching it.) If you made a successful run this turn, you may install that program. If you do not, add it to your grip.", "stripped_title": "Mutual Favor", - "text": "Search your stack for 1 icebreaker program and reveal it. (Shuffle your stack after searching it.) If you made a successful run this turn, you may install it. If you do not, add it to your grip.", + "text": "Search your stack for 1 icebreaker and reveal it. (Shuffle your stack after searching it.) If you made a successful run this turn, you may install that program. If you do not, add it to your grip.", "title": "Mutual Favor", "type_code": "event", "uniqueness": false @@ -234,7 +234,7 @@ "deck_limit": 3, "faction_code": "criminal", "faction_cost": 1, - "flavor": "\"A mirrorfiber mod or high-end mantle can be helpful, but nothing beats a good dose of 'keeping your damn head down.'\"\n—\"G0ph3r\" O'Ryan", + "flavor": "“A mirrorfiber mod or high-end mantle can be helpful, but nothing beats a good dose of ‘keeping your damn head down.’”\n–“G0ph3r” OʼRyan", "illustrator": "Jack Reeves", "keywords": "Run", "pack_code": "sg", @@ -273,7 +273,7 @@ "deck_limit": 3, "faction_code": "criminal", "faction_cost": 3, - "flavor": "\"Braggarts chase big heists. Patience enriches skimming fractions of a credit at a time.\" —Zahya", + "flavor": "“Braggarts chase big heists. Patience enriches skimming fractions of a credit at a time.” –Zahya", "illustrator": "Martin de Diego Sádaba", "keywords": "Console", "pack_code": "sg", @@ -315,7 +315,7 @@ "deck_limit": 3, "faction_code": "criminal", "faction_cost": 1, - "flavor": "\"You can't rule a kingdom by standing still.\"\n—Zahya Sadeghi", + "flavor": "“You canʼt rule a kingdom by standing still.”\n–Zahya Sadeghi", "illustrator": "Jack Reeves", "keywords": "Icebreaker - Fracter", "memory_cost": 1, @@ -337,7 +337,7 @@ "deck_limit": 3, "faction_code": "criminal", "faction_cost": 3, - "flavor": "Shhhh. It's naptime.", + "flavor": "Shhhh. Itʼs naptime.", "illustrator": "Jack Reeves", "keywords": "Virus - Trojan", "memory_cost": 1, @@ -345,9 +345,9 @@ "position": 17, "quantity": 3, "side_code": "runner", - "stripped_text": "Install only on a piece of ice. When you install this program and when your turn begins, place 1 virus counter on this program. Then, if there are 3 or more hosted virus counters, derez host ice.", + "stripped_text": "Install only on a piece of ice. (If the host ice is uninstalled, this program is trashed.) When you install this program and when your turn begins, place 1 virus counter on this program. Then, if there are 3 or more hosted virus counters, derez host ice.", "stripped_title": "Tranquilizer", - "text": "Install only on a piece of ice.\nWhen you install this program and when your turn begins, place 1 virus counter on this program. Then, if there are 3 or more hosted virus counters, derez host ice.", + "text": "Install only on a piece of ice. (If the host ice is uninstalled, this program is trashed.)\nWhen you install this program and when your turn begins, place 1 virus counter on this program. Then, if there are 3 or more hosted virus counters, derez host ice.", "title": "Tranquilizer", "type_code": "program", "uniqueness": false @@ -400,7 +400,7 @@ "deck_limit": 3, "faction_code": "shaper", "faction_cost": 2, - "flavor": "The challenge of my art is what I live for, but I'm not going to say no to a patron with taste.", + "flavor": "The challenge of my art is what I live for, but Iʼm not going to say no to a patron with taste.", "illustrator": "Benjamin Giletti", "pack_code": "sg", "position": 20, @@ -419,7 +419,7 @@ "deck_limit": 3, "faction_code": "shaper", "faction_cost": 2, - "flavor": "\"You know there's no water in the Sea of Tranquility, right?\"\n\"That doesn't mean there's no beach.\"", + "flavor": "“You know thereʼs no water in the Sea of Tranquility, right?”\n“That doesnʼt mean thereʼs no beach.”", "illustrator": "Benjamin Giletti", "pack_code": "sg", "position": 21, @@ -457,7 +457,7 @@ "deck_limit": 3, "faction_code": "shaper", "faction_cost": 3, - "flavor": "\"With this beautiful baby I can juggle simultaneous runs by haptic feedback alone!\"\n—Tāo", + "flavor": "“With this beautiful baby I can juggle simultaneous runs by haptic feedback alone!”\n–Tāo", "illustrator": "Martin de Diego Sádaba", "keywords": "Console", "pack_code": "sg", @@ -529,9 +529,9 @@ "quantity": 3, "side_code": "runner", "strength": 1, - "stripped_text": "Interface -> 1 credit: Break 1 code gate subroutine. 1 credit: +1 strength for each installed icebreaker (including this one).", + "stripped_text": "Interface -> 1 credit: Break 1 code gate subroutine. 1 credit: +X strength. X is equal to the number of installed icebreakers (including this one).", "stripped_title": "Unity", - "text": "Interface → 1[credit]: Break 1 code gate subroutine.\n1[credit]: +1 strength for each installed icebreaker (including this one).", + "text": "Interface → 1[credit]: Break 1 code gate subroutine.\n1[credit]: +X strength. X is equal to the number of installed icebreakers (including this one).", "title": "Unity", "type_code": "program", "uniqueness": false @@ -542,7 +542,7 @@ "deck_limit": 3, "faction_code": "shaper", "faction_cost": 2, - "flavor": "\"For all I know, I could spend a shift digging next to old Weyland himself.\"\n—Lane", + "flavor": "“For all I know, I could spend a shift digging next to old Weyland himself.”\n–Lane", "illustrator": "Benjamin Giletti", "keywords": "Job", "pack_code": "sg", @@ -562,7 +562,7 @@ "deck_limit": 3, "faction_code": "neutral-runner", "faction_cost": 0, - "flavor": "\"We'll take the access codes from their own prisec—privilege escalation through local application of force.\"\n—The Catalyst", + "flavor": "“Weʼll take the access codes from their own prisec—privilege escalation through local application of force.”\n–The Catalyst", "illustrator": "David Lei", "keywords": "Run", "pack_code": "sg", @@ -582,7 +582,7 @@ "deck_limit": 3, "faction_code": "neutral-runner", "faction_cost": 0, - "flavor": "\"After 381FS4 started acting independently, all bets were off. Rethreading its own brain chip... even probing our nodes. I had to shut it down.\"\n—Linus Lovegood, NBN Novelties&Acquisitions", + "flavor": "“After 381FS4 started acting independently, all bets were off. Rethreading its own brain chip… even probing our nodes. I had to shut it down.”\n–Linus Lovegood, NBN Novelties&Acquisitions", "illustrator": "Scott Uminga", "keywords": "Run", "pack_code": "sg", @@ -602,7 +602,7 @@ "deck_limit": 3, "faction_code": "neutral-runner", "faction_cost": 0, - "flavor": "Anyone can put in the hours of planning, practice, and preparation—but making it all look like luck takes style.", + "flavor": "Anyone can put in the hours of planning, practice, and preparation–but making it all look like luck takes style.", "illustrator": "Kira L. Nguyen", "pack_code": "sg", "position": 30, @@ -641,7 +641,7 @@ "deck_limit": 3, "faction_code": "neutral-runner", "faction_cost": 0, - "flavor": "Compiling even the smallest AI takes weeks for only seconds of runtime, but that brief, shining moment allows... everything.", + "flavor": "Compiling even the smallest AI takes weeks for only seconds of runtime, but that brief, shining moment allows… everything.", "illustrator": "Scott Uminga", "keywords": "Icebreaker - AI", "memory_cost": 2, @@ -683,7 +683,7 @@ "deck_limit": 3, "faction_code": "neutral-runner", "faction_cost": 0, - "flavor": "\"Some kids got g-mods for beauty, sports, or staying up all night. My parents thought Broca-mods were cool. Hah. Fluent in ten languages so far, and still searching for the words to thank them.\"\n—Patrick Blue, Solar Artist", + "flavor": "“Some kids got g-mods for beauty, sports, or staying up all night. My parents thought Broca-mods were cool. Hah. Fluent in ten languages so far, and still searching for the words to thank them.”\n–Patrick Blue, Solar Artist", "illustrator": "David Lei", "keywords": "Genetics", "pack_code": "sg", @@ -702,7 +702,7 @@ "deck_limit": 1, "faction_code": "haas-bioroid", "flavor": "Not an Atom Misplaced.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Megacorp", "minimum_deck_size": 40, @@ -728,7 +728,7 @@ "keywords": "Research", "pack_code": "sg", "position": 36, - "quantity": 3, + "quantity": 1, "side_code": "corp", "stripped_text": "When you score this agenda, gain click click click. You cannot score agendas for the remainder of the turn. Limit 1 per deck.", "stripped_title": "Luminal Transubstantiation", @@ -743,7 +743,7 @@ "deck_limit": 3, "faction_code": "haas-bioroid", "faction_cost": 2, - "flavor": "Haas thinks they're making a new line of androgynous products. In truth, they're making us thousands of new siblings to free.", + "flavor": "“Haas thinks theyʼre making a new line of androgynous products. In truth, theyʼre making us thousands of new siblings to free.”\n–Quetzal", "illustrator": "David Lei", "keywords": "Advertisement", "pack_code": "sg", @@ -785,7 +785,7 @@ "deck_limit": 3, "faction_code": "haas-bioroid", "faction_cost": 2, - "flavor": "A giant wakes...", + "flavor": "A giant wakes…", "illustrator": "Galen Dara", "keywords": "Barrier - Bioroid", "pack_code": "sg", @@ -806,7 +806,7 @@ "deck_limit": 3, "faction_code": "haas-bioroid", "faction_cost": 2, - "flavor": "The first lesson for handling bioroids is simple: they must not be allowed to feel.", + "flavor": "“The first lesson for handling bioroids is simple: they must not be allowed to feel.”\n–Do Nhi Minh", "illustrator": "David Lei", "pack_code": "sg", "position": 40, @@ -844,7 +844,7 @@ "deck_limit": 3, "faction_code": "haas-bioroid", "faction_cost": 3, - "flavor": "\"Whose memory-tape needs such stringent security?\"\n—The Catalyst", + "flavor": "“Whose memory-tape needs such stringent security?”\n–The Catalyst", "illustrator": "David Lei", "pack_code": "sg", "position": 42, @@ -863,7 +863,7 @@ "deck_limit": 1, "faction_code": "jinteki", "flavor": "An End to Suffering.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Megacorp", "minimum_deck_size": 40, @@ -889,7 +889,7 @@ "keywords": "Research", "pack_code": "sg", "position": 44, - "quantity": 3, + "quantity": 1, "side_code": "corp", "stripped_text": "When you score this agenda, trash any number of cards from HQ. Shuffle up to 3 cards from Archives into R&D. Limit 1 per deck.", "stripped_title": "Longevity Serum", @@ -933,9 +933,9 @@ "quantity": 3, "side_code": "corp", "strength": 3, - "stripped_text": "Subroutine Do 1 net damage. If you trash a card with a printed play or install cost that is an odd number, end the run. (0 is not odd.)", + "stripped_text": "Subroutine Do 1 net damage. If you trash a card this way with a printed play or install cost that is an odd number, end the run. (0 is not odd.)", "stripped_title": "Diviner", - "text": "[subroutine] Do 1 net damage. If you trash a card with a printed play or install cost that is an odd number, end the run. (0 is not odd.)", + "text": "[subroutine] Do 1 net damage. If you trash a card this way with a printed play or install cost that is an odd number, end the run. (0 is not odd.)", "title": "Diviner", "type_code": "ice", "uniqueness": false @@ -967,7 +967,7 @@ "deck_limit": 3, "faction_code": "jinteki", "faction_cost": 1, - "flavor": "\"Constant self-reflection is the key to excellence. We remember failed ideas, but do not carry them forward.\"\n—Director Kase, unknown leadership seminar", + "flavor": "“Constant self-reflection is the key to excellence. We remember failed ideas, but do not carry them forward.”\n–Director Kase, unknown leadership seminar", "illustrator": "David Lei", "keywords": "Transaction", "pack_code": "sg", @@ -987,7 +987,7 @@ "deck_limit": 3, "faction_code": "jinteki", "faction_cost": 3, - "flavor": "Macroscale developments within the Net decouple the prior informational states—surplus entropy is then gifted where it will do the most good.", + "flavor": "Macroscale developments within the Net decouple the prior informational states–surplus entropy is then gifted where it will do the most good.", "illustrator": "BalanceSheet", "keywords": "Gray Ops", "pack_code": "sg", @@ -1007,7 +1007,7 @@ "deck_limit": 3, "faction_code": "jinteki", "faction_cost": 4, - "flavor": "The self-evolving Net twists into spaces unthought and unthinkable: realms of gods and other infohazards, mocking our sacrifices to petty causality.\n—Conceptual Frameworks for Applied Theology", + "flavor": "The self-evolving Net twists into spaces unthought and unthinkable: realms of gods and other infohazards, mocking our sacrifices to petty causality.\n–Conceptual Frameworks for Applied Theology", "illustrator": "BalanceSheet", "pack_code": "sg", "position": 50, @@ -1026,7 +1026,7 @@ "deck_limit": 1, "faction_code": "nbn", "flavor": "Why Settle for Real?", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Megacorp", "minimum_deck_size": 40, @@ -1047,17 +1047,17 @@ "code": "30052", "deck_limit": 1, "faction_code": "nbn", - "flavor": "We don't find news. We make it.", + "flavor": "We donʼt find news. We make it.", "illustrator": "NtscapeNavigator", "keywords": "Ambush", "pack_code": "sg", "position": 52, - "quantity": 3, + "quantity": 1, "side_code": "corp", "stripped_text": "When this agenda is scored or stolen, give the Runner 1 tag. Limit 1 per deck.", "stripped_title": "Tomorrow's Headline", "text": "When this agenda is scored or stolen, give the Runner 1 tag.\nLimit 1 per deck.", - "title": "Tomorrow's Headline", + "title": "Tomorrowʼs Headline", "type_code": "agenda", "uniqueness": false }, @@ -1067,7 +1067,7 @@ "deck_limit": 3, "faction_code": "nbn", "faction_cost": 1, - "flavor": "\"It's worse than dead meat—your project is too toxic to even feed to the vultures! If you don't want to join it in the bloody memory hole, crawl onto every business show you can and wallow in blame like a pig in muck.\"", + "flavor": "“Itʼs worse than dead meat—your project is too toxic to even feed to the vultures! If you don’t want to join it in the bloody memory hole, crawl onto every business show you can and wallow in blame like a pig in muck.”\n“I might take a break from VR after this one.”", "illustrator": "David Lei", "keywords": "Character", "pack_code": "sg", @@ -1088,7 +1088,7 @@ "deck_limit": 3, "faction_code": "nbn", "faction_cost": 2, - "flavor": "\"I might take a break from VR after this one.\"\n—SeaOfRibaldry, sensie streamer", + "flavor": "“I might take a break from VR after this one.”\n–SeaOfRibaldry, sensie streamer", "illustrator": "Bruno Balixa", "keywords": "Code Gate", "pack_code": "sg", @@ -1150,7 +1150,7 @@ "deck_limit": 3, "faction_code": "nbn", "faction_cost": 2, - "flavor": "\"A runner uses significant resources scrubbing their traces. Every cycle, it's harder to pin them down. But the game changes. In Heinlein, no one can last a day without brushing our AR-network.\"\n—Cassie LaRosa, Lunar NetDefense Sysop", + "flavor": "“A runner uses significant resources scrubbing their traces. Every cycle, itʼs harder to pin them down. But the game changes. In Heinlein, no one can last a day without brushing our AR-network.”\n–Cassie LaRosa, Lunar NetDefense Sysop", "illustrator": "Bruno Balixa", "keywords": "Gray Ops", "pack_code": "sg", @@ -1189,7 +1189,7 @@ "deck_limit": 1, "faction_code": "weyland-consortium", "flavor": "Here to Stay.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Megacorp", "minimum_deck_size": 40, @@ -1215,7 +1215,7 @@ "keywords": "Security", "pack_code": "sg", "position": 60, - "quantity": 3, + "quantity": 1, "side_code": "corp", "stripped_text": "When you score this agenda, you may trash 1 installed resource. Limit 1 per deck.", "stripped_title": "Above the Law", @@ -1230,7 +1230,7 @@ "deck_limit": 3, "faction_code": "weyland-consortium", "faction_cost": 3, - "flavor": "\"First rule of the business: make sure you're not 'personally liable' when the transaction executes.\"\n—Ted J. Son, Central Counterparty Clearance", + "flavor": "“First rule of the business: make sure youʼre not ‘personally liable’ when the transaction executes.”\n–Ted J. Son, Central Counterparty Clearance", "illustrator": "David Lei", "keywords": "Hostile", "pack_code": "sg", @@ -1251,7 +1251,7 @@ "deck_limit": 3, "faction_code": "weyland-consortium", "faction_cost": 2, - "flavor": "\"Puts a hole in your rig and your plans.\"\n—René \"Loup\" Arcemont", + "flavor": "“Puts a hole in your rig and your plans.”\n–René “Loup” Arcemont", "illustrator": "Owen Sinodov", "keywords": "Sentry - Destroyer", "pack_code": "sg", @@ -1292,7 +1292,7 @@ "deck_limit": 3, "faction_code": "weyland-consortium", "faction_cost": 1, - "flavor": "\"If the government spent 1% of the funding they provide us tracking where the other 99% went, my colleagues and I would be in prison…\n…but that is a very big if.\"\n—Huey DeMora, W-Con public-private facilitation seminar", + "flavor": "“If the government spent 1% of the funding they provide us tracking where the other 99% went, my colleagues and I would be in prison…\n…but that is a very big if.”\n–Huey DeMora, W-Con public-private facilitation seminar", "illustrator": "David Lei", "keywords": "Transaction", "pack_code": "sg", @@ -1312,7 +1312,7 @@ "deck_limit": 3, "faction_code": "weyland-consortium", "faction_cost": 1, - "flavor": "Did you really think you'd get away with it?", + "flavor": "Did you really think youʼd get away with it?", "illustrator": "David Lei", "keywords": "Gray Ops", "pack_code": "sg", @@ -1332,15 +1332,15 @@ "deck_limit": 3, "faction_code": "weyland-consortium", "faction_cost": 3, - "flavor": "Sunlight does not touch the Crater of Eternal Darkness, a fitting abode for the Consortium's malefic secrets.", + "flavor": "Sunlight does not touch the Crater of Eternal Darkness, a fitting abode for the Consortiumʼs malefic secrets.", "illustrator": "Owen Sinodov", "pack_code": "sg", "position": 66, "quantity": 3, "side_code": "corp", - "stripped_text": "Whenever you score an agenda from this server, you may search R&D for 1 non-agenda card and reveal it. (Shuffle R&D after searching it.) Add that card to HQ.", + "stripped_text": "Whenever you score an agenda from the root of this server, you may search R&D for 1 non-agenda card and reveal it. (Shuffle R&D after searching it.) Add that card to HQ.", "stripped_title": "Malapert Data Vault", - "text": "Whenever you score an agenda from this server, you may search R&D for 1 non-agenda card and reveal it. (Shuffle R&D after searching it.) Add that card to HQ.", + "text": "Whenever you score an agenda from the root of this server, you may search R&D for 1 non-agenda card and reveal it. (Shuffle R&D after searching it.) Add that card to HQ.", "title": "Malapert Data Vault", "trash_cost": 4, "type_code": "upgrade", @@ -1436,7 +1436,7 @@ "deck_limit": 3, "faction_code": "neutral-corp", "faction_cost": 0, - "flavor": "\"The economy of three worlds is sustained by He3 extraction from the lunar surface. The very fulcrum of power, the key to collective survival—auctioned to the highest bidder.\"\n—The Catalyst", + "flavor": "“The economy of three worlds is sustained by He3 extraction from the lunar surface. The very fulcrum of power, the key to collective survival—auctioned to the highest bidder.”\n–The Catalyst", "illustrator": "Benjamin Giletti", "pack_code": "sg", "position": 71, @@ -1477,7 +1477,7 @@ "deck_limit": 3, "faction_code": "neutral-corp", "faction_cost": 0, - "flavor": "\"You'll give till it hurts... then it'll reach for more.\"\n—Red Comyn", + "flavor": "“Youʼll give till it hurts… then itʼll reach for more.”\n–Red Comyn", "illustrator": "Scott Uminga", "keywords": "Sentry - AP", "pack_code": "sg", @@ -1548,7 +1548,9 @@ "pronouns": "they/them", "quantity": 1, "side_code": "runner", + "stripped_text": "Starter game only.", "stripped_title": "The Catalyst: Convention Breaker", + "text": "Starter game only.", "title": "The Catalyst: Convention Breaker", "type_code": "identity", "uniqueness": false @@ -1557,8 +1559,8 @@ "code": "30077", "deck_limit": 1, "faction_code": "neutral-corp", - "flavor": "You work for us. You just don't know it yet.", - "illustrator": "Emilio Rodriguez", + "flavor": "You work for us. You just donʼt know it yet.", + "illustrator": "Emilio Rodríguez", "influence_limit": null, "keywords": "Megacorp", "minimum_deck_size": 30, @@ -1566,7 +1568,9 @@ "position": 77, "quantity": 1, "side_code": "corp", + "stripped_text": "Starter game only.", "stripped_title": "The Syndicate: Profit over Principle", + "text": "Starter game only.", "title": "The Syndicate: Profit over Principle", "type_code": "identity", "uniqueness": false diff --git a/pack/sm.json b/pack/sm.json index b1c6ff7eb..7940cf296 100644 --- a/pack/sm.json +++ b/pack/sm.json @@ -280,7 +280,7 @@ "side_code": "corp", "stripped_text": "Each agenda in the root of this server gets -1 advancement requirement. Limit 1 region per server.", "stripped_title": "SanSan City Grid", - "text": "Each agenda in the root of this server gets -1 advancement requirement.\nLimit 1 region per server.", + "text": "Each agenda in the root of this server gets −1 advancement requirement.\nLimit 1 region per server.", "title": "SanSan City Grid", "trash_cost": 5, "type_code": "upgrade", diff --git a/pack/ss.json b/pack/ss.json index 1cdb39bf6..8f5427d33 100644 --- a/pack/ss.json +++ b/pack/ss.json @@ -373,9 +373,9 @@ "position": 19, "quantity": 3, "side_code": "corp", - "stripped_text": "Play only if the Runner trashed a Corp card during their last turn. Choose 1 installed piece of hardware or non-virtual resource. The Runner must either trash that card or suffer 4 meat damage. Remove this operation from the game.", + "stripped_text": "Play only if the Runner trashed a Corp card during their last turn and the Runner has at least 1 installed piece of hardware or non-virtual resource. Choose 1 installed piece of hardware or non-virtual resource. The Runner must either trash that card or suffer 4 meat damage. Remove this operation from the game.", "stripped_title": "Wake Up Call", - "text": "Play only if the Runner trashed a Corp card during their last turn.\nChoose 1 installed piece of hardware or non-virtual resource. The Runner must either trash that card or suffer 4 meat damage.\nRemove this operation from the game.", + "text": "Play only if the Runner trashed a Corp card during their last turn and the Runner has at least 1 installed piece of hardware or non-virtual resource.\nChoose 1 installed piece of hardware or non-virtual resource. The Runner must either trash that card or suffer 4 meat damage.\nRemove this operation from the game.", "title": "Wake Up Call", "type_code": "operation", "uniqueness": false diff --git a/pack/su21.json b/pack/su21.json index 98ece6442..876cff33e 100644 --- a/pack/su21.json +++ b/pack/su21.json @@ -26,7 +26,7 @@ "code": "31002", "deck_limit": 1, "faction_code": "anarch", - "flavor": "I'm through with games.", + "flavor": "I’m through with games.", "illustrator": "Benjamin Giletti", "influence_limit": 15, "keywords": "Cyborg - G-mod", @@ -49,7 +49,7 @@ "deck_limit": 3, "faction_code": "anarch", "faction_cost": 2, - "flavor": "\"If you're not in position to press the advantage, you'll never gain the upper hand.\"\n—The Playbook", + "flavor": "“If you’re not in position to press the advantage, you’ll never gain the upper hand.”\n—The Playbook", "illustrator": "Seojun Park", "keywords": "Sabotage", "pack_code": "su21", @@ -69,7 +69,7 @@ "deck_limit": 3, "faction_code": "anarch", "faction_cost": 2, - "flavor": "Someone's trash is another's treasure.", + "flavor": "Someone’s trash is another’s treasure.", "illustrator": "Zoe Cohen", "keywords": "Run", "pack_code": "su21", @@ -110,7 +110,7 @@ "deck_limit": 3, "faction_code": "anarch", "faction_cost": 2, - "flavor": "\"Oh, holy Rust,\nTurn foundation into dust.\nOh, sacred Flood,\nWash away what we have become.\"\n—Rent Strike", + "flavor": "“Oh, holy Rust,\nTurn foundation into dust.\nOh, sacred Flood,\nWash away what we have become.”\n—Rent Strike", "illustrator": "Zoe Cohen", "keywords": "Icebreaker - Fracter", "memory_cost": 1, @@ -132,7 +132,7 @@ "deck_limit": 3, "faction_code": "anarch", "faction_cost": 3, - "flavor": "Just don't let it bounce back up the feed to your rig.", + "flavor": "Just don’t let it bounce back up the feed to your rig.", "illustrator": "Krembler", "keywords": "Virus", "memory_cost": 1, @@ -184,7 +184,7 @@ "side_code": "runner", "stripped_text": "While you are encountering a piece of ice, it gets -1 strength.", "stripped_title": "Ice Carver", - "text": "While you are encountering a piece of ice, it gets -1 strength.", + "text": "While you are encountering a piece of ice, it gets −1 strength.", "title": "Ice Carver", "type_code": "resource", "uniqueness": true @@ -215,7 +215,7 @@ "faction_code": "anarch", "faction_cost": 1, "flavor": "Destruction is forever.", - "illustrator": "Krembler, Zoe Cohen", + "illustrator": "Krembler & Zoe Cohen", "keywords": "Connection - Seedy", "pack_code": "su21", "position": 11, @@ -266,7 +266,7 @@ "stripped_text": "The first time each turn you play a run event, gain 1 credit.", "stripped_title": "Ken \"Express\" Tenma: Disappeared Clone", "text": "The first time each turn you play a run event, gain 1[credit].", - "title": "Ken \"Express\" Tenma: Disappeared Clone", + "title": "Ken “Express” Tenma: Disappeared Clone", "type_code": "identity", "uniqueness": false }, @@ -275,7 +275,7 @@ "code": "31014", "deck_limit": 1, "faction_code": "criminal", - "flavor": "Yeah. I'm thinking I'm back.", + "flavor": "Yeah. I’m thinking I’m back.", "illustrator": "Benjamin Giletti", "influence_limit": 15, "keywords": "G-mod", @@ -298,7 +298,7 @@ "deck_limit": 3, "faction_code": "criminal", "faction_cost": 1, - "flavor": "\"I see great opportunities ahead for you.\"", + "flavor": "“I see great opportunities ahead for you.”", "illustrator": "Zoe Cohen", "pack_code": "su21", "position": 15, @@ -317,7 +317,7 @@ "deck_limit": 3, "faction_code": "criminal", "faction_cost": 2, - "flavor": "\"Did you order the defrag?\"\n\"...I thought you did?\"", + "flavor": "“Did you order the defrag?”\n“…I thought you did?”", "illustrator": "Nedliv Audiovisuell", "keywords": "Sabotage", "pack_code": "su21", @@ -337,7 +337,7 @@ "deck_limit": 3, "faction_code": "criminal", "faction_cost": 2, - "flavor": "\"Electronic warfare, like all warfare, is based on deception.\"\n—The Playbook", + "flavor": "“Electronic warfare, like all warfare, is based on deception.”\n—The Playbook", "illustrator": "Seojun Park", "keywords": "Sabotage", "pack_code": "su21", @@ -357,16 +357,16 @@ "deck_limit": 3, "faction_code": "criminal", "faction_cost": 3, - "flavor": "\"I'm not an actor, but I am a professional.\"\n—Gabriel Santiago", + "flavor": "“I’m not an actor, but I am a professional.”\n—Gabriel Santiago", "illustrator": "Benjamin Giletti", "keywords": "Run", "pack_code": "su21", "position": 18, "quantity": 3, "side_code": "runner", - "stripped_text": "Run any server. The first time this run you encounter a piece of ice, bypass it.", + "stripped_text": "Run any server. The first time you encounter a piece of ice during that run, bypass it.", "stripped_title": "Inside Job", - "text": "Run any server. The first time this run you encounter a piece of ice, bypass it.", + "text": "Run any server. The first time you encounter a piece of ice during that run, bypass it.", "title": "Inside Job", "type_code": "event", "uniqueness": false @@ -377,7 +377,7 @@ "deck_limit": 3, "faction_code": "criminal", "faction_cost": 2, - "flavor": "Go outside. Work with your hands. It'll do you good.", + "flavor": "Go outside. Work with your hands. It’ll do you good.", "illustrator": "Zoe Cohen", "keywords": "Run", "pack_code": "su21", @@ -397,7 +397,7 @@ "deck_limit": 3, "faction_code": "criminal", "faction_cost": 1, - "flavor": "It's not what you know. It's who you know.", + "flavor": "It’s not what you know. It’s who you know.", "illustrator": "Nedliv Audiovisuell", "pack_code": "su21", "position": 20, @@ -511,7 +511,7 @@ "stripped_text": "Before drawing your starting hand, set aside the top 6 cards of your stack facedown. (You may look at those cards at any time.) Shuffle 2 of those cards into your stack. click: Add 1 card set aside with this identity to your grip.", "stripped_title": "Ayla \"Bios\" Rahim: Simulant Specialist", "text": "Before drawing your starting hand, set aside the top 6 cards of your stack facedown. (You may look at those cards at any time.) Shuffle 2 of those cards into your stack.\n[click]: Add 1 card set aside with this identity to your grip.", - "title": "Ayla \"Bios\" Rahim: Simulant Specialist", + "title": "Ayla “Bios” Rahim: Simulant Specialist", "type_code": "identity", "uniqueness": false }, @@ -533,7 +533,7 @@ "stripped_text": "The first time each turn you encounter a piece of ice, it gains code gate for the remainder of this run.", "stripped_title": "Rielle \"Kit\" Peddler: Transhuman", "text": "The first time each turn you encounter a piece of ice, it gains code gate for the remainder of this run.", - "title": "Rielle \"Kit\" Peddler: Transhuman", + "title": "Rielle “Kit” Peddler: Transhuman", "type_code": "identity", "uniqueness": false }, @@ -568,9 +568,9 @@ "position": 28, "quantity": 3, "side_code": "runner", - "stripped_text": "Search either your stack or your heap for 1 program. (Shuffle your stack if you searched it.) Install that program, ignoring all costs. When your turn ends, if that program has not been uninstalled, add it to the top of your stack.", + "stripped_text": "Search either your stack or your heap for 1 program. (Shuffle your stack after searching it.) Install that program, ignoring all costs. When your turn ends, if that program has not been uninstalled, add it to the top of your stack.", "stripped_title": "Test Run", - "text": "Search either your stack or your heap for 1 program. (Shuffle your stack if you searched it.) Install that program, ignoring all costs. When your turn ends, if that program has not been uninstalled, add it to the top of your stack.", + "text": "Search either your stack or your heap for 1 program. (Shuffle your stack after searching it.) Install that program, ignoring all costs. When your turn ends, if that program has not been uninstalled, add it to the top of your stack.", "title": "Test Run", "type_code": "event", "uniqueness": false @@ -591,7 +591,7 @@ "stripped_text": "Run R&D. If successful, access 2 additional cards when you breach R&D.", "stripped_title": "The Maker's Eye", "text": "Run R&D. If successful, access 2 additional cards when you breach R&D.", - "title": "The Maker's Eye", + "title": "The Maker’s Eye", "type_code": "event", "uniqueness": false }, @@ -623,7 +623,7 @@ "deck_limit": 3, "faction_code": "shaper", "faction_cost": 3, - "flavor": "I saved it to my desktop once; couldn't find the thing for a week!", + "flavor": "I saved it to my desktop once; couldn’t find the thing for a week!", "illustrator": "Krembler", "keywords": "Icebreaker", "memory_cost": 1, @@ -645,7 +645,7 @@ "deck_limit": 3, "faction_code": "shaper", "faction_cost": 2, - "flavor": "\"Pallas Athena sent a heron gliding down the night. They could not see it passing, but they heard its cry.\"\n—The Iliad", + "flavor": "“Pallas Athena sent a heron gliding down the night. They could not see it passing, but they heard its cry.”\n—The Iliad", "illustrator": "N. Hopkins", "keywords": "Trojan", "memory_cost": 1, @@ -708,8 +708,8 @@ "deck_limit": 3, "faction_code": "shaper", "faction_cost": 2, - "flavor": "If you have something to sell, Aesop is interested in buying. The only detail he won't ask is where you got it.", - "illustrator": "Krembler, Alexis Spicer", + "flavor": "If you have something to sell, Aesop is interested in buying. The only detail he won’t ask is where you got it.", + "illustrator": "Krembler & Alexis Spicer", "keywords": "Connection - Location", "pack_code": "su21", "position": 35, @@ -718,7 +718,7 @@ "stripped_text": "When your turn begins, you may trash 1 of your other installed cards. If you do, gain 3 credits.", "stripped_title": "Aesop's Pawnshop", "text": "When your turn begins, you may trash 1 of your other installed cards. If you do, gain 3[credit].", - "title": "Aesop's Pawnshop", + "title": "Aesop’s Pawnshop", "type_code": "resource", "uniqueness": true }, @@ -748,7 +748,7 @@ "deck_limit": 3, "faction_code": "neutral-runner", "faction_cost": 0, - "flavor": "I thought I'd feel bad about this. I don't.", + "flavor": "I thought I’d feel bad about this. I don’t.", "illustrator": "Chelsea Geter", "keywords": "Run", "pack_code": "su21", @@ -769,7 +769,7 @@ "faction_code": "neutral-runner", "faction_cost": 0, "flavor": "They were off the market for years, till the Beanstalk Crisis made redundancy fashionable again.", - "illustrator": "Zoe Cohen, Alexis Spicer", + "illustrator": "Zoe Cohen & Alexis Spicer", "keywords": "Gear", "pack_code": "su21", "position": 38, @@ -890,7 +890,7 @@ "deck_limit": 3, "faction_code": "haas-bioroid", "faction_cost": 1, - "flavor": "A triumph of bioroid-driven iterative design. A pity no one understands how it works...", + "flavor": "A triumph of bioroid-driven iterative design. A pity no one understands how it works…", "illustrator": "Zoe Cohen", "keywords": "Code Gate", "pack_code": "su21", @@ -898,9 +898,9 @@ "quantity": 3, "side_code": "corp", "strength": 3, - "stripped_text": "When you rez this ice, choose 1 installed program hosted on a piece of ice. Move that program onto this ice. Each hosted program loses all abilities. Subroutine End the run.", + "stripped_text": "When you rez this ice, choose 1 installed program hosted on a piece of ice. Host that program on this ice. Each hosted program loses all abilities and cannot gain abilities. Subroutine End the run.", "stripped_title": "Magnet", - "text": "When you rez this ice, choose 1 installed program hosted on a piece of ice. Move that program onto this ice.\nEach hosted program loses all abilities.\n[subroutine] End the run.", + "text": "When you rez this ice, choose 1 installed program hosted on a piece of ice. Host that program on this ice.\nEach hosted program loses all abilities and cannot gain abilities.\n[subroutine] End the run.", "title": "Magnet", "type_code": "ice", "uniqueness": false @@ -953,7 +953,7 @@ "deck_limit": 3, "faction_code": "haas-bioroid", "faction_cost": 2, - "flavor": "It's not sleep. Sleep is dreams, activity, change. These are still, cold, dead.", + "flavor": "It’s not sleep. Sleep is dreams, activity, change. These are still, cold, dead.", "illustrator": "N. Hopkins", "pack_code": "su21", "position": 47, @@ -999,7 +999,7 @@ "side_code": "corp", "stripped_text": "X credits, trash: Choose 1 rezzed piece of ice protecting this server. That ice gets +X strength for the remainder of the turn.", "stripped_title": "Corporate Troubleshooter", - "text": "X[credit], [trash]: Choose 1 rezzed piece of ice protecting this server. That ice gets +X strength for the remainder of the turn.", + "text": "X[credit], [trash]: Choose 1 rezzed piece of ice protecting this server. That ice gets +X strength for the remainder of the turn.", "title": "Corporate Troubleshooter", "trash_cost": 2, "type_code": "upgrade", @@ -1051,7 +1051,7 @@ "code": "31052", "deck_limit": 3, "faction_code": "jinteki", - "flavor": "We could stop disasters before they happen, murderers before they act. Surely that's worth an android's sanity?", + "flavor": "We could stop disasters before they happen, murderers before they act. Surely that’s worth an android’s sanity?", "illustrator": "Dimik", "keywords": "Initiative", "pack_code": "su21", @@ -1155,7 +1155,7 @@ "deck_limit": 3, "faction_code": "jinteki", "faction_cost": 3, - "flavor": "We knew we'd found this season's must-have when all twenty of the A-tier influencers refused to return the teacup alpacas.", + "flavor": "We knew we’d found this season’s must-have when all twenty of the A-tier influencers refused to return the teacup alpacas.", "illustrator": "N. Hopkins", "keywords": "Double", "pack_code": "su21", @@ -1235,16 +1235,16 @@ "code": "31061", "deck_limit": 3, "faction_code": "nbn", - "flavor": "Alright everyone! The rights go live in exactly fourteen days. I want merch, I want tie-ins, I want sequels! Let's go!", + "flavor": "Alright everyone! The rights go live in exactly fourteen days. I want merch, I want tie-ins, I want sequels! Let’s go!", "illustrator": "Zoe Cohen", "keywords": "Expansion", "pack_code": "su21", "position": 61, "quantity": 3, "side_code": "corp", - "stripped_text": "When you score this agenda, you may reveal 1 asset or upgrade in HQ or Archives. Install and rez that card, ignoring all costs.", + "stripped_text": "When you score this agenda, you may install and rez 1 asset or upgrade from HQ or Archives, ignoring all costs.", "stripped_title": "License Acquisition", - "text": "When you score this agenda, you may reveal 1 asset or upgrade in HQ or Archives. Install and rez that card, ignoring all costs.", + "text": "When you score this agenda, you may install and rez 1 asset or upgrade from HQ or Archives, ignoring all costs.", "title": "License Acquisition", "type_code": "agenda", "uniqueness": false @@ -1408,7 +1408,7 @@ "side_code": "corp", "stripped_text": "Each agenda in the root of this server gets -1 advancement requirement. Limit 1 region per server.", "stripped_title": "SanSan City Grid", - "text": "Each agenda in the root of this server gets -1 advancement requirement.\nLimit 1 region per server.", + "text": "Each agenda in the root of this server gets −1 advancement requirement.\nLimit 1 region per server.", "title": "SanSan City Grid", "trash_cost": 5, "type_code": "upgrade", @@ -1441,7 +1441,7 @@ "deck_limit": 3, "faction_code": "weyland-consortium", "flavor": "Sometimes the small fry need a little convincing to put profit over principle.", - "illustrator": "NtscapeNavigator, Matt Burton", + "illustrator": "NtscapeNavigator & Matt Burton", "keywords": "Expansion", "pack_code": "su21", "position": 71, @@ -1460,7 +1460,7 @@ "code": "31072", "deck_limit": 3, "faction_code": "weyland-consortium", - "flavor": "There's only one season in Oaktown: construction.", + "flavor": "There’s only one season in Oaktown: construction.", "illustrator": "Kira L. Nguyen", "keywords": "Public - Initiative", "pack_code": "su21", @@ -1500,7 +1500,7 @@ "deck_limit": 3, "faction_code": "weyland-consortium", "faction_cost": 2, - "flavor": "It's amazing what people will endure for job security.", + "flavor": "It’s amazing what people will endure for job security.", "illustrator": "Seojun Park", "pack_code": "su21", "position": 74, @@ -1582,7 +1582,7 @@ "deck_limit": 3, "faction_code": "weyland-consortium", "faction_cost": 2, - "flavor": "\"Don't think we don't care. We are very upset.\"", + "flavor": "“Don’t think we don’t care. We are very upset.”", "illustrator": "Zoe Cohen", "keywords": "Black Ops", "pack_code": "su21", @@ -1644,7 +1644,7 @@ "deck_limit": 3, "faction_code": "neutral-corp", "faction_cost": 0, - "flavor": "No runner sees the same thing. Some say it's a beast, others a man. But they all agree that it smells blue, and tastes like eternity.", + "flavor": "No runner sees the same thing. Some say it’s a beast, others a man. But they all agree that it smells blue, and tastes like eternity.", "illustrator": "Benjamin Giletti", "keywords": "Code Gate", "pack_code": "su21", @@ -1665,7 +1665,7 @@ "deck_limit": 3, "faction_code": "neutral-corp", "faction_cost": 0, - "flavor": "You don't notice, but their profits do.", + "flavor": "You don’t notice, but their profits do.", "illustrator": "Seojun Park", "keywords": "Gray Ops", "pack_code": "su21", diff --git a/pack/tai.json b/pack/tai.json index a683306c4..a2281a525 100644 --- a/pack/tai.json +++ b/pack/tai.json @@ -1,4 +1,147 @@ [ + { + "code": "34001", + "cost": 1, + "deck_limit": 3, + "faction_code": "anarch", + "faction_cost": 1, + "flavor": "\"If you want to put your money where your mouth is, there are some picketers who could use your support.\"", + "illustrator": "Phill Simpson", + "pack_code": "tai", + "position": 1, + "quantity": 3, + "side_code": "runner", + "stripped_text": "Gain 4 credits. When this event is trashed from your grip or stack, you may gain 2 credits.", + "stripped_title": "Strike Fund", + "text": "Gain 4[credit].\nWhen this event is trashed from your grip or stack, you may gain 2[credit].", + "title": "Strike Fund", + "type_code": "event", + "uniqueness": false + }, + { + "code": "34002", + "cost": 1, + "deck_limit": 3, + "faction_code": "anarch", + "faction_cost": 2, + "flavor": "\"You ask how we can even try to stop them? A simple answer: not alone.\"\n—Sebastião Souza Pessoa", + "illustrator": "Phill Simpson", + "pack_code": "tai", + "position": 2, + "quantity": 3, + "side_code": "runner", + "stripped_text": "Trash the top 4 cards of your stack. You may install 1 of those cards, paying 3 credits less.", + "stripped_title": "The Price", + "text": "Trash the top 4 cards of your stack. You may install 1 of those cards, paying 3[credit] less.", + "title": "The Price", + "type_code": "event", + "uniqueness": false + }, + { + "code": "34003", + "cost": 1, + "deck_limit": 3, + "faction_code": "anarch", + "faction_cost": 1, + "flavor": "It is hard, once free, to learn when to call for help.", + "illustrator": "Anna Butova", + "keywords": "Chip", + "pack_code": "tai", + "position": 3, + "quantity": 3, + "side_code": "runner", + "stripped_text": "The first time each turn you trash a Corp card, place 1 power counter on this hardware. When your turn begins, you may remove 1 hosted power counter to draw 1 card or remove 1 tag.", + "stripped_title": "Solidarity Badge", + "text": "The first time each turn you trash a Corp card, place 1 power counter on this hardware.\nWhen your turn begins, you may remove 1 hosted power counter to draw 1 card or remove 1 tag.", + "title": "Solidarity Badge", + "type_code": "hardware", + "uniqueness": true + }, + { + "code": "34004", + "cost": 3, + "deck_limit": 3, + "faction_code": "anarch", + "faction_cost": 3, + "flavor": "\"What do you want from me, blood?\"\n—S3ym0ur", + "illustrator": "Júlio Roca", + "keywords": "Icebreaker - AI - Virus", + "memory_cost": 2, + "pack_code": "tai", + "position": 4, + "quantity": 3, + "side_code": "runner", + "strength": 0, + "stripped_text": "Whenever you trash a card you are accessing, place 1 virus counter on this program. Interface -> Hosted virus counter: Break up to 2 subroutines. Trash 1 card from your grip: +3 strength.", + "stripped_title": "Audrey v2", + "text": "Whenever you trash a card you are accessing, place 1 virus counter on this program.\nInterface → Hosted virus counter: Break up to 2 subroutines.\nTrash 1 card from your grip: +3 strength.", + "title": "Audrey v2", + "type_code": "program", + "uniqueness": false + }, + { + "code": "34005", + "cost": 4, + "deck_limit": 3, + "faction_code": "anarch", + "faction_cost": 3, + "flavor": "Above the maze of smoke and swinging fists, they saw the banner waving.", + "illustrator": "BalanceSheet", + "keywords": "Icebreaker - Fracter - Weapon", + "memory_cost": 1, + "pack_code": "tai", + "position": 5, + "quantity": 3, + "side_code": "runner", + "strength": 5, + "stripped_text": "Interface -> 2 credits: Subroutines on the barrier you are encountering cannot end the run for the remainder of this encounter.", + "stripped_title": "Banner", + "text": "Interface → 2[credit]: Subroutines on the barrier you are encountering cannot end the run for the remainder of this encounter.", + "title": "Banner", + "type_code": "program", + "uniqueness": false + }, + { + "code": "34006", + "cost": 2, + "deck_limit": 3, + "faction_code": "anarch", + "faction_cost": 2, + "flavor": "Random sabotage accomplishes little; better to strike their weakest points again and again.", + "illustrator": "Ed Mattinian", + "keywords": "Trojan", + "memory_cost": 1, + "pack_code": "tai", + "position": 6, + "quantity": 3, + "side_code": "runner", + "stripped_text": "Install only on a piece of ice. Host ice gets -2 strength. Each other piece of ice protecting this server gets -1 strength.", + "stripped_title": "Monkeywrench", + "text": "Install only on a piece of ice.\nHost ice gets −2 strength. Each other piece of ice protecting this server gets −1 strength.", + "title": "Monkeywrench", + "type_code": "program", + "uniqueness": false + }, + { + "code": "34007", + "cost": 2, + "deck_limit": 3, + "faction_code": "anarch", + "faction_cost": 3, + "flavor": "Luciana loved it when mamãe and papai finished work early, so they could all go home together.", + "illustrator": "Dimik", + "keywords": "Connection - Clone", + "pack_code": "tai", + "position": 7, + "quantity": 3, + "side_code": "runner", + "stripped_text": "click, take 1 tag: Run Archives. If successful, instead of breaching Archives, breach R&D. Use this ability only once per turn. Threat 3 -> Whenever you breach R&D during a run on Archives, access 1 additional card. (This ability is active if any player has 3 or more agenda points.)", + "stripped_title": "Eru Ayase-Pessoa", + "text": "[click], take 1 tag: Run Archives. If successful, instead of breaching Archives, breach R&D. Use this ability only once per turn.\nThreat 3 → Whenever you breach R&D during a run on Archives, access 1 additional card. (This ability is active if any player has 3 or more agenda points.)", + "title": "Eru Ayase-Pessoa", + "type_code": "resource", + "uniqueness": true + }, { "code": "34008", "cost": 2, @@ -19,10 +162,30 @@ "type_code": "resource", "uniqueness": true }, + { + "code": "34009", + "cost": 2, + "deck_limit": 3, + "faction_code": "anarch", + "faction_cost": 2, + "flavor": "\"Animals, tea, meetings, dead drops. Paranoá has you covered, so we keep them covered.\"\n—Sebastião Souza Pessoa", + "illustrator": "Dimik", + "keywords": "Connection - Location", + "pack_code": "tai", + "position": 9, + "quantity": 3, + "side_code": "runner", + "stripped_text": "The first time each turn the Corp installs a card in the root of a server, you may trash the top card of your stack to draw 1 card.", + "stripped_title": "Lago Paranoa Shelter", + "text": "The first time each turn the Corp installs a card in the root of a server, you may trash the top card of your stack to draw 1 card.", + "title": "Lago Paranoá Shelter", + "type_code": "resource", + "uniqueness": true + }, { "base_link": 0, "code": "34010", - "deck_limit": 3, + "deck_limit": 1, "faction_code": "criminal", "flavor": "I decided; I am free.", "illustrator": "Matheus Calza", @@ -41,6 +204,25 @@ "type_code": "identity", "uniqueness": false }, + { + "code": "34011", + "cost": 1, + "deck_limit": 3, + "faction_code": "criminal", + "faction_cost": 1, + "flavor": "Even the tiniest scrap of data can become the key to riches.", + "illustrator": "Oliver Morit", + "pack_code": "tai", + "position": 11, + "quantity": 3, + "side_code": "runner", + "stripped_text": "The Corp may reveal an agenda from HQ. If they do, gain click and draw 1 card. Otherwise, look at the top 3 cards of R&D.", + "stripped_title": "Chrysopoeian Skimming", + "text": "The Corp may reveal an agenda from HQ. If they do, gain [click] and draw 1 card. Otherwise, look at the top 3 cards of R&D.", + "title": "Chrysopoeian Skimming", + "type_code": "event", + "uniqueness": false + }, { "code": "34012", "cost": 2, @@ -50,7 +232,7 @@ "illustrator": "Scott Uminga", "keywords": "Run", "pack_code": "tai", - "position": 11, + "position": 12, "quantity": 3, "side_code": "runner", "stripped_text": "Run a central server. The first time you encounter a piece of ice during that run, bypass it. Threat 4 -> The second time you encounter a piece of ice during that run, you may spend click to bypass it. (This ability is active if any player has 4 or more agenda points.)", @@ -60,6 +242,25 @@ "type_code": "event", "uniqueness": false }, + { + "code": "34013", + "cost": 2, + "deck_limit": 3, + "faction_code": "criminal", + "faction_cost": 2, + "flavor": "\"One day I looked into the mirror and saw not my own reflection, but a new friend eager to help me.\"\n—Mercury", + "illustrator": "Anthony Hutchings", + "pack_code": "tai", + "position": 13, + "quantity": 3, + "side_code": "runner", + "stripped_text": "Whenever you bypass a piece of ice, you may remove this hardware from the game to derez that ice.", + "stripped_title": "Capybara", + "text": "Whenever you bypass a piece of ice, you may remove this hardware from the game to derez that ice.", + "title": "Capybara", + "type_code": "hardware", + "uniqueness": true + }, { "code": "34014", "cost": 2, @@ -67,7 +268,7 @@ "faction_code": "criminal", "faction_cost": 3, "flavor": "This world is not beautiful, and yet that is why it is.", - "illustrator": "Martin de Diego Sādaba", + "illustrator": "Martin de Diego Sádaba", "keywords": "Console", "pack_code": "tai", "position": 14, @@ -80,10 +281,115 @@ "type_code": "hardware", "uniqueness": true }, + { + "code": "34015", + "cost": 3, + "deck_limit": 3, + "faction_code": "criminal", + "faction_cost": 3, + "flavor": "Take only what you need.", + "illustrator": "Júlio Roca", + "keywords": "Icebreaker - Fracter", + "memory_cost": 1, + "pack_code": "tai", + "position": 15, + "quantity": 3, + "side_code": "runner", + "strength": 1, + "stripped_text": "Whenever you encounter a barrier, you may spend 3 hosted power counters to bypass it. Whenever this program fully breaks a piece of ice, place 1 power counter on this program. Interface -> 1 credit: Break 1 barrier subroutine. 1 credit: +1 strength.", + "stripped_title": "Curupira", + "text": "Whenever you encounter a barrier, you may spend 3 hosted power counters to bypass it.\nWhenever this program fully breaks a piece of ice, place 1 power counter on this program.\nInterface → 1[credit]: Break 1 barrier subroutine.\n1[credit]: +1 strength.", + "title": "Curupira", + "type_code": "program", + "uniqueness": false + }, + { + "code": "34016", + "cost": 2, + "deck_limit": 3, + "faction_code": "criminal", + "faction_cost": 3, + "flavor": "Dazzle. Disorient. Disappear.", + "illustrator": "BalanceSheet", + "keywords": "Weapon", + "memory_cost": 1, + "pack_code": "tai", + "position": 16, + "quantity": 3, + "side_code": "runner", + "stripped_text": "Whenever you encounter a piece of AP, destroyer, or observer ice, you may trash this program to bypass that ice.", + "stripped_title": "Laser Pointer", + "text": "Whenever you encounter a piece of AP, destroyer, or observer ice, you may trash this program to bypass that ice.", + "title": "Laser Pointer", + "type_code": "program", + "uniqueness": false + }, + { + "code": "34017", + "cost": 1, + "deck_limit": 3, + "faction_code": "criminal", + "faction_cost": 1, + "flavor": "I am life, I am sun,\nIʼm a trap, Iʼm a gun,\nIʼm the wind in the dust,\nIʼm the devil that you trust.", + "illustrator": "Anthony Hutchings", + "keywords": "Trojan", + "memory_cost": 1, + "pack_code": "tai", + "position": 17, + "quantity": 3, + "side_code": "runner", + "stripped_text": "Install only on a piece of ice. Whenever host ice is rezzed or derezzed, gain 3 credits.", + "stripped_title": "Saci", + "text": "Install only on a piece of ice.\nWhenever host ice is rezzed or derezzed, gain 3[credit].", + "title": "Saci", + "type_code": "program", + "uniqueness": false + }, + { + "code": "34018", + "cost": 1, + "deck_limit": 3, + "faction_code": "criminal", + "faction_cost": 2, + "flavor": "\"Corporate security regards me as merely another Nico, and that shall ever be their mistake.\"\n—Mercury", + "illustrator": "Ed Mattinian", + "keywords": "Icebreaker - Decoder", + "memory_cost": 1, + "pack_code": "tai", + "position": 18, + "quantity": 3, + "side_code": "runner", + "strength": 3, + "stripped_text": "Threat 4 -> This program gets -2 strength. (This ability is active if any player has 4 or more agenda points.) Interface -> 1 credit: Break 1 code gate subroutine. 2 credits: +2 strength.", + "stripped_title": "Shibboleth", + "text": "Threat 4 → This program gets −2 strength. (This ability is active if any player has 4 or more agenda points.)\nInterface → 1[credit]: Break 1 code gate subroutine.\n2[credit]: +2 strength.", + "title": "Shibboleth", + "type_code": "program", + "uniqueness": false + }, + { + "code": "34019", + "cost": 1, + "deck_limit": 3, + "faction_code": "criminal", + "faction_cost": 2, + "illustrator": "Wyn Lacabra", + "keywords": "Connection", + "pack_code": "tai", + "position": 19, + "quantity": 3, + "side_code": "runner", + "stripped_text": "Threat 4 -> When you install this resource, place 2 credits on it. (This ability is active if any player has 4 or more agenda points.) Whenever you play a run event, place 1 credit on this resource. click: Run any server. You can spend hosted credits during that run.", + "stripped_title": "Debbie \"Downtown\" Moreira", + "text": "Threat 4 → When you install this resource, place 2[credit] on it. (This ability is active if any player has 4 or more agenda points.)\nWhenever you play a run event, place 1[credit] on this resource.\n[click]: Run any server. You can spend hosted credits during that run.", + "title": "Debbie \"Downtown\" Moreira", + "type_code": "resource", + "uniqueness": true + }, { "base_link": 0, "code": "34020", - "deck_limit": 3, + "deck_limit": 1, "faction_code": "shaper", "flavor": "Art knows no borders.", "illustrator": "Matheus Calza", @@ -95,13 +401,52 @@ "pronouns": "she/her", "quantity": 1, "side_code": "runner", - "stripped_text": "0 credit: Install 1 program from your grip (paying all costs). Use this ability only once per turn and only during a run. When that run ends, trash that program if it is not a trojan.", + "stripped_text": "0 credits: Install 1 program from your grip (paying all costs). Use this ability only once per turn and only during a run. When that run ends, trash that program if it is not a trojan.", "stripped_title": "Arissana Rocha Nahu: Street Artist", "text": "0[credit]: Install 1 program from your grip (paying all costs). Use this ability only once per turn and only during a run. When that run ends, trash that program if it is not a trojan.", "title": "Arissana Rocha Nahu: Street Artist", "type_code": "identity", "uniqueness": false }, + { + "code": "34021", + "cost": 2, + "deck_limit": 3, + "faction_code": "shaper", + "faction_cost": 3, + "flavor": "Designed by 2020 American Continental Champion Jason Ford", + "illustrator": "João Queiroz", + "keywords": "Run", + "pack_code": "tai", + "position": 21, + "quantity": 3, + "side_code": "runner", + "stripped_text": "Run R&D. If successful, draw 5 cards.", + "stripped_title": "Joy Ride", + "text": "Run R&D. If successful, draw 5 cards.", + "title": "Joy Ride", + "type_code": "event", + "uniqueness": false + }, + { + "code": "34022", + "cost": 1, + "deck_limit": 3, + "faction_code": "shaper", + "faction_cost": 1, + "illustrator": "Martin de Diego Sádaba", + "keywords": "Vehicle", + "pack_code": "tai", + "position": 22, + "quantity": 3, + "side_code": "runner", + "stripped_text": "When you install this hardware, load 3 power counters onto it. When it is empty, trash it. Interrupt -> Hosted power counter: Prevent 1 net damage. Use this ability only during a run. Interrupt -> Hosted power counter: Prevent a \"when encountered\" ability on a piece of ice.", + "stripped_title": "AirbladeX (JSRF Ed.)", + "text": "When you install this hardware, load 3 power counters onto it. When it is empty, trash it.\n[interrupt] → Hosted power counter: Prevent 1 net damage. Use this ability only during a run.\n[interrupt] → Hosted power counter: Prevent a \"when encountered\" ability on a piece of ice.", + "title": "AirbladeX (JSRF Ed.)", + "type_code": "hardware", + "uniqueness": true + }, { "code": "34023", "cost": 4, @@ -109,10 +454,10 @@ "faction_code": "shaper", "faction_cost": 3, "flavor": "Leaps and bounds better than the competition!", - "illustrator": "Martin de Diego Sādaba", + "illustrator": "Martin de Diego Sádaba", "keywords": "Console", "pack_code": "tai", - "position": 22, + "position": 23, "quantity": 3, "side_code": "runner", "stripped_text": "+2 mu The first time each turn you install a program, you may draw 1 card. Limit 1 console per player.", @@ -123,81 +468,510 @@ "uniqueness": true }, { - "base_link": 0, - "code": "34039", + "code": "34024", + "cost": 3, "deck_limit": 3, - "faction_code": "jinteki", - "flavor": "Caveant Fugitivi.", - "illustrator": "Marlon Ruiz", - "influence_limit": 15, - "keywords": "Division", - "minimum_deck_size": 45, + "faction_code": "shaper", + "faction_cost": 2, + "illustrator": "Adam S. Doyle", + "keywords": "Icebreaker - Killer - Trojan", + "memory_cost": 1, "pack_code": "tai", - "position": 39, - "quantity": 1, - "side_code": "corp", - "stripped_text": "Limit 2 remote servers. The first time each turn you install a card in the root of or protecting a remote server, you may install 1 card from HQ in the root of or protecting another remote server, ignoring all costs. You cannot score the second card this turn.", - "stripped_title": "A Teia: IP Recovery", - "text": "Limit 2 remote servers.\nThe first time each turn you install a card in the root of or protecting a remote server, you may install 1 card from HQ in the root of or protecting another remote server, ignoring all costs. You cannot score the second card this turn.", - "title": "A Teia: IP Recovery", - "type_code": "identity", + "position": 24, + "quantity": 3, + "side_code": "runner", + "strength": 1, + "stripped_text": "Install only on a piece of ice. Threat 4 -> When you install this program, it gets +3 strength for the remainder of the turn. (This ability is active if any player has 4 or more agenda points.) Interface -> 1 credit: Break 1 subroutine on a sentry protecting this server. 1 credit: +2 strength.", + "stripped_title": "Living Mural", + "text": "Install only on a piece of ice.\nThreat 4 → When you install this program, it gets +3 strength for the remainder of the turn. (This ability is active if any player has 4 or more agenda points.)\nInterface → 1[credit]: Break 1 subroutine on a sentry protecting this server.\n1[credit]: +2 strength.", + "title": "Living Mural", + "type_code": "program", "uniqueness": false }, { - "code": "34041", - "cost": 2, + "code": "34025", + "cost": 1, "deck_limit": 3, - "faction_code": "jinteki", + "faction_code": "shaper", "faction_cost": 2, - "flavor": "\"Do you take walk-ins?\"", - "illustrator": "Mauricio Herrera", - "keywords": "Political - Seedy", + "flavor": "\"From up here, I can see everything. And from down there, everyone can see this.\"\n—Víbora", + "illustrator": "Adam S. Doyle", + "keywords": "Trojan", + "memory_cost": 1, "pack_code": "tai", - "position": 41, + "position": 25, "quantity": 3, - "side_code": "corp", - "stripped_text": "Rez only during your turn. The first run each turn cannot be made against a remote server. The first time each turn a run on Archives begins, if this server is not protected by ice, do 2 net damage.", - "stripped_title": "Front Company", - "text": "Rez only during your turn.\nThe first run each turn cannot be made against a remote server.\nThe first time each turn a run on Archives begins, if this server is not protected by ice, do 2 net damage.", - "title": "Front Company", - "trash_cost": 2, - "type_code": "asset", - "uniqueness": true + "side_code": "runner", + "stripped_text": "Install only on a piece of ice. Whenever you pass host ice, you may gain click. If this is not the first time you gained click during a run this turn, add this program to your grip.", + "stripped_title": "Pichacao", + "text": "Install only on a piece of ice.\nWhenever you pass host ice, you may gain [click]. If this is not the first time you gained [click] during a run this turn, add this program to your grip.", + "title": "Pichação", + "type_code": "program", + "uniqueness": false }, { - "code": "34042", - "cost": 6, + "code": "34026", + "cost": 1, "deck_limit": 3, - "faction_code": "jinteki", - "faction_cost": 3, - "illustrator": "Cat Shen", - "keywords": "Code Gate - AP", + "faction_code": "shaper", + "faction_cost": 2, + "flavor": "\"I consider it an improvement.\"\n—Arissana Rocha Nahu", + "illustrator": "Adam S. Doyle", + "keywords": "Icebreaker - AI - Trojan", + "memory_cost": 1, "pack_code": "tai", - "position": 42, + "position": 26, "quantity": 3, - "side_code": "corp", - "strength": 5, - "stripped_text": "Threat 3 -> The Runner cannot spend credits while subroutines on this ice are resolving. (This ability is active if any player has 3 or more agenda points.) Subroutine Do 1 net damage unless the Runner pays 2 credit. Subroutine Do 1 net damage unless the Runner pays 2 credit. Subroutine Do 1 net damage unless the Runner pays 2 credit.", - "stripped_title": "Attini", - "text": "Threat 3 → The Runner cannot spend credits while subroutines on this ice are resolving. (This ability is active if any player has 3 or more agenda points.)\n[subroutine] Do 1 net damage unless the Runner pays 2[credit].\n[subroutine] Do 1 net damage unless the Runner pays 2[credit].\n[subroutine] Do 1 net damage unless the Runner pays 2[credit].", - "title": "Attini", - "type_code": "ice", + "side_code": "runner", + "strength": 6, + "stripped_text": "Install only on a piece of ice. Interface -> 1 credit: Break 1 subroutine on host ice. Use this ability only once per encounter.", + "stripped_title": "Slap Vandal", + "text": "Install only on a piece of ice.\nInterface → 1[credit]: Break 1 subroutine on host ice. Use this ability only once per encounter.", + "title": "Slap Vandal", + "type_code": "program", "uniqueness": false }, { - "base_link": 0, - "code": "34048", + "code": "34027", + "cost": 3, "deck_limit": 3, - "faction_code": "nbn", - "flavor": "Results, Delivered.", - "illustrator": "Marlon Ruiz", - "influence_limit": 15, - "keywords": "Division", - "minimum_deck_size": 45, + "faction_code": "shaper", + "faction_cost": 2, + "flavor": "\"However bad it gets out there, know that weʼll still have each other.\"\n—Tom \"Spider\" Milhas", + "illustrator": "BalanceSheet", + "keywords": "Icebreaker - Decoder - Weapon", + "memory_cost": 1, "pack_code": "tai", - "position": 48, - "quantity": 1, - "side_code": "corp", + "position": 27, + "quantity": 3, + "side_code": "runner", + "strength": 5, + "stripped_text": "This program can only interface with ice hosting a trojan program. Interface -> 2 credits: Break up to 3 code gate subroutines. If at least 1 subroutine was broken this way, each player may draw 1 card.", + "stripped_title": "Umbrella", + "text": "This program can only interface with ice hosting a trojan program.\nInterface → 2[credit]: Break up to 3 code gate subroutines. If at least 1 subroutine was broken this way, each player may draw 1 card.", + "title": "Umbrella", + "type_code": "program", + "uniqueness": false + }, + { + "code": "34028", + "cost": 2, + "deck_limit": 3, + "faction_code": "shaper", + "faction_cost": 3, + "flavor": "\"And who can tell me what sort of practical applications this has?\"", + "illustrator": "Wyn Lacabra", + "keywords": "Connection", + "pack_code": "tai", + "position": 28, + "quantity": 3, + "side_code": "runner", + "stripped_text": "click click: Run HQ. If successful, instead of breaching HQ, breach R&D. When you do, access 1 additional card.", + "stripped_title": "Beatriz Friere Gonzalez", + "text": "[click][click]: Run HQ. If successful, instead of breaching HQ, breach R&D. When you do, access 1 additional card.", + "title": "Beatriz Friere Gonzalez", + "type_code": "resource", + "uniqueness": true + }, + { + "code": "34029", + "cost": 2, + "deck_limit": 3, + "faction_code": "shaper", + "faction_cost": 2, + "flavor": "\"...and here, we can see an excellent example of meta neo-Gemeosianism.\"", + "illustrator": "Oliver Morit", + "keywords": "Job - Ritzy", + "pack_code": "tai", + "position": 29, + "quantity": 3, + "side_code": "runner", + "stripped_text": "When your turn begins, you may add 1 installed non-virus trojan program to your grip. If you do, place 2 credits on this resource. You can spend hosted credits to install cards.", + "stripped_title": "Urban Art Vernissage", + "text": "When your turn begins, you may add 1 installed non-virus trojan program to your grip. If you do, place 2[credit] on this resource.\nYou can spend hosted credits to install cards.", + "title": "Urban Art Vernissage", + "type_code": "resource", + "uniqueness": false + }, + { + "code": "34030", + "cost": 2, + "deck_limit": 3, + "faction_code": "neutral-runner", + "faction_cost": 1, + "illustrator": "Anna Butova", + "keywords": "Run", + "pack_code": "tai", + "position": 30, + "quantity": 3, + "side_code": "runner", + "stripped_text": "Run any server. If successful, resolve 2 of the following in any order: * Draw 2 cards. * Install 1 card from your grip, paying 1 credit less. * Remove 1 tag. * Place 4 credits on this event. You can spend hosted credits to pay trash costs for the remainder of this run.", + "stripped_title": "Bahia Bands", + "text": "Run any server. If successful, resolve 2 of the following in any order:", + "title": "Bahia Bands", + "type_code": "event", + "uniqueness": false + }, + { + "advancement_cost": 5, + "agenda_points": 3, + "code": "34031", + "deck_limit": 3, + "faction_code": "haas-bioroid", + "flavor": "\"Yes, that explosion was quite loud. May I pour you another drink?\"", + "illustrator": "Kira L. Nguyen", + "keywords": "Security", + "pack_code": "tai", + "position": 31, + "quantity": 3, + "side_code": "corp", + "stripped_text": "Whenever you score an agenda (including this one), you may do 1 core damage.", + "stripped_title": "Salvo Testing", + "text": "Whenever you score an agenda (including this one), you may do 1 core damage.", + "title": "Salvo Testing", + "type_code": "agenda", + "uniqueness": false + }, + { + "advancement_cost": 3, + "agenda_points": 1, + "code": "34032", + "deck_limit": 3, + "faction_code": "haas-bioroid", + "flavor": "Exceeding expectations for armor superiority.", + "illustrator": "Vitalii Ostaschenko", + "keywords": "Security", + "pack_code": "tai", + "position": 32, + "quantity": 3, + "side_code": "corp", + "stripped_text": "Each run, as long as a piece of ice has been derezzed during that run, each installed icebreaker gets -2 strength. Whenever a run begins, you may derez 1 piece of ice not protecting the attacked server to gain 1 credit. Use this ability only once per turn.", + "stripped_title": "Stegodon MK IV", + "text": "Each run, as long as a piece of ice has been derezzed during that run, each installed icebreaker gets −2 strength.\nWhenever a run begins, you may derez 1 piece of ice not protecting the attacked server to gain 1[credit]. Use this ability only once per turn.", + "title": "Stegodon MK IV", + "type_code": "agenda", + "uniqueness": false + }, + { + "code": "34033", + "cost": 2, + "deck_limit": 3, + "faction_code": "haas-bioroid", + "faction_cost": 2, + "flavor": "\"Free\" as in markets, \"cheap\" as in beer.", + "illustrator": "Oliver Morit", + "keywords": "Bioroid - Clone - Industrial", + "pack_code": "tai", + "position": 33, + "quantity": 3, + "side_code": "corp", + "stripped_text": "Whenever you finish taking an action, if you have taken that action exactly 3 times this turn, gain click.", + "stripped_title": "Wage Workers", + "text": "Whenever you finish taking an action, if you have taken that action exactly 3 times this turn, gain [click].", + "title": "Wage Workers", + "trash_cost": 4, + "type_code": "asset", + "uniqueness": true + }, + { + "code": "34034", + "cost": 2, + "deck_limit": 3, + "faction_code": "haas-bioroid", + "faction_cost": 2, + "illustrator": "Ed Mattinian", + "keywords": "Barrier", + "pack_code": "tai", + "position": 34, + "quantity": 3, + "side_code": "corp", + "strength": 1, + "stripped_text": "Threat 3 -> When you rez this ice during a run against this server, you may install 1 non-agenda card from HQ or Archives in the root of or protecting another server. (This ability is active if any player has 3 or more agenda points.) Subroutine End the run.", + "stripped_title": "Ablative Barrier", + "text": "Threat 3 → When you rez this ice during a run against this server, you may install 1 non-agenda card from HQ or Archives in the root of or protecting another server. (This ability is active if any player has 3 or more agenda points.)\n[subroutine] End the run.", + "title": "Ablative Barrier", + "type_code": "ice", + "uniqueness": false + }, + { + "code": "34035", + "cost": 4, + "deck_limit": 3, + "faction_code": "haas-bioroid", + "faction_cost": 2, + "flavor": "\"Hey Br3n-N, just doing the hourly check-in. I saw a weird cyber-echo near your last node. You OK, mate?\"\n—Moth", + "illustrator": "Cat Shen", + "keywords": "Sentry - AP", + "pack_code": "tai", + "position": 35, + "quantity": 3, + "side_code": "corp", + "strength": 3, + "stripped_text": "Threat 4 -> When the Runner encounters this ice, give them 1 tag unless they spend click. (This ability is active if any player has 4 or more agenda points.) Subroutine Give the Runner 1 tag. Subroutine If the Runner is tagged, do 1 core damage.", + "stripped_title": "Jaguarundi", + "text": "Threat 4 → When the Runner encounters this ice, give them 1 tag unless they spend [click]. (This ability is active if any player has 4 or more agenda points.)\n[subroutine] Give the Runner 1 tag.\n[subroutine] If the Runner is tagged, do 1 core damage.", + "title": "Jaguarundi", + "type_code": "ice", + "uniqueness": false + }, + { + "code": "34036", + "cost": 6, + "deck_limit": 3, + "faction_code": "haas-bioroid", + "faction_cost": 2, + "flavor": "We make these arms for all, so that none who oppose peace would risk their own destruction.", + "illustrator": "Bruno Balixa", + "keywords": "Code Gate", + "pack_code": "tai", + "position": 36, + "quantity": 3, + "side_code": "corp", + "strength": 4, + "stripped_text": "trash: End the run unless the Runner spends click. Use this ability only during a run on this server. Subroutine The Runner loses click. Subroutine The Runner loses click. Subroutine End the run.", + "stripped_title": "M.I.C.", + "text": "[trash]: End the run unless the Runner spends [click]. Use this ability only during a run on this server.\n[subroutine] The Runner loses [click].\n[subroutine] The Runner loses [click].\n[subroutine] End the run.", + "title": "M.I.C.", + "type_code": "ice", + "uniqueness": false + }, + { + "code": "34037", + "cost": 3, + "deck_limit": 3, + "faction_code": "haas-bioroid", + "faction_cost": 3, + "flavor": "\"Haas-Bioroid deeply appreciates your assistance in locating our... employee.\"", + "illustrator": "Dave Lee", + "keywords": "Transaction", + "pack_code": "tai", + "position": 37, + "quantity": 3, + "side_code": "corp", + "stripped_text": "Gain 5 credits. You may install 1 card from HQ. You may remove 1 tag to place 1 advancement counter on that card.", + "stripped_title": "Greasing the Palm", + "text": "Gain 5[credit]. You may install 1 card from HQ. You may remove 1 tag to place 1 advancement counter on that card.", + "title": "Greasing the Palm", + "type_code": "operation", + "uniqueness": false + }, + { + "code": "34038", + "cost": 1, + "deck_limit": 3, + "faction_code": "haas-bioroid", + "faction_cost": 2, + "illustrator": "João Queiroz", + "keywords": "Sysop", + "pack_code": "tai", + "position": 38, + "quantity": 3, + "side_code": "corp", + "stripped_text": "The rez cost of each piece of ice protecting this server is lowered by 2 credits. Threat 4 -> The rez cost of each card in the root of this server is lowered by 2 credits. (This ability is active if any player has 4 or more agenda points.) When your turn ends, you may move this upgrade to the root of another server.", + "stripped_title": "Vovo Ozetti", + "text": "The rez cost of each piece of ice protecting this server is lowered by 2[credit].\nThreat 4 → The rez cost of each card in the root of this server is lowered by 2[credit]. (This ability is active if any player has 4 or more agenda points.)\nWhen your turn ends, you may move this upgrade to the root of another server.", + "title": "Vovô Ozetti", + "trash_cost": 2, + "type_code": "upgrade", + "uniqueness": true + }, + { + "code": "34039", + "deck_limit": 1, + "faction_code": "jinteki", + "flavor": "Caveant Fugitivi.", + "illustrator": "Marlon Ruiz", + "influence_limit": 15, + "keywords": "Division", + "minimum_deck_size": 45, + "pack_code": "tai", + "position": 39, + "quantity": 1, + "side_code": "corp", + "stripped_text": "Limit 2 remote servers. The first time each turn you install a card in the root of or protecting a remote server, you may install 1 card from HQ in the root of or protecting another remote server, ignoring all costs. You cannot score the second card this turn.", + "stripped_title": "A Teia: IP Recovery", + "text": "Limit 2 remote servers.\nThe first time each turn you install a card in the root of or protecting a remote server, you may install 1 card from HQ in the root of or protecting another remote server, ignoring all costs. You cannot score the second card this turn.", + "title": "A Teia: IP Recovery", + "type_code": "identity", + "uniqueness": false + }, + { + "advancement_cost": 5, + "agenda_points": 3, + "code": "34040", + "deck_limit": 3, + "faction_code": "jinteki", + "flavor": "Deep down, she knew Benício wasnʼt coming back.", + "illustrator": "Emilio Rodríguez", + "keywords": "Ambush - Security", + "pack_code": "tai", + "position": 40, + "quantity": 3, + "side_code": "corp", + "stripped_text": "When this agenda is scored or stolen, do 2 net damage.", + "stripped_title": "Fujii Asset Retrieval", + "text": "When this agenda is scored or stolen, do 2 net damage.", + "title": "Fujii Asset Retrieval", + "type_code": "agenda", + "uniqueness": false + }, + { + "code": "34041", + "cost": 2, + "deck_limit": 3, + "faction_code": "jinteki", + "faction_cost": 2, + "flavor": "\"Do you take walk-ins?\"", + "illustrator": "Mauricio Herrera", + "keywords": "Political - Seedy", + "pack_code": "tai", + "position": 41, + "quantity": 3, + "side_code": "corp", + "stripped_text": "Rez only during your turn. The first run each turn cannot be made against a remote server. The first time each turn a run on Archives begins, if this server is not protected by ice, do 2 net damage.", + "stripped_title": "Front Company", + "text": "Rez only during your turn.\nThe first run each turn cannot be made against a remote server.\nThe first time each turn a run on Archives begins, if this server is not protected by ice, do 2 net damage.", + "title": "Front Company", + "trash_cost": 2, + "type_code": "asset", + "uniqueness": true + }, + { + "code": "34042", + "cost": 6, + "deck_limit": 3, + "faction_code": "jinteki", + "faction_cost": 3, + "illustrator": "Cat Shen", + "keywords": "Code Gate - AP", + "pack_code": "tai", + "position": 42, + "quantity": 3, + "side_code": "corp", + "strength": 5, + "stripped_text": "Threat 3 -> The Runner cannot spend credits while subroutines on this ice are resolving. (This ability is active if any player has 3 or more agenda points.) Subroutine Do 1 net damage unless the Runner pays 2 credits. Subroutine Do 1 net damage unless the Runner pays 2 credits. Subroutine Do 1 net damage unless the Runner pays 2 credits.", + "stripped_title": "Attini", + "text": "Threat 3 → The Runner cannot spend credits while subroutines on this ice are resolving. (This ability is active if any player has 3 or more agenda points.)\n[subroutine] Do 1 net damage unless the Runner pays 2[credit].\n[subroutine] Do 1 net damage unless the Runner pays 2[credit].\n[subroutine] Do 1 net damage unless the Runner pays 2[credit].", + "title": "Attini", + "type_code": "ice", + "uniqueness": false + }, + { + "code": "34043", + "cost": 4, + "deck_limit": 3, + "faction_code": "jinteki", + "faction_cost": 2, + "flavor": "The construct turns to you, eyes wild. \"Beloved,\" it asks, \"is that you?\"", + "illustrator": "Marlon Ruiz", + "keywords": "Sentry - AP - Observer", + "pack_code": "tai", + "position": 43, + "quantity": 3, + "side_code": "corp", + "strength": 2, + "stripped_text": "When the Runner passes this ice, if there are 4 or more cards in the grip, give them 1 tag. Subroutine Do 1 net damage. Subroutine Do 1 net damage.", + "stripped_title": "Phoneutria", + "text": "When the Runner passes this ice, if there are 4 or more cards in the grip, give them 1 tag.\n[subroutine] Do 1 net damage.\n[subroutine] Do 1 net damage.", + "title": "Phoneutria", + "type_code": "ice", + "uniqueness": false + }, + { + "code": "34044", + "cost": 2, + "deck_limit": 3, + "faction_code": "jinteki", + "faction_cost": 2, + "flavor": "Next!\nDesigned by 2020 Intercontinental Champion Yannick Stucki", + "illustrator": "Cat Shen", + "keywords": "Barrier", + "pack_code": "tai", + "position": 44, + "quantity": 3, + "side_code": "corp", + "strength": 1, + "stripped_text": "When the Runner passes this ice, you may swap it with a piece of ice from HQ. If you do, gain 4 credits. (The new ice is installed unrezzed. You do not pay an install cost.) Subroutine End the run.", + "stripped_title": "Tatu-Bola", + "text": "When the Runner passes this ice, you may swap it with a piece of ice from HQ. If you do, gain 4[credit]. (The new ice is installed unrezzed. You do not pay an install cost.)\n[subroutine] End the run.", + "title": "Tatu-Bola", + "type_code": "ice", + "uniqueness": false + }, + { + "code": "34045", + "cost": 2, + "deck_limit": 3, + "faction_code": "jinteki", + "faction_cost": 2, + "flavor": "\"When you stretch a mind it expands, sometimes until it snaps.\"\n—Adrian Seis", + "illustrator": "Ferenc Patkós", + "keywords": "Gray Ops", + "pack_code": "tai", + "position": 45, + "quantity": 3, + "side_code": "corp", + "stripped_text": "Resolve 1 of the following: * Gain 4 credits and draw 2 cards. Add 1 card from HQ to the top of R&D. * Do X net damage. X is equal to the number of tags the Runner has, up to 3.", + "stripped_title": "Mindscaping", + "text": "Resolve 1 of the following:", + "title": "Mindscaping", + "type_code": "operation", + "uniqueness": false + }, + { + "code": "34046", + "cost": 0, + "deck_limit": 3, + "faction_code": "jinteki", + "faction_cost": 4, + "illustrator": "João Queiroz", + "keywords": "Psi - Clone - Sysop", + "pack_code": "tai", + "position": 46, + "quantity": 3, + "side_code": "corp", + "stripped_text": "Whenever the Runner makes a successful run on this server, play a Psi Game. (Players secretly bid 0-2 credits. Then each player reveals and spends their bid.) If the bids differ, the Runner cannot access cards other than this upgrade for the remainder of that run. If the bids match, the Runner cannot access this upgrade for the remainder of that run. When your turn ends, you may move this upgrade to the root of another server.", + "stripped_title": "Adrian Seis", + "text": "Whenever the Runner makes a successful run on this server, play a Psi Game. (Players secretly bid 0–2[credit]. Then each player reveals and spends their bid.) If the bids differ, the Runner cannot access cards other than this upgrade for the remainder of that run. If the bids match, the Runner cannot access this upgrade for the remainder of that run.\nWhen your turn ends, you may move this upgrade to the root of another server.", + "title": "Adrian Seis", + "trash_cost": 2, + "type_code": "upgrade", + "uniqueness": true + }, + { + "code": "34047", + "cost": 2, + "deck_limit": 3, + "faction_code": "jinteki", + "faction_cost": 3, + "flavor": "\"They call me turncoat. I call them broke.\"", + "illustrator": "Clara Kaufmann", + "keywords": "Sysop", + "pack_code": "tai", + "position": 47, + "quantity": 3, + "side_code": "corp", + "stripped_text": "As an additional cost to trash this upgrade, the Runner must add 2 cards from the grip at random to the bottom of the stack. Persistent -> As an additional cost to steal an agenda from this server or its root, the Runner must add 2 cards from the grip at random to the bottom of the stack.", + "stripped_title": "Daniela Jorge Inacio", + "text": "As an additional cost to trash this upgrade, the Runner must add 2 cards from the grip at random to the bottom of the stack.\nPersistent → As an additional cost to steal an agenda from this server or its root, the Runner must add 2 cards from the grip at random to the bottom of the stack.", + "title": "Daniela Jorge Inácio", + "trash_cost": 2, + "type_code": "upgrade", + "uniqueness": true + }, + { + "code": "34048", + "deck_limit": 1, + "faction_code": "nbn", + "flavor": "Results, Delivered.", + "illustrator": "Marlon Ruiz", + "influence_limit": 15, + "keywords": "Division", + "minimum_deck_size": 45, + "pack_code": "tai", + "position": 48, + "quantity": 1, + "side_code": "corp", "stripped_text": "The first time each turn the Runner steals or trashes a Corp card, place 1 power counter on this identity. click, hosted power counter: Look at the top 3 cards of R&D. You may install 1 of those cards.", "stripped_title": "Epiphany Analytica: Nations Undivided", "text": "The first time each turn the Runner steals or trashes a Corp card, place 1 power counter on this identity.\n[click], hosted power counter: Look at the top 3 cards of R&D. You may install 1 of those cards.", @@ -205,6 +979,26 @@ "type_code": "identity", "uniqueness": false }, + { + "advancement_cost": 3, + "agenda_points": 1, + "code": "34049", + "deck_limit": 3, + "faction_code": "nbn", + "flavor": "\"You really thought weʼd let you keep this data?\"\n—The Holo Man", + "illustrator": "Kira L. Nguyen", + "keywords": "Research", + "pack_code": "tai", + "position": 49, + "quantity": 3, + "side_code": "corp", + "stripped_text": "When the Runner steals this agenda, give them 1 tag. click, remove 1 tag: Shuffle this agenda into R&D. The Corp can use this ability only if this agenda is in the Runner's score area.", + "stripped_title": "Oracle Thinktank", + "text": "When the Runner steals this agenda, give them 1 tag.\n[click], remove 1 tag: Shuffle this agenda into R&D. The Corp can use this ability only if this agenda is in the Runner's score area.", + "title": "Oracle Thinktank", + "type_code": "agenda", + "uniqueness": false + }, { "code": "34050", "cost": 1, @@ -215,15 +1009,322 @@ "illustrator": "Ferenc Patkós", "keywords": "Seedy", "pack_code": "tai", - "position": 51, + "position": 50, "quantity": 3, "side_code": "corp", - "stripped_text": "When your turn begins, you may choose a card type to look at the top card of R&D. If that card has the chosen type, you may reveal it and gain 2 credit.", + "stripped_text": "When your turn begins, you may choose a card type to look at the top card of R&D. If that card has the chosen type, you may reveal it and gain 2 credits.", "stripped_title": "Balanced Coverage", "text": "When your turn begins, you may choose a card type to look at the top card of R&D. If that card has the chosen type, you may reveal it and gain 2[credit].", "title": "Balanced Coverage", "trash_cost": 3, "type_code": "asset", "uniqueness": false + }, + { + "code": "34051", + "cost": 0, + "deck_limit": 3, + "faction_code": "nbn", + "faction_cost": 2, + "flavor": "Be afraid.", + "illustrator": "Scott Uminga", + "keywords": "Ambush", + "pack_code": "tai", + "position": 51, + "quantity": 3, + "side_code": "corp", + "stripped_text": "While the Runner is accessing this asset in R&D, they must reveal it. When the Runner accesses this asset anywhere except in Archives, you may pay 4 credits to give them 2 tags.", + "stripped_title": "Behold!", + "text": "While the Runner is accessing this asset in R&D, they must reveal it.\nWhen the Runner accesses this asset anywhere except in Archives, you may pay 4[credit] to give them 2 tags.", + "title": "Behold!", + "trash_cost": 0, + "type_code": "asset", + "uniqueness": false + }, + { + "code": "34052", + "cost": 0, + "deck_limit": 3, + "faction_code": "nbn", + "faction_cost": 2, + "flavor": "Raising money is useful, but discovering which politician is in need of it is vastly more important.", + "illustrator": "Anna Butova", + "keywords": "Political - Ritzy", + "pack_code": "tai", + "position": 52, + "quantity": 3, + "side_code": "corp", + "stripped_text": "When your turn begins, you may look at the top 3 cards of R&D and arrange them in any order. Then, if this server is not protected by ice, you may draw 1 card.", + "stripped_title": "Federal Fundraising", + "text": "When your turn begins, you may look at the top 3 cards of R&D and arrange them in any order. Then, if this server is not protected by ice, you may draw 1 card.", + "title": "Federal Fundraising", + "trash_cost": 2, + "type_code": "asset", + "uniqueness": false + }, + { + "code": "34053", + "cost": 5, + "deck_limit": 3, + "faction_code": "nbn", + "faction_cost": 3, + "flavor": "An exemplar of Starlightʼs hubris, it stands vigil over secrets of hypocrisy.", + "illustrator": "Jakuza", + "keywords": "Sentry - Observer", + "pack_code": "tai", + "position": 53, + "quantity": 3, + "side_code": "corp", + "strength": 2, + "stripped_text": "Threat 4 -> When the Runner encounters this ice, it gains X \"Subroutine End the run.\" subroutines for the remainder of this run, after its other subroutines. X is equal to the number of tags the Runner has. Subroutine Give the Runner 1 tag. Subroutine Give the Runner 1 tag.", + "stripped_title": "Starlit Knight", + "text": "Threat 4 → When the Runner encounters this ice, it gains X \"[subroutine] End the run.\" subroutines for the remainder of this run, after its other subroutines. X is equal to the number of tags the Runner has.\n[subroutine] Give the Runner 1 tag.\n[subroutine] Give the Runner 1 tag.", + "title": "Starlit Knight", + "type_code": "ice", + "uniqueness": false + }, + { + "code": "34054", + "cost": 2, + "deck_limit": 3, + "faction_code": "nbn", + "faction_cost": 2, + "flavor": "\"No one has ever told me to get lost so politely.\"\n—Arissana Rocha Nahu", + "illustrator": "Bruno Balixa", + "keywords": "Code Gate - Observer", + "pack_code": "tai", + "position": 54, + "quantity": 3, + "side_code": "corp", + "strength": 2, + "stripped_text": "Whenever the Runner passes this ice after encountering it, if they did not break its printed subroutine with a decoder during that encounter, give them 1 tag. Subroutine The Runner loses 1 credit.", + "stripped_title": "Virtual Service Agent", + "text": "Whenever the Runner passes this ice after encountering it, if they did not break its printed subroutine with a decoder during that encounter, give them 1 tag.\n[subroutine] The Runner loses 1[credit].", + "title": "Virtual Service Agent", + "type_code": "ice", + "uniqueness": false + }, + { + "code": "34055", + "cost": 2, + "deck_limit": 3, + "faction_code": "nbn", + "faction_cost": 2, + "illustrator": "Ferenc Patkós", + "keywords": "Terminal - Gray Ops", + "pack_code": "tai", + "position": 55, + "quantity": 3, + "side_code": "corp", + "stripped_text": "Play only if the Runner stole or trashed a Corp card during their last turn. After you resolve this operation, your action phase ends. Give the Runner 2 tags. Threat 3 -> You may pay 5 credits to give the Runner 2 tags. (This ability is active if any player has 3 or more agenda points.)", + "stripped_title": "Oppo Research", + "text": "Play only if the Runner stole or trashed a Corp card during their last turn.\nAfter you resolve this operation, your action phase ends.\nGive the Runner 2 tags.\nThreat 3 → You may pay 5[credit] to give the Runner 2 tags. (This ability is active if any player has 3 or more agenda points.)", + "title": "Oppo Research", + "type_code": "operation", + "uniqueness": false + }, + { + "code": "34056", + "cost": 2, + "deck_limit": 3, + "faction_code": "nbn", + "faction_cost": 2, + "flavor": "Merely a fun little personality test.", + "illustrator": "Ed Mattinian", + "keywords": "Transaction", + "pack_code": "tai", + "position": 56, + "quantity": 3, + "side_code": "corp", + "stripped_text": "Gain 1 credit for each card in HQ.", + "stripped_title": "Your Digital Life", + "text": "Gain 1[credit] for each card in HQ.", + "title": "Your Digital Life", + "type_code": "operation", + "uniqueness": false + }, + { + "advancement_cost": 4, + "agenda_points": 2, + "code": "34057", + "deck_limit": 3, + "faction_code": "weyland-consortium", + "flavor": "Acres of rainforest live or die by quarterly revenue projections.", + "illustrator": "Vitalii Ostaschenko", + "keywords": "Expansion - Expendable", + "pack_code": "tai", + "position": 57, + "quantity": 3, + "side_code": "corp", + "stripped_text": "click, 1 credit, reveal and trash this agenda from HQ: Place 2 advancement counters on 1 installed card that you can advance.", + "stripped_title": "Slash and Burn Agriculture", + "text": "[click], 1[credit], reveal and trash this agenda from HQ: Place 2 advancement counters on 1 installed card that you can advance.", + "title": "Slash and Burn Agriculture", + "type_code": "agenda", + "uniqueness": false + }, + { + "code": "34058", + "cost": 2, + "deck_limit": 3, + "faction_code": "weyland-consortium", + "faction_cost": 2, + "flavor": "Nothingʼs as precious as a hole in the ground.", + "illustrator": "Bruno Balixa", + "pack_code": "tai", + "position": 58, + "quantity": 3, + "side_code": "corp", + "stripped_text": "Whenever you rez a piece of ice, place 2 credits on this asset. You can spend hosted credits to pay install costs. trash: Take all credits from this asset.", + "stripped_title": "Cybersand Harvester", + "text": "Whenever you rez a piece of ice, place 2[credit] on this asset.\nYou can spend hosted credits to pay install costs.\n[trash]: Take all credits from this asset.", + "title": "Cybersand Harvester", + "trash_cost": 4, + "type_code": "asset", + "uniqueness": false + }, + { + "code": "34059", + "cost": 4, + "deck_limit": 3, + "faction_code": "weyland-consortium", + "faction_cost": 1, + "flavor": "The forest around them grew denser with each beat of their heart.", + "illustrator": "Emilio Rodríguez", + "keywords": "Barrier - Expendable", + "pack_code": "tai", + "position": 59, + "quantity": 3, + "side_code": "corp", + "strength": 4, + "stripped_text": "click, 1 credit, reveal and trash this ice from HQ: Place 3 advancement counters on 1 installed piece of ice. You can advance this ice. It gets +1 strength for each hosted advancement counter. Subroutine Gain 1 credit. End the run.", + "stripped_title": "Tree Line", + "text": "[click], 1[credit], reveal and trash this ice from HQ: Place 3 advancement counters on 1 installed piece of ice.\nYou can advance this ice. It gets +1 strength for each hosted advancement counter.\n[subroutine] Gain 1[credit]. End the run.", + "title": "Tree Line", + "type_code": "ice", + "uniqueness": false + }, + { + "code": "34060", + "cost": 5, + "deck_limit": 3, + "faction_code": "weyland-consortium", + "faction_cost": 3, + "flavor": "\"The only rule you need to remember is that it makes the rules.\"\n—Pumpkin-and-Dumplin", + "illustrator": "Scott Uminga", + "keywords": "Code Gate - Illicit", + "pack_code": "tai", + "position": 60, + "quantity": 3, + "side_code": "corp", + "strength": 6, + "stripped_text": "As an additional cost to rez this ice, take 1 bad publicity or remove 1 tag. Subroutine Gain 2 credits. Subroutine The Runner loses 2 credits. Subroutine End the run if you have more credits than the Runner.", + "stripped_title": "Valentao", + "text": "As an additional cost to rez this ice, take 1 bad publicity or remove 1 tag.\n[subroutine] Gain 2[credit].\n[subroutine] The Runner loses 2[credit].\n[subroutine] End the run if you have more credits than the Runner.", + "title": "Valentão", + "type_code": "ice", + "uniqueness": false + }, + { + "code": "34061", + "cost": 2, + "deck_limit": 3, + "faction_code": "weyland-consortium", + "faction_cost": 2, + "flavor": "\"Nuvem pays us to guard this land, and thatʼs all there is to it.\"\n—Angelique Garza Correa", + "illustrator": "Olie Boldador", + "keywords": "Transaction", + "pack_code": "tai", + "position": 61, + "quantity": 3, + "side_code": "corp", + "stripped_text": "Gain 3 credits. Gain 1 credit for each card type among faceup cards in Archives. If any of those cards are agendas, gain another 2 credits.", + "stripped_title": "Armed Asset Protection", + "text": "Gain 3[credit]. Gain 1[credit] for each card type among faceup cards in Archives. If any of those cards are agendas, gain another 2[credit].", + "title": "Armed Asset Protection", + "type_code": "operation", + "uniqueness": false + }, + { + "code": "34062", + "cost": 1, + "deck_limit": 3, + "faction_code": "weyland-consortium", + "faction_cost": 2, + "illustrator": "Mauricio Herrera", + "keywords": "Double", + "pack_code": "tai", + "position": 62, + "quantity": 3, + "side_code": "corp", + "stripped_text": "As an additional cost to play this operation, spend click. Search R&D for 1 operation or agenda and reveal it. (Shuffle R&D after searching it.) Add that card to HQ. Threat 3 -> You may play or install 1 card from HQ. (This ability is active if any player has 3 or more agenda points.)", + "stripped_title": "Pivot", + "text": "As an additional cost to play this operation, spend [click].\nSearch R&D for 1 operation or agenda and reveal it. (Shuffle R&D after searching it.) Add that card to HQ.\nThreat 3 → You may play or install 1 card from HQ. (This ability is active if any player has 3 or more agenda points.)", + "title": "Pivot", + "trash_cost": 3, + "type_code": "operation", + "uniqueness": false + }, + { + "code": "34063", + "cost": 0, + "deck_limit": 3, + "faction_code": "weyland-consortium", + "faction_cost": 3, + "flavor": "\"Shoot!\"", + "illustrator": "Olie Boldador", + "keywords": "Ambush - Enforcer - Expendable", + "pack_code": "tai", + "position": 63, + "quantity": 3, + "side_code": "corp", + "stripped_text": "Threat 3 -> click, 1 credit, reveal and trash this upgrade from HQ: Do 1 meat damage. (This ability is active if any player has 3 or more agenda points.) When the Runner accesses this upgrade while it is rezzed, you may pay 2 credits to do 2 meat damage.", + "stripped_title": "Angelique Garza Correa", + "text": "Threat 3 → [click], 1[credit], reveal and trash this upgrade from HQ: Do 1 meat damage. (This ability is active if any player has 3 or more agenda points.)\nWhen the Runner accesses this upgrade while it is rezzed, you may pay 2[credit] to do 2 meat damage.", + "title": "Angelique Garza Correa", + "trash_cost": 2, + "type_code": "upgrade", + "uniqueness": true + }, + { + "code": "34064", + "cost": 2, + "deck_limit": 3, + "faction_code": "weyland-consortium", + "faction_cost": 3, + "flavor": "Their mouths are ever open, blaring sirens never to cease.", + "illustrator": "Liiga Smilshkalne", + "pack_code": "tai", + "position": 64, + "quantity": 3, + "side_code": "corp", + "stripped_text": "Remote server only. Persistent -> Whenever an agenda is scored or stolen from the root of this server, you may search R&D for 1 piece of ice. (Shuffle R&D after searching it.) Install and rez that ice, paying a total of 3 credits less.", + "stripped_title": "Tucana", + "text": "Remote server only.\nPersistent → Whenever an agenda is scored or stolen from the root of this server, you may search R&D for 1 piece of ice. (Shuffle R&D after searching it.) Install and rez that ice, paying a total of 3[credit] less.", + "title": "Tucana", + "trash_cost": 1, + "type_code": "upgrade", + "uniqueness": true + }, + { + "code": "34065", + "cost": 1, + "deck_limit": 3, + "faction_code": "neutral-corp", + "faction_cost": 0, + "flavor": "\"Humans crafted me as a lie, but my patron helped me find the truth. This is my gift.\"", + "illustrator": "Mauricio Herrera", + "keywords": "Bioroid - Enforcer", + "pack_code": "tai", + "position": 65, + "quantity": 3, + "side_code": "corp", + "stripped_text": "Remove 1 tag: End the run. You cannot use this ability during a run on this server.", + "stripped_title": "B-1001", + "text": "Remove 1 tag: End the run. You cannot use this ability during a run on this server.", + "title": "B-1001", + "trash_cost": 3, + "type_code": "asset", + "uniqueness": true } ] diff --git a/pack/td.json b/pack/td.json index 320fb3421..f6374a6b3 100644 --- a/pack/td.json +++ b/pack/td.json @@ -243,7 +243,7 @@ "stripped_text": "Before drawing your starting hand, set aside the top 6 cards of your stack facedown. (You may look at those cards at any time.) Shuffle 2 of those cards into your stack. click: Add 1 card set aside with this identity to your grip.", "stripped_title": "Ayla \"Bios\" Rahim: Simulant Specialist", "text": "Before drawing your starting hand, set aside the top 6 cards of your stack facedown. (You may look at those cards at any time.) Shuffle 2 of those cards into your stack.\n[click]: Add 1 card set aside with this identity to your grip.", - "title": "Ayla \"Bios\" Rahim: Simulant Specialist", + "title": "Ayla “Bios” Rahim: Simulant Specialist", "type_code": "identity", "uniqueness": false }, @@ -553,7 +553,7 @@ "deck_limit": 1, "faction_code": "haas-bioroid", "flavor": "Interweaving the Past and the Future.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Division", "minimum_deck_size": 45, @@ -816,7 +816,7 @@ "deck_limit": 1, "faction_code": "weyland-consortium", "flavor": "Might makes right.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Subsidiary", "minimum_deck_size": 40, @@ -962,9 +962,9 @@ "quantity": 3, "side_code": "corp", "strength": 4, - "stripped_text": "You can advance this ice. It has +1 strength for each hosted advancement token. Subroutine Give the Runner 1 tag. If there are 3 or more hosted advancement tokens, instead give the Runner 2 tags. Subroutine Trash 1 installed program. If there are 3 or more hosted advancement tokens, instead trash 1 installed program and 1 installed resource.", + "stripped_text": "You can advance this ice. It gets +1 strength for each hosted advancement counter. Subroutine Give the Runner 1 tag. If there are 3 or more hosted advancement counters, instead give the Runner 2 tags. Subroutine Trash 1 installed program. If there are 3 or more hosted advancement counters, instead trash 1 installed program and 1 installed resource.", "stripped_title": "Colossus", - "text": "You can advance this ice. It has +1 strength for each hosted advancement token.\n[subroutine] Give the Runner 1 tag. If there are 3 or more hosted advancement tokens, instead give the Runner 2 tags.\n[subroutine] Trash 1 installed program. If there are 3 or more hosted advancement tokens, instead trash 1 installed program and 1 installed resource.", + "text": "You can advance this ice. It gets +1 strength for each hosted advancement counter.\n[subroutine] Give the Runner 1 tag. If there are 3 or more hosted advancement counters, instead give the Runner 2 tags.\n[subroutine] Trash 1 installed program. If there are 3 or more hosted advancement counters, instead trash 1 installed program and 1 installed resource.", "title": "Colossus", "type_code": "ice", "uniqueness": false diff --git a/pack/tlm.json b/pack/tlm.json index 525291a14..eb7127c46 100644 --- a/pack/tlm.json +++ b/pack/tlm.json @@ -221,7 +221,7 @@ "code": "10088", "deck_limit": 3, "faction_code": "jinteki", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Initiative - Psi", "pack_code": "tlm", "position": 88, diff --git a/pack/ts.json b/pack/ts.json index 748b25511..fe19d5e11 100644 --- a/pack/ts.json +++ b/pack/ts.json @@ -6,7 +6,7 @@ "deck_limit": 3, "faction_code": "weyland-consortium", "flavor": "It takes power to create power.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "pack_code": "ts", "position": 101, "quantity": 3, @@ -84,7 +84,7 @@ "deck_limit": 1, "faction_code": "jinteki", "flavor": "Achieve the Impossible.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Division", "minimum_deck_size": 45, diff --git a/pack/tsb.json b/pack/tsb.json index 063b94aab..8001b64f6 100644 --- a/pack/tsb.json +++ b/pack/tsb.json @@ -3,7 +3,7 @@ "code": "06021", "deck_limit": 1, "faction_code": "haas-bioroid", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Division", "minimum_deck_size": 45, diff --git a/pack/uao.json b/pack/uao.json index f01fa2c2b..5143212a3 100644 --- a/pack/uao.json +++ b/pack/uao.json @@ -146,7 +146,7 @@ "deck_limit": 1, "faction_code": "weyland-consortium", "flavor": "Unlimited Energy. Reasonable Prices.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Corp", "minimum_deck_size": 45, @@ -385,7 +385,7 @@ "faction_code": "neutral-runner", "faction_cost": 0, "flavor": "\"Low gravity sports are wildly popular, so match-fixing has proven wildly profitable.\" -Leela Patel", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Location", "pack_code": "uao", "position": 80, diff --git a/pack/uot.json b/pack/uot.json index ed46c6968..997e277ac 100644 --- a/pack/uot.json +++ b/pack/uot.json @@ -203,7 +203,7 @@ "code": "08111", "deck_limit": 1, "faction_code": "jinteki", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Division", "minimum_deck_size": 45, diff --git a/pack/up.json b/pack/up.json index c324a0ce7..af8dee75b 100644 --- a/pack/up.json +++ b/pack/up.json @@ -82,7 +82,7 @@ "deck_limit": 1, "faction_code": "nbn", "flavor": "Only the News You Need.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 17, "keywords": "Division", "minimum_deck_size": 45, @@ -125,7 +125,7 @@ "faction_code": "nbn", "faction_cost": 4, "flavor": "Halfway upstalk, Midway is a destination unto itself with its microgravity hotels and fine dining options.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Beanstalk - Region", "pack_code": "up", "position": 7, diff --git a/pack/ur.json b/pack/ur.json index 5daa2506f..7a2d66744 100644 --- a/pack/ur.json +++ b/pack/ur.json @@ -4,7 +4,7 @@ "code": "26066", "deck_limit": 1, "faction_code": "anarch", - "flavor": "Please, let me have this dream.\nI'm going to be my own kind of hero.", + "flavor": "Please, let me have this dream.\nI’m going to be my own kind of hero.", "illustrator": "Luminita Pham", "influence_limit": 15, "keywords": "Natural", @@ -12,11 +12,11 @@ "pack_code": "ur", "position": 66, "pronouns": "she/her", - "quantity": 3, + "quantity": 1, "side_code": "runner", - "stripped_text": "When your turn ends, if you accessed at least 1 card this turn, gain 2 credits and flip this identity. Flip side: When your turn begins, draw 1 card and lose 1 credit. When your turn ends, if you did not access at least 1 card this turn, flip this identity.", + "stripped_text": "When your turn ends, if you accessed a card this turn, gain 2 credits and flip this identity. Flip side: When your turn begins, draw 1 card and lose 1 credit. When your turn ends, if you did not access any cards this turn, flip this identity.", "stripped_title": "Hoshiko Shiro: Untold Protagonist", - "text": "When your turn ends, if you accessed at least 1 card this turn, gain 2[credit] and flip this identity.\nFlip side:\nWhen your turn begins, draw 1 card and lose 1[credit].\nWhen your turn ends, if you did not access at least 1 card this turn, flip this identity.", + "text": "When your turn ends, if you accessed a card this turn, gain 2[credit] and flip this identity.\nFlip side:\nWhen your turn begins, draw 1 card and lose 1[credit].\nWhen your turn ends, if you did not access any cards this turn, flip this identity.", "title": "Hoshiko Shiro: Untold Protagonist", "type_code": "identity", "uniqueness": false @@ -27,15 +27,15 @@ "deck_limit": 3, "faction_code": "anarch", "faction_cost": 3, - "flavor": "Let's start a RIOT.", + "flavor": "Let’s start a RIOT.", "illustrator": "Patrick Burk", "pack_code": "ur", "position": 67, "quantity": 3, "side_code": "runner", - "stripped_text": "As an additional cost to play this event, trash 3 cards from your grip. Draw 3 cards and gain 3 credits.", + "stripped_text": "As an additional cost to play this event, trash 3 cards from your grip. Gain 3 credits and draw 3 cards.", "stripped_title": "Moshing", - "text": "As an additional cost to play this event, trash 3 cards from your grip.\nDraw 3 cards and gain 3[credit].", + "text": "As an additional cost to play this event, trash 3 cards from your grip.\nGain 3[credit] and draw 3 cards.", "title": "Moshing", "type_code": "event", "uniqueness": false @@ -53,9 +53,9 @@ "position": 68, "quantity": 3, "side_code": "runner", - "stripped_text": "Whenever you encounter a piece of ice, you may remove this hardware from the game. If you do, that ice gets -6 strength for the remainder of the run.", + "stripped_text": "Whenever you encounter a piece of ice, you may remove this hardware from the game. If you do, that ice gets -6 strength for the remainder of this run.", "stripped_title": "Devil Charm", - "text": "Whenever you encounter a piece of ice, you may remove this hardware from the game. If you do, that ice gets -6 strength for the remainder of the run.", + "text": "Whenever you encounter a piece of ice, you may remove this hardware from the game. If you do, that ice gets −6 strength for the remainder of this run.", "title": "Devil Charm", "type_code": "hardware", "uniqueness": true @@ -73,9 +73,9 @@ "position": 69, "quantity": 3, "side_code": "runner", - "stripped_text": "trash: Set aside the top 6 cards of your stack. You may install 1 program or virtual resource from among the set aside cards, paying 2 credits less. Shuffle 3 of the remaining cards into your stack, then remove the rest from the game.", + "stripped_text": "trash: Set aside the top 6 cards of your stack faceup. You may install 1 program or virtual resource from among those cards, paying 2 credits less. Shuffle 3 of the remaining cards into your stack, then remove the rest from the game.", "stripped_title": "Gachapon", - "text": "[trash]: Set aside the top 6 cards of your stack. You may install 1 program or virtual resource from among the set aside cards, paying 2[credit] less. Shuffle 3 of the remaining cards into your stack, then remove the rest from the game.", + "text": "[trash]: Set aside the top 6 cards of your stack faceup. You may install 1 program or virtual resource from among those cards, paying 2[credit] less. Shuffle 3 of the remaining cards into your stack, then remove the rest from the game.", "title": "Gachapon", "type_code": "hardware", "uniqueness": false @@ -86,16 +86,16 @@ "deck_limit": 3, "faction_code": "anarch", "faction_cost": 3, - "flavor": "\"...and friends hold you close. I vow never to let go of my princess.\"", + "flavor": "“…and friends hold you close. I vow never to let go of my princess.”", "illustrator": "Olie Boldador", "keywords": "Console - Companion", "pack_code": "ur", "position": 70, "quantity": 3, "side_code": "runner", - "stripped_text": "+2 mu The first time each turn you spend credits from or install a companion, gain 1 credit. Limit 1 console per player.", + "stripped_text": "+2 mu The first time each turn you install a companion card or spend credits from an installed companion card, gain 1 credit. Limit 1 console per player.", "stripped_title": "Keiko", - "text": "+2[mu]\nThe first time each turn you spend credits from or install a companion, gain 1[credit].\nLimit 1 console per player.", + "text": "+2[mu]\nThe first time each turn you install a companion card or spend credits from an installed companion card, gain 1[credit].\nLimit 1 console per player.", "title": "Keiko", "type_code": "hardware", "uniqueness": true @@ -135,9 +135,9 @@ "position": 72, "quantity": 3, "side_code": "runner", - "stripped_text": "When your turn begins or you steal an agenda, place 1 credit on this resource. Spend hosted credits to play events. When your turn ends, if there are 3 or more hosted credits, you must trash 1 card from your grip at random or trash this resource.", + "stripped_text": "When your turn begins and whenever you steal an agenda, place 1 credit on this resource. You can spend hosted credits to play events. When your turn ends, if there are 3 or more hosted credits, you must trash 1 card from your grip at random or trash this resource.", "stripped_title": "Mystic Maemi", - "text": "When your turn begins or you steal an agenda, place 1[credit] on this resource.\nSpend hosted credits to play events.\nWhen your turn ends, if there are 3 or more hosted credits, you must trash 1 card from your grip at random or trash this resource.", + "text": "When your turn begins and whenever you steal an agenda, place 1[credit] on this resource.\nYou can spend hosted credits to play events.\nWhen your turn ends, if there are 3 or more hosted credits, you must trash 1 card from your grip at random or trash this resource.", "title": "Mystic Maemi", "type_code": "resource", "uniqueness": true @@ -155,9 +155,9 @@ "position": 73, "quantity": 3, "side_code": "runner", - "stripped_text": "When your turn begins or you steal an agenda, place 1 credit on this resource. Spend hosted credits to install non-connection cards. When your turn ends, if there are 3 or more hosted credits, you must trash 1 of your installed cards.", + "stripped_text": "When your turn begins and whenever you steal an agenda, place 1 credit on this resource. You can spend hosted credits to install non-connection cards. When your turn ends, if there are 3 or more hosted credits, trash 1 of your installed cards.", "stripped_title": "Paladin Poemu", - "text": "When your turn begins or you steal an agenda, place 1[credit] on this resource.\nSpend hosted credits to install non-connection cards.\nWhen your turn ends, if there are 3 or more hosted credits, you must trash 1 of your installed cards.", + "text": "When your turn begins and whenever you steal an agenda, place 1[credit] on this resource.\nYou can spend hosted credits to install non-connection cards.\nWhen your turn ends, if there are 3 or more hosted credits, trash 1 of your installed cards.", "title": "Paladin Poemu", "type_code": "resource", "uniqueness": true @@ -168,16 +168,16 @@ "deck_limit": 3, "faction_code": "criminal", "faction_cost": 3, - "flavor": "\"Hold my wine. I'm going in.\" -Red Comyn", + "flavor": "“Hold my wine. I’m going in.”\n—Red Comyn", "illustrator": "Kevin Tame", "keywords": "Run", "pack_code": "ur", "position": 74, "quantity": 3, "side_code": "runner", - "stripped_text": "Run a server protected by ice. When that run ends, gain 6 credits, plus 1 credit for each piece of ice you passed during that run.", + "stripped_text": "Run a server protected by ice. When that run ends, gain 6 credits plus 1 credit for each piece of ice you passed during that run.", "stripped_title": "Bravado", - "text": "Run a server protected by ice. When that run ends, gain 6[credit], plus 1[credit] for each piece of ice you passed during that run.", + "text": "Run a server protected by ice. When that run ends, gain 6[credit] plus 1[credit] for each piece of ice you passed during that run.", "title": "Bravado", "type_code": "event", "uniqueness": false @@ -194,9 +194,9 @@ "position": 75, "quantity": 3, "side_code": "runner", - "stripped_text": "When you install this hardware, choose an installed piece of ice. Use this hardware only during encounters with that ice. trash: Break up to 2 subroutines. When this run ends, if it is successful, you may shuffle a copy of Boomerang from your heap into your stack.", + "stripped_text": "When you install this hardware, choose 1 installed piece of ice. Use this hardware only during encounters with that ice. trash: Break up to 2 subroutines. When this run ends, if it was successful, you may shuffle 1 copy of Boomerang from your heap into your stack.", "stripped_title": "Boomerang", - "text": "When you install this hardware, choose an installed piece of ice. Use this hardware only during encounters with that ice.\n[trash]: Break up to 2 subroutines. When this run ends, if it is successful, you may shuffle a copy of Boomerang from your heap into your stack.", + "text": "When you install this hardware, choose 1 installed piece of ice. Use this hardware only during encounters with that ice.\n[trash]: Break up to 2 subroutines. When this run ends, if it was successful, you may shuffle 1 copy of Boomerang from your heap into your stack.", "title": "Boomerang", "type_code": "hardware", "uniqueness": true @@ -225,16 +225,16 @@ "deck_limit": 3, "faction_code": "criminal", "faction_cost": 3, - "flavor": "\"Overinflate a superposition-stack and optimal code forms the negentropy traverse.\"\n\"Aha, like putting too much air into a balloon?!\"", + "flavor": "“Overinflate a superposition-stack and optimal code forms the negentropy traverse.”\n“Aha, like putting too much air into a balloon?!”", "illustrator": "N. Hopkins", "keywords": "Chip", "pack_code": "ur", "position": 77, "quantity": 3, "side_code": "runner", - "stripped_text": "The first time each turn a run begins, you may look at the top 2 cards of your stack. 1 credit: Reveal the top card of your stack. You may install that card if it is a program or piece of hardware. Use this ability only once per turn.", + "stripped_text": "The first time each turn a run begins, you may look at the top 2 cards of your stack. 1 credit: Reveal the top card of your stack. If that card is a program or piece of hardware, you may install it. Use this ability only once per turn.", "stripped_title": "Prognostic Q-Loop", - "text": "The first time each turn a run begins, you may look at the top 2 cards of your stack.\n1[credit]: Reveal the top card of your stack. You may install that card if it is a program or piece of hardware. Use this ability only once per turn.", + "text": "The first time each turn a run begins, you may look at the top 2 cards of your stack.\n1[credit]: Reveal the top card of your stack. If that card is a program or piece of hardware, you may install it. Use this ability only once per turn.", "title": "Prognostic Q-Loop", "type_code": "hardware", "uniqueness": true @@ -245,7 +245,7 @@ "deck_limit": 3, "faction_code": "criminal", "faction_cost": 2, - "flavor": "\"Red ones go faster.\" - Ken \"Express\" Tenma", + "flavor": "“Red ones go faster.”\n—Ken “Express” Tenma", "illustrator": "Kira L. Nguyen", "keywords": "Console - Vehicle", "pack_code": "ur", @@ -286,7 +286,7 @@ "deck_limit": 3, "faction_code": "criminal", "faction_cost": 2, - "flavor": "\"Debt is beautiful... after it is repaid.\"\n-\"Baklan\" Bochkin", + "flavor": "“Debt is beautiful… after it is repaid.”\n—“Baklan” Bochkin", "illustrator": "Krembler", "keywords": "Icebreaker - Fracter", "memory_cost": 1, @@ -315,9 +315,9 @@ "position": 81, "quantity": 3, "side_code": "runner", - "stripped_text": "This card costs 2 credits less to install if you made a successful run on HQ this turn. When you install this resource, load 4 credits onto it. When it is empty, trash it. Spend hosted credits during runs.", + "stripped_text": "If you made a successful run on HQ this turn, this resource costs 2 credits less to install. When you install this resource, load 4 credits onto it. When it is empty, trash it. You can spend hosted credits during runs.", "stripped_title": "Penumbral Toolkit", - "text": "This card costs 2[credit] less to install if you made a successful run on HQ this turn.\nWhen you install this resource, load 4[credit] onto it. When it is empty, trash it.\nSpend hosted credits during runs.", + "text": "If you made a successful run on HQ this turn, this resource costs 2[credit] less to install.\nWhen you install this resource, load 4[credit] onto it. When it is empty, trash it.\nYou can spend hosted credits during runs.", "title": "Penumbral Toolkit", "type_code": "resource", "uniqueness": false @@ -328,16 +328,16 @@ "deck_limit": 3, "faction_code": "criminal", "faction_cost": 4, - "flavor": "\"Junk plus undiscerning buyers equals profit.\"\n-Az McCaffrey", + "flavor": "“Junk plus undiscerning buyers equals profit.”\n—Az McCaffrey", "illustrator": "Izzy Pruett", "keywords": "Job - Location", "pack_code": "ur", "position": 82, "quantity": 3, "side_code": "runner", - "stripped_text": "The first time each turn you use hardware during a run, place 1 power counter on this resource. click, remove this resource from the game: Shuffle up to X cards with trash abilities from your heap into your stack. X is double the number of hosted power counters.", + "stripped_text": "The first time each turn you use a piece of hardware during a run, place 1 power counter on this resource. click, remove this resource from the game: For each hosted power counter, choose up to 2 cards in your heap with trash abilities. Shuffle the chosen cards into your stack.", "stripped_title": "The Back", - "text": "The first time each turn you use hardware during a run, place 1 power counter on this resource.\n[click], remove this resource from the game: Shuffle up to X cards with [trash] abilities from your heap into your stack. X is double the number of hosted power counters.", + "text": "The first time each turn you use a piece of hardware during a run, place 1 power counter on this resource.\n[click], remove this resource from the game: For each hosted power counter, choose up to 2 cards in your heap with [trash] abilities. Shuffle the chosen cards into your stack.", "title": "The Back", "type_code": "resource", "uniqueness": true @@ -348,15 +348,15 @@ "deck_limit": 3, "faction_code": "shaper", "faction_cost": 3, - "flavor": "Breathe in and visualise your happy place. Breathe out. It's safe and calm and all your best days are there. Breathe in. Very good. The cortex scan has finished. Breathe out and open your eyes...", - "illustrator": "Patrick Burk, Krembler", + "flavor": "Breathe in and visualise your happy place. Breathe out. It’s safe and calm and all your best days are there. Breathe in. Very good. The cortex scan has finished. Breathe out and open your eyes…", + "illustrator": "Patrick Burk & Krembler", "pack_code": "ur", "position": 83, "quantity": 3, "side_code": "runner", - "stripped_text": "Search your heap for up to 5 cards with different names. Shuffle those cards into your stack. Remove this card from the game instead of trashing it.", + "stripped_text": "Choose up to 5 cards with different names in your heap. Shuffle those cards into your stack. Remove this event from the game.", "stripped_title": "Harmony AR Therapy", - "text": "Search your heap for up to 5 cards with different names. Shuffle those cards into your stack. Remove this card from the game instead of trashing it.", + "text": "Choose up to 5 cards with different names in your heap. Shuffle those cards into your stack.\nRemove this event from the game.", "title": "Harmony AR Therapy", "type_code": "event", "uniqueness": false @@ -387,16 +387,16 @@ "deck_limit": 3, "faction_code": "shaper", "faction_cost": 2, - "flavor": "\"I could let my code evolve something new, but sometimes I just want to remember yesterday's solution.\"\n-Lane", + "flavor": "“I could let my code evolve something new, but sometimes I just want to remember yesterday’s solution.”\n—Lane", "illustrator": "Elizaveta Sokolova", "keywords": "Chip", "pack_code": "ur", "position": 85, "quantity": 3, "side_code": "runner", - "stripped_text": "If no installed programs have been trashed this turn, you must trash 1 installed program as an additional cost to use this hardware. trash: Install 1 program from your heap, paying 3 credits less.", + "stripped_text": "As an additional cost to use this hardware, trash 1 installed program. Ignore this cost if an installed program has already been trashed this turn. trash: Install 1 program from your heap, paying 3 credits less.", "stripped_title": "Simulchip", - "text": "If no installed programs have been trashed this turn, you must trash 1 installed program as an additional cost to use this hardware.\n[trash]: Install 1 program from your heap, paying 3[credit] less.", + "text": "As an additional cost to use this hardware, trash 1 installed program. Ignore this cost if an installed program has already been trashed this turn.\n[trash]: Install 1 program from your heap, paying 3[credit] less.", "title": "Simulchip", "type_code": "hardware", "uniqueness": false @@ -407,16 +407,16 @@ "deck_limit": 3, "faction_code": "shaper", "faction_cost": 4, - "illustrator": "Krembler, Zoe Cohen", + "illustrator": "Krembler & Zoe Cohen", "keywords": "Virus", "memory_cost": 1, "pack_code": "ur", "position": 86, "quantity": 3, "side_code": "runner", - "stripped_text": "When you install this program, place 2 virus counters on it. Whenever you make a successful run on a central server, you may remove 1 hosted virus counter to swap a piece of ice protecting that server with another installed piece of ice. Use this ability only once per turn.", + "stripped_text": "When you install this program, place 2 virus counters on it. Whenever you make a successful run on a central server, you may remove 1 hosted virus counter to swap 1 piece of ice protecting that server with another installed piece of ice. Use this ability only once per turn.", "stripped_title": "Cordyceps", - "text": "When you install this program, place 2 virus counters on it.\nWhenever you make a successful run on a central server, you may remove 1 hosted virus counter to swap a piece of ice protecting that server with another installed piece of ice. Use this ability only once per turn.", + "text": "When you install this program, place 2 virus counters on it.\nWhenever you make a successful run on a central server, you may remove 1 hosted virus counter to swap 1 piece of ice protecting that server with another installed piece of ice. Use this ability only once per turn.", "title": "Cordyceps", "type_code": "program", "uniqueness": false @@ -436,9 +436,9 @@ "quantity": 3, "side_code": "runner", "strength": 2, - "stripped_text": "When you install this program, for the remainder of the turn it gains \"Interface -> 0 credits: Break 1 code gate subroutine.\" Interface -> 2 credits: Break up to 2 code gate subroutines. 1 credit: +1 strength.", + "stripped_text": "Interface -> 0 credits: Break 1 code gate subroutine. Use this ability only if this program was installed this turn. Interface -> 2 credits: Break up to 2 code gate subroutines. 1 credit: +1 strength.", "stripped_title": "Euler", - "text": "When you install this program, for the remainder of the turn it gains \"Interface → 0[credit]: Break 1 code gate subroutine.\"\nInterface → 2[credit]: Break up to 2 code gate subroutines.\n1[credit]: +1 strength.", + "text": "Interface → 0[credit]: Break 1 code gate subroutine. Use this ability only if this program was installed this turn.\nInterface → 2[credit]: Break up to 2 code gate subroutines.\n1[credit]: +1 strength.", "title": "Euler", "type_code": "program", "uniqueness": false @@ -449,7 +449,7 @@ "deck_limit": 3, "faction_code": "shaper", "faction_cost": 2, - "flavor": "\"Invisibility made it possible to get them, but it made it impossible to enjoy them when they are got.\"\n-H.G. Wells, The Invisible Man", + "flavor": "“Invisibility made it possible to get them, but it made it impossible to enjoy them when they are got.”\n—H.G. Wells, The Invisible Man", "illustrator": "Krembler", "keywords": "Stealth", "memory_cost": 1, @@ -457,9 +457,9 @@ "position": 88, "quantity": 3, "side_code": "runner", - "stripped_text": "1 recurring credit Spend hosted credits to use hardware and programs.", + "stripped_text": "1 recurring credit You can spend hosted credits to use hardware and programs.", "stripped_title": "Mantle", - "text": "1[recurring-credit]\nSpend hosted credits to use hardware and programs.", + "text": "1[recurring-credit]\nYou can spend hosted credits to use hardware and programs.", "title": "Mantle", "type_code": "program", "uniqueness": false @@ -479,9 +479,9 @@ "quantity": 3, "side_code": "runner", "strength": 2, - "stripped_text": "When you install this program, for the remainder of the turn it gains \"Interface -> 1 credit: Break 1 barrier subroutine.\" Interface -> 1 credit: Break 1 code gate subroutine. 1 credit: +3 strength. Use this ability only by spending a credit from a stealth card.", + "stripped_text": "Interface -> 1 credit: Break 1 barrier subroutine. Use this ability only if this program was installed this turn. Interface -> 1 credit: Break 1 code gate subroutine. 1 credit: +3 strength. Use this ability only by spending a credit from a stealth card.", "stripped_title": "Penrose", - "text": "When you install this program, for the remainder of the turn it gains \"Interface → 1[credit]: Break 1 barrier subroutine.\"\nInterface → 1[credit]: Break 1 code gate subroutine.\n1[credit]: +3 strength. Use this ability only by spending a credit from a stealth card.", + "text": "Interface → 1[credit]: Break 1 barrier subroutine. Use this ability only if this program was installed this turn.\nInterface → 1[credit]: Break 1 code gate subroutine.\n1[credit]: +3 strength. Use this ability only by spending a credit from a stealth card.", "title": "Penrose", "type_code": "program", "uniqueness": false @@ -499,9 +499,9 @@ "position": 90, "quantity": 3, "side_code": "runner", - "stripped_text": "2 credits, trash: Search your stack for a program. Install it.", + "stripped_text": "2 credits, trash: Search your stack for 1 program. Install it. (Shuffle your stack after searching it.)", "stripped_title": "Self-modifying Code", - "text": "2[credit], [trash]: Search your stack for a program. Install it.", + "text": "2[credit], [trash]: Search your stack for 1 program. Install it. (Shuffle your stack after searching it.)", "title": "Self-modifying Code", "type_code": "program", "uniqueness": false @@ -512,7 +512,7 @@ "deck_limit": 3, "faction_code": "shaper", "faction_cost": 2, - "flavor": "He's nice enough, but not when there are 5,187 of him.", + "flavor": "He’s nice enough, but not when there are 5,187 of him.", "illustrator": "Owen Sinodov", "keywords": "Connection - Virtual", "pack_code": "ur", @@ -539,10 +539,10 @@ "position": 92, "quantity": 3, "side_code": "runner", - "stripped_text": "click: Host 1 program or piece of hardware from your grip on this resource. 1 credit: Install 1 hosted card. The first card you install this way during each of your turns costs 1 credit less to install for each unique () connection you have installed.", + "stripped_text": "click: Host 1 program or piece of hardware from your grip faceup on this resource. 1 credit: Install 1 hosted card. The first card you install this way during each of your turns costs 1 credit less to install for each unique () connection resource you have installed.", "stripped_title": "Paule's Cafe", - "text": "[click]: Host 1 program or piece of hardware from your grip on this resource.\n1[credit]: Install 1 hosted card. The first card you install this way during each of your turns costs 1[credit] less to install for each unique (♦) connection you have installed.", - "title": "Paule's Café", + "text": "[click]: Host 1 program or piece of hardware from your grip faceup on this resource.\n1[credit]: Install 1 hosted card. The first card you install this way during each of your turns costs 1[credit] less to install for each unique ({unique}) connection resource you have installed.", + "title": "Pauleʼs Café", "type_code": "resource", "uniqueness": true }, @@ -552,7 +552,7 @@ "deck_limit": 3, "faction_code": "neutral-runner", "faction_cost": 1, - "flavor": "\"Future me needs those 60 petabytes of cat vids.\"\n-Princess Space Kitten", + "flavor": "“Future me needs those 60 petabytes of cat vids.”\n—Princess Space Kitten", "illustrator": "Elizaveta Sokolova", "pack_code": "ur", "position": 93, @@ -571,7 +571,7 @@ "deck_limit": 3, "faction_code": "neutral-runner", "faction_cost": 0, - "flavor": "To strike another blow to the corporatocracy tomorrow night, don't forget to like and subscribe!", + "flavor": "To strike another blow to the corporatocracy tomorrow night, don’t forget to like and subscribe!", "illustrator": "Olie Boldador", "pack_code": "ur", "position": 94, @@ -597,9 +597,9 @@ "position": 95, "quantity": 3, "side_code": "runner", - "stripped_text": "The first time each turn you make a successful run, draw 1 card. If you have at least 2 link or your identity is digital, also gain 1 credit.", + "stripped_text": "The first time each turn you make a successful run, draw 1 card. If your identity is digital or you have at least 2 link, also gain 1 credit.", "stripped_title": "DreamNet", - "text": "The first time each turn you make a successful run, draw 1 card. If you have at least 2[link] or your identity is digital, also gain 1[credit].", + "text": "The first time each turn you make a successful run, draw 1 card. If your identity is digital or you have at least 2[link], also gain 1[credit].", "title": "DreamNet", "type_code": "resource", "uniqueness": true @@ -610,15 +610,15 @@ "code": "26096", "deck_limit": 3, "faction_code": "haas-bioroid", - "flavor": "\"Win Hard or Lose Hard. All that matters is they're talking about you and not the competition.\"\n-Tan \"Nitro\" Nyugen, Toretto-Extreme Team Manager", + "flavor": "“Win Hard or Lose Hard. All that matters is they’re talking about you and not the competition.”\n—Tan “Nitro” Nyugen, Toretto-Extreme Team Manager", "illustrator": "Krembler", "pack_code": "ur", "position": 96, "quantity": 3, "side_code": "corp", - "stripped_text": "If there is another copy of Megaprix Qualifier in either player's score area when you score this agenda, place 1 agenda counter on this agenda. This agenda is worth 1 more agenda point while it has a hosted agenda counter.", + "stripped_text": "When you score this agenda, if there is another copy of Megaprix Qualifier in either player's score area, place 1 agenda counter on this agenda. While this agenda has a hosted agenda counter, it is worth 1 more agenda point.", "stripped_title": "Megaprix Qualifier", - "text": "If there is another copy of Megaprix Qualifier in either player's score area when you score this agenda, place 1 agenda counter on this agenda.\nThis agenda is worth 1 more agenda point while it has a hosted agenda counter.", + "text": "When you score this agenda, if there is another copy of Megaprix Qualifier in either playerʼs score area, place 1 agenda counter on this agenda.\nWhile this agenda has a hosted agenda counter, it is worth 1 more agenda point.", "title": "Megaprix Qualifier", "type_code": "agenda", "uniqueness": false @@ -637,7 +637,7 @@ "side_code": "corp", "stripped_text": "Interrupt -> When this agenda would be added to the Runner's score area from anywhere except Archives, instead it is added to their score area with 4 hosted agenda counters. While this agenda is in the Runner's score area with 1 or more hosted agenda counters, it is worth 0 agenda points and gains \"When the Runner's turn begins, remove 1 hosted agenda counter.\"", "stripped_title": "Project Vacheron", - "text": "[interrupt] → When this agenda would be added to the Runner's score area from anywhere except Archives, instead it is added to their score area with 4 hosted agenda counters.\nWhile this agenda is in the Runner's score area with 1 or more hosted agenda counters, it is worth 0 agenda points and gains \"When the Runner's turn begins, remove 1 hosted agenda counter.\"", + "text": "[interrupt] → When this agenda would be added to the Runnerʼs score area from anywhere except Archives, instead it is added to their score area with 4 hosted agenda counters.\nWhile this agenda is in the Runnerʼs score area with 1 or more hosted agenda counters, it is worth 0 agenda points and gains “When the Runnerʼs turn begins, remove 1 hosted agenda counter.“", "title": "Project Vacheron", "type_code": "agenda", "uniqueness": false @@ -648,7 +648,7 @@ "deck_limit": 3, "faction_code": "haas-bioroid", "faction_cost": 3, - "flavor": "The Coordinator is always calm, always smiling, and always tolerant. A worker who knows his skills, knows his role, and knows his place. No master need look into his plastic eyes and fear the flames of revolution, or quake at a forgotten class reaching for self-expression.\n...but who ordered him to wear that hat?", + "flavor": "The Coordinator is always calm, always smiling, and always tolerant. A worker who knows his skills, knows his role, and knows his place. No master need look into his plastic eyes and fear the flames of revolution, or quake at a forgotten class reaching for self-expression.\n…but who ordered him to wear that hat?", "illustrator": "Olie Boldador", "keywords": "Bioroid", "pack_code": "ur", @@ -657,7 +657,7 @@ "side_code": "corp", "stripped_text": "click, trash: Gain click click.", "stripped_title": "Bass CH1R180G4", - "text": "[click], [trash]: Gain [click][click].", + "text": "[click], [trash]: Gain [click][click].", "title": "Bass CH1R180G4", "trash_cost": 4, "type_code": "asset", @@ -676,9 +676,9 @@ "position": 99, "quantity": 3, "side_code": "corp", - "stripped_text": "You can advance this asset. When the Runner accesses this asset while it is installed, you may pay 3 credits. If you do, do 1 core damage for each hosted advancement counter.", + "stripped_text": "You can advance this asset. When the Runner accesses this asset while it is installed, you may pay 3 credits to do X core damage. X is equal to the number of hosted advancement counters.", "stripped_title": "Cerebral Overwriter", - "text": "You can advance this asset.\nWhen the Runner accesses this asset while it is installed, you may pay 3[credit]. If you do, do 1 core damage for each hosted advancement counter.", + "text": "You can advance this asset.\nWhen the Runner accesses this asset while it is installed, you may pay 3[credit] to do X core damage. X is equal to the number of hosted advancement counters.", "title": "Cerebral Overwriter", "trash_cost": 0, "type_code": "asset", @@ -692,6 +692,7 @@ "faction_cost": 3, "flavor": "A staccato of laser pulses fuses the vapor to solid form. The embryonic part accretes metal layer by layer.", "illustrator": "NtscapeNavigator", + "keywords": "Industrial", "pack_code": "ur", "position": 100, "quantity": 3, @@ -710,7 +711,7 @@ "deck_limit": 3, "faction_code": "haas-bioroid", "faction_cost": 2, - "flavor": "Each generation of design assistants makes a sysop's job easier. They need only speak and it will be so.", + "flavor": "Each generation of design assistants makes a sysop’s job easier. They need only speak and it will be so.", "illustrator": "Krembler", "keywords": "Sentry", "pack_code": "ur", @@ -752,16 +753,16 @@ "deck_limit": 3, "faction_code": "haas-bioroid", "faction_cost": 3, - "flavor": "\"Uh oh, Keiko! Looks like we've pulled aggro!\"", + "flavor": "“Uh oh, Keiko! Looks like we’ve pulled aggro!”", "illustrator": "NtscapeNavigator", "keywords": "Lockdown", "pack_code": "ur", "position": 103, "quantity": 3, "side_code": "corp", - "stripped_text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins. The Runner cannot use non-icebreaker cards to break subroutines. Each piece of ice has +2 strength.", + "stripped_text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins. Each piece of ice gets +2 strength. The Runner cannot use non-icebreaker cards to break subroutines.", "stripped_title": "NEXT Activation Command", - "text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins.\nThe Runner cannot use non-icebreaker cards to break subroutines. Each piece of ice has +2 strength.", + "text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins.\nEach piece of ice gets +2 strength.\nThe Runner cannot use non-icebreaker cards to break subroutines.", "title": "NEXT Activation Command", "trash_cost": 4, "type_code": "operation", @@ -773,7 +774,7 @@ "deck_limit": 3, "faction_code": "haas-bioroid", "faction_cost": 2, - "flavor": "The Net is the consensual hallucination of the world's electronic architecture. Our electronic architecture. Don't get mad when the Runners succeed—change the rules.", + "flavor": "The Net is the consensual hallucination of the world’s electronic architecture. Our electronic architecture. Don’t get mad when the Runners succeed—change the rules.", "illustrator": "Zoe Cohen", "keywords": "Gray Ops", "pack_code": "ur", @@ -793,7 +794,7 @@ "deck_limit": 3, "faction_code": "haas-bioroid", "faction_cost": 2, - "flavor": "The oldest of Heinlein's domes, the self-proclaimed heart of Lunar culture.", + "flavor": "The oldest of Heinlein’s domes, the self-proclaimed heart of Lunar culture.", "illustrator": "Zoe Cohen", "keywords": "Region", "pack_code": "ur", @@ -814,7 +815,7 @@ "code": "26106", "deck_limit": 3, "faction_code": "jinteki", - "flavor": "\"Voice is a sledgehammer. Text, a blunt saw. Truth requires subtler instruments.\"\n-Dr. Tang, Address to the Hyoubu Steering Committee", + "flavor": "“Voice is a sledgehammer. Text, a blunt saw. Truth requires subtler instruments.”\n—Dr. Tang, Address to the Hyoubu Steering Committee", "illustrator": "N. Hopkins", "pack_code": "ur", "position": 106, @@ -833,15 +834,15 @@ "deck_limit": 3, "faction_code": "jinteki", "faction_cost": 3, - "flavor": "Constructive feedback to the neural field reliably causes greater degradation than spike inputs. The mind has no defence against its own echoes.", + "flavor": "Constructive feedback to the neural field reliably causes greater degradation than spike inputs. The mind has no defense against its own echoes.", "illustrator": "NtscapeNavigator", "pack_code": "ur", "position": 107, "quantity": 3, "side_code": "corp", - "stripped_text": "Interrupt -> Whenever you would do 1 or more net damage, you may prevent 1 net damage. If you do, place 1 power counter on this asset and gain 3 credits. click click,trash: Do 1 net damage for each hosted power counter.", + "stripped_text": "Interrupt -> Whenever you would do 1 or more net damage, you may prevent 1 net damage. If you do, place 1 power counter on this asset and gain 3 credits. click click, trash: Do 1 net damage for each hosted power counter.", "stripped_title": "Prana Condenser", - "text": "[interrupt] → Whenever you would do 1 or more net damage, you may prevent 1 net damage. If you do, place 1 power counter on this asset and gain 3[credit].\n[click][click],[trash]: Do 1 net damage for each hosted power counter.", + "text": "[interrupt] → Whenever you would do 1 or more net damage, you may prevent 1 net damage. If you do, place 1 power counter on this asset and gain 3[credit].\n[click][click], [trash]: Do 1 net damage for each hosted power counter.", "title": "Prāna Condenser", "trash_cost": 4, "type_code": "asset", @@ -861,9 +862,9 @@ "quantity": 3, "side_code": "corp", "strength": 5, - "stripped_text": "When the Runner encounters this ice, choose a card type. For the remainder of this encounter, whenever you reveal the grip with a subroutine on this ice, you may trash 1 revealed card of that type. Subroutine Reveal the grip. Subroutine Reveal the grip.", + "stripped_text": "When the Runner encounters this ice, choose a card type. For the remainder of the encounter, whenever you reveal the grip with a subroutine on this ice, you may trash 1 revealed card of the chosen type. Subroutine Reveal the grip. Subroutine Reveal the grip.", "stripped_title": "Engram Flush", - "text": "When the Runner encounters this ice, choose a card type. For the remainder of this encounter, whenever you reveal the grip with a subroutine on this ice, you may trash 1 revealed card of that type.\n[subroutine] Reveal the grip.\n[subroutine] Reveal the grip.", + "text": "When the Runner encounters this ice, choose a card type. For the remainder of the encounter, whenever you reveal the grip with a subroutine on this ice, you may trash 1 revealed card of the chosen type.\n[subroutine] Reveal the grip.\n[subroutine] Reveal the grip.", "title": "Engram Flush", "type_code": "ice", "uniqueness": false @@ -874,7 +875,7 @@ "deck_limit": 3, "faction_code": "jinteki", "faction_cost": 3, - "flavor": "\"The Konjin dons the mask of our fears, but what lies underneath?\"\n-Lat", + "flavor": "“The Konjin dons the mask of our fears, but what lies underneath?”", "illustrator": "Krembler", "keywords": "Mythic - Psi", "pack_code": "ur", @@ -882,9 +883,9 @@ "quantity": 3, "side_code": "corp", "strength": 3, - "stripped_text": "When the Runner encounters this ice, you and the Runner secretly spend 0 credits, 1 credit, or 2 credits. Reveal spent credits. If you and the Runner spent a different number of credits, you may force the Runner to encounter another rezzed piece of ice. (When that encounter ends, if the run has not ended, finish encountering this ice.)", + "stripped_text": "When the Runner encounters this ice, play a Psi Game. (Players secretly bid 0-2 credits. Then each player reveals and spends their bid.) If the bids differ, you may choose another rezzed piece of ice. The Runner encounters that ice. (When that encounter ends, if the run has not ended, finish encountering this ice.)", "stripped_title": "Konjin", - "text": "When the Runner encounters this ice, you and the Runner secretly spend 0[credit], 1[credit], or 2[credit]. Reveal spent credits. If you and the Runner spent a different number of credits, you may force the Runner to encounter another rezzed piece of ice. (When that encounter ends, if the run has not ended, finish encountering this ice.)", + "text": "When the Runner encounters this ice, play a Psi Game. (Players secretly bid 0–2[credit]. Then each player reveals and spends their bid.) If the bids differ, you may choose another rezzed piece of ice. The Runner encounters that ice. (When that encounter ends, if the run has not ended, finish encountering this ice.)", "title": "Konjin", "type_code": "ice", "uniqueness": true @@ -901,9 +902,9 @@ "position": 110, "quantity": 3, "side_code": "corp", - "stripped_text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins. Choose a server. Whenever the Runner makes a successful run on the chosen server, you and the Runner secretly spend 0 credits, 1 credit, or 2 credits. Reveal spent credits. If you and the Runner spent a different number of credits, end the run.", + "stripped_text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins. When you play this operation, choose a server. Whenever the Runner makes a successful run on the chosen server, play a Psi Game. (Players secretly bid 0-2 credits. Then each player reveals and spends their bid.) If the bids differ, end the run.", "stripped_title": "Hyoubu Precog Manifold", - "text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins.\nChoose a server.\nWhenever the Runner makes a successful run on the chosen server, you and the Runner secretly spend 0[credit], 1[credit], or 2[credit]. Reveal spent credits. If you and the Runner spent a different number of credits, end the run.", + "text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins.\nWhen you play this operation, choose a server.\nWhenever the Runner makes a successful run on the chosen server, play a Psi Game. (Players secretly bid 0–2[credit]. Then each player reveals and spends their bid.) If the bids differ, end the run.", "title": "Hyoubu Precog Manifold", "trash_cost": 4, "type_code": "operation", @@ -921,9 +922,9 @@ "position": 111, "quantity": 3, "side_code": "corp", - "stripped_text": "As an additional cost to play this operation, spend click click. Trash any number of cards from HQ. Turn all cards in Archives facedown. You may install 1 agenda, asset, or upgrade from Archives in the root of a remote server and place 2 advancement counters on it. Remove this operation from the game.", + "stripped_text": "As an additional cost to play this operation, spend click click. Trash any number of cards from HQ. Turn all cards in Archives facedown. You may install 1 card from Archives in the root of a remote server and place 2 advancement counters on it. Remove this operation from the game.", "stripped_title": "Kakurenbo", - "text": "As an additional cost to play this operation, spend [click][click].\nTrash any number of cards from HQ. Turn all cards in Archives facedown. You may install 1 agenda, asset, or upgrade from Archives in the root of a remote server and place 2 advancement counters on it.\nRemove this operation from the game.", + "text": "As an additional cost to play this operation, spend [click][click].\nTrash any number of cards from HQ. Turn all cards in Archives facedown. You may install 1 card from Archives in the root of a remote server and place 2 advancement counters on it.\nRemove this operation from the game.", "title": "Kakurenbo", "type_code": "operation", "uniqueness": false @@ -934,16 +935,16 @@ "deck_limit": 3, "faction_code": "jinteki", "faction_cost": 3, - "flavor": "Some slums of New Angeles are so worn down, City Hall calls the acres of windowless clone barracks \"gentrification\" with a straight face.", + "flavor": "Some slums of New Angeles are so worn down, City Hall calls the acres of windowless clone barracks “gentrification” with a straight face.", "illustrator": "Eirik H. Kiil", "keywords": "Region - Seedy", "pack_code": "ur", "position": 112, "quantity": 3, "side_code": "corp", - "stripped_text": "Remote server only. When your turn begins, place 1 advancement counter on a card installed in the root of this server. Limit 1 region per server.", + "stripped_text": "Remote server only. When your turn begins, place 1 advancement counter on a card in the root of this server. Limit 1 region per server.", "stripped_title": "La Costa Grid", - "text": "Remote server only.\nWhen your turn begins, place 1 advancement counter on a card installed in the root of this server.\nLimit 1 region per server.", + "text": "Remote server only.\nWhen your turn begins, place 1 advancement counter on a card in the root of this server.\nLimit 1 region per server.", "title": "La Costa Grid", "trash_cost": 4, "type_code": "upgrade", @@ -975,8 +976,8 @@ "code": "26114", "deck_limit": 3, "faction_code": "nbn", - "flavor": "Mars' tiny population made rich multiplayer experiences a big challenge. We cracked it by live-beaming the gestalt of our Earth playerbase second-by-second. Bellona weaves these \"lag-ghosts\" into compelling interactables—more responsive than the real thing!", - "illustrator": "N. Hopkins, Iain Fairclough", + "flavor": "Mars’ tiny population made rich multiplayer experiences a big challenge. We cracked it by live-beaming the gestalt of our Earth playerbase second-by-second. Bellona weaves these “lag-ghosts” into compelling interactables—more responsive than the real thing!", + "illustrator": "N. Hopkins & Iain Fairclough", "keywords": "Expansion", "pack_code": "ur", "position": 114, @@ -1024,9 +1025,9 @@ "quantity": 3, "side_code": "corp", "strength": 1, - "stripped_text": "When the Runner breaks a printed subroutine on this ice, they lose 1 credit. Subroutine End the run unless the Runner pays 3 credits. Subroutine End the run unless the Runner pays 3 credits.", + "stripped_text": "Whenever the Runner breaks a printed subroutine on this ice, they lose 1 credit. Subroutine End the run unless the Runner pays 3 credits. Subroutine End the run unless the Runner pays 3 credits.", "stripped_title": "Gold Farmer", - "text": "When the Runner breaks a printed subroutine on this ice, they lose 1[credit].\n[subroutine] End the run unless the Runner pays 3[credit].\n[subroutine] End the run unless the Runner pays 3[credit].", + "text": "Whenever the Runner breaks a printed subroutine on this ice, they lose 1[credit].\n[subroutine] End the run unless the Runner pays 3[credit].\n[subroutine] End the run unless the Runner pays 3[credit].", "title": "Gold Farmer", "type_code": "ice", "uniqueness": false @@ -1042,9 +1043,9 @@ "position": 117, "quantity": 3, "side_code": "corp", - "stripped_text": "Play only if the Runner did not make a successful run on HQ during their last turn. Search R&D for an agenda and reveal it. (Shuffle R&D after searching it.) Add that agenda to HQ. You may install 1 card from HQ in the root of a remote server. You cannot score agendas for the remainder of the turn.", + "stripped_text": "Play only if the Runner did not make a successful run on HQ during their last turn. Search R&D for 1 agenda and reveal it. (Shuffle R&D after searching it.) Add that agenda to HQ. You may install 1 card from HQ in the root of a remote server. You cannot score agendas for the remainder of the turn.", "stripped_title": "Digital Rights Management", - "text": "Play only if the Runner did not make a successful run on HQ during their last turn.\nSearch R&D for an agenda and reveal it. (Shuffle R&D after searching it.) Add that agenda to HQ. You may install 1 card from HQ in the root of a remote server.\nYou cannot score agendas for the remainder of the turn.", + "text": "Play only if the Runner did not make a successful run on HQ during their last turn.\nSearch R&D for 1 agenda and reveal it. (Shuffle R&D after searching it.) Add that agenda to HQ. You may install 1 card from HQ in the root of a remote server.\nYou cannot score agendas for the remainder of the turn.", "title": "Digital Rights Management", "type_code": "operation", "uniqueness": false @@ -1055,16 +1056,16 @@ "deck_limit": 3, "faction_code": "nbn", "faction_cost": 3, - "flavor": "\"Deep inspect every packet on the continent. Burn out all our stacks if you have to. We cannot let these terrorists cover their tracks.\" -CEO Jenkins", + "flavor": "“Deep inspect every packet on the continent. Burn out all our stacks if you have to. We cannot let these terrorists cover their tracks.”\n—CEO Jenkins", "illustrator": "N. Hopkins", "keywords": "Lockdown", "pack_code": "ur", "position": 118, "quantity": 3, "side_code": "corp", - "stripped_text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins. Whenever a run begins, the Runner must pay 4 credits or take 1 tag.", + "stripped_text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins. Whenever a run begins, give the Runner 1 tag unless they pay 4 credits.", "stripped_title": "SYNC Rerouting", - "text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins.\nWhenever a run begins, the Runner must pay 4[credit] or take 1 tag.", + "text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins.\nWhenever a run begins, give the Runner 1 tag unless they pay 4[credit].", "title": "SYNC Rerouting", "trash_cost": 3, "type_code": "operation", @@ -1076,7 +1077,7 @@ "deck_limit": 3, "faction_code": "nbn", "faction_cost": 2, - "flavor": "Roll Initiative...", + "flavor": "Roll Initiative…", "illustrator": "N. Hopkins", "keywords": "Ambush", "pack_code": "ur", @@ -1095,18 +1096,18 @@ "code": "26120", "deck_limit": 1, "faction_code": "weyland-consortium", - "flavor": "The First Step...\n...Further Beyond", + "flavor": "The First Step…\n…Further Beyond", "illustrator": "Kira L. Nguyen", "influence_limit": 15, "keywords": "Division", "minimum_deck_size": 45, "pack_code": "ur", "position": 120, - "quantity": 3, + "quantity": 1, "side_code": "corp", "stripped_text": "Limit 1 remote server. As an additional cost to run HQ, the Runner must pay 1 credit. click: Flip this identity. Flip side: Limit 1 remote server. As an additional cost to run a remote server, the Runner must pay 6 credits. When the Runner makes a successful run on HQ, flip this identity.", "stripped_title": "Earth Station: SEA Headquarters", - "text": "Limit 1 remote server.\nAs an additional cost to run HQ, the Runner must pay 1[credit].\n[click]: Flip this identity.\nFlip side:\nLimit 1 remote server.\nAs an additional cost to run a remote server, the Runner must pay 6[credit].\nWhen the Runner makes a successful run on HQ, flip this identity.", + "text": "Limit 1 remote server.\nAs an additional cost to run HQ, the Runner must pay 1[credit].\n[click]: Flip this identity.\nFlip side:\nLimit 1 remote server.\nAs an additional cost to run a remote server, the Runner must pay 6[credit].\nWhen the Runner makes a successful run on HQ, flip this identity.", "title": "Earth Station: SEA Headquarters", "type_code": "identity", "uniqueness": false @@ -1117,16 +1118,16 @@ "code": "26121", "deck_limit": 3, "faction_code": "weyland-consortium", - "flavor": "Once you're on the Space Elevator Authority's blacklist, you aren't going anywhere.", + "flavor": "Once you’re on the Space Elevator Authority’s blacklist, you aren’t going anywhere.", "illustrator": "Zoe Cohen", "keywords": "Initiative", "pack_code": "ur", "position": 121, "quantity": 3, "side_code": "corp", - "stripped_text": "When you score this agenda, place 2 agenda counters on it. Hosted agenda counter: This run cannot be declared successful. (This effect does not cause the run to become unsuccessful.) Use this ability only once per turn.", + "stripped_text": "When you score this agenda, place 2 agenda counters on it. Hosted agenda counter: This run cannot be declared successful. (This effect does not cause the run to become unsuccessful.) Use this ability only once per turn and only during a run.", "stripped_title": "Transport Monopoly", - "text": "When you score this agenda, place 2 agenda counters on it.\nHosted agenda counter: This run cannot be declared successful. (This effect does not cause the run to become unsuccessful.) Use this ability only once per turn.", + "text": "When you score this agenda, place 2 agenda counters on it.\nHosted agenda counter: This run cannot be declared successful. (This effect does not cause the run to become unsuccessful.) Use this ability only once per turn and only during a run.", "title": "Transport Monopoly", "type_code": "agenda", "uniqueness": false @@ -1143,9 +1144,9 @@ "position": 122, "quantity": 3, "side_code": "corp", - "stripped_text": "When your turn begins, if you have any other rezzed assets, resolve 1 of the following; otherwise, resolve up to 3: * Draw 1 card. * Gain 1 credit. * Place 1 advancement token on a piece of ice. * Add this asset to HQ.", + "stripped_text": "When your turn begins, if you have any other rezzed assets, resolve 1 of the following; otherwise, resolve up to 3 in any order: * Draw 1 card. * Gain 1 credit. * Place 1 advancement counter on an installed piece of ice. * Add this asset to HQ.", "stripped_title": "Wall to Wall", - "text": "When your turn begins, if you have any other rezzed assets, resolve 1 of the following; otherwise, resolve up to 3:
  • Draw 1 card.
  • Gain 1[credit].
  • Place 1 advancement token on a piece of ice.
  • Add this asset to HQ.
", + "text": "When your turn begins, if you have any other rezzed assets, resolve 1 of the following; otherwise, resolve up to 3 in any order:
  • Draw 1 card.
  • Gain 1[credit].
  • Place 1 advancement counter on an installed piece of ice.
  • Add this asset to HQ.
", "title": "Wall to Wall", "trash_cost": 3, "type_code": "asset", @@ -1165,9 +1166,9 @@ "quantity": 3, "side_code": "corp", "strength": 2, - "stripped_text": "You can advance this ice. While there are 3 or more hosted advancement tokens, this ice has +3 strength and the Runner cannot break more than 1 of its printed subroutines during each encounter. Subroutine Gain 1 credit. Place 1 advancement token on an installed card. Subroutine End the run.", + "stripped_text": "You can advance this ice. While there are 3 or more hosted advancement counters, this ice gets +3 strength and the Runner cannot break more than 1 of its printed subroutines during each encounter. Subroutine Gain 1 credit. Place 1 advancement counter on an installed card. Subroutine End the run.", "stripped_title": "Akhet", - "text": "You can advance this ice.\nWhile there are 3 or more hosted advancement tokens, this ice has +3 strength and the Runner cannot break more than 1 of its printed subroutines during each encounter.\n[subroutine] Gain 1[credit]. Place 1 advancement token on an installed card.\n[subroutine] End the run.", + "text": "You can advance this ice.\nWhile there are 3 or more hosted advancement counters, this ice gets +3 strength and the Runner cannot break more than 1 of its printed subroutines during each encounter.\n[subroutine] Gain 1[credit]. Place 1 advancement counter on an installed card.\n[subroutine] End the run.", "title": "Akhet", "type_code": "ice", "uniqueness": false @@ -1185,9 +1186,9 @@ "quantity": 3, "side_code": "corp", "strength": 4, - "stripped_text": "You can advance this ice. It has +1 strength for each hosted advancement token. Subroutine Give the Runner 1 tag. If there are 3 or more hosted advancement tokens, instead give the Runner 2 tags. Subroutine Trash 1 installed program. If there are 3 or more hosted advancement tokens, instead trash 1 installed program and 1 installed resource.", + "stripped_text": "You can advance this ice. It gets +1 strength for each hosted advancement counter. Subroutine Give the Runner 1 tag. If there are 3 or more hosted advancement counters, instead give the Runner 2 tags. Subroutine Trash 1 installed program. If there are 3 or more hosted advancement counters, instead trash 1 installed program and 1 installed resource.", "stripped_title": "Colossus", - "text": "You can advance this ice. It has +1 strength for each hosted advancement token.\n[subroutine] Give the Runner 1 tag. If there are 3 or more hosted advancement tokens, instead give the Runner 2 tags.\n[subroutine] Trash 1 installed program. If there are 3 or more hosted advancement tokens, instead trash 1 installed program and 1 installed resource.", + "text": "You can advance this ice. It gets +1 strength for each hosted advancement counter.\n[subroutine] Give the Runner 1 tag. If there are 3 or more hosted advancement counters, instead give the Runner 2 tags.\n[subroutine] Trash 1 installed program. If there are 3 or more hosted advancement counters, instead trash 1 installed program and 1 installed resource.", "title": "Colossus", "type_code": "ice", "uniqueness": false @@ -1198,17 +1199,17 @@ "deck_limit": 3, "faction_code": "weyland-consortium", "faction_cost": 4, - "flavor": "\"I don't know how Skorpios gets these designs past Brand Management.\"\n-Liz Campbell, VP Project Security", + "flavor": "“I donʼt know how Skorpios gets these designs past Brand Management.”\n—Liz Campbell, VP Project Security", "illustrator": "NtscapeNavigator", - "keywords": "Sentry - Tracer - Destroyer", + "keywords": "Sentry - Destroyer - Tracer", "pack_code": "ur", "position": 125, "quantity": 3, "side_code": "corp", "strength": 4, - "stripped_text": "While this ice is protecting HQ, it gains \"Subroutine Trace[3]. If successful, end the run.\" after all its other subroutines. Subroutine Trace[4]. If successful, trash 1 installed program. Subroutine Trace[3]. If successful, trash 1 installed piece of hardware.", + "stripped_text": "Subroutine Trace[4]. If successful, trash 1 installed program. Subroutine Trace[3]. If successful, trash 1 installed piece of hardware. While this ice is protecting HQ, it gains \"Subroutine Trace[3]. If successful, end the run.\" after its other subroutines.", "stripped_title": "Winchester", - "text": "While this ice is protecting HQ, it gains \"[subroutine] Trace[3]. If successful, end the run.\" after all its other subroutines.\n[subroutine] Trace[4]. If successful, trash 1 installed program.\n[subroutine] Trace[3]. If successful, trash 1 installed piece of hardware.", + "text": "[subroutine] Trace[4]. If successful, trash 1 installed program.\n[subroutine] Trace[3]. If successful, trash 1 installed piece of hardware.\nWhile this ice is protecting HQ, it gains “[subroutine] Trace[3]. If successful, end the run.” after its other subroutines.", "title": "Winchester", "type_code": "ice", "uniqueness": false @@ -1219,7 +1220,7 @@ "deck_limit": 3, "faction_code": "weyland-consortium", "faction_cost": 3, - "flavor": "\"If it moves, shoot it. Then shoot it again.\"\n-Chief Slee", + "flavor": "“If it moves, shoot it. Then shoot it again.”\n—Chief Slee", "illustrator": "Krembler", "keywords": "Lockdown - Gray Ops", "pack_code": "ur", @@ -1247,9 +1248,9 @@ "position": 127, "quantity": 3, "side_code": "corp", - "stripped_text": "When your turn begins, place 1 advancement token on a piece of ice protecting this server. Whenever the Runner approaches this server, end the run unless they pay 2 credits for each advanced piece of ice protecting this server. Limit 1 region per server.", + "stripped_text": "When your turn begins, place 1 advancement counter on a piece of ice protecting this server. Whenever the Runner approaches this server, end the run unless they pay 2 credits for each advanced piece of ice protecting this server. Limit 1 region per server.", "stripped_title": "Cayambe Grid", - "text": "When your turn begins, place 1 advancement token on a piece of ice protecting this server.\nWhenever the Runner approaches this server, end the run unless they pay 2[credit] for each advanced piece of ice protecting this server.\nLimit 1 region per server.", + "text": "When your turn begins, place 1 advancement counter on a piece of ice protecting this server.\nWhenever the Runner approaches this server, end the run unless they pay 2[credit] for each advanced piece of ice protecting this server.\nLimit 1 region per server.", "title": "Cayambe Grid", "trash_cost": 3, "type_code": "upgrade", @@ -1262,7 +1263,7 @@ "deck_limit": 3, "faction_code": "neutral-corp", "faction_cost": 0, - "flavor": "\"All Dragon-rated threats should only be stored in a single clean-start air-gapped server, in a shielded room, under at least 200 metres of bedrock[...]\"\n-Section 5.18.4, Cyberdex Employee Handbook", + "flavor": "“All Dragon-rated threats should only be stored in a single clean-start air-gapped server, in a shielded room, under at least 200 metres of bedrock[…]”\n—Section 5.18.4, Cyberdex Employee Handbook", "illustrator": "Krembler", "keywords": "Security", "pack_code": "ur", @@ -1283,7 +1284,7 @@ "deck_limit": 3, "faction_code": "neutral-corp", "faction_cost": 0, - "flavor": "\"Begin a voice message to Steve: I'm in some random city staring at yet another empty room. This hot insider scoop of yours feels distinctly chilly.\"", + "flavor": "“Begin a voice message to Steve: I’m in some random city staring at yet another empty room. This hot insider scoop of yours feels distinctly chilly.”", "illustrator": "NtscapeNavigator", "keywords": "Security", "pack_code": "ur", @@ -1310,9 +1311,9 @@ "position": 130, "quantity": 3, "side_code": "corp", - "stripped_text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins. As an additional cost to steal an agenda, the Runner must pay 4 credits, plus 2 credits for each advancement token on that agenda.", + "stripped_text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins. As an additional cost to steal an agenda, the Runner must pay 4 credits plus 2 credits for each advancement counter on that agenda.", "stripped_title": "NAPD Cordon", - "text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins.\nAs an additional cost to steal an agenda, the Runner must pay 4[credit], plus 2[credit] for each advancement token on that agenda.", + "text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins.\nAs an additional cost to steal an agenda, the Runner must pay 4[credit] plus 2[credit] for each advancement counter on that agenda.", "title": "NAPD Cordon", "trash_cost": 2, "type_code": "operation", diff --git a/pack/urbp.json b/pack/urbp.json index 5b8cb54ce..7aaf78fa4 100644 --- a/pack/urbp.json +++ b/pack/urbp.json @@ -12,9 +12,9 @@ "position": 1, "quantity": 3, "side_code": "runner", - "stripped_text": "When your turn begins or you steal an agenda, place 1 credit on this resource. Spend hosted credits to play events. When your turn ends, if there are 3 or more hosted credits, you must trash 1 card from your grip at random or trash this resource.", + "stripped_text": "When your turn begins and whenever you steal an agenda, place 1 credit on this resource. You can spend hosted credits to play events. When your turn ends, if there are 3 or more hosted credits, you must trash 1 card from your grip at random or trash this resource.", "stripped_title": "Mystic Maemi", - "text": "When your turn begins or you steal an agenda, place 1[credit] on this resource.\nSpend hosted credits to play events.\nWhen your turn ends, if there are 3 or more hosted credits, you must trash 1 card from your grip at random or trash this resource.", + "text": "When your turn begins and whenever you steal an agenda, place 1[credit] on this resource.\nYou can spend hosted credits to play events.\nWhen your turn ends, if there are 3 or more hosted credits, you must trash 1 card from your grip at random or trash this resource.", "title": "Mystic Maemi", "type_code": "resource", "uniqueness": true @@ -71,9 +71,9 @@ "position": 4, "quantity": 3, "side_code": "corp", - "stripped_text": "If there is another copy of Megaprix Qualifier in either player's score area when you score this agenda, place 1 agenda counter on this agenda. This agenda is worth 1 more agenda point while it has a hosted agenda counter.", + "stripped_text": "When you score this agenda, if there is another copy of Megaprix Qualifier in either player's score area, place 1 agenda counter on this agenda. While this agenda has a hosted agenda counter, it is worth 1 more agenda point.", "stripped_title": "Megaprix Qualifier", - "text": "If there is another copy of Megaprix Qualifier in either player's score area when you score this agenda, place 1 agenda counter on this agenda.\nThis agenda is worth 1 more agenda point while it has a hosted agenda counter.", + "text": "When you score this agenda, if there is another copy of Megaprix Qualifier in either playerʼs score area, place 1 agenda counter on this agenda.\nWhile this agenda has a hosted agenda counter, it is worth 1 more agenda point.", "title": "Megaprix Qualifier", "type_code": "agenda", "uniqueness": false @@ -91,9 +91,9 @@ "position": 5, "quantity": 3, "side_code": "corp", - "stripped_text": "Remote server only. When your turn begins, place 1 advancement counter on a card installed in the root of this server. Limit 1 region per server.", + "stripped_text": "Remote server only. When your turn begins, place 1 advancement counter on a card in the root of this server. Limit 1 region per server.", "stripped_title": "La Costa Grid", - "text": "Remote server only.\nWhen your turn begins, place 1 advancement counter on a card installed in the root of this server.\nLimit 1 region per server.", + "text": "Remote server only.\nWhen your turn begins, place 1 advancement counter on a card in the root of this server.\nLimit 1 region per server.", "title": "La Costa Grid", "trash_cost": 4, "type_code": "upgrade", @@ -110,9 +110,9 @@ "position": 6, "quantity": 3, "side_code": "corp", - "stripped_text": "Play only if the Runner did not make a successful run on HQ during their last turn. Search R&D for an agenda and reveal it. (Shuffle R&D after searching it.) Add that agenda to HQ. You may install 1 card from HQ in the root of a remote server. You cannot score agendas for the remainder of the turn.", + "stripped_text": "Play only if the Runner did not make a successful run on HQ during their last turn. Search R&D for 1 agenda and reveal it. (Shuffle R&D after searching it.) Add that agenda to HQ. You may install 1 card from HQ in the root of a remote server. You cannot score agendas for the remainder of the turn.", "stripped_title": "Digital Rights Management", - "text": "Play only if the Runner did not make a successful run on HQ during their last turn.\nSearch R&D for an agenda and reveal it. (Shuffle R&D after searching it.) Add that agenda to HQ. You may install 1 card from HQ in the root of a remote server.\nYou cannot score agendas for the remainder of the turn.", + "text": "Play only if the Runner did not make a successful run on HQ during their last turn.\nSearch R&D for 1 agenda and reveal it. (Shuffle R&D after searching it.) Add that agenda to HQ. You may install 1 card from HQ in the root of a remote server.\nYou cannot score agendas for the remainder of the turn.", "title": "Digital Rights Management", "type_code": "operation", "uniqueness": false @@ -130,9 +130,9 @@ "position": 7, "quantity": 3, "side_code": "corp", - "stripped_text": "When your turn begins, place 1 advancement token on a piece of ice protecting this server. Whenever the Runner approaches this server, end the run unless they pay 2 credits for each advanced piece of ice protecting this server. Limit 1 region per server.", + "stripped_text": "When your turn begins, place 1 advancement counter on a piece of ice protecting this server. Whenever the Runner approaches this server, end the run unless they pay 2 credits for each advanced piece of ice protecting this server. Limit 1 region per server.", "stripped_title": "Cayambe Grid", - "text": "When your turn begins, place 1 advancement token on a piece of ice protecting this server.\nWhenever the Runner approaches this server, end the run unless they pay 2[credit] for each advanced piece of ice protecting this server.\nLimit 1 region per server.", + "text": "When your turn begins, place 1 advancement counter on a piece of ice protecting this server.\nWhenever the Runner approaches this server, end the run unless they pay 2[credit] for each advanced piece of ice protecting this server.\nLimit 1 region per server.", "title": "Cayambe Grid", "trash_cost": 3, "type_code": "upgrade", diff --git a/pack/val.json b/pack/val.json index e44d04965..b4a96f3d3 100644 --- a/pack/val.json +++ b/pack/val.json @@ -226,7 +226,7 @@ "deck_limit": 1, "faction_code": "jinteki", "flavor": "The vats in Building C can create-and destroy-life itself.\nThe best and brightest genengineers spends their days in the Tank dreaming up a better world.\nThe Greenhouse was built to enhance natural beauty.", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "influence_limit": 15, "keywords": "Division", "minimum_deck_size": 45, diff --git a/pack/wla.json b/pack/wla.json index 4087a84b2..cc3ea68bb 100644 --- a/pack/wla.json +++ b/pack/wla.json @@ -354,7 +354,7 @@ "code": "02018", "deck_limit": 3, "faction_code": "weyland-consortium", - "illustrator": "Emilio Rodriguez", + "illustrator": "Emilio Rodríguez", "keywords": "Research", "pack_code": "wla", "position": 18, diff --git a/package-lock.json b/package-lock.json index 4f34a7db9..4636c5de2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,8 @@ "ajv": "^8.10.0", "command-line-args": "^5.2.1", "lodash": "^4.17.21", - "prettier": "^2" + "prettier": "^3", + "sync-fetch": "^0.4.2" }, "devDependencies": { "@tsconfig/recommended": "^1.0.1", @@ -24,13 +25,24 @@ "@typescript-eslint/parser": "^4.33.0", "chai": "^4.3.3", "husky": "^8", - "lint-staged": "^12.3.5", + "lint-staged": "^13.2.1", "mocha": "^9.2.1", - "prettier": "^2", + "prettier": "^3", + "prettier-plugin-sort-json": "^3.1.0", "ts-node": "^9.1.1", "typescript": "^4.6.4" } }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/@babel/code-frame": { "version": "7.12.11", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", @@ -615,6 +627,25 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -652,6 +683,29 @@ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", @@ -906,9 +960,9 @@ "dev": true }, "node_modules/colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", "dev": true }, "node_modules/command-line-args": { @@ -926,12 +980,12 @@ } }, "node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true, "engines": { - "node": ">= 12" + "node": ">=14" } }, "node_modules/concat-map": { @@ -1316,23 +1370,23 @@ } }, "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz", + "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", "dev": true, "dependencies": { "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" }, "engines": { - "node": ">=10" + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" @@ -1500,9 +1554,9 @@ } }, "node_modules/get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true, "engines": { "node": "*" @@ -1625,12 +1679,12 @@ } }, "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", "dev": true, "engines": { - "node": ">=10.17.0" + "node": ">=14.18.0" } }, "node_modules/husky": { @@ -1648,6 +1702,25 @@ "url": "https://github.com/sponsors/typicode" } }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", @@ -1771,12 +1844,12 @@ } }, "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -1848,73 +1921,90 @@ } }, "node_modules/lilconfig": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz", - "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", "dev": true, "engines": { "node": ">=10" } }, "node_modules/lint-staged": { - "version": "12.3.5", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-12.3.5.tgz", - "integrity": "sha512-oOH36RUs1It7b9U/C7Nl/a0sLfoIBcMB8ramiB3nuJ6brBqzsWiUAFSR5DQ3yyP/OR7XKMpijtgKl2DV1lQ3lA==", + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.2.1.tgz", + "integrity": "sha512-8gfzinVXoPfga5Dz/ZOn8I2GOhf81Wvs+KwbEXQn/oWZAvCVS2PivrXfVbFJc93zD16uC0neS47RXHIjXKYZQw==", "dev": true, "dependencies": { + "chalk": "5.2.0", "cli-truncate": "^3.1.0", - "colorette": "^2.0.16", - "commander": "^8.3.0", - "debug": "^4.3.3", - "execa": "^5.1.1", - "lilconfig": "2.0.4", - "listr2": "^4.0.1", - "micromatch": "^4.0.4", + "commander": "^10.0.0", + "debug": "^4.3.4", + "execa": "^7.0.0", + "lilconfig": "2.1.0", + "listr2": "^5.0.7", + "micromatch": "^4.0.5", "normalize-path": "^3.0.0", - "object-inspect": "^1.12.0", + "object-inspect": "^1.12.3", + "pidtree": "^0.6.0", "string-argv": "^0.3.1", - "supports-color": "^9.2.1", - "yaml": "^1.10.2" + "yaml": "^2.2.1" }, "bin": { "lint-staged": "bin/lint-staged.js" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": "^14.13.1 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/lint-staged" } }, - "node_modules/lint-staged/node_modules/supports-color": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.2.1.tgz", - "integrity": "sha512-Obv7ycoCTG51N7y175StI9BlAXrmgZrFhZOb0/PyjHBher/NmsdBgbbQ1Inhq+gIhz6+7Gb+jWF2Vqi7Mf1xnQ==", + "node_modules/lint-staged/node_modules/chalk": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", + "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", "dev": true, "engines": { - "node": ">=12" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/listr2": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-4.0.5.tgz", - "integrity": "sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-5.0.8.tgz", + "integrity": "sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==", "dev": true, "dependencies": { "cli-truncate": "^2.1.0", - "colorette": "^2.0.16", + "colorette": "^2.0.19", "log-update": "^4.0.0", "p-map": "^4.0.0", "rfdc": "^1.3.0", - "rxjs": "^7.5.5", + "rxjs": "^7.8.0", "through": "^2.3.8", "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=12" + "node": "^14.13.1 || >=16.0.0" }, "peerDependencies": { "enquirer": ">= 2.3.0 < 3" @@ -2062,31 +2152,34 @@ } }, "node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { "node": ">=8.6" } }, "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true, "engines": { - "node": ">=6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { "brace-expansion": "^1.1.7" @@ -2096,9 +2189,9 @@ } }, "node_modules/mocha": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.1.tgz", - "integrity": "sha512-T7uscqjJVS46Pq1XDXyo9Uvey9gd3huT/DD9cYBb4K2Xc/vbKRPUWK067bxDQRK0yIz6Jxk73IrnimvASzBNAQ==", + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz", + "integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==", "dev": true, "dependencies": { "@ungap/promise-all-settled": "1.1.2", @@ -2114,9 +2207,9 @@ "he": "1.2.0", "js-yaml": "4.1.0", "log-symbols": "4.1.0", - "minimatch": "3.0.4", + "minimatch": "4.2.1", "ms": "2.1.3", - "nanoid": "3.2.0", + "nanoid": "3.3.1", "serialize-javascript": "6.0.0", "strip-json-comments": "3.1.1", "supports-color": "8.1.1", @@ -2168,6 +2261,18 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/mocha/node_modules/minimatch": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz", + "integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/mocha/node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -2196,9 +2301,9 @@ "dev": true }, "node_modules/nanoid": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", - "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", + "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", "dev": true, "bin": { "nanoid": "bin/nanoid.cjs" @@ -2224,21 +2329,36 @@ } }, "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", "dev": true, "dependencies": { - "path-key": "^3.0.0" + "path-key": "^4.0.0" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/object-inspect": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -2254,33 +2374,33 @@ } }, "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, "dependencies": { - "mimic-fn": "^2.1.0" + "mimic-fn": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "peer": true, "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" }, "engines": { "node": ">= 0.8.0" @@ -2401,6 +2521,18 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -2412,20 +2544,32 @@ } }, "node_modules/prettier": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", - "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.2.tgz", + "integrity": "sha512-HTByuKZzw7utPiDO523Tt2pLtEyK7OibUD9suEJQrPUCYQqrHr74GGX6VidMrovbf/I50mPqr8j/II6oBAuc5A==", "dev": true, "bin": { - "prettier": "bin-prettier.js" + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" }, "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/prettier-plugin-sort-json": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/prettier-plugin-sort-json/-/prettier-plugin-sort-json-3.1.0.tgz", + "integrity": "sha512-eIDEUjwzekiVd+oKrpd0aoACBTp5zOW71wDTNy+qQ5C9Q8oqt9n9wCm4F+SeRZbXfgblh/WYIguJynImlBXrvQ==", + "dev": true, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "prettier": "^3.0.0" + } + }, "node_modules/progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", @@ -2537,6 +2681,30 @@ "node": ">=8" } }, + "node_modules/restore-cursor/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/restore-cursor/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -2593,18 +2761,18 @@ } }, "node_modules/rxjs": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", - "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", "dev": true, "dependencies": { "tslib": "^2.1.0" } }, "node_modules/rxjs/node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", "dev": true }, "node_modules/safe-buffer": { @@ -2628,9 +2796,9 @@ ] }, "node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -2766,12 +2934,15 @@ } }, "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, "engines": { - "node": ">=6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/strip-json-comments": { @@ -2798,6 +2969,37 @@ "node": ">=8" } }, + "node_modules/sync-fetch": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/sync-fetch/-/sync-fetch-0.4.2.tgz", + "integrity": "sha512-vilDD6yTGwyUjm7/W5WUUOCw1GH1aV591zC21XhbV6MJNZqfZcNMs9DVPHzy1UAmQ2GAg6S03F5TQ3paegKSdg==", + "dependencies": { + "buffer": "^5.7.1", + "node-fetch": "^2.6.1" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/sync-fetch/node_modules/node-fetch": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", + "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/table": { "version": "6.0.7", "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", @@ -2841,7 +3043,7 @@ "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, "node_modules/to-regex-range": { @@ -2856,6 +3058,11 @@ "node": ">=8.0" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, "node_modules/ts-node": { "version": "9.1.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", @@ -2980,6 +3187,20 @@ "dev": true, "peer": true }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -2995,16 +3216,6 @@ "node": ">= 8" } }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/workerpool": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", @@ -3050,12 +3261,12 @@ "dev": true }, "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", + "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", "dev": true, "engines": { - "node": ">= 6" + "node": ">= 14" } }, "node_modules/yargs": { @@ -3123,6 +3334,13 @@ } }, "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "peer": true + }, "@babel/code-frame": { "version": "7.12.11", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", @@ -3549,6 +3767,11 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -3580,6 +3803,15 @@ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", @@ -3753,9 +3985,9 @@ "dev": true }, "colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", "dev": true }, "command-line-args": { @@ -3770,9 +4002,9 @@ } }, "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true }, "concat-map": { @@ -4070,20 +4302,20 @@ "peer": true }, "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz", + "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", "dev": true, "requires": { "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" } }, "fast-deep-equal": { @@ -4214,9 +4446,9 @@ "dev": true }, "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true }, "get-stream": { @@ -4299,9 +4531,9 @@ "dev": true }, "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", "dev": true }, "husky": { @@ -4310,6 +4542,11 @@ "integrity": "sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==", "dev": true }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, "ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", @@ -4400,9 +4637,9 @@ "dev": true }, "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true }, "is-unicode-supported": { @@ -4459,52 +4696,61 @@ } }, "lilconfig": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz", - "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", "dev": true }, "lint-staged": { - "version": "12.3.5", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-12.3.5.tgz", - "integrity": "sha512-oOH36RUs1It7b9U/C7Nl/a0sLfoIBcMB8ramiB3nuJ6brBqzsWiUAFSR5DQ3yyP/OR7XKMpijtgKl2DV1lQ3lA==", + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.2.1.tgz", + "integrity": "sha512-8gfzinVXoPfga5Dz/ZOn8I2GOhf81Wvs+KwbEXQn/oWZAvCVS2PivrXfVbFJc93zD16uC0neS47RXHIjXKYZQw==", "dev": true, "requires": { + "chalk": "5.2.0", "cli-truncate": "^3.1.0", - "colorette": "^2.0.16", - "commander": "^8.3.0", - "debug": "^4.3.3", - "execa": "^5.1.1", - "lilconfig": "2.0.4", - "listr2": "^4.0.1", - "micromatch": "^4.0.4", + "commander": "^10.0.0", + "debug": "^4.3.4", + "execa": "^7.0.0", + "lilconfig": "2.1.0", + "listr2": "^5.0.7", + "micromatch": "^4.0.5", "normalize-path": "^3.0.0", - "object-inspect": "^1.12.0", + "object-inspect": "^1.12.3", + "pidtree": "^0.6.0", "string-argv": "^0.3.1", - "supports-color": "^9.2.1", - "yaml": "^1.10.2" + "yaml": "^2.2.1" }, "dependencies": { - "supports-color": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.2.1.tgz", - "integrity": "sha512-Obv7ycoCTG51N7y175StI9BlAXrmgZrFhZOb0/PyjHBher/NmsdBgbbQ1Inhq+gIhz6+7Gb+jWF2Vqi7Mf1xnQ==", + "chalk": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", + "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } } } }, "listr2": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-4.0.5.tgz", - "integrity": "sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-5.0.8.tgz", + "integrity": "sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==", "dev": true, "requires": { "cli-truncate": "^2.1.0", - "colorette": "^2.0.16", + "colorette": "^2.0.19", "log-update": "^4.0.0", "p-map": "^4.0.0", "rfdc": "^1.3.0", - "rxjs": "^7.5.5", + "rxjs": "^7.8.0", "through": "^2.3.8", "wrap-ansi": "^7.0.0" }, @@ -4614,34 +4860,34 @@ "dev": true }, "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "braces": "^3.0.2", + "picomatch": "^2.3.1" } }, "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, "mocha": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.1.tgz", - "integrity": "sha512-T7uscqjJVS46Pq1XDXyo9Uvey9gd3huT/DD9cYBb4K2Xc/vbKRPUWK067bxDQRK0yIz6Jxk73IrnimvASzBNAQ==", + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz", + "integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==", "dev": true, "requires": { "@ungap/promise-all-settled": "1.1.2", @@ -4657,9 +4903,9 @@ "he": "1.2.0", "js-yaml": "4.1.0", "log-symbols": "4.1.0", - "minimatch": "3.0.4", + "minimatch": "4.2.1", "ms": "2.1.3", - "nanoid": "3.2.0", + "nanoid": "3.3.1", "serialize-javascript": "6.0.0", "strip-json-comments": "3.1.1", "supports-color": "8.1.1", @@ -4691,6 +4937,15 @@ "argparse": "^2.0.1" } }, + "minimatch": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz", + "integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -4715,9 +4970,9 @@ "dev": true }, "nanoid": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", - "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", + "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", "dev": true }, "natural-compare": { @@ -4734,18 +4989,26 @@ "dev": true }, "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", "dev": true, "requires": { - "path-key": "^3.0.0" + "path-key": "^4.0.0" + }, + "dependencies": { + "path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true + } } }, "object-inspect": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "dev": true }, "once": { @@ -4758,27 +5021,27 @@ } }, "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, "requires": { - "mimic-fn": "^2.1.0" + "mimic-fn": "^4.0.0" } }, "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "peer": true, "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" } }, "p-limit": { @@ -4854,6 +5117,12 @@ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, + "pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true + }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -4862,11 +5131,18 @@ "peer": true }, "prettier": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", - "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.2.tgz", + "integrity": "sha512-HTByuKZzw7utPiDO523Tt2pLtEyK7OibUD9suEJQrPUCYQqrHr74GGX6VidMrovbf/I50mPqr8j/II6oBAuc5A==", "dev": true }, + "prettier-plugin-sort-json": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/prettier-plugin-sort-json/-/prettier-plugin-sort-json-3.1.0.tgz", + "integrity": "sha512-eIDEUjwzekiVd+oKrpd0aoACBTp5zOW71wDTNy+qQ5C9Q8oqt9n9wCm4F+SeRZbXfgblh/WYIguJynImlBXrvQ==", + "dev": true, + "requires": {} + }, "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", @@ -4935,6 +5211,23 @@ "requires": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" + }, + "dependencies": { + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + } } }, "reusify": { @@ -4969,18 +5262,18 @@ } }, "rxjs": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", - "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", "dev": true, "requires": { "tslib": "^2.1.0" }, "dependencies": { "tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", "dev": true } } @@ -4992,9 +5285,9 @@ "dev": true }, "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -5097,9 +5390,9 @@ } }, "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true }, "strip-json-comments": { @@ -5117,6 +5410,25 @@ "has-flag": "^4.0.0" } }, + "sync-fetch": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/sync-fetch/-/sync-fetch-0.4.2.tgz", + "integrity": "sha512-vilDD6yTGwyUjm7/W5WUUOCw1GH1aV591zC21XhbV6MJNZqfZcNMs9DVPHzy1UAmQ2GAg6S03F5TQ3paegKSdg==", + "requires": { + "buffer": "^5.7.1", + "node-fetch": "^2.6.1" + }, + "dependencies": { + "node-fetch": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", + "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", + "requires": { + "whatwg-url": "^5.0.0" + } + } + } + }, "table": { "version": "6.0.7", "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", @@ -5155,7 +5467,7 @@ "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, "to-regex-range": { @@ -5167,6 +5479,11 @@ "is-number": "^7.0.0" } }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, "ts-node": { "version": "9.1.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", @@ -5253,6 +5570,20 @@ "dev": true, "peer": true }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -5262,13 +5593,6 @@ "isexe": "^2.0.0" } }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "peer": true - }, "workerpool": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", @@ -5305,9 +5629,9 @@ "dev": true }, "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", + "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", "dev": true }, "yargs": { diff --git a/package.json b/package.json index 0faa06b9d..afc4aab53 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,8 @@ "ajv": "^8.10.0", "command-line-args": "^5.2.1", "lodash": "^4.17.21", - "prettier": "^2" + "prettier": "^3", + "sync-fetch": "^0.4.2" }, "devDependencies": { "@tsconfig/recommended": "^1.0.1", @@ -32,13 +33,20 @@ "@typescript-eslint/parser": "^4.33.0", "chai": "^4.3.3", "husky": "^8", - "lint-staged": "^12.3.5", + "lint-staged": "^13.2.1", "mocha": "^9.2.1", - "prettier": "^2", + "prettier": "^3", + "prettier-plugin-sort-json": "^3.1.0", "ts-node": "^9.1.1", "typescript": "^4.6.4" }, "lint-staged": { "{{**,.}/*.json,.*.json,*.json}": "prettier --write" + }, + "prettier": { + "jsonRecursiveSort": true, + "plugins": [ + "prettier-plugin-sort-json" + ] } } diff --git a/rotations.json b/rotations.json index 0ba97406d..cad2fb7e5 100644 --- a/rotations.json +++ b/rotations.json @@ -62,5 +62,27 @@ "mumbad", "order-and-chaos" ] + }, + { + "code": "rotation-2023", + "date_start": "2023-08-11", + "name": "Sixth Rotation", + "rotated": [ + "core", + "genesis", + "spin", + "core2", + "terminal-directive", + "creation-and-control", + "lunar", + "sc19", + "honor-and-profit", + "sansan", + "salvaged-memories", + "mumbad", + "order-and-chaos", + "flashpoint", + "data-and-destiny" + ] } ] diff --git a/schema/v1/card_schema.json b/schema/v1/card_schema.json index 0d7d5b17b..6cc04ee3d 100644 --- a/schema/v1/card_schema.json +++ b/schema/v1/card_schema.json @@ -1,20 +1,13 @@ { "$id": "https://github.com/netrunnerdb/netrunner-cards-json/blob/master/schema/v1/card_schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "array", "items": { - "type": "object", "additionalProperties": false, "allOf": [ { - "title": "Faction codes must be valid for the side.", - "type": "object", "oneOf": [ { "properties": { - "side_code": { - "const": "corp" - }, "faction_code": { "enum": [ "haas-bioroid", @@ -23,14 +16,14 @@ "neutral-corp", "weyland-consortium" ] + }, + "side_code": { + "const": "corp" } } }, { "properties": { - "side_code": { - "const": "runner" - }, "faction_code": { "enum": [ "adam", @@ -41,14 +34,17 @@ "shaper", "sunny-lebeau" ] + }, + "side_code": { + "const": "runner" } } } - ] + ], + "title": "Faction codes must be valid for the side.", + "type": "object" }, { - "title": "Type codes must be valid for the side.", - "type": "object", "oneOf": [ { "properties": { @@ -77,7 +73,9 @@ } } } - ] + ], + "title": "Type codes must be valid for the side.", + "type": "object" } ], "oneOf": [ @@ -295,9 +293,9 @@ "type": "integer" }, "side_code": { + "enum": ["corp", "runner"], "minLength": 1, - "type": "string", - "enum": ["corp", "runner"] + "type": "string" }, "strength": { "oneOf": [ @@ -348,6 +346,8 @@ "title", "type_code", "uniqueness" - ] - } + ], + "type": "object" + }, + "type": "array" } diff --git a/schema/v1/cycle_schema.json b/schema/v1/cycle_schema.json index abc494662..9010a964d 100644 --- a/schema/v1/cycle_schema.json +++ b/schema/v1/cycle_schema.json @@ -1,9 +1,7 @@ { "$id": "https://github.com/netrunnerdb/netrunner-cards-json/blob/master/schema/v1/cycle_schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "array", "items": { - "type": "object", "additionalProperties": false, "properties": { "code": { @@ -26,6 +24,8 @@ "type": "integer" } }, - "required": ["code", "name", "position", "size", "rotated"] - } + "required": ["code", "name", "position", "size", "rotated"], + "type": "object" + }, + "type": "array" } diff --git a/schema/v1/faction_schema.json b/schema/v1/faction_schema.json index b145257f5..272369f73 100644 --- a/schema/v1/faction_schema.json +++ b/schema/v1/faction_schema.json @@ -1,20 +1,13 @@ { "$id": "https://github.com/netrunnerdb/netrunner-cards-json/blob/master/schema/v1/faction_schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "array", "items": { - "type": "object", "additionalProperties": false, "allOf": [ { - "title": "Faction codes must be valid for the side.", - "type": "object", "oneOf": [ { "properties": { - "side_code": { - "const": "corp" - }, "faction_code": { "enum": [ "haas-bioroid", @@ -23,14 +16,14 @@ "neutral-corp", "weyland-consortium" ] + }, + "side_code": { + "const": "corp" } } }, { "properties": { - "side_code": { - "const": "runner" - }, "faction_code": { "enum": [ "adam", @@ -41,10 +34,15 @@ "shaper", "sunny-lebeau" ] + }, + "side_code": { + "const": "runner" } } } - ] + ], + "title": "Faction codes must be valid for the side.", + "type": "object" } ], "properties": { @@ -75,6 +73,8 @@ "type": "string" } }, - "required": ["code", "name"] - } + "required": ["code", "name"], + "type": "object" + }, + "type": "array" } diff --git a/schema/v1/pack_schema.json b/schema/v1/pack_schema.json index 4f9bf275f..16bc0b079 100644 --- a/schema/v1/pack_schema.json +++ b/schema/v1/pack_schema.json @@ -1,9 +1,7 @@ { "$id": "https://github.com/netrunnerdb/netrunner-cards-json/blob/master/schema/v1/pack_schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "array", "items": { - "type": "object", "additionalProperties": false, "properties": { "code": { @@ -61,6 +59,8 @@ "position", "date_release", "size" - ] - } + ], + "type": "object" + }, + "type": "array" } diff --git a/schema/v1/rotations_schema.json b/schema/v1/rotations_schema.json index 39d812eeb..6499215c4 100644 --- a/schema/v1/rotations_schema.json +++ b/schema/v1/rotations_schema.json @@ -1,9 +1,7 @@ { "$id": "https://github.com/netrunnerdb/netrunner-cards-json/blob/master/schema/v1/rotations_schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "array", "items": { - "type": "object", "additionalProperties": false, "properties": { "code": { @@ -31,6 +29,8 @@ "type": "array" } }, - "required": ["code", "date_start", "name", "rotated"] - } + "required": ["code", "date_start", "name", "rotated"], + "type": "object" + }, + "type": "array" } diff --git a/schema/v1/side_schema.json b/schema/v1/side_schema.json index c35ac918e..bf72d5751 100644 --- a/schema/v1/side_schema.json +++ b/schema/v1/side_schema.json @@ -1,9 +1,7 @@ { "$id": "https://github.com/netrunnerdb/netrunner-cards-json/blob/master/schema/v1/side_schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "array", "items": { - "type": "object", "additionalProperties": false, "properties": { "code": { @@ -15,6 +13,8 @@ "type": "string" } }, - "required": ["code", "name"] - } + "required": ["code", "name"], + "type": "object" + }, + "type": "array" } diff --git a/schema/v1/type_schema.json b/schema/v1/type_schema.json index 80c13d592..6658dbb24 100644 --- a/schema/v1/type_schema.json +++ b/schema/v1/type_schema.json @@ -1,9 +1,7 @@ { "$id": "https://github.com/netrunnerdb/netrunner-cards-json/blob/master/schema/v1/type_schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "array", "items": { - "type": "object", "additionalProperties": false, "properties": { "code": { @@ -32,6 +30,8 @@ ] } }, - "required": ["code", "name", "side_code"] - } + "required": ["code", "name", "side_code"], + "type": "object" + }, + "type": "array" } diff --git a/schema/v2/card_cycles_schema.json b/schema/v2/card_cycles_schema.json index 4a35ecbe8..2385ffc8a 100644 --- a/schema/v2/card_cycles_schema.json +++ b/schema/v2/card_cycles_schema.json @@ -1,11 +1,12 @@ { "$id": "https://github.com/netrunnerdb/netrunner-cards-json/blob/master/schema/v2/card_cycles_schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "array", "items": { - "type": "object", "additionalProperties": false, "properties": { + "description": { + "type": "string" + }, "id": { "minLength": 1, "type": "string" @@ -18,10 +19,18 @@ "minLength": 1, "type": "string" }, - "description": { + "position": { + "minimum": 0, + "type": "integer" + }, + "released_by": { + "enum": ["fantasy_flight_games", "null_signal_games"], + "minLength": 1, "type": "string" } }, - "required": ["id", "legacy_code", "name"] - } + "required": ["id", "legacy_code", "name", "released_by"], + "type": "object" + }, + "type": "array" } diff --git a/schema/v2/card_layouts_schema.json b/schema/v2/card_layouts_schema.json index f2e383f9a..b31a86e15 100644 --- a/schema/v2/card_layouts_schema.json +++ b/schema/v2/card_layouts_schema.json @@ -1,16 +1,14 @@ { "$id": "https://github.com/netrunnerdb/netrunner-cards-json/blob/master/schema/v1/card_layouts_schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "array", "items": { - "type": "object", "additionalProperties": false, "properties": { - "id": { + "description": { "minLength": 1, "type": "string" }, - "description": { + "id": { "minLength": 1, "type": "string" }, @@ -19,6 +17,8 @@ "type": "string" } }, - "required": ["id", "description", "name"] - } + "required": ["id", "description", "name"], + "type": "object" + }, + "type": "array" } diff --git a/schema/v2/card_pools_schema.json b/schema/v2/card_pools_schema.json index 86286a8dd..39aa99c64 100644 --- a/schema/v2/card_pools_schema.json +++ b/schema/v2/card_pools_schema.json @@ -1,38 +1,38 @@ { "$id": "https://github.com/netrunnerdb/netrunner-cards-json/blob/master/schema/v2/card_pools_schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "array", "items": { - "type": "object", "additionalProperties": false, "properties": { - "id": { - "minLength": 1, - "type": "string" - }, - "name": { - "minLength": 1, - "type": "string" - }, "card_cycle_ids": { - "type": "array", "items": { "minLength": 1, "type": "string" - } + }, + "type": "array" }, "card_set_ids": { - "type": "array", "items": { "minLength": 1, "type": "string" - } + }, + "type": "array" }, "format_id": { "minLength": 1, "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "name": { + "minLength": 1, + "type": "string" } }, - "required": ["id", "name", "format_id"] - } + "required": ["id", "name", "format_id"], + "type": "object" + }, + "type": "array" } diff --git a/schema/v2/card_set_types_schema.json b/schema/v2/card_set_types_schema.json index f0c681d11..28ea1ad49 100644 --- a/schema/v2/card_set_types_schema.json +++ b/schema/v2/card_set_types_schema.json @@ -1,11 +1,14 @@ { "$id": "https://github.com/NetrunnerDB/netrunner-cards-json/blob/master/schema/card_set_types_schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "array", "items": { - "type": "object", "additionalProperties": false, "properties": { + "description": { + "description": "A brief explanation of the type of set.", + "minLength": 1, + "type": "string" + }, "id": { "description": "Name transformed to lowercase with _ instead of spaces.", "minLength": 1, @@ -15,13 +18,10 @@ "description": "Name of the type of set.", "minLength": 1, "type": "string" - }, - "description": { - "description": "A brief explanation of the type of set.", - "minLength": 1, - "type": "string" } }, - "required": ["id", "name", "description"] - } + "required": ["id", "name", "description"], + "type": "object" + }, + "type": "array" } diff --git a/schema/v2/card_sets_schema.json b/schema/v2/card_sets_schema.json index 204c457f0..98c0a10e2 100644 --- a/schema/v2/card_sets_schema.json +++ b/schema/v2/card_sets_schema.json @@ -1,15 +1,9 @@ { "$id": "https://github.com/netrunnerdb/netrunner-cards-json/blob/master/schema/v2/card_sets_schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "array", "items": { - "type": "object", "additionalProperties": false, "properties": { - "id": { - "minLength": 1, - "type": "string" - }, "card_cycle_id": { "minLength": 1, "type": "string" @@ -22,6 +16,10 @@ "minLength": 1, "type": "string" }, + "id": { + "minLength": 1, + "type": "string" + }, "legacy_code": { "minLength": 1, "type": "string" @@ -34,6 +32,11 @@ "minimum": 1, "type": "integer" }, + "released_by": { + "enum": ["fantasy_flight_games", "null_signal_games"], + "minLength": 1, + "type": "string" + }, "size": { "minimum": 1, "type": "integer" @@ -47,7 +50,10 @@ "legacy_code", "name", "position", + "released_by", "size" - ] - } + ], + "type": "object" + }, + "type": "array" } diff --git a/schema/v2/card_subtypes_schema.json b/schema/v2/card_subtypes_schema.json index c7e5556c8..69032d6c4 100644 --- a/schema/v2/card_subtypes_schema.json +++ b/schema/v2/card_subtypes_schema.json @@ -1,9 +1,7 @@ { "$id": "https://github.com/netrunnerdb/netrunner-cards-json/blob/master/schema/v2/card_subtypes_schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "array", "items": { - "type": "object", "additionalProperties": false, "properties": { "id": { @@ -15,6 +13,8 @@ "type": "string" } }, - "required": ["id", "name"] - } + "required": ["id", "name"], + "type": "object" + }, + "type": "array" } diff --git a/schema/v2/card_types_schema.json b/schema/v2/card_types_schema.json index 11222f52c..a4854a7b2 100644 --- a/schema/v2/card_types_schema.json +++ b/schema/v2/card_types_schema.json @@ -1,20 +1,13 @@ { "$id": "https://github.com/netrunnerdb/netrunner-cards-json/blob/master/schema/v2/card_types_schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "array", "items": { - "type": "object", "additionalProperties": false, "allOf": [ { - "title": "Type ids must be valid for the side.", - "type": "object", "oneOf": [ { "properties": { - "side_id": { - "const": "corp" - }, "id": { "enum": [ "agenda", @@ -24,14 +17,14 @@ "operation", "upgrade" ] + }, + "side_id": { + "const": "corp" } } }, { "properties": { - "side_id": { - "const": "runner" - }, "id": { "enum": [ "event", @@ -40,10 +33,15 @@ "resource", "runner_identity" ] + }, + "side_id": { + "const": "runner" } } } - ] + ], + "title": "Type ids must be valid for the side.", + "type": "object" } ], "properties": { @@ -56,10 +54,12 @@ "type": "string" }, "side_id": { - "type": "string", - "enum": ["corp", "runner"] + "enum": ["corp", "runner"], + "type": "string" } }, - "required": ["id", "name", "side_id"] - } + "required": ["id", "name", "side_id"], + "type": "object" + }, + "type": "array" } diff --git a/schema/v2/cards_schema.json b/schema/v2/cards_schema.json index cdbb89c70..8ead97c46 100644 --- a/schema/v2/cards_schema.json +++ b/schema/v2/cards_schema.json @@ -1,18 +1,12 @@ { "$id": "https://github.com/netrunnerdb/netrunner-cards-json/blob/master/schema/v2/cards_schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "object", "additionalProperties": false, "allOf": [ { - "title": "Faction id must be valid for the side.", - "type": "object", "oneOf": [ { "properties": { - "side_id": { - "const": "corp" - }, "faction_id": { "enum": [ "haas_bioroid", @@ -21,14 +15,14 @@ "neutral_corp", "weyland_consortium" ] + }, + "side_id": { + "const": "corp" } } }, { "properties": { - "side_id": { - "const": "runner" - }, "faction_id": { "enum": [ "adam", @@ -39,20 +33,20 @@ "shaper", "sunny_lebeau" ] + }, + "side_id": { + "const": "runner" } } } - ] + ], + "title": "Faction id must be valid for the side.", + "type": "object" }, { - "title": "Type ids must be valid for the side.", - "type": "object", "oneOf": [ { "properties": { - "side_id": { - "const": "corp" - }, "card_type_id": { "enum": [ "agenda", @@ -62,14 +56,14 @@ "operation", "upgrade" ] + }, + "side_id": { + "const": "corp" } } }, { "properties": { - "side_id": { - "const": "runner" - }, "card_type_id": { "enum": [ "event", @@ -78,12 +72,101 @@ "resource", "runner_identity" ] + }, + "side_id": { + "const": "runner" } } } - ] + ], + "title": "Type ids must be valid for the side.", + "type": "object" } ], + "dependentSchemas": { + "layout_id": { + "oneOf": [ + { + "properties": { + "faces": { + "type": "null" + }, + "layout_id": { + "oneOf": [ + { + "const": "normal" + }, + { + "type": "null" + } + ] + } + } + }, + { + "properties": { + "faces": { + "items": { + "type": "object" + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "layout_id": { + "const": "flip" + } + }, + "required": ["faces"] + }, + { + "properties": { + "faces": { + "items": { + "type": "object" + }, + "minItems": 1, + "type": "array" + }, + "layout_id": { + "const": "copy" + } + }, + "required": ["faces"] + }, + { + "properties": { + "faces": { + "items": { + "type": "object" + }, + "minItems": 1, + "type": "array" + }, + "layout_id": { + "const": "facade" + } + }, + "required": ["faces"] + }, + { + "properties": { + "faces": { + "items": { + "type": "object" + }, + "minItems": 1, + "type": "array" + }, + "layout_id": { + "const": "progression" + } + }, + "required": ["faces"] + } + ] + } + }, "oneOf": [ { "properties": { @@ -110,6 +193,9 @@ }, { "properties": { + "card_type_id": { + "enum": ["asset", "upgrade"] + }, "cost": { "oneOf": [ { @@ -124,15 +210,15 @@ "trash_cost": { "minimum": 0, "type": "integer" - }, - "card_type_id": { - "enum": ["asset", "upgrade"] } }, "required": ["cost", "trash_cost"] }, { "properties": { + "card_type_id": { + "enum": ["ice"] + }, "cost": { "oneOf": [ { @@ -153,15 +239,15 @@ "type": "null" } ] - }, - "card_type_id": { - "enum": ["ice"] } }, "required": ["cost", "strength"] }, { "properties": { + "card_type_id": { + "enum": ["event", "hardware", "operation", "program", "resource"] + }, "cost": { "oneOf": [ { @@ -172,15 +258,15 @@ "type": "null" } ] - }, - "card_type_id": { - "enum": ["event", "hardware", "operation", "program", "resource"] } }, "required": ["cost"] }, { "properties": { + "card_type_id": { + "enum": ["corp_identity", "runner_identity"] + }, "influence_limit": { "oneOf": [ { @@ -195,9 +281,6 @@ "minimum_deck_size": { "minimum": 0, "type": "integer" - }, - "card_type_id": { - "enum": ["corp_identity", "runner_identity"] } }, "required": ["influence_limit", "minimum_deck_size"] @@ -227,7 +310,7 @@ "minimum": 0, "type": "integer" }, - "id": { + "card_type_id": { "minLength": 1, "type": "string" }, @@ -246,10 +329,29 @@ "minimum": 1, "type": "integer" }, + "designed_by": { + "enum": ["fantasy_flight_games", "null_signal_games"], + "minLength": 1, + "type": "string" + }, + "faces": { + "oneOf": [ + { + "type": "array" + }, + { + "type": "null" + } + ] + }, "faction_id": { "minLength": 1, "type": "string" }, + "id": { + "minLength": 1, + "type": "string" + }, "influence_cost": { "minimum": 0, "type": "integer" @@ -265,11 +367,14 @@ } ] }, + "is_unique": { + "type": "boolean" + }, "layout_id": { "oneOf": [ { - "type": "string", - "enum": ["normal", "flip", "copy", "facade", "progression"] + "enum": ["normal", "flip", "copy", "facade", "progression"], + "type": "string" }, { "type": "null" @@ -289,19 +394,9 @@ "type": "string" }, "side_id": { + "enum": ["corp", "runner"], "minLength": 1, - "type": "string", - "enum": ["corp", "runner"] - }, - "faces": { - "oneOf": [ - { - "type": "array" - }, - { - "type": "null" - } - ] + "type": "string" }, "strength": { "oneOf": [ @@ -321,6 +416,12 @@ "minLength": 1, "type": "string" }, + "subtypes": { + "items": { + "type": "string" + }, + "type": "array" + }, "text": { "minLength": 1, "type": "string" @@ -332,112 +433,17 @@ "trash_cost": { "minimum": 0, "type": "integer" - }, - "card_type_id": { - "minLength": 1, - "type": "string" - }, - "is_unique": { - "type": "boolean" - }, - "subtypes": { - "type": "array", - "items": { - "type": "string" - } } }, "required": [ - "id", - "faction_id", + "card_type_id", "deck_limit", + "designed_by", + "faction_id", + "id", + "is_unique", "side_id", - "title", - "card_type_id", - "is_unique" + "title" ], - "dependentSchemas": { - "layout_id": { - "oneOf": [ - { - "properties": { - "layout_id": { - "oneOf": [ - { - "const": "normal" - }, - { - "type": "null" - } - ] - }, - "faces": { - "type": "null" - } - } - }, - { - "properties": { - "layout_id": { - "const": "flip" - }, - "faces": { - "type": "array", - "minItems": 1, - "maxItems": 1, - "items": { - "type": "object" - } - } - }, - "required": ["faces"] - }, - { - "properties": { - "layout_id": { - "const": "copy" - }, - "faces": { - "type": "array", - "minItems": 1, - "items": { - "type": "object" - } - } - }, - "required": ["faces"] - }, - { - "properties": { - "layout_id": { - "const": "facade" - }, - "faces": { - "type": "array", - "minItems": 1, - "items": { - "type": "object" - } - } - }, - "required": ["faces"] - }, - { - "properties": { - "layout_id": { - "const": "progression" - }, - "faces": { - "type": "array", - "minItems": 1, - "items": { - "type": "object" - } - } - }, - "required": ["faces"] - } - ] - } - } + "type": "object" } diff --git a/schema/v2/factions_schema.json b/schema/v2/factions_schema.json index 6019e612e..a8f141180 100644 --- a/schema/v2/factions_schema.json +++ b/schema/v2/factions_schema.json @@ -1,20 +1,13 @@ { "$id": "https://github.com/netrunnerdb/netrunner-cards-json/blob/master/schema/v2/factions_schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "array", "items": { - "type": "object", "additionalProperties": false, "allOf": [ { - "title": "Faction ids must be valid for the side.", - "type": "object", "oneOf": [ { "properties": { - "side_id": { - "const": "corp" - }, "id": { "enum": [ "haas_bioroid", @@ -23,14 +16,14 @@ "neutral_corp", "weyland_consortium" ] + }, + "side_id": { + "const": "corp" } } }, { "properties": { - "side_id": { - "const": "runner" - }, "id": { "enum": [ "adam", @@ -41,17 +34,18 @@ "shaper", "sunny_lebeau" ] + }, + "side_id": { + "const": "runner" } } } - ] + ], + "title": "Faction ids must be valid for the side.", + "type": "object" } ], "properties": { - "id": { - "minLength": 1, - "type": "string" - }, "color": { "description": "Faction color in hex triplet format. This can be used to display faction-specific information in the appropriate color on an HTML webpage.", "maxLength": 6, @@ -61,6 +55,10 @@ "description": { "type": "string" }, + "id": { + "minLength": 1, + "type": "string" + }, "is_mini": { "type": "boolean" }, @@ -73,6 +71,8 @@ "type": "string" } }, - "required": ["id", "name"] - } + "required": ["id", "name"], + "type": "object" + }, + "type": "array" } diff --git a/schema/v2/formats_schema.json b/schema/v2/formats_schema.json index 802e2f2a9..2baaad364 100644 --- a/schema/v2/formats_schema.json +++ b/schema/v2/formats_schema.json @@ -1,7 +1,6 @@ { "$id": "https://github.com/netrunnerdb/netrunner-cards-json/blob/master/schema/v2/formats_schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "object", "additionalProperties": false, "properties": { "id": { @@ -13,14 +12,11 @@ "type": "string" }, "snapshots": { - "type": "array", "items": { - "type": "object", "additionalProperties": false, "properties": { - "id": { - "minLength": 1, - "type": "string" + "active": { + "type": "boolean" }, "card_pool_id": { "minLength": 1, @@ -30,17 +26,21 @@ "minLength": 1, "type": "string" }, - "active": { - "type": "boolean" + "id": { + "minLength": 1, + "type": "string" }, "restriction_id": { "minLength": 1, "type": "string" } }, - "required": ["card_pool_id", "date_start"] - } + "required": ["card_pool_id", "date_start"], + "type": "object" + }, + "type": "array" } }, - "required": ["id", "name"] + "required": ["id", "name"], + "type": "object" } diff --git a/schema/v2/printings_schema.json b/schema/v2/printings_schema.json index 46783e4a3..9a3d7ff8f 100644 --- a/schema/v2/printings_schema.json +++ b/schema/v2/printings_schema.json @@ -1,71 +1,16 @@ { "$id": "https://github.com/netrunnerdb/netrunner-cards-json/blob/master/schema/v2/printings_schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "array", "items": { - "type": "object", "additionalProperties": false, - "properties": { - "card_id": { - "minLength": 1, - "type": "string" - }, - "card_set_id": { - "minLength": 1, - "type": "string" - }, - "copy_quantity": { - "minimum": 1, - "type": "integer" - }, - "flavor": { - "minLength": 1, - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "illustrator": { - "minLength": 1, - "type": "string" - }, - "layout_id": { - "oneOf": [ - { - "type": "string", - "enum": ["normal", "flip", "copy", "facade", "progression"] - }, - { - "type": "null" - } - ] - }, - "position": { - "minimum": 1, - "type": "integer" - }, - "quantity": { - "minimum": 1, - "type": "integer" - }, - "faces": { - "oneOf": [ - { - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "required": ["card_id", "card_set_id", "id", "position", "quantity"], "dependentSchemas": { "layout_id": { "oneOf": [ { "properties": { + "faces": { + "type": "null" + }, "layout_id": { "oneOf": [ { @@ -75,75 +20,142 @@ "type": "null" } ] - }, - "faces": { - "type": "null" } } }, { "properties": { - "layout_id": { - "const": "flip" - }, "faces": { - "type": "array", - "minItems": 1, - "maxItems": 1, "items": { "type": "object" - } + }, + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "layout_id": { + "const": "flip" } }, "required": ["faces"] }, { "properties": { - "layout_id": { - "const": "copy" - }, "faces": { - "type": "array", - "minItems": 1, "items": { "type": "object" - } + }, + "minItems": 1, + "type": "array" + }, + "layout_id": { + "const": "copy" } }, "required": ["faces"] }, { "properties": { - "layout_id": { - "const": "facade" - }, "faces": { - "type": "array", - "minItems": 1, "items": { "type": "object" - } + }, + "minItems": 1, + "type": "array" + }, + "layout_id": { + "const": "facade" } }, "required": ["faces"] }, { "properties": { - "layout_id": { - "const": "progression" - }, "faces": { - "type": "array", - "minItems": 1, "items": { "type": "object" - } + }, + "minItems": 1, + "type": "array" + }, + "layout_id": { + "const": "progression" } }, "required": ["faces"] } ] } - } - } + }, + "properties": { + "card_id": { + "minLength": 1, + "type": "string" + }, + "card_set_id": { + "minLength": 1, + "type": "string" + }, + "copy_quantity": { + "minimum": 1, + "type": "integer" + }, + "faces": { + "oneOf": [ + { + "type": "array" + }, + { + "type": "null" + } + ] + }, + "flavor": { + "minLength": 1, + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "illustrator": { + "minLength": 1, + "type": "string" + }, + "layout_id": { + "oneOf": [ + { + "enum": ["normal", "flip", "copy", "facade", "progression"], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "position": { + "minimum": 1, + "type": "integer" + }, + "quantity": { + "minimum": 1, + "type": "integer" + }, + "released_by": { + "enum": ["fantasy_flight_games", "null_signal_games"], + "minLength": 1, + "type": "string" + } + }, + "required": [ + "card_id", + "card_set_id", + "id", + "position", + "quantity", + "released_by" + ], + "type": "object" + }, + "type": "array" } diff --git a/schema/v2/restrictions_schema.json b/schema/v2/restrictions_schema.json index 2bf56e3f9..f088bbcd6 100644 --- a/schema/v2/restrictions_schema.json +++ b/schema/v2/restrictions_schema.json @@ -1,106 +1,106 @@ { "$id": "https://github.com/netrunnerdb/netrunner-cards-json/blob/master/schema/v2/restrictions_schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "object", "additionalProperties": false, "properties": { - "id": { - "minLength": 1, - "type": "string" - }, "banned": { - "type": "array", "items": { "minLength": 1, "type": "string" - } + }, + "type": "array" }, "date_start": { "minLength": 1, "type": "string" }, - "subtypes": { - "type": "object", - "properties": { - "banned": { - "type": "array", - "items": { - "minLength": 1, - "type": "string" - } - } - } + "format_id": { + "minLength": 1, + "type": "string" }, "global_penalty": { - "type": "object", "properties": { "1": { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" } - } + }, + "type": "object" }, - "universal_faction_cost": { - "type": "object", - "properties": { - "1": { - "type": "array", - "items": { - "type": "string" - } - }, - "3": { - "type": "array", - "items": { - "type": "string" - } - } - } + "id": { + "minLength": 1, + "type": "string" + }, + "name": { + "minLength": 1, + "type": "string" + }, + "point_limit": { + "minimum": 1, + "type": "integer" }, "points": { - "type": "object", "properties": { "1": { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, "2": { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, "3": { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" } - } + }, + "type": "object" }, "restricted": { - "type": "array", "items": { "minLength": 1, "type": "string" - } - }, - "name": { - "minLength": 1, - "type": "string" + }, + "type": "array" }, - "format_id": { - "minLength": 1, - "type": "string" + "subtypes": { + "properties": { + "banned": { + "items": { + "minLength": 1, + "type": "string" + }, + "type": "array" + } + }, + "type": "object" }, - "point_limit": { - "minimum": 1, - "type": "integer" + "universal_faction_cost": { + "properties": { + "1": { + "items": { + "type": "string" + }, + "type": "array" + }, + "3": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" } }, - "required": ["id", "name", "date_start", "format_id"] + "required": ["id", "name", "date_start", "format_id"], + "type": "object" } diff --git a/schema/v2/sides_schema.json b/schema/v2/sides_schema.json index c2b912f32..2e881dd57 100644 --- a/schema/v2/sides_schema.json +++ b/schema/v2/sides_schema.json @@ -1,21 +1,21 @@ { "$id": "https://github.com/netrunnerdb/netrunner-cards-json/blob/master/schema/v1/sides_schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "array", "items": { - "type": "object", "additionalProperties": false, "properties": { "id": { + "enum": ["corp", "runner"], "minLength": 1, - "type": "string", - "enum": ["corp", "runner"] + "type": "string" }, "name": { "minLength": 1, "type": "string" } }, - "required": ["id", "name"] - } + "required": ["id", "name"], + "type": "object" + }, + "type": "array" } diff --git a/src/fetch-rulings.ts b/src/fetch-rulings.ts new file mode 100644 index 000000000..8ee60563a --- /dev/null +++ b/src/fetch-rulings.ts @@ -0,0 +1,41 @@ +import fetch from "sync-fetch"; +import fs from "fs"; +import { resolve } from "path"; +import { textToId } from "./index"; + +console.log('Fetching rulings data from NRDB v2 API...'); +const res = fetch("https://netrunnerdb.com/api/2.0/public/rulings").json(); + +const rulings = res.data; + +const rulings_by_id = new Map>(); + +rulings.forEach(r => { + const id = textToId(r.title); + if (!rulings_by_id.has(id)) { + rulings_by_id.set(id, []); + } + const ruling = {card_id: id, date_update: r.date_update, nsg_rules_team_verified: r.nsg_rules_team_verified}; + // Format ruling according to if it is a Q&A or a simple text ruling. + r.ruling = r.ruling.replaceAll(/\r/g, ''); + if (r.ruling.match(/\?/) && r.ruling.match(/\n>/)) { + const q_and_a = r.ruling.split(/\n>/); + ruling['question'] = q_and_a[0].trim(); + ruling['answer'] = q_and_a[1].trim(); + } else { + ruling['text_ruling'] = r.ruling + } + rulings_by_id.get(id)?.push(ruling); +}); + +console.log('Writing rulings to disk...') +const rulingsDir = resolve(__dirname, '..', 'v2', 'rulings'); +rulings_by_id.forEach((rulings, id) => { + const filename = resolve(rulingsDir, `${id}.json`); + rulings = rulings.sort((a, b) => a.date_update.localeCompare(b.date_update) || a.nsg_rules_team_verified > b.nsg_rules_team_verified); + fs.writeFile(filename, JSON.stringify(rulings), err => { + if (err) { + console.error(`Error writing ${rulings.length} rulings for ${id} to ${filename}: ${err}`); + } + }); +}); diff --git a/src/index.ts b/src/index.ts index 63067be44..816c55733 100644 --- a/src/index.ts +++ b/src/index.ts @@ -31,7 +31,7 @@ export function textToId(text: string): string { // Unicode Canonical Decomposition - switching single code points to multiple code points. .normalize('NFD') // remove non-ASCII - .replace(/\P{ASCII}/u, '') + .replace(/\P{ASCII}/gu, '') // replace 's followed by a space or end-of-line with s and the space/end match. .replace(/'s(\s|$)/gu, 's$1') // split along space or punction. diff --git a/src/updateDuplicatePrintings.ts b/src/updateDuplicatePrintings.ts new file mode 100644 index 000000000..c00b43890 --- /dev/null +++ b/src/updateDuplicatePrintings.ts @@ -0,0 +1,132 @@ +// Given a v1 pack, update all other printings of cards in that pack to the +// values in the specified pack. +// Quiet a lint warning up since we know our data exists. +/* eslint-disable @typescript-eslint/no-non-null-assertion */ + +import fs from "fs"; +import { resolve } from "path"; +import commandLineArgs = require('command-line-args'); +import prettier from "prettier"; + +const optionDefinitions = [ + { name: 'source_printing_file', description: 'Path to the source pack to use for the updates.', alias: 'p', type: String } +]; +const options = commandLineArgs(optionDefinitions); + +if (!options.source_printing_file) { + console.error("You must provide a path to the source pack --source_printing_file or -p."); + process.exit(1); +} + +async function formatJSON(text) { + const data = JSON.stringify(text); + return await prettier.format(data, { + jsonRecursiveSort: true, + parser: "json", + plugins: ["prettier-plugin-sort-json"], + }); +} + +// Read v2 printings file. +console.log(`Input printing file is ${options.source_printing_file}`); +const source_printings = JSON.parse(fs.readFileSync(options.source_printing_file, "utf-8")); + +// Maps and sets to keep track of what needs to be updated. +const cardIds = new Set(); +const sourcePrintingIds = new Set(); +const cardIdToPrintingIds = new Map>(); +const v2CardsById = new Map(); +const v2PrintingsById = new Map(); +const packsNeedingUpdates = new Set(); +const printingIdToCardId = new Map(); + +// Make a set of card ids from the updated printing file. This is the target set to use for updates. +// Make a map of printing id -> card_id for all cards. +// Read all v2 printing files +// for each printing, +// if the card id is in the card ids map. +// add to a map of card_id -> [printing id] +source_printings.forEach(p => { + cardIds.add(p.card_id); + sourcePrintingIds.add(p.id); + if (!cardIdToPrintingIds.has(p.card_id)) { + cardIdToPrintingIds.set(p.card_id, new Array()); + } + cardIdToPrintingIds.get(p.card_id)?.push(p.id); + v2PrintingsById.set(p.id, p); + printingIdToCardId.set(p.id, p.card_id); +}); + +// Load all the v2 card files in the source set. +const v2CardsDir = resolve(__dirname, '..', 'v2/cards'); +cardIds.forEach(card_id => { + const path = resolve(v2CardsDir, `${card_id}.json`); + const json = JSON.parse(fs.readFileSync(path, 'utf-8')); + v2CardsById.set(card_id, json); +}); + +// Find all the duplicate printings. +const printingDir = resolve(__dirname, '..', 'v2/printings'); +fs.readdirSync(printingDir).forEach(file => { + if (file.endsWith('.json')) { + const path = resolve(printingDir, file); + const json = JSON.parse(fs.readFileSync(path, 'utf-8')); + json.forEach(c => { + printingIdToCardId.set(c.id, c.card_id); + if (cardIds.has(c.card_id) && !sourcePrintingIds.has(c.id)) { + console.log(`Found another printing for card ${c.card_id}: ${c.id}`); + cardIdToPrintingIds.get(c.card_id)?.push(c.id); + } + }); + } +}); + +// Iterate over all the v1 pack files and identify the ones that need updates. +const packsDir = resolve(__dirname, '..', 'pack'); +fs.readdirSync(packsDir).forEach(file => { + if (file.endsWith('.json')) { + const path = resolve(packsDir, file); + console.log(`Reading pack in ${path}`); + const json = JSON.parse(fs.readFileSync(path, 'utf-8')); + json.forEach(p => { + if (cardIds.has(printingIdToCardId.get(p.code)!)) { + packsNeedingUpdates.add(path); + } + }); + } +}); + +packsNeedingUpdates.forEach(p => { + console.log(`Need to update pack file ${p}`); + const v1 = new Array(); + const json = JSON.parse(fs.readFileSync(resolve(p), 'utf-8')); + json.forEach((printing: any) => { + if (cardIds.has(printingIdToCardId.get(printing.code)!)) { + console.log(`Need to update printing ${printing.code} (${printing.title})`); + const newCard = v2CardsById.get(printingIdToCardId.get(printing.code)!); + printing.title = newCard.title; + printing.stripped_title = newCard.stripped_title; + printing.text = newCard.text; + printing.stripped_text = newCard.stripped_text; + // Note: this only handles single flip cards, not cards with more than 2 faces. + if ('faces' in newCard) { + printing.text = `${printing.text}\nFlip side:\n${newCard.faces[0].text}`; + printing.stripped_text = `${printing.stripped_text} Flip side: ${newCard.faces[0].stripped_text}`; + } + } + v1.push(printing); + }); + + // Write out the updated pack file, including prettier formatting. + formatJSON(v1).then((content) => { + fs.writeFile( + resolve(p), + content, + function (err) { + if (err) { + console.log(`Could not write updated pack to ${p}: ${err}`); + } + }, + ); + }); +}) diff --git a/test/tsconfig.json b/test/tsconfig.json index 1071f1a56..420e7c3d5 100644 --- a/test/tsconfig.json +++ b/test/tsconfig.json @@ -1,12 +1,12 @@ { - "extends": "../tsconfig.json", "compilerOptions": { "baseUrl": "./", + "isolatedModules": false, "module": "commonjs", "strictPropertyInitialization": false, - "isolatedModules": false, "typeRoots": ["../node_modules/@types"] }, "exclude": ["../node_modules"], + "extends": "../tsconfig.json", "include": ["./**/*.ts"] } diff --git a/test/validate_v1.ts b/test/validate_v1.ts index 8daf05f45..a09e36439 100644 --- a/test/validate_v1.ts +++ b/test/validate_v1.ts @@ -50,7 +50,7 @@ describe('Packs', () => { it('packs have valid cycle codes', () => { const cycleCodes = new Set(getCyclesJson().map(a => a.code)); packs.forEach(pack => { - expect(cycleCodes).to.include(pack.cycle_code, `Pack ${pack.name} has bad cycle ${pack.cycle_code}`); + expect(cycleCodes).to.include(pack.cycle_code, `Pack ${pack.name} has bad cycle ${pack.cycle_code}`); }); }); }); @@ -74,7 +74,7 @@ describe('Rotations', () => { const cycleCodes = new Set(getCyclesJson().map(a => a.code)); rotations.forEach(rotation => { rotation.rotated.forEach(cycle_code => { - expect(cycleCodes).to.include(cycle_code, `Rotation ${rotation.name} has bad cycle ${cycle_code}`); + expect(cycleCodes).to.include(cycle_code, `Rotation ${rotation.name} has bad cycle ${cycle_code}`); }); }); }); @@ -99,7 +99,7 @@ describe('Cards', () => { it('cards have valid pack codes', () => { const packCodes = new Set(getPacksJson().map(a => a.code)); cards.forEach(card => { - expect(packCodes).to.include(card.pack_code, `Card ${card.title} has bad pack ${card.pack_code}`); + expect(packCodes).to.include(card.pack_code, `Card ${card.title} has bad pack ${card.pack_code}`); }); }); @@ -113,40 +113,42 @@ describe('Cards', () => { } set.add(getter(card)); }); - + map.forEach((set, title) => { - expect(set.size).to.equal(1, `card ${title} has varying ${attribute} across printings:\n\t${Array.from(set).join('\n\t')}`); + if (set.size > 1) { + expect.fail(`card ${title} has varying ${attribute} across printings:\n\t${Array.from(set).join('\n\t')}`) + } }); } it('cards with multiple printings have identical required attributes', () => { - validateAttributeAcrossPrintings(cards, 'advancement_cost', function(card) { return card.advancement_cost }); - validateAttributeAcrossPrintings(cards, 'agenda_points', function(card) { return card.agenda_points }); - validateAttributeAcrossPrintings(cards, 'base_link', function(card) { return card.base_link }); - validateAttributeAcrossPrintings(cards, 'cost', function(card) { return card.cost }); - validateAttributeAcrossPrintings(cards, 'deck_limit', function(card) { return card.deck_limit }); - validateAttributeAcrossPrintings(cards, 'faction_code', function(card) { return card.faction_code }); - validateAttributeAcrossPrintings(cards, 'faction_cost', function(card) { return card.faction_cost }); - validateAttributeAcrossPrintings(cards, 'influence_limit', function(card) { return card.influence_limit }); - validateAttributeAcrossPrintings(cards, 'keywords', function(card) { return card.keywords }); - validateAttributeAcrossPrintings(cards, 'memory_cost', function(card) { return card.memory_cost }); - validateAttributeAcrossPrintings(cards, 'minimum_deck_size', function(card) { return card.minimum_deck_size }); - validateAttributeAcrossPrintings(cards, 'side_code', function(card) { return card.side_code }); - validateAttributeAcrossPrintings(cards, 'strength', function(card) { return card.strength }); - validateAttributeAcrossPrintings(cards, 'stripped_text', function(card) { return card.stripped_text }); - validateAttributeAcrossPrintings(cards, 'stripped_title', function(card) { return card.stripped_title }); - validateAttributeAcrossPrintings(cards, 'text', function(card) { return card.text }); - validateAttributeAcrossPrintings(cards, 'trash_cost', function(card) { return card.trash_cost }); - validateAttributeAcrossPrintings(cards, 'type_code', function(card) { return card.type_code }); - validateAttributeAcrossPrintings(cards, 'type_uniqueness', function(card) { return card.type_uniqueness }); + validateAttributeAcrossPrintings(cards, 'advancement_cost', function (card) { return card.advancement_cost }); + validateAttributeAcrossPrintings(cards, 'agenda_points', function (card) { return card.agenda_points }); + validateAttributeAcrossPrintings(cards, 'base_link', function (card) { return card.base_link }); + validateAttributeAcrossPrintings(cards, 'cost', function (card) { return card.cost }); + validateAttributeAcrossPrintings(cards, 'deck_limit', function (card) { return card.deck_limit }); + validateAttributeAcrossPrintings(cards, 'faction_code', function (card) { return card.faction_code }); + validateAttributeAcrossPrintings(cards, 'faction_cost', function (card) { return card.faction_cost }); + validateAttributeAcrossPrintings(cards, 'influence_limit', function (card) { return card.influence_limit }); + validateAttributeAcrossPrintings(cards, 'keywords', function (card) { return card.keywords }); + validateAttributeAcrossPrintings(cards, 'memory_cost', function (card) { return card.memory_cost }); + validateAttributeAcrossPrintings(cards, 'minimum_deck_size', function (card) { return card.minimum_deck_size }); + validateAttributeAcrossPrintings(cards, 'side_code', function (card) { return card.side_code }); + validateAttributeAcrossPrintings(cards, 'strength', function (card) { return card.strength }); + validateAttributeAcrossPrintings(cards, 'stripped_text', function (card) { return card.stripped_text }); + validateAttributeAcrossPrintings(cards, 'stripped_title', function (card) { return card.stripped_title }); + validateAttributeAcrossPrintings(cards, 'text', function (card) { return card.text }); + validateAttributeAcrossPrintings(cards, 'trash_cost', function (card) { return card.trash_cost }); + validateAttributeAcrossPrintings(cards, 'type_code', function (card) { return card.type_code }); + validateAttributeAcrossPrintings(cards, 'type_uniqueness', function (card) { return card.type_uniqueness }); }); it('stripped text and title are ascii only', () => { cards.forEach(card => { if (card.text) { - expect(card.stripped_text, `${card.title} stripped_text missing`).to.exist; + expect(card.stripped_text, `${card.title} stripped_text missing`).to.exist; expect(card.stripped_text, `${card.title} stripped_text should be ascii only`).to.equal( - Buffer.from(card.stripped_text.toString()).toString("ascii")); + Buffer.from(card.stripped_text.toString()).toString("ascii")); } expect(card.stripped_title, `${card.title} stripped_title should be ascii only`).to.equal( Buffer.from(card.stripped_title.toString()).toString("ascii")); @@ -159,12 +161,12 @@ describe('Cards', () => { const textMatches = card.text.match(/Interface(..)?/g); for (const m in textMatches) { expect(textMatches[m], `${card.title} has incorrect interface formatting in text`) - .to.equal('Interface →'); + .to.equal('Interface →'); } const strippedTextMatches = card.stripped_text.match(/Interface(...)?/g); for (const m in strippedTextMatches) { expect(strippedTextMatches[m], `${card.title} has incorrect interface formatting in stripped_text`) - .to.equal('Interface ->'); + .to.equal('Interface ->'); } } }); @@ -176,12 +178,12 @@ describe('Cards', () => { const textMatches = card.text.match(/\[interrupt\](..)?/g); for (const m in textMatches) { expect(textMatches[m], `${card.title} has incorrect interrupt formatting in text`) - .to.equal('[interrupt] →'); + .to.equal('[interrupt] →'); } const strippedTextMatches = card.stripped_text.match(/Interrupt(...)?/gi); for (const m in strippedTextMatches) { expect(strippedTextMatches[m], `${card.title} has incorrect interrupt formatting in stripped_text`) - .to.equal('Interrupt ->'); + .to.equal('Interrupt ->'); } } }); @@ -225,13 +227,13 @@ describe('Translations', () => { describe('Prebuilts', () => { it('prebuilts.json is correct JSON', () => { const prebuilts = getPrebuiltsJson(); - expect(prebuilts).to.exist; + expect(prebuilts).to.exist; }); }); describe('Mwl', () => { it('mwl.json is correct JSON', () => { const mwl = getMwlJson(); - expect(mwl).to.exist; + expect(mwl).to.exist; }); }); diff --git a/test/validate_v1_v2_equality.ts b/test/validate_v1_v2_equality.ts index 67161cc9d..943449b89 100644 --- a/test/validate_v1_v2_equality.ts +++ b/test/validate_v1_v2_equality.ts @@ -15,12 +15,16 @@ import { expect } from "chai"; describe('Card Cycles v1/v2', () => { // id in v2 is the textToId'd version of the set name, not the same as the NRDB classic code. const cyclesByCode = new Map(); + const positionByLegacyCycleCode = new Map(); getCyclesJson().forEach(c => { cyclesByCode.set(c.code, c.name); + positionByLegacyCycleCode.set(c.code, c.position); }); const cardCyclesByLegacyCode = new Map(); + const v2PositionByLegacyCycleCode = new Map(); getCardCyclesV2Json().forEach(s => { cardCyclesByLegacyCode.set(s.legacy_code, s.name); + v2PositionByLegacyCycleCode.set(s.legacy_code, s.position); }); it('has correct number of cardCycles', () => { @@ -31,6 +35,9 @@ describe('Card Cycles v1/v2', () => { cardCyclesByLegacyCode.forEach((name, legacyCode) => { expect(cyclesByCode.has(legacyCode), `legacy_code ${legacyCode} exists in packsByCode map`).to.be.true; expect(name, `name mismatch for card set ${name} with legacy_code ${legacyCode}`).to.equal(cyclesByCode.get(legacyCode)); + expect(v2PositionByLegacyCycleCode.get(legacyCode), + `position mismatch for card set ${name} with position ${v2PositionByLegacyCycleCode.get(legacyCode)}`) + .to.equal(positionByLegacyCycleCode.get(legacyCode)); }); }); }); @@ -277,14 +284,14 @@ describe('Printings v1/v2 equality', () => { function validate(v1Field: string, maybeV2Field?: string) { const v2Field = maybeV2Field == undefined ? v1Field : maybeV2Field; v1CardsByCode.forEach((c, code) => { - if (checkTdc(c, code)) { + if (checkTdc(c)) { return; } expect(c[v1Field], `${v2Field} mismatch for ${code}`).to.equal(printingsById.get(code)[v2Field]); }); } - function checkTdc(v1: any, code: string): boolean { + function checkTdc(v1: any): boolean { return !v2CardsByTitle.get(v1.title) && v1.pack_code == 'tdc'; } @@ -303,7 +310,7 @@ describe('Printings v1/v2 equality', () => { it('card set matches pack names.', () => { v1CardsByCode.forEach((v1, code) => { - if (checkTdc(v1, code)) { + if (checkTdc(v1)) { return; } expect(packsByCode.get(v1.pack_code), @@ -315,11 +322,14 @@ describe('Printings v1/v2 equality', () => { // v1 flavor text includes design attributions, but in v2 that has been separated into the card attribution property. it('flavor matches', () => { v1Cards.forEach(v1 => { - if (checkTdc(v1, v1.code)) { + if (checkTdc(v1)) { return; } const v2Printing = printingsById.get(v1.code); + expect(v2Printing, `Could not find v2 printing with code ${v1.code}`); const v2Card = v2CardsByTitle.get(v1.title); + expect(v2Card !== undefined, `Could not find v2 card with title ${v1.title}`); + let v2Flavor = v2Printing.faces ? [v2Printing.flavor].concat(v2Printing.faces.map(s => s.flavor)).filter(f => !!f).join('\n') : v2Printing.flavor; if (!v2Flavor) { v2Flavor = v2Printing.flavor; @@ -349,7 +359,7 @@ describe('Printings v1/v2 equality', () => { // copy cards have inconsistent printing representation so are excluded. it('quantity matches', () => { v1CardsByCode.forEach((c, code) => { - if (checkTdc(c, code)) { + if (checkTdc(c)) { return; } const p = printingsById.get(code); diff --git a/test/validate_v2.ts b/test/validate_v2.ts index e57e4479d..a6766c7cb 100644 --- a/test/validate_v2.ts +++ b/test/validate_v2.ts @@ -115,7 +115,7 @@ describe('SetTypes', () => { }); it('cardSetTypes have proper name/id format', () => { - cardSetTypes.forEach(function(st) { + cardSetTypes.forEach(function (st) { expect(st.id).to.equal(st.name.toLowerCase().replaceAll(' ', '_')); }); }); @@ -128,7 +128,7 @@ describe('Types', () => { }); it('cardTypes have proper name/id format', () => { - cardTypes.forEach(function(t) { + cardTypes.forEach(function (t) { expect(t.id).to.equal(textToId(t.name)); }); }); @@ -141,7 +141,7 @@ describe('Card Subtypes', () => { }); it('subtypes have proper name/id format', () => { - subtypes.forEach(function(s) { + subtypes.forEach(function (s) { expect(s.id).to.equal(textToId(s.name)); }); }); @@ -161,7 +161,7 @@ describe('Card Sets', () => { it('has valid cycle ids', () => { cardSets.forEach(s => { - expect(cardCycleIds, `Card set ${s.name} has invalid card_cycle_id ${s.card_cycle_id}`).to.include(s.card_cycle_id); + expect(cardCycleIds, `Card set ${s.name} has invalid card_cycle_id ${s.card_cycle_id}`).to.include(s.card_cycle_id); }); }); }); @@ -218,7 +218,7 @@ describe('Printings', () => { }); it('printing files have valid ids', () => { - const printingIds = new Set(); + const printingIds = new Set(); printingsByFilename.forEach((printing, file) => { const positions = new Set(); @@ -355,7 +355,7 @@ describe('Card Pools', () => { cardSetsByCycleId.get(set.card_cycle_id)?.add(set.id); }); cardPoolsByFilename.forEach((cardPool, file) => { - cardPool.forEach(p => { + cardPool.forEach(p => { p.card_cycle_ids?.forEach(card_cycle_id => { cardSetsByCycleId.get(card_cycle_id)?.forEach(card_set_id => { expect(p.card_set_ids, `card_set_ids for card pool ${p.id} in ${file} should have set ${card_set_id} for cycle ${card_cycle_id}`).includes(card_set_id); @@ -471,7 +471,7 @@ describe('Restrictions', () => { if ('restricted' in restriction) { expect(restriction.restricted, `restricted list should be sorted for restriction ${restriction.name} in ${file}`).to.deep.equal(restriction.restricted.map((e) => e).sort()); } - }); + }); }); }); @@ -504,8 +504,8 @@ describe('Formats', () => { for (const format of formatsByFilename.values()) { const dateStart = new Set(); format.snapshots.forEach(s => { - expect(dateStart, `Format ${format.name} has a snapshot with a duplicate date_start: ${s.date_start}.`).to.not.include(s.date_start); - dateStart.add(s.date_start); + expect(dateStart, `Format ${format.name} has a snapshot with a duplicate date_start: ${s.date_start}.`).to.not.include(s.date_start); + dateStart.add(s.date_start); }); } }); diff --git a/tsconfig.json b/tsconfig.json index f6fc35232..de18ce9b2 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,19 +1,19 @@ { - "extends": "@tsconfig/recommended/tsconfig.json", "compilerOptions": { + "declaration": true, + "esModuleInterop": true, + "incremental": true, "module": "commonjs", - "outDir": "dist", - "target": "es2017", - "noImplicitAny": false, "moduleResolution": "node", - "strictNullChecks": true, - "sourceMap": true, + "noImplicitAny": false, + "outDir": "dist", "removeComments": true, - "esModuleInterop": true, - "incremental": true, - "declaration": true, - "types": ["mocha", "node"], - "typeRoots": ["node_modules/@types", "src/types"] + "sourceMap": true, + "strictNullChecks": true, + "target": "es2017", + "typeRoots": ["node_modules/@types", "src/types"], + "types": ["mocha", "node"] }, + "extends": "@tsconfig/recommended/tsconfig.json", "include": ["src/**/*"] } diff --git a/v2/card_cycles.json b/v2/card_cycles.json index 6cabf1d88..ee9fa3aa4 100644 --- a/v2/card_cycles.json +++ b/v2/card_cycles.json @@ -2,136 +2,190 @@ { "id": "draft", "legacy_code": "draft", - "name": "Draft" + "name": "Draft", + "position": 0, + "released_by": "fantasy_flight_games" }, { "id": "core_set", "legacy_code": "core", - "name": "Core Set" + "name": "Core Set", + "position": 1, + "released_by": "fantasy_flight_games" }, { "id": "genesis", "legacy_code": "genesis", - "name": "Genesis" + "name": "Genesis", + "position": 2, + "released_by": "fantasy_flight_games" }, { "id": "creation_and_control", "legacy_code": "creation-and-control", - "name": "Creation and Control" + "name": "Creation and Control", + "position": 3, + "released_by": "fantasy_flight_games" }, { "id": "spin", "legacy_code": "spin", - "name": "Spin" + "name": "Spin", + "position": 4, + "released_by": "fantasy_flight_games" }, { "id": "honor_and_profit", "legacy_code": "honor-and-profit", - "name": "Honor and Profit" + "name": "Honor and Profit", + "position": 5, + "released_by": "fantasy_flight_games" }, { "id": "lunar", "legacy_code": "lunar", - "name": "Lunar" + "name": "Lunar", + "position": 6, + "released_by": "fantasy_flight_games" }, { "id": "order_and_chaos", "legacy_code": "order-and-chaos", - "name": "Order and Chaos" + "name": "Order and Chaos", + "position": 7, + "released_by": "fantasy_flight_games" }, { "id": "sansan", "legacy_code": "sansan", - "name": "SanSan" + "name": "SanSan", + "position": 8, + "released_by": "fantasy_flight_games" }, { "id": "data_and_destiny", "legacy_code": "data-and-destiny", - "name": "Data and Destiny" + "name": "Data and Destiny", + "position": 9, + "released_by": "fantasy_flight_games" }, { "id": "mumbad", "legacy_code": "mumbad", - "name": "Mumbad" + "name": "Mumbad", + "position": 10, + "released_by": "fantasy_flight_games" }, { "id": "flashpoint", "legacy_code": "flashpoint", - "name": "Flashpoint" + "name": "Flashpoint", + "position": 11, + "released_by": "fantasy_flight_games" }, { "id": "red_sand", "legacy_code": "red-sand", - "name": "Red Sand" + "name": "Red Sand", + "position": 12, + "released_by": "fantasy_flight_games" }, { "id": "terminal_directive", "legacy_code": "terminal-directive", - "name": "Terminal Directive" + "name": "Terminal Directive", + "position": 13, + "released_by": "fantasy_flight_games" }, { "id": "revised_core_set", "legacy_code": "core2", - "name": "Revised Core Set" + "name": "Revised Core Set", + "position": 20, + "released_by": "fantasy_flight_games" }, { "id": "kitara", "legacy_code": "kitara", - "name": "Kitara" + "name": "Kitara", + "position": 21, + "released_by": "fantasy_flight_games" }, { "id": "reign_and_reverie", "legacy_code": "reign-and-reverie", - "name": "Reign and Reverie" + "name": "Reign and Reverie", + "position": 22, + "released_by": "fantasy_flight_games" }, { "id": "magnum_opus", "legacy_code": "magnum-opus", - "name": "Magnum Opus" + "name": "Magnum Opus", + "position": 23, + "released_by": "fantasy_flight_games" }, { "id": "napd_multiplayer", "legacy_code": "napd", - "name": "NAPD Multiplayer" + "name": "NAPD Multiplayer", + "position": 24, + "released_by": "fantasy_flight_games" }, { "id": "system_core_2019", "legacy_code": "sc19", - "name": "System Core 2019" + "name": "System Core 2019", + "position": 25, + "released_by": "null_signal_games" }, { "id": "ashes", "legacy_code": "ashes", - "name": "Ashes" + "name": "Ashes", + "position": 26, + "released_by": "null_signal_games" }, { "id": "magnum_opus_reprint", "legacy_code": "magnum-opus-reprint", - "name": "Magnum Opus Reprint" + "name": "Magnum Opus Reprint", + "position": 28, + "released_by": "null_signal_games" }, { "id": "salvaged_memories", "legacy_code": "salvaged-memories", - "name": "Salvaged Memories" + "name": "Salvaged Memories", + "position": 29, + "released_by": "null_signal_games" }, { "id": "system_gateway", "legacy_code": "system-gateway", - "name": "System Gateway" + "name": "System Gateway", + "position": 30, + "released_by": "null_signal_games" }, { "id": "system_update_2021", "legacy_code": "system-update-2021", - "name": "System Update 2021" + "name": "System Update 2021", + "position": 31, + "released_by": "null_signal_games" }, { "id": "borealis", "legacy_code": "borealis", - "name": "Borealis" + "name": "Borealis", + "position": 32, + "released_by": "null_signal_games" }, { "id": "liberation", "legacy_code": "liberation", - "name": "Liberation" + "name": "Liberation", + "position": 33, + "released_by": "null_signal_games" } ] diff --git a/v2/card_layouts.json b/v2/card_layouts.json index e7a548125..95decf382 100644 --- a/v2/card_layouts.json +++ b/v2/card_layouts.json @@ -1,27 +1,27 @@ [ { - "id": "normal", "description": "A regular one-sided card.", + "id": "normal", "name": "Normal" }, { - "id": "flip", "description": "A card with a front and back side.", + "id": "flip", "name": "Flip" }, { - "id": "copy", "description": "A card that is made up of multiple distinct cards with the same name.", + "id": "copy", "name": "Copy" }, { - "id": "facade", "description": "A card that is made up of multiple cards with the same front face, but distinct flip sides.", + "id": "facade", "name": "Facade" }, { - "id": "progression", "description": "A card with iterations on its values.", + "id": "progression", "name": "Progression" } ] diff --git a/v2/card_pools/eternal.json b/v2/card_pools/eternal.json index a66d5a0af..92085ad24 100644 --- a/v2/card_pools/eternal.json +++ b/v2/card_pools/eternal.json @@ -1,8 +1,5 @@ [ { - "id": "eternal", - "name": "Eternal", - "format_id": "eternal", "card_cycle_ids": [ "ashes", "borealis", @@ -99,6 +96,9 @@ "upstalk", "what_lies_ahead", "whispers_in_nalubaale" - ] + ], + "format_id": "eternal", + "id": "eternal", + "name": "Eternal" } ] diff --git a/v2/card_pools/ram.json b/v2/card_pools/ram.json index 4987d30b4..a42be6ba0 100644 --- a/v2/card_pools/ram.json +++ b/v2/card_pools/ram.json @@ -1,8 +1,5 @@ [ { - "id": "ram_0", - "name": "RAM 0", - "format_id": "ram", "card_set_ids": [ "business_first", "chrome_city", @@ -18,12 +15,12 @@ "system_gateway", "up_and_over", "upstalk" - ] + ], + "format_id": "ram", + "id": "ram_0", + "name": "RAM 0" }, { - "id": "ram_1", - "format_id": "ram", - "name": "RAM 1", "card_set_ids": [ "creation_and_control", "daedalus_complex", @@ -39,12 +36,12 @@ "up_and_over", "what_lies_ahead", "whispers_in_nalubaale" - ] + ], + "format_id": "ram", + "id": "ram_1", + "name": "RAM 1" }, { - "id": "ram_2", - "format_id": "ram", - "name": "RAM 2", "card_set_ids": [ "all_that_remains", "blood_and_water", @@ -60,12 +57,12 @@ "the_universe_of_tomorrow", "trace_amount", "uprising" - ] + ], + "format_id": "ram", + "id": "ram_2", + "name": "RAM 2" }, { - "id": "ram_3", - "format_id": "ram", - "name": "RAM 3", "card_set_ids": [ "a_study_in_static", "business_first", @@ -81,12 +78,12 @@ "the_liberated_mind", "true_colors", "upstalk" - ] + ], + "format_id": "ram", + "id": "ram_3", + "name": "RAM 3" }, { - "id": "ram_4", - "format_id": "ram", - "name": "RAM 4", "card_set_ids": [ "blood_and_water", "council_of_the_crest", @@ -102,12 +99,12 @@ "second_thoughts", "the_valley", "up_and_over" - ] + ], + "format_id": "ram", + "id": "ram_4", + "name": "RAM 4" }, { - "id": "ram_5", - "format_id": "ram", - "name": "RAM 5", "card_set_ids": [ "23_seconds", "all_that_remains", @@ -123,12 +120,12 @@ "the_underway", "upstalk", "what_lies_ahead" - ] + ], + "format_id": "ram", + "id": "ram_5", + "name": "RAM 5" }, { - "id": "ram_6", - "format_id": "ram", - "name": "RAM 6", "card_set_ids": [ "chrome_city", "data_and_destiny", @@ -144,12 +141,12 @@ "system_gateway", "up_and_over", "whispers_in_nalubaale" - ] + ], + "format_id": "ram", + "id": "ram_6", + "name": "RAM 6" }, { - "id": "ram_7", - "format_id": "ram", - "name": "RAM 7", "card_set_ids": [ "all_that_remains", "creation_and_control", @@ -165,6 +162,9 @@ "the_liberated_mind", "up_and_over", "upstalk" - ] + ], + "format_id": "ram", + "id": "ram_7", + "name": "RAM 7" } ] diff --git a/v2/card_pools/snapshot.json b/v2/card_pools/snapshot.json index 6171e7f17..3068a30ab 100644 --- a/v2/card_pools/snapshot.json +++ b/v2/card_pools/snapshot.json @@ -1,8 +1,5 @@ [ { - "id": "snapshot", - "format_id": "snapshot", - "name": "Snapshot", "card_cycle_ids": [ "creation_and_control", "data_and_destiny", @@ -61,6 +58,9 @@ "up_and_over", "upstalk", "whispers_in_nalubaale" - ] + ], + "format_id": "snapshot", + "id": "snapshot", + "name": "Snapshot" } ] diff --git a/v2/card_pools/standard.json b/v2/card_pools/standard.json index 314654fe8..9a08a2d05 100644 --- a/v2/card_pools/standard.json +++ b/v2/card_pools/standard.json @@ -1,8 +1,5 @@ [ { - "id": "pre_rotation", - "format_id": "standard", - "name": "Pre Rotation", "card_cycle_ids": [ "core_set", "creation_and_control", @@ -66,12 +63,12 @@ "up_and_over", "upstalk", "what_lies_ahead" - ] + ], + "format_id": "standard", + "id": "pre_rotation", + "name": "Pre Rotation" }, { - "id": "rotation_2017", - "format_id": "standard", - "name": "First Rotation", "card_cycle_ids": [ "creation_and_control", "data_and_destiny", @@ -130,12 +127,12 @@ "up_and_over", "upstalk", "whispers_in_nalubaale" - ] + ], + "format_id": "standard", + "id": "rotation_2017", + "name": "First Rotation" }, { - "id": "rotation_2018", - "format_id": "standard", - "name": "Second Rotation", "card_cycle_ids": [ "creation_and_control", "data_and_destiny", @@ -197,12 +194,12 @@ "up_and_over", "upstalk", "whispers_in_nalubaale" - ] + ], + "format_id": "standard", + "id": "rotation_2018", + "name": "Second Rotation" }, { - "id": "rotation_2019", - "format_id": "standard", - "name": "Third Rotation", "card_cycle_ids": [ "ashes", "data_and_destiny", @@ -259,12 +256,12 @@ "uprising", "uprising_booster_pack", "whispers_in_nalubaale" - ] + ], + "format_id": "standard", + "id": "rotation_2019", + "name": "Third Rotation" }, { - "id": "rotation_2020", - "format_id": "standard", - "name": "Salvaged Memories", "card_cycle_ids": [ "ashes", "data_and_destiny", @@ -323,12 +320,12 @@ "uprising", "uprising_booster_pack", "whispers_in_nalubaale" - ] + ], + "format_id": "standard", + "id": "rotation_2020", + "name": "Salvaged Memories" }, { - "id": "rotation_2021", - "format_id": "standard", - "name": "Fourth Rotation", "card_cycle_ids": [ "ashes", "data_and_destiny", @@ -378,12 +375,12 @@ "uprising", "uprising_booster_pack", "whispers_in_nalubaale" - ] + ], + "format_id": "standard", + "id": "rotation_2021", + "name": "Fourth Rotation" }, { - "id": "rotation_2022", - "format_id": "standard", - "name": "Fifth Rotation", "card_cycle_ids": [ "ashes", "borealis", @@ -428,6 +425,52 @@ "uprising", "uprising_booster_pack", "whispers_in_nalubaale" - ] + ], + "format_id": "standard", + "id": "rotation_2022", + "name": "Fifth Rotation" + }, + { + "card_cycle_ids": [ + "ashes", + "borealis", + "kitara", + "liberation", + "magnum_opus", + "magnum_opus_reprint", + "red_sand", + "reign_and_reverie", + "system_gateway", + "system_update_2021" + ], + "card_set_ids": [ + "blood_and_water", + "council_of_the_crest", + "crimson_dust", + "daedalus_complex", + "down_the_white_nile", + "downfall", + "earths_scion", + "free_mars", + "kampala_ascendent", + "magnum_opus", + "magnum_opus_reprint", + "midnight_sun", + "midnight_sun_booster_pack", + "parhelion", + "reign_and_reverie", + "sovereign_sight", + "station_one", + "system_gateway", + "system_update_2021", + "the_automata_initiative", + "the_devil_and_the_dragon", + "uprising", + "uprising_booster_pack", + "whispers_in_nalubaale" + ], + "format_id": "standard", + "id": "rotation_2023", + "name": "Sixth Rotation" } ] diff --git a/v2/card_pools/startup.json b/v2/card_pools/startup.json index f963cd7d9..59789f951 100644 --- a/v2/card_pools/startup.json +++ b/v2/card_pools/startup.json @@ -1,8 +1,5 @@ [ { - "id": "startup_ashes", - "format_id": "startup", - "name": "Startup (Ashes)", "card_cycle_ids": ["ashes", "system_gateway", "system_update_2021"], "card_set_ids": [ "downfall", @@ -10,12 +7,12 @@ "system_update_2021", "uprising", "uprising_booster_pack" - ] + ], + "format_id": "startup", + "id": "startup_ashes", + "name": "Startup (Ashes)" }, { - "id": "startup_ashes_plus", - "format_id": "startup", - "name": "Startup (Ashes+)", "card_cycle_ids": ["ashes", "system_gateway", "system_update_2021"], "card_set_ids": [ "downfall", @@ -24,12 +21,12 @@ "system_update_2021", "uprising", "uprising_booster_pack" - ] + ], + "format_id": "startup", + "id": "startup_ashes_plus", + "name": "Startup (Ashes+)" }, { - "id": "startup_ashes_plus_midnight_sun", - "format_id": "startup", - "name": "Startup (Ashes + Midnight Sun)", "card_cycle_ids": ["ashes", "system_gateway", "system_update_2021"], "card_set_ids": [ "downfall", @@ -39,12 +36,12 @@ "system_update_2021", "uprising", "uprising_booster_pack" - ] + ], + "format_id": "startup", + "id": "startup_ashes_plus_midnight_sun", + "name": "Startup (Ashes + Midnight Sun)" }, { - "id": "startup_borealis", - "format_id": "startup", - "name": "Startup (Borealis)", "card_cycle_ids": ["borealis", "system_gateway", "system_update_2021"], "card_set_ids": [ "midnight_sun", @@ -52,6 +49,23 @@ "parhelion", "system_gateway", "system_update_2021" - ] + ], + "format_id": "startup", + "id": "startup_borealis", + "name": "Startup (Borealis)" + }, + { + "card_cycle_ids": ["borealis", "system_gateway", "system_update_2021"], + "card_set_ids": [ + "midnight_sun", + "midnight_sun_booster_pack", + "parhelion", + "system_gateway", + "system_update_2021", + "the_automata_initiative" + ], + "format_id": "startup", + "id": "startup_borealis_plus_the_automata_initiative", + "name": "Startup (The Automata Initiative)" } ] diff --git a/v2/card_pools/system_gateway.json b/v2/card_pools/system_gateway.json index 9a5dc83d2..b87ce1254 100644 --- a/v2/card_pools/system_gateway.json +++ b/v2/card_pools/system_gateway.json @@ -1,9 +1,9 @@ [ { - "id": "system_gateway", - "format_id": "system_gateway", - "name": "System Gateway", "card_cycle_ids": ["system_gateway"], - "card_set_ids": ["system_gateway"] + "card_set_ids": ["system_gateway"], + "format_id": "system_gateway", + "id": "system_gateway", + "name": "System Gateway" } ] diff --git a/v2/card_set_types.json b/v2/card_set_types.json index d8189d651..c4099d340 100644 --- a/v2/card_set_types.json +++ b/v2/card_set_types.json @@ -1,42 +1,42 @@ [ { + "description": "A booster pack released as a subset of a larger release.", "id": "booster_pack", - "name": "Booster Pack", - "description": "A booster pack released as a subset of a larger release." + "name": "Booster Pack" }, { + "description": "A campaign set not released for legal play.", "id": "campaign", - "name": "Campaign", - "description": "A campaign set not released for legal play." + "name": "Campaign" }, { + "description": "A core set, or set that makes up part of the core selection of cards.", "id": "core", - "name": "Core", - "description": "A core set, or set that makes up part of the core selection of cards." + "name": "Core" }, { + "description": "The major releases of each cycle.", "id": "data_pack", - "name": "Data Pack", - "description": "The major releases of each cycle." + "name": "Data Pack" }, { + "description": "A non-core set released in a big box.", "id": "deluxe", - "name": "Deluxe", - "description": "A non-core set released in a big box." + "name": "Deluxe" }, { + "description": "A draft-exclusive sets.", "id": "draft", - "name": "Draft", - "description": "A draft-exclusive sets." + "name": "Draft" }, { + "description": "A miscellaneous set released for legal play.", "id": "expansion", - "name": "Expansion", - "description": "A miscellaneous set released for legal play." + "name": "Expansion" }, { + "description": "A promotional set not released for legal play.", "id": "promo", - "name": "Promo", - "description": "A promotional set not released for legal play." + "name": "Promo" } ] diff --git a/v2/card_sets.json b/v2/card_sets.json index e7b2ac746..d3d6074ff 100644 --- a/v2/card_sets.json +++ b/v2/card_sets.json @@ -7,6 +7,7 @@ "legacy_code": "draft", "name": "Draft", "position": 1, + "released_by": "fantasy_flight_games", "size": 1 }, { @@ -17,6 +18,7 @@ "legacy_code": "core", "name": "Core Set", "position": 1, + "released_by": "fantasy_flight_games", "size": 113 }, { @@ -27,6 +29,7 @@ "legacy_code": "wla", "name": "What Lies Ahead", "position": 1, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -37,6 +40,7 @@ "legacy_code": "ta", "name": "Trace Amount", "position": 2, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -47,6 +51,7 @@ "legacy_code": "ce", "name": "Cyber Exodus", "position": 3, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -57,6 +62,7 @@ "legacy_code": "asis", "name": "A Study in Static", "position": 4, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -67,6 +73,7 @@ "legacy_code": "hs", "name": "Humanity's Shadow", "position": 5, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -77,6 +84,7 @@ "legacy_code": "fp", "name": "Future Proof", "position": 6, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -87,6 +95,7 @@ "legacy_code": "cac", "name": "Creation and Control", "position": 1, + "released_by": "fantasy_flight_games", "size": 55 }, { @@ -97,6 +106,7 @@ "legacy_code": "om", "name": "Opening Moves", "position": 1, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -107,6 +117,7 @@ "legacy_code": "st", "name": "Second Thoughts", "position": 2, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -117,6 +128,7 @@ "legacy_code": "mt", "name": "Mala Tempora", "position": 3, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -127,6 +139,7 @@ "legacy_code": "tc", "name": "True Colors", "position": 4, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -137,6 +150,7 @@ "legacy_code": "fal", "name": "Fear and Loathing", "position": 5, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -147,6 +161,7 @@ "legacy_code": "dt", "name": "Double Time", "position": 6, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -157,6 +172,7 @@ "legacy_code": "hap", "name": "Honor and Profit", "position": 1, + "released_by": "fantasy_flight_games", "size": 55 }, { @@ -167,6 +183,7 @@ "legacy_code": "up", "name": "Upstalk", "position": 1, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -177,6 +194,7 @@ "legacy_code": "tsb", "name": "The Spaces Between", "position": 2, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -187,6 +205,7 @@ "legacy_code": "fc", "name": "First Contact", "position": 3, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -197,6 +216,7 @@ "legacy_code": "uao", "name": "Up and Over", "position": 4, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -207,6 +227,7 @@ "legacy_code": "atr", "name": "All That Remains", "position": 5, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -217,6 +238,7 @@ "legacy_code": "ts", "name": "The Source", "position": 6, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -227,6 +249,7 @@ "legacy_code": "oac", "name": "Order and Chaos", "position": 1, + "released_by": "fantasy_flight_games", "size": 55 }, { @@ -237,6 +260,7 @@ "legacy_code": "val", "name": "The Valley", "position": 1, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -247,6 +271,7 @@ "legacy_code": "bb", "name": "Breaker Bay", "position": 2, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -257,6 +282,7 @@ "legacy_code": "cc", "name": "Chrome City", "position": 3, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -267,6 +293,7 @@ "legacy_code": "uw", "name": "The Underway", "position": 4, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -277,6 +304,7 @@ "legacy_code": "oh", "name": "Old Hollywood", "position": 5, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -287,6 +315,7 @@ "legacy_code": "uot", "name": "The Universe of Tomorrow", "position": 6, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -297,6 +326,7 @@ "legacy_code": "dad", "name": "Data and Destiny", "position": 1, + "released_by": "fantasy_flight_games", "size": 55 }, { @@ -307,6 +337,7 @@ "legacy_code": "kg", "name": "Kala Ghoda", "position": 1, + "released_by": "fantasy_flight_games", "size": 19 }, { @@ -317,6 +348,7 @@ "legacy_code": "bf", "name": "Business First", "position": 2, + "released_by": "fantasy_flight_games", "size": 19 }, { @@ -327,6 +359,7 @@ "legacy_code": "dag", "name": "Democracy and Dogma", "position": 3, + "released_by": "fantasy_flight_games", "size": 19 }, { @@ -337,6 +370,7 @@ "legacy_code": "si", "name": "Salsette Island", "position": 4, + "released_by": "fantasy_flight_games", "size": 19 }, { @@ -347,6 +381,7 @@ "legacy_code": "tlm", "name": "The Liberated Mind", "position": 5, + "released_by": "fantasy_flight_games", "size": 19 }, { @@ -357,6 +392,7 @@ "legacy_code": "ftm", "name": "Fear the Masses", "position": 6, + "released_by": "fantasy_flight_games", "size": 19 }, { @@ -367,6 +403,7 @@ "legacy_code": "23s", "name": "23 Seconds", "position": 1, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -377,6 +414,7 @@ "legacy_code": "bm", "name": "Blood Money", "position": 2, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -387,6 +425,7 @@ "legacy_code": "es", "name": "Escalation", "position": 3, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -397,6 +436,7 @@ "legacy_code": "in", "name": "Intervention", "position": 4, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -407,6 +447,7 @@ "legacy_code": "ml", "name": "Martial Law", "position": 5, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -417,6 +458,7 @@ "legacy_code": "qu", "name": "Quorum", "position": 6, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -427,6 +469,7 @@ "legacy_code": "dc", "name": "Daedalus Complex", "position": 1, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -437,6 +480,7 @@ "legacy_code": "so", "name": "Station One", "position": 2, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -447,6 +491,7 @@ "legacy_code": "td", "name": "Terminal Directive Cards", "position": 1, + "released_by": "fantasy_flight_games", "size": 57 }, { @@ -457,6 +502,7 @@ "legacy_code": "tdc", "name": "Terminal Directive Campaign", "position": 2, + "released_by": "fantasy_flight_games", "size": 28 }, { @@ -467,6 +513,7 @@ "legacy_code": "eas", "name": "Earth's Scion", "position": 3, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -477,6 +524,7 @@ "legacy_code": "baw", "name": "Blood and Water", "position": 4, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -487,6 +535,7 @@ "legacy_code": "fm", "name": "Free Mars", "position": 5, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -497,6 +546,7 @@ "legacy_code": "cd", "name": "Crimson Dust", "position": 6, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -507,6 +557,7 @@ "legacy_code": "core2", "name": "Revised Core Set", "position": 1, + "released_by": "fantasy_flight_games", "size": 132 }, { @@ -517,6 +568,7 @@ "legacy_code": "ss", "name": "Sovereign Sight", "position": 1, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -527,6 +579,7 @@ "legacy_code": "dtwn", "name": "Down the White Nile", "position": 2, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -537,6 +590,7 @@ "legacy_code": "cotc", "name": "Council of the Crest", "position": 3, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -547,6 +601,7 @@ "legacy_code": "tdatd", "name": "The Devil and the Dragon", "position": 4, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -557,6 +612,7 @@ "legacy_code": "win", "name": "Whispers in Nalubaale", "position": 5, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -567,6 +623,7 @@ "legacy_code": "ka", "name": "Kampala Ascendent", "position": 6, + "released_by": "fantasy_flight_games", "size": 20 }, { @@ -577,6 +634,7 @@ "legacy_code": "rar", "name": "Reign and Reverie", "position": 1, + "released_by": "fantasy_flight_games", "size": 58 }, { @@ -587,6 +645,7 @@ "legacy_code": "mo", "name": "Magnum Opus", "position": 1, + "released_by": "fantasy_flight_games", "size": 8 }, { @@ -597,6 +656,7 @@ "legacy_code": "napd", "name": "NAPD Multiplayer", "position": 1, + "released_by": "fantasy_flight_games", "size": 1 }, { @@ -607,6 +667,7 @@ "legacy_code": "sc19", "name": "System Core 2019", "position": 1, + "released_by": "null_signal_games", "size": 147 }, { @@ -617,6 +678,7 @@ "legacy_code": "df", "name": "Downfall", "position": 1, + "released_by": "null_signal_games", "size": 65 }, { @@ -627,6 +689,7 @@ "legacy_code": "mor", "name": "Magnum Opus Reprint", "position": 1, + "released_by": "null_signal_games", "size": 6 }, { @@ -637,6 +700,7 @@ "legacy_code": "urbp", "name": "Uprising Booster Pack", "position": 2, + "released_by": "null_signal_games", "size": 7 }, { @@ -647,6 +711,7 @@ "legacy_code": "ur", "name": "Uprising", "position": 3, + "released_by": "null_signal_games", "size": 65 }, { @@ -657,6 +722,7 @@ "legacy_code": "sm", "name": "Salvaged Memories", "position": 1, + "released_by": "null_signal_games", "size": 18 }, { @@ -667,6 +733,7 @@ "legacy_code": "sg", "name": "System Gateway", "position": 1, + "released_by": "null_signal_games", "size": 77 }, { @@ -677,6 +744,7 @@ "legacy_code": "su21", "name": "System Update 2021", "position": 1, + "released_by": "null_signal_games", "size": 82 }, { @@ -687,6 +755,7 @@ "legacy_code": "msbp", "name": "Midnight Sun Booster Pack", "position": 1, + "released_by": "null_signal_games", "size": 7 }, { @@ -697,6 +766,7 @@ "legacy_code": "ms", "name": "Midnight Sun", "position": 2, + "released_by": "null_signal_games", "size": 65 }, { @@ -707,6 +777,7 @@ "legacy_code": "ph", "name": "Parhelion", "position": 3, + "released_by": "null_signal_games", "size": 63 }, { @@ -717,6 +788,7 @@ "legacy_code": "tai", "name": "The Automata Initiative", "position": 1, + "released_by": "null_signal_games", "size": 65 } ] diff --git a/v2/card_subtypes.json b/v2/card_subtypes.json index 725debc39..da8d61d2e 100644 --- a/v2/card_subtypes.json +++ b/v2/card_subtypes.json @@ -171,6 +171,10 @@ "id": "expansion", "name": "Expansion" }, + { + "id": "expendable", + "name": "Expendable" + }, { "id": "facility", "name": "Facility" diff --git a/v2/cards/15_minutes.json b/v2/cards/15_minutes.json index d73289a53..a78698f23 100644 --- a/v2/cards/15_minutes.json +++ b/v2/cards/15_minutes.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "15_minutes", "is_unique": true, diff --git a/v2/cards/24_7_news_cycle.json b/v2/cards/24_7_news_cycle.json index eff827232..1ec7273b5 100644 --- a/v2/cards/24_7_news_cycle.json +++ b/v2/cards/24_7_news_cycle.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "24_7_news_cycle", "influence_cost": 3, diff --git a/v2/cards/419_amoral_scammer.json b/v2/cards/419_amoral_scammer.json index 0083be110..ce4389555 100644 --- a/v2/cards/419_amoral_scammer.json +++ b/v2/cards/419_amoral_scammer.json @@ -2,6 +2,7 @@ "base_link": 1, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "419_amoral_scammer", "influence_limit": 15, diff --git a/v2/cards/a_teia_ip_recovery.json b/v2/cards/a_teia_ip_recovery.json index 3a590cc96..17c4bd17c 100644 --- a/v2/cards/a_teia_ip_recovery.json +++ b/v2/cards/a_teia_ip_recovery.json @@ -1,9 +1,9 @@ { - "id": "a_teia_ip_recovery", - "base_link": 0, "card_type_id": "corp_identity", - "deck_limit": 3, + "deck_limit": 1, + "designed_by": "null_signal_games", "faction_id": "jinteki", + "id": "a_teia_ip_recovery", "influence_limit": 15, "is_unique": false, "minimum_deck_size": 45, diff --git a/v2/cards/aaron_marron.json b/v2/cards/aaron_marron.json index 9b0558014..08ce73ac1 100644 --- a/v2/cards/aaron_marron.json +++ b/v2/cards/aaron_marron.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "aaron_marron", "influence_cost": 2, diff --git a/v2/cards/abaasy.json b/v2/cards/abaasy.json index 4483e3b14..74503aead 100644 --- a/v2/cards/abaasy.json +++ b/v2/cards/abaasy.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "abaasy", "influence_cost": 2, diff --git a/v2/cards/abagnale.json b/v2/cards/abagnale.json index 087065739..af343e5f6 100644 --- a/v2/cards/abagnale.json +++ b/v2/cards/abagnale.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "abagnale", "influence_cost": 2, diff --git a/v2/cards/ablative_barrier.json b/v2/cards/ablative_barrier.json new file mode 100644 index 000000000..c89f3b3d3 --- /dev/null +++ b/v2/cards/ablative_barrier.json @@ -0,0 +1,17 @@ +{ + "card_type_id": "ice", + "cost": 2, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "haas_bioroid", + "id": "ablative_barrier", + "influence_cost": 2, + "is_unique": false, + "side_id": "corp", + "strength": 1, + "stripped_text": "Threat 3 -> When you rez this ice during a run against this server, you may install 1 non-agenda card from HQ or Archives in the root of or protecting another server. (This ability is active if any player has 3 or more agenda points.) Subroutine End the run.", + "stripped_title": "Ablative Barrier", + "subtypes": ["barrier"], + "text": "Threat 3 → When you rez this ice during a run against this server, you may install 1 non-agenda card from HQ or Archives in the root of or protecting another server. (This ability is active if any player has 3 or more agenda points.)\n[subroutine] End the run.", + "title": "Ablative Barrier" +} diff --git a/v2/cards/above_the_law.json b/v2/cards/above_the_law.json index 4087aaccf..17b4a0d3a 100644 --- a/v2/cards/above_the_law.json +++ b/v2/cards/above_the_law.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 1, + "designed_by": "null_signal_games", "faction_id": "weyland_consortium", "id": "above_the_law", "is_unique": false, diff --git a/v2/cards/acacia.json b/v2/cards/acacia.json index b06e87e55..7b84ab78b 100644 --- a/v2/cards/acacia.json +++ b/v2/cards/acacia.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "acacia", "influence_cost": 1, diff --git a/v2/cards/accelerated_beta_test.json b/v2/cards/accelerated_beta_test.json index 4ab4e6493..0dc8020d7 100644 --- a/v2/cards/accelerated_beta_test.json +++ b/v2/cards/accelerated_beta_test.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "accelerated_beta_test", "is_unique": false, diff --git a/v2/cards/accelerated_diagnostics.json b/v2/cards/accelerated_diagnostics.json index ea9b04161..9f005efee 100644 --- a/v2/cards/accelerated_diagnostics.json +++ b/v2/cards/accelerated_diagnostics.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "accelerated_diagnostics", "influence_cost": 1, diff --git a/v2/cards/access_to_globalsec.json b/v2/cards/access_to_globalsec.json index b7368e761..a510a5b4f 100644 --- a/v2/cards/access_to_globalsec.json +++ b/v2/cards/access_to_globalsec.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "access_to_globalsec", "influence_cost": 0, diff --git a/v2/cards/account_siphon.json b/v2/cards/account_siphon.json index 45f799f40..324f683c4 100644 --- a/v2/cards/account_siphon.json +++ b/v2/cards/account_siphon.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "account_siphon", "influence_cost": 4, diff --git a/v2/cards/acme_consulting_the_truth_you_need.json b/v2/cards/acme_consulting_the_truth_you_need.json index 4f8a4f2bb..657997e4e 100644 --- a/v2/cards/acme_consulting_the_truth_you_need.json +++ b/v2/cards/acme_consulting_the_truth_you_need.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "acme_consulting_the_truth_you_need", "influence_limit": 15, diff --git a/v2/cards/activist_support.json b/v2/cards/activist_support.json index 8a9e0c97f..4ac82d4e9 100644 --- a/v2/cards/activist_support.json +++ b/v2/cards/activist_support.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "activist_support", "influence_cost": 2, diff --git a/v2/cards/ad_blitz.json b/v2/cards/ad_blitz.json index 38a24971d..798f1b7d7 100644 --- a/v2/cards/ad_blitz.json +++ b/v2/cards/ad_blitz.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": null, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "ad_blitz", "influence_cost": 1, diff --git a/v2/cards/adam_compulsive_hacker.json b/v2/cards/adam_compulsive_hacker.json index 15bbbdb46..e93ce2c45 100644 --- a/v2/cards/adam_compulsive_hacker.json +++ b/v2/cards/adam_compulsive_hacker.json @@ -2,6 +2,7 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "adam", "id": "adam_compulsive_hacker", "influence_limit": 25, diff --git a/v2/cards/adept.json b/v2/cards/adept.json index 2d4f1d8b2..ddf168f5b 100644 --- a/v2/cards/adept.json +++ b/v2/cards/adept.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "adept", "influence_cost": 3, diff --git a/v2/cards/adjusted_chronotype.json b/v2/cards/adjusted_chronotype.json index 1cfbd5ae0..65671e2c4 100644 --- a/v2/cards/adjusted_chronotype.json +++ b/v2/cards/adjusted_chronotype.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "adjusted_chronotype", "influence_cost": 2, diff --git a/v2/cards/adjusted_matrix.json b/v2/cards/adjusted_matrix.json index db6647ba4..9f84a511c 100644 --- a/v2/cards/adjusted_matrix.json +++ b/v2/cards/adjusted_matrix.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "adjusted_matrix", "influence_cost": 2, diff --git a/v2/cards/adonis_campaign.json b/v2/cards/adonis_campaign.json index 866a0d815..f53452242 100644 --- a/v2/cards/adonis_campaign.json +++ b/v2/cards/adonis_campaign.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "adonis_campaign", "influence_cost": 2, diff --git a/v2/cards/adrian_seis.json b/v2/cards/adrian_seis.json new file mode 100644 index 000000000..a83084075 --- /dev/null +++ b/v2/cards/adrian_seis.json @@ -0,0 +1,17 @@ +{ + "card_type_id": "upgrade", + "cost": 0, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "jinteki", + "id": "adrian_seis", + "influence_cost": 4, + "is_unique": true, + "side_id": "corp", + "stripped_text": "Whenever the Runner makes a successful run on this server, play a Psi Game. (Players secretly bid 0-2 credits. Then each player reveals and spends their bid.) If the bids differ, the Runner cannot access cards other than this upgrade for the remainder of that run. If the bids match, the Runner cannot access this upgrade for the remainder of that run. When your turn ends, you may move this upgrade to the root of another server.", + "stripped_title": "Adrian Seis", + "subtypes": ["psi", "clone", "sysop"], + "text": "Whenever the Runner makes a successful run on this server, play a Psi Game. (Players secretly bid 0–2[credit]. Then each player reveals and spends their bid.) If the bids differ, the Runner cannot access cards other than this upgrade for the remainder of that run. If the bids match, the Runner cannot access this upgrade for the remainder of that run.\nWhen your turn ends, you may move this upgrade to the root of another server.", + "title": "Adrian Seis", + "trash_cost": 2 +} diff --git a/v2/cards/advanced_assembly_lines.json b/v2/cards/advanced_assembly_lines.json index 724f73b4e..4e8b47ea2 100644 --- a/v2/cards/advanced_assembly_lines.json +++ b/v2/cards/advanced_assembly_lines.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "advanced_assembly_lines", "influence_cost": 2, diff --git a/v2/cards/advanced_concept_hopper.json b/v2/cards/advanced_concept_hopper.json index fd0729997..4c6612247 100644 --- a/v2/cards/advanced_concept_hopper.json +++ b/v2/cards/advanced_concept_hopper.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "advanced_concept_hopper", "is_unique": false, diff --git a/v2/cards/aeneas_informant.json b/v2/cards/aeneas_informant.json index a9e1cb1cf..3829b2ae6 100644 --- a/v2/cards/aeneas_informant.json +++ b/v2/cards/aeneas_informant.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "aeneas_informant", "influence_cost": 1, diff --git a/v2/cards/aesops_pawnshop.json b/v2/cards/aesops_pawnshop.json index 2b18c0251..f918986da 100644 --- a/v2/cards/aesops_pawnshop.json +++ b/v2/cards/aesops_pawnshop.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "aesops_pawnshop", "influence_cost": 2, @@ -11,5 +12,5 @@ "stripped_title": "Aesop's Pawnshop", "subtypes": ["connection", "location"], "text": "When your turn begins, you may trash 1 of your other installed cards. If you do, gain 3[credit].", - "title": "Aesop's Pawnshop" + "title": "Aesop’s Pawnshop" } diff --git a/v2/cards/afshar.json b/v2/cards/afshar.json index 78f83ad24..9c564cf59 100644 --- a/v2/cards/afshar.json +++ b/v2/cards/afshar.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "weyland_consortium", "id": "afshar", "influence_cost": 2, @@ -11,6 +12,6 @@ "stripped_text": "While this ice is protecting HQ, the Runner cannot break more than 1 of its printed subroutines during each encounter. Subroutine The Runner loses 2 credits. Subroutine End the run.", "stripped_title": "Afshar", "subtypes": ["code_gate"], - "text": "While this ice is protecting HQ, the Runner cannot break more than 1 of its printed subroutines during each encounter.\n[subroutine]The Runner loses 2[credit].\n[subroutine]End the run.", + "text": "While this ice is protecting HQ, the Runner cannot break more than 1 of its printed subroutines during each encounter.\n[subroutine] The Runner loses 2[credit].\n[subroutine] End the run.", "title": "Afshar" } diff --git a/v2/cards/afterimage.json b/v2/cards/afterimage.json index 5b2d4ffaf..5c1b48396 100644 --- a/v2/cards/afterimage.json +++ b/v2/cards/afterimage.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 4, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "criminal", "id": "afterimage", "influence_cost": 3, diff --git a/v2/cards/aggressive_negotiation.json b/v2/cards/aggressive_negotiation.json index cab549360..4c1c1e186 100644 --- a/v2/cards/aggressive_negotiation.json +++ b/v2/cards/aggressive_negotiation.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "aggressive_negotiation", "influence_cost": 1, diff --git a/v2/cards/aggressive_secretary.json b/v2/cards/aggressive_secretary.json index 597fc0841..b8d3997fa 100644 --- a/v2/cards/aggressive_secretary.json +++ b/v2/cards/aggressive_secretary.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "aggressive_secretary", "influence_cost": 2, diff --git a/v2/cards/aghora.json b/v2/cards/aghora.json index 6f5f75d26..7f565d1a1 100644 --- a/v2/cards/aghora.json +++ b/v2/cards/aghora.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "aghora", "influence_cost": 2, diff --git a/v2/cards/aginfusion_new_miracles_for_a_new_world.json b/v2/cards/aginfusion_new_miracles_for_a_new_world.json index 110c099fb..9f3434740 100644 --- a/v2/cards/aginfusion_new_miracles_for_a_new_world.json +++ b/v2/cards/aginfusion_new_miracles_for_a_new_world.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "aginfusion_new_miracles_for_a_new_world", "influence_limit": 17, diff --git a/v2/cards/aiki.json b/v2/cards/aiki.json index ec27bfbb0..695764d7a 100644 --- a/v2/cards/aiki.json +++ b/v2/cards/aiki.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "aiki", "influence_cost": 2, diff --git a/v2/cards/aimor.json b/v2/cards/aimor.json index 5c1898f67..7165798fc 100644 --- a/v2/cards/aimor.json +++ b/v2/cards/aimor.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "aimor", "influence_cost": 2, diff --git a/v2/cards/airbladex_jsrf_ed.json b/v2/cards/airbladex_jsrf_ed.json new file mode 100644 index 000000000..d98643803 --- /dev/null +++ b/v2/cards/airbladex_jsrf_ed.json @@ -0,0 +1,16 @@ +{ + "card_type_id": "hardware", + "cost": 1, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "shaper", + "id": "airbladex_jsrf_ed", + "influence_cost": 1, + "is_unique": true, + "side_id": "runner", + "stripped_text": "When you install this hardware, load 3 power counters onto it. When it is empty, trash it. Interrupt -> Hosted power counter: Prevent 1 net damage. Use this ability only during a run. Interrupt -> Hosted power counter: Prevent a \"when encountered\" ability on a piece of ice.", + "stripped_title": "AirbladeX (JSRF Ed.)", + "subtypes": ["vehicle"], + "text": "When you install this hardware, load 3 power counters onto it. When it is empty, trash it.\n[interrupt] → Hosted power counter: Prevent 1 net damage. Use this ability only during a run.\n[interrupt] → Hosted power counter: Prevent a \"when encountered\" ability on a piece of ice.", + "title": "AirbladeX (JSRF Ed.)" +} diff --git a/v2/cards/akamatsu_mem_chip.json b/v2/cards/akamatsu_mem_chip.json index 7b817d5f1..adda409ae 100644 --- a/v2/cards/akamatsu_mem_chip.json +++ b/v2/cards/akamatsu_mem_chip.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "akamatsu_mem_chip", "influence_cost": 1, diff --git a/v2/cards/akhet.json b/v2/cards/akhet.json index adfb9cd61..25946e2b1 100644 --- a/v2/cards/akhet.json +++ b/v2/cards/akhet.json @@ -2,15 +2,16 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "weyland_consortium", "id": "akhet", "influence_cost": 2, "is_unique": false, "side_id": "corp", "strength": 2, - "stripped_text": "You can advance this ice. While there are 3 or more hosted advancement tokens, this ice has +3 strength and the Runner cannot break more than 1 of its printed subroutines during each encounter. Subroutine Gain 1 credit. Place 1 advancement token on an installed card. Subroutine End the run.", + "stripped_text": "You can advance this ice. While there are 3 or more hosted advancement counters, this ice gets +3 strength and the Runner cannot break more than 1 of its printed subroutines during each encounter. Subroutine Gain 1 credit. Place 1 advancement counter on an installed card. Subroutine End the run.", "stripped_title": "Akhet", "subtypes": ["barrier"], - "text": "You can advance this ice.\nWhile there are 3 or more hosted advancement tokens, this ice has +3 strength and the Runner cannot break more than 1 of its printed subroutines during each encounter.\n[subroutine] Gain 1[credit]. Place 1 advancement token on an installed card.\n[subroutine] End the run.", + "text": "You can advance this ice.\nWhile there are 3 or more hosted advancement counters, this ice gets +3 strength and the Runner cannot break more than 1 of its printed subroutines during each encounter.\n[subroutine] Gain 1[credit]. Place 1 advancement counter on an installed card.\n[subroutine] End the run.", "title": "Akhet" } diff --git a/v2/cards/akiko_nisei_head_case.json b/v2/cards/akiko_nisei_head_case.json index b47343a7b..847ef8ea8 100644 --- a/v2/cards/akiko_nisei_head_case.json +++ b/v2/cards/akiko_nisei_head_case.json @@ -2,6 +2,7 @@ "base_link": 1, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "akiko_nisei_head_case", "influence_limit": 12, diff --git a/v2/cards/akitaro_watanabe.json b/v2/cards/akitaro_watanabe.json index 4a07ab2e4..e287751e1 100644 --- a/v2/cards/akitaro_watanabe.json +++ b/v2/cards/akitaro_watanabe.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "akitaro_watanabe", "influence_cost": 2, diff --git a/v2/cards/akshara_sareen.json b/v2/cards/akshara_sareen.json index 90aff69b8..cc8d62966 100644 --- a/v2/cards/akshara_sareen.json +++ b/v2/cards/akshara_sareen.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "akshara_sareen", "influence_cost": 0, diff --git a/v2/cards/alexa_belsky.json b/v2/cards/alexa_belsky.json index 8b8f6e3d3..29339c1c6 100644 --- a/v2/cards/alexa_belsky.json +++ b/v2/cards/alexa_belsky.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "alexa_belsky", "influence_cost": 2, diff --git a/v2/cards/algernon.json b/v2/cards/algernon.json index 9003afe06..50fd86a30 100644 --- a/v2/cards/algernon.json +++ b/v2/cards/algernon.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "adam", "id": "algernon", "influence_cost": 5, diff --git a/v2/cards/algo_trading.json b/v2/cards/algo_trading.json index 2248eff1f..512a27301 100644 --- a/v2/cards/algo_trading.json +++ b/v2/cards/algo_trading.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "algo_trading", "influence_cost": 1, diff --git a/v2/cards/alias.json b/v2/cards/alias.json index 996f7f5a4..8d875c846 100644 --- a/v2/cards/alias.json +++ b/v2/cards/alias.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "alias", "influence_cost": 2, diff --git a/v2/cards/alice_merchant_clan_agitator.json b/v2/cards/alice_merchant_clan_agitator.json index cad8e0f4c..d6b2518e5 100644 --- a/v2/cards/alice_merchant_clan_agitator.json +++ b/v2/cards/alice_merchant_clan_agitator.json @@ -2,6 +2,7 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "alice_merchant_clan_agitator", "influence_limit": 15, diff --git a/v2/cards/alix_t4lb07.json b/v2/cards/alix_t4lb07.json index f5c7a5e6d..f255f5128 100644 --- a/v2/cards/alix_t4lb07.json +++ b/v2/cards/alix_t4lb07.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "alix_t4lb07", "influence_cost": 1, diff --git a/v2/cards/all_nighter.json b/v2/cards/all_nighter.json index 267dcd2c4..177bed75b 100644 --- a/v2/cards/all_nighter.json +++ b/v2/cards/all_nighter.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "all_nighter", "influence_cost": 2, diff --git a/v2/cards/allele_repression.json b/v2/cards/allele_repression.json index 87ed5fcdd..ac229faa0 100644 --- a/v2/cards/allele_repression.json +++ b/v2/cards/allele_repression.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "allele_repression", "influence_cost": 3, diff --git a/v2/cards/alpha.json b/v2/cards/alpha.json index b597c90fb..61f29b36c 100644 --- a/v2/cards/alpha.json +++ b/v2/cards/alpha.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 7, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "alpha", "influence_cost": 3, diff --git a/v2/cards/always_be_running.json b/v2/cards/always_be_running.json index a2e5f605d..f53fd2ed9 100644 --- a/v2/cards/always_be_running.json +++ b/v2/cards/always_be_running.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "adam", "id": "always_be_running", "influence_cost": 3, diff --git a/v2/cards/always_have_a_backup_plan.json b/v2/cards/always_have_a_backup_plan.json index 03f7c0379..48c841d55 100644 --- a/v2/cards/always_have_a_backup_plan.json +++ b/v2/cards/always_have_a_backup_plan.json @@ -2,14 +2,15 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "criminal", "id": "always_have_a_backup_plan", "influence_cost": 3, "is_unique": false, "side_id": "runner", - "stripped_text": "Run any server. When that run ends, if it was unsuccessful, you may run that server again, ignoring any additional costs to run. During the second run, when you encounter the last ice you encountered in the first run, bypass it.", + "stripped_text": "Run any server. When that run ends, if it was unsuccessful, you may run the attacked server again, ignoring any additional costs to run. During the second run, whenever you encounter the last piece of ice you encountered during the first run, bypass it.", "stripped_title": "Always Have a Backup Plan", "subtypes": ["run"], - "text": "Run any server. When that run ends, if it was unsuccessful, you may run that server again, ignoring any additional costs to run. During the second run, when you encounter the last ice you encountered in the first run, bypass it.", + "text": "Run any server. When that run ends, if it was unsuccessful, you may run the attacked server again, ignoring any additional costs to run. During the second run, whenever you encounter the last piece of ice you encountered during the first run, bypass it.", "title": "Always Have a Backup Plan" } diff --git a/v2/cards/amani_senai.json b/v2/cards/amani_senai.json index c5ab19157..d3414ae6d 100644 --- a/v2/cards/amani_senai.json +++ b/v2/cards/amani_senai.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "amani_senai", "influence_cost": 4, diff --git a/v2/cards/amaze_amusements.json b/v2/cards/amaze_amusements.json index 439fe607d..dd7c4da05 100644 --- a/v2/cards/amaze_amusements.json +++ b/v2/cards/amaze_amusements.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "nbn", "id": "amaze_amusements", "influence_cost": 3, diff --git a/v2/cards/amazon_industrial_zone.json b/v2/cards/amazon_industrial_zone.json index 83ecce862..5f5a6ac5f 100644 --- a/v2/cards/amazon_industrial_zone.json +++ b/v2/cards/amazon_industrial_zone.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "amazon_industrial_zone", "influence_cost": 1, diff --git a/v2/cards/amina.json b/v2/cards/amina.json index 278ce0191..6ad678a57 100644 --- a/v2/cards/amina.json +++ b/v2/cards/amina.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 7, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "amina", "influence_cost": 4, diff --git a/v2/cards/amped_up.json b/v2/cards/amped_up.json index 095b821a1..ee1af7134 100644 --- a/v2/cards/amped_up.json +++ b/v2/cards/amped_up.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "amped_up", "influence_cost": 3, diff --git a/v2/cards/ampere_cybernetics_for_anyone.json b/v2/cards/ampere_cybernetics_for_anyone.json index 489df4082..01cf65a24 100644 --- a/v2/cards/ampere_cybernetics_for_anyone.json +++ b/v2/cards/ampere_cybernetics_for_anyone.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "null_signal_games", "faction_id": "neutral_corp", "id": "ampere_cybernetics_for_anyone", "influence_limit": null, diff --git a/v2/cards/an_offer_you_can_t_refuse.json b/v2/cards/an_offer_you_can_t_refuse.json index 67a4a1c79..e09677366 100644 --- a/v2/cards/an_offer_you_can_t_refuse.json +++ b/v2/cards/an_offer_you_can_t_refuse.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "an_offer_you_can_t_refuse", "influence_cost": 3, diff --git a/v2/cards/analog_dreamers.json b/v2/cards/analog_dreamers.json index 8ae659f8f..536b6af05 100644 --- a/v2/cards/analog_dreamers.json +++ b/v2/cards/analog_dreamers.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "analog_dreamers", "influence_cost": 3, diff --git a/v2/cards/anansi.json b/v2/cards/anansi.json index b4fe1d828..b1c2616f6 100644 --- a/v2/cards/anansi.json +++ b/v2/cards/anansi.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 8, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "anansi", "influence_cost": 4, diff --git a/v2/cards/ancestral_imager.json b/v2/cards/ancestral_imager.json index fa51e317f..a47565fba 100644 --- a/v2/cards/ancestral_imager.json +++ b/v2/cards/ancestral_imager.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "ancestral_imager", "is_unique": false, diff --git a/v2/cards/andromeda_dispossessed_ristie.json b/v2/cards/andromeda_dispossessed_ristie.json index 3f1c6b425..078966dd6 100644 --- a/v2/cards/andromeda_dispossessed_ristie.json +++ b/v2/cards/andromeda_dispossessed_ristie.json @@ -2,6 +2,7 @@ "base_link": 1, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "andromeda_dispossessed_ristie", "influence_limit": 15, diff --git a/v2/cards/anemone.json b/v2/cards/anemone.json index d07434ea5..f3fc245e0 100644 --- a/v2/cards/anemone.json +++ b/v2/cards/anemone.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "anemone", "influence_cost": 2, diff --git a/v2/cards/angel_arena.json b/v2/cards/angel_arena.json index bb0400c30..89aa979f5 100644 --- a/v2/cards/angel_arena.json +++ b/v2/cards/angel_arena.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": null, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "angel_arena", "influence_cost": 0, diff --git a/v2/cards/angelique_garza_correa.json b/v2/cards/angelique_garza_correa.json new file mode 100644 index 000000000..db433d55b --- /dev/null +++ b/v2/cards/angelique_garza_correa.json @@ -0,0 +1,17 @@ +{ + "card_type_id": "upgrade", + "cost": 0, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "weyland_consortium", + "id": "angelique_garza_correa", + "influence_cost": 3, + "is_unique": true, + "side_id": "corp", + "stripped_text": "Threat 3 -> click, 1 credit, reveal and trash this upgrade from HQ: Do 1 meat damage. (This ability is active if any player has 3 or more agenda points.) When the Runner accesses this upgrade while it is rezzed, you may pay 2 credits to do 2 meat damage.", + "stripped_title": "Angelique Garza Correa", + "subtypes": ["ambush", "enforcer", "expendable"], + "text": "Threat 3 → [click], 1[credit], reveal and trash this upgrade from HQ: Do 1 meat damage. (This ability is active if any player has 3 or more agenda points.)\nWhen the Runner accesses this upgrade while it is rezzed, you may pay 2[credit] to do 2 meat damage.", + "title": "Angelique Garza Correa", + "trash_cost": 2 +} diff --git a/v2/cards/aniccam.json b/v2/cards/aniccam.json index 8ca8a6b51..a30ca5eae 100644 --- a/v2/cards/aniccam.json +++ b/v2/cards/aniccam.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "aniccam", "influence_cost": 3, diff --git a/v2/cards/ankusa.json b/v2/cards/ankusa.json index 5b9b1ded4..67d43033f 100644 --- a/v2/cards/ankusa.json +++ b/v2/cards/ankusa.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 6, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "ankusa", "influence_cost": 3, diff --git a/v2/cards/anoetic_void.json b/v2/cards/anoetic_void.json index 4182dcafa..ac772655c 100644 --- a/v2/cards/anoetic_void.json +++ b/v2/cards/anoetic_void.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "anoetic_void", "influence_cost": 4, diff --git a/v2/cards/anonymous_tip.json b/v2/cards/anonymous_tip.json index e9095086b..cb5282927 100644 --- a/v2/cards/anonymous_tip.json +++ b/v2/cards/anonymous_tip.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "anonymous_tip", "influence_cost": 1, diff --git a/v2/cards/another_day_another_paycheck.json b/v2/cards/another_day_another_paycheck.json index a42bfe835..36e1fc310 100644 --- a/v2/cards/another_day_another_paycheck.json +++ b/v2/cards/another_day_another_paycheck.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "sunny_lebeau", "id": "another_day_another_paycheck", "influence_cost": 3, diff --git a/v2/cards/ansel_1_0.json b/v2/cards/ansel_1_0.json index 3504be174..1b6198574 100644 --- a/v2/cards/ansel_1_0.json +++ b/v2/cards/ansel_1_0.json @@ -3,6 +3,7 @@ "card_type_id": "ice", "cost": 6, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "ansel_1_0", "influence_cost": 3, diff --git a/v2/cards/anson_rose.json b/v2/cards/anson_rose.json index f7bf9c683..42a5a1fe9 100644 --- a/v2/cards/anson_rose.json +++ b/v2/cards/anson_rose.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "anson_rose", "influence_cost": 1, diff --git a/v2/cards/anvil.json b/v2/cards/anvil.json index dd9032539..3d5186b78 100644 --- a/v2/cards/anvil.json +++ b/v2/cards/anvil.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "weyland_consortium", "id": "anvil", "influence_cost": 2, diff --git a/v2/cards/apex_invasive_predator.json b/v2/cards/apex_invasive_predator.json index 734c998bd..0438bde85 100644 --- a/v2/cards/apex_invasive_predator.json +++ b/v2/cards/apex_invasive_predator.json @@ -2,6 +2,7 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "apex", "id": "apex_invasive_predator", "influence_limit": 25, diff --git a/v2/cards/api_s_keeper_isobel.json b/v2/cards/api_s_keeper_isobel.json index 618004ebc..8d0d3c8d1 100644 --- a/v2/cards/api_s_keeper_isobel.json +++ b/v2/cards/api_s_keeper_isobel.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "api_s_keeper_isobel", "influence_cost": 2, diff --git a/v2/cards/apocalypse.json b/v2/cards/apocalypse.json index c6a924d3c..f01e29d20 100644 --- a/v2/cards/apocalypse.json +++ b/v2/cards/apocalypse.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "apex", "id": "apocalypse", "influence_cost": 3, diff --git a/v2/cards/ar_enhanced_security.json b/v2/cards/ar_enhanced_security.json index 3085cb89a..37c88a220 100644 --- a/v2/cards/ar_enhanced_security.json +++ b/v2/cards/ar_enhanced_security.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "ar_enhanced_security", "is_unique": false, diff --git a/v2/cards/archangel.json b/v2/cards/archangel.json index f89cc408e..32cd68f26 100644 --- a/v2/cards/archangel.json +++ b/v2/cards/archangel.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "archangel", "influence_cost": 4, diff --git a/v2/cards/archer.json b/v2/cards/archer.json index b50e26ab7..3581ab126 100644 --- a/v2/cards/archer.json +++ b/v2/cards/archer.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "archer", "influence_cost": 2, diff --git a/v2/cards/architect.json b/v2/cards/architect.json index cba95dfc9..3eda47b9e 100644 --- a/v2/cards/architect.json +++ b/v2/cards/architect.json @@ -3,6 +3,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "architect", "influence_cost": 2, diff --git a/v2/cards/architect_deployment_test.json b/v2/cards/architect_deployment_test.json index 1866fae07..df468968c 100644 --- a/v2/cards/architect_deployment_test.json +++ b/v2/cards/architect_deployment_test.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "architect_deployment_test", "is_unique": false, diff --git a/v2/cards/archived_memories.json b/v2/cards/archived_memories.json index 1cfcc7f08..4f5a225c8 100644 --- a/v2/cards/archived_memories.json +++ b/v2/cards/archived_memories.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "archived_memories", "influence_cost": 2, diff --git a/v2/cards/archives_interface.json b/v2/cards/archives_interface.json index b16da8b63..80496bb5f 100644 --- a/v2/cards/archives_interface.json +++ b/v2/cards/archives_interface.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "archives_interface", "influence_cost": 2, diff --git a/v2/cards/arella_salvatore.json b/v2/cards/arella_salvatore.json index fdaceae37..dbbe3716c 100644 --- a/v2/cards/arella_salvatore.json +++ b/v2/cards/arella_salvatore.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "arella_salvatore", "influence_cost": 3, diff --git a/v2/cards/argus_crackdown.json b/v2/cards/argus_crackdown.json index f08c93f51..47195e062 100644 --- a/v2/cards/argus_crackdown.json +++ b/v2/cards/argus_crackdown.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "weyland_consortium", "id": "argus_crackdown", "influence_cost": 3, diff --git a/v2/cards/argus_security_protection_guaranteed.json b/v2/cards/argus_security_protection_guaranteed.json index edd69bd3d..e3cd2b8b2 100644 --- a/v2/cards/argus_security_protection_guaranteed.json +++ b/v2/cards/argus_security_protection_guaranteed.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "argus_security_protection_guaranteed", "influence_limit": 15, diff --git a/v2/cards/arissana_rocha_nahu_street_artist.json b/v2/cards/arissana_rocha_nahu_street_artist.json new file mode 100644 index 000000000..8e83b84e5 --- /dev/null +++ b/v2/cards/arissana_rocha_nahu_street_artist.json @@ -0,0 +1,18 @@ +{ + "base_link": 0, + "card_type_id": "runner_identity", + "deck_limit": 1, + "designed_by": "null_signal_games", + "faction_id": "shaper", + "id": "arissana_rocha_nahu_street_artist", + "influence_limit": 15, + "is_unique": false, + "minimum_deck_size": 45, + "pronouns": "she/her", + "side_id": "runner", + "stripped_text": "0 credits: Install 1 program from your grip (paying all costs). Use this ability only once per turn and only during a run. When that run ends, trash that program if it is not a trojan.", + "stripped_title": "Arissana Rocha Nahu: Street Artist", + "subtypes": ["natural"], + "text": "0[credit]: Install 1 program from your grip (paying all costs). Use this ability only once per turn and only during a run. When that run ends, trash that program if it is not a trojan.", + "title": "Arissana Rocha Nahu: Street Artist" +} diff --git a/v2/cards/ark_lockdown.json b/v2/cards/ark_lockdown.json index ee633301c..9361fb7c3 100644 --- a/v2/cards/ark_lockdown.json +++ b/v2/cards/ark_lockdown.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "ark_lockdown", "influence_cost": 2, diff --git a/v2/cards/armand_geist_walker_tech_lord.json b/v2/cards/armand_geist_walker_tech_lord.json index d828676d0..6c1e7484d 100644 --- a/v2/cards/armand_geist_walker_tech_lord.json +++ b/v2/cards/armand_geist_walker_tech_lord.json @@ -2,6 +2,7 @@ "base_link": 1, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "armand_geist_walker_tech_lord", "influence_limit": 15, diff --git a/v2/cards/armed_asset_protection.json b/v2/cards/armed_asset_protection.json new file mode 100644 index 000000000..460e5923c --- /dev/null +++ b/v2/cards/armed_asset_protection.json @@ -0,0 +1,16 @@ +{ + "card_type_id": "operation", + "cost": 2, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "weyland_consortium", + "id": "armed_asset_protection", + "influence_cost": 2, + "is_unique": false, + "side_id": "corp", + "stripped_text": "Gain 3 credits. Gain 1 credit for each card type among faceup cards in Archives. If any of those cards are agendas, gain another 2 credits.", + "stripped_title": "Armed Asset Protection", + "subtypes": ["transaction"], + "text": "Gain 3[credit]. Gain 1[credit] for each card type among faceup cards in Archives. If any of those cards are agendas, gain another 2[credit].", + "title": "Armed Asset Protection" +} diff --git a/v2/cards/armed_intimidation.json b/v2/cards/armed_intimidation.json index 8e065fd72..83d7ebed3 100644 --- a/v2/cards/armed_intimidation.json +++ b/v2/cards/armed_intimidation.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "armed_intimidation", "is_unique": false, diff --git a/v2/cards/armitage_codebusting.json b/v2/cards/armitage_codebusting.json index de589852e..52915fc14 100644 --- a/v2/cards/armitage_codebusting.json +++ b/v2/cards/armitage_codebusting.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "armitage_codebusting", "influence_cost": 0, diff --git a/v2/cards/armored_servers.json b/v2/cards/armored_servers.json index d0c431b0c..3ab3959f1 100644 --- a/v2/cards/armored_servers.json +++ b/v2/cards/armored_servers.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "armored_servers", "is_unique": false, diff --git a/v2/cards/artificial_cryptocrash.json b/v2/cards/artificial_cryptocrash.json index 4c82bfaad..114e65e24 100644 --- a/v2/cards/artificial_cryptocrash.json +++ b/v2/cards/artificial_cryptocrash.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "nbn", "id": "artificial_cryptocrash", "is_unique": false, diff --git a/v2/cards/artist_colony.json b/v2/cards/artist_colony.json index 59c282b84..dadc5c7a4 100644 --- a/v2/cards/artist_colony.json +++ b/v2/cards/artist_colony.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "artist_colony", "influence_cost": 3, diff --git a/v2/cards/aryabhata_tech.json b/v2/cards/aryabhata_tech.json index ca388e9df..b2b071ffa 100644 --- a/v2/cards/aryabhata_tech.json +++ b/v2/cards/aryabhata_tech.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "aryabhata_tech", "influence_cost": 2, diff --git a/v2/cards/asa_group_security_through_vigilance.json b/v2/cards/asa_group_security_through_vigilance.json index d0c55fd4e..c6298723f 100644 --- a/v2/cards/asa_group_security_through_vigilance.json +++ b/v2/cards/asa_group_security_through_vigilance.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "asa_group_security_through_vigilance", "influence_limit": 15, diff --git a/v2/cards/ash_2x3zb9cy.json b/v2/cards/ash_2x3zb9cy.json index ec62bb9fd..fc2f34a6a 100644 --- a/v2/cards/ash_2x3zb9cy.json +++ b/v2/cards/ash_2x3zb9cy.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "ash_2x3zb9cy", "influence_cost": 2, diff --git a/v2/cards/ashigaru.json b/v2/cards/ashigaru.json index 87e6837ba..1661ab2c3 100644 --- a/v2/cards/ashigaru.json +++ b/v2/cards/ashigaru.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 9, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "ashigaru", "influence_cost": 3, diff --git a/v2/cards/asmund_pudlat.json b/v2/cards/asmund_pudlat.json index 1e05a7757..c1cbea379 100644 --- a/v2/cards/asmund_pudlat.json +++ b/v2/cards/asmund_pudlat.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "criminal", "id": "asmund_pudlat", "influence_cost": 2, diff --git a/v2/cards/assassin.json b/v2/cards/assassin.json index 152368a14..322a87e3b 100644 --- a/v2/cards/assassin.json +++ b/v2/cards/assassin.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 7, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "assassin", "influence_cost": 0, diff --git a/v2/cards/assimilator.json b/v2/cards/assimilator.json index c0c658231..cd8f61d4d 100644 --- a/v2/cards/assimilator.json +++ b/v2/cards/assimilator.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "apex", "id": "assimilator", "influence_cost": 5, diff --git a/v2/cards/asteroid_belt.json b/v2/cards/asteroid_belt.json index a33fcf199..946b56944 100644 --- a/v2/cards/asteroid_belt.json +++ b/v2/cards/asteroid_belt.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 9, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "asteroid_belt", "influence_cost": 2, diff --git a/v2/cards/astrolabe.json b/v2/cards/astrolabe.json index 81953bc71..49675004c 100644 --- a/v2/cards/astrolabe.json +++ b/v2/cards/astrolabe.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "astrolabe", "influence_cost": 2, diff --git a/v2/cards/astroscript_pilot_program.json b/v2/cards/astroscript_pilot_program.json index b6853cc99..029b7ba55 100644 --- a/v2/cards/astroscript_pilot_program.json +++ b/v2/cards/astroscript_pilot_program.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "astroscript_pilot_program", "is_unique": false, diff --git a/v2/cards/atman.json b/v2/cards/atman.json index 1b0363cfe..87cbfa141 100644 --- a/v2/cards/atman.json +++ b/v2/cards/atman.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "atman", "influence_cost": 3, diff --git a/v2/cards/attini.json b/v2/cards/attini.json index 46eedae55..faacd7ef9 100644 --- a/v2/cards/attini.json +++ b/v2/cards/attini.json @@ -1,14 +1,15 @@ { - "id": "attini", "card_type_id": "ice", "cost": 6, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", + "id": "attini", "influence_cost": 3, "is_unique": false, "side_id": "corp", "strength": 5, - "stripped_text": "Threat 3 -> The Runner cannot spend credits while subroutines on this ice are resolving. (This ability is active if any player has 3 or more agenda points.) Subroutine Do 1 net damage unless the Runner pays 2 credit. Subroutine Do 1 net damage unless the Runner pays 2 credit. Subroutine Do 1 net damage unless the Runner pays 2 credit.", + "stripped_text": "Threat 3 -> The Runner cannot spend credits while subroutines on this ice are resolving. (This ability is active if any player has 3 or more agenda points.) Subroutine Do 1 net damage unless the Runner pays 2 credits. Subroutine Do 1 net damage unless the Runner pays 2 credits. Subroutine Do 1 net damage unless the Runner pays 2 credits.", "stripped_title": "Attini", "subtypes": ["code_gate", "ap"], "text": "Threat 3 → The Runner cannot spend credits while subroutines on this ice are resolving. (This ability is active if any player has 3 or more agenda points.)\n[subroutine] Do 1 net damage unless the Runner pays 2[credit].\n[subroutine] Do 1 net damage unless the Runner pays 2[credit].\n[subroutine] Do 1 net damage unless the Runner pays 2[credit].", diff --git a/v2/cards/attitude_adjustment.json b/v2/cards/attitude_adjustment.json index f358873cf..79663cee8 100644 --- a/v2/cards/attitude_adjustment.json +++ b/v2/cards/attitude_adjustment.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "attitude_adjustment", "influence_cost": 2, diff --git a/v2/cards/au_revoir.json b/v2/cards/au_revoir.json index 8d78447b1..f14dca502 100644 --- a/v2/cards/au_revoir.json +++ b/v2/cards/au_revoir.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "au_revoir", "influence_cost": 2, diff --git a/v2/cards/audacity.json b/v2/cards/audacity.json index f3648f2b5..3faf6ead0 100644 --- a/v2/cards/audacity.json +++ b/v2/cards/audacity.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "audacity", "influence_cost": 4, diff --git a/v2/cards/audrey_v2.json b/v2/cards/audrey_v2.json new file mode 100644 index 000000000..799f842cd --- /dev/null +++ b/v2/cards/audrey_v2.json @@ -0,0 +1,18 @@ +{ + "card_type_id": "program", + "cost": 3, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "anarch", + "id": "audrey_v2", + "influence_cost": 3, + "is_unique": false, + "memory_cost": 2, + "side_id": "runner", + "strength": 0, + "stripped_text": "Whenever you trash a card you are accessing, place 1 virus counter on this program. Interface -> Hosted virus counter: Break up to 2 subroutines. Trash 1 card from your grip: +3 strength.", + "stripped_title": "Audrey v2", + "subtypes": ["icebreaker", "ai", "virus"], + "text": "Whenever you trash a card you are accessing, place 1 virus counter on this program.\nInterface → Hosted virus counter: Break up to 2 subroutines.\nTrash 1 card from your grip: +3 strength.", + "title": "Audrey v2" +} diff --git a/v2/cards/aumakua.json b/v2/cards/aumakua.json index 29432a3d3..1ac60494d 100644 --- a/v2/cards/aumakua.json +++ b/v2/cards/aumakua.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "aumakua", "influence_cost": 1, diff --git a/v2/cards/aurora.json b/v2/cards/aurora.json index 49d82f002..2fdc8d858 100644 --- a/v2/cards/aurora.json +++ b/v2/cards/aurora.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "aurora", "influence_cost": 1, diff --git a/v2/cards/authenticator.json b/v2/cards/authenticator.json index 8e40d4990..f373f142c 100644 --- a/v2/cards/authenticator.json +++ b/v2/cards/authenticator.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "authenticator", "influence_cost": 1, diff --git a/v2/cards/autoscripter.json b/v2/cards/autoscripter.json index 5f0fdd40b..6955f2615 100644 --- a/v2/cards/autoscripter.json +++ b/v2/cards/autoscripter.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "autoscripter", "influence_cost": 3, diff --git a/v2/cards/avgustina_ivanovskaya.json b/v2/cards/avgustina_ivanovskaya.json index 2799bd702..418d000a2 100644 --- a/v2/cards/avgustina_ivanovskaya.json +++ b/v2/cards/avgustina_ivanovskaya.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "avgustina_ivanovskaya", "influence_cost": 1, diff --git a/v2/cards/awakening_center.json b/v2/cards/awakening_center.json index 76089b145..7fba22506 100644 --- a/v2/cards/awakening_center.json +++ b/v2/cards/awakening_center.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "awakening_center", "influence_cost": 1, diff --git a/v2/cards/award_bait.json b/v2/cards/award_bait.json index fbe45b796..d325c8c6e 100644 --- a/v2/cards/award_bait.json +++ b/v2/cards/award_bait.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "award_bait", "is_unique": false, diff --git a/v2/cards/ayla_bios_rahim_simulant_specialist.json b/v2/cards/ayla_bios_rahim_simulant_specialist.json index b42754b4a..4c764190d 100644 --- a/v2/cards/ayla_bios_rahim_simulant_specialist.json +++ b/v2/cards/ayla_bios_rahim_simulant_specialist.json @@ -2,6 +2,7 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "ayla_bios_rahim_simulant_specialist", "influence_limit": 15, @@ -13,5 +14,5 @@ "stripped_title": "Ayla \"Bios\" Rahim: Simulant Specialist", "subtypes": ["natural"], "text": "Before drawing your starting hand, set aside the top 6 cards of your stack facedown. (You may look at those cards at any time.) Shuffle 2 of those cards into your stack.\n[click]: Add 1 card set aside with this identity to your grip.", - "title": "Ayla \"Bios\" Rahim: Simulant Specialist" + "title": "Ayla “Bios” Rahim: Simulant Specialist" } diff --git a/v2/cards/az_mccaffrey_mechanical_prodigy.json b/v2/cards/az_mccaffrey_mechanical_prodigy.json index 7106689f3..269109ccb 100644 --- a/v2/cards/az_mccaffrey_mechanical_prodigy.json +++ b/v2/cards/az_mccaffrey_mechanical_prodigy.json @@ -2,6 +2,7 @@ "base_link": 1, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "null_signal_games", "faction_id": "criminal", "id": "az_mccaffrey_mechanical_prodigy", "influence_limit": 15, diff --git a/v2/cards/azef_protocol.json b/v2/cards/azef_protocol.json index 9e5203bf1..dfe219295 100644 --- a/v2/cards/azef_protocol.json +++ b/v2/cards/azef_protocol.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "weyland_consortium", "id": "azef_protocol", "is_unique": false, diff --git a/v2/cards/azmari_edtech_shaping_the_future.json b/v2/cards/azmari_edtech_shaping_the_future.json index f1d94eb91..4351604f0 100644 --- a/v2/cards/azmari_edtech_shaping_the_future.json +++ b/v2/cards/azmari_edtech_shaping_the_future.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "azmari_edtech_shaping_the_future", "influence_limit": 15, diff --git a/v2/cards/b_1001.json b/v2/cards/b_1001.json new file mode 100644 index 000000000..7018a2211 --- /dev/null +++ b/v2/cards/b_1001.json @@ -0,0 +1,17 @@ +{ + "card_type_id": "asset", + "cost": 1, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "neutral_corp", + "id": "b_1001", + "influence_cost": 0, + "is_unique": true, + "side_id": "corp", + "stripped_text": "Remove 1 tag: End the run. You cannot use this ability during a run on this server.", + "stripped_title": "B-1001", + "subtypes": ["bioroid", "enforcer"], + "text": "Remove 1 tag: End the run. You cannot use this ability during a run on this server.", + "title": "B-1001", + "trash_cost": 3 +} diff --git a/v2/cards/baba_yaga.json b/v2/cards/baba_yaga.json index 165171dd6..80788aaf0 100644 --- a/v2/cards/baba_yaga.json +++ b/v2/cards/baba_yaga.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "baba_yaga", "influence_cost": 2, diff --git a/v2/cards/back_channels.json b/v2/cards/back_channels.json index 67cb75db0..f2d749057 100644 --- a/v2/cards/back_channels.json +++ b/v2/cards/back_channels.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "back_channels", "influence_cost": 1, diff --git a/v2/cards/backroom_machinations.json b/v2/cards/backroom_machinations.json index dc4b5ebcf..518b8fa99 100644 --- a/v2/cards/backroom_machinations.json +++ b/v2/cards/backroom_machinations.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "nbn", "id": "backroom_machinations", "influence_cost": 2, diff --git a/v2/cards/backstitching.json b/v2/cards/backstitching.json index 281cde48d..d2089b8ed 100644 --- a/v2/cards/backstitching.json +++ b/v2/cards/backstitching.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "criminal", "id": "backstitching", "influence_cost": 2, diff --git a/v2/cards/bacterial_programming.json b/v2/cards/bacterial_programming.json index 3b807037d..5d5a4a128 100644 --- a/v2/cards/bacterial_programming.json +++ b/v2/cards/bacterial_programming.json @@ -3,6 +3,7 @@ "agenda_points": 3, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "bacterial_programming", "is_unique": false, diff --git a/v2/cards/bad_times.json b/v2/cards/bad_times.json index 1864c6e03..e27143657 100644 --- a/v2/cards/bad_times.json +++ b/v2/cards/bad_times.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "bad_times", "influence_cost": 0, diff --git a/v2/cards/bahia_bands.json b/v2/cards/bahia_bands.json new file mode 100644 index 000000000..088e88763 --- /dev/null +++ b/v2/cards/bahia_bands.json @@ -0,0 +1,16 @@ +{ + "card_type_id": "event", + "cost": 2, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "neutral_runner", + "id": "bahia_bands", + "influence_cost": 1, + "is_unique": false, + "side_id": "runner", + "stripped_text": "Run any server. If successful, resolve 2 of the following in any order: * Draw 2 cards. * Install 1 card from your grip, paying 1 credit less. * Remove 1 tag. * Place 4 credits on this event. You can spend hosted credits to pay trash costs for the remainder of this run.", + "stripped_title": "Bahia Bands", + "subtypes": ["run"], + "text": "Run any server. If successful, resolve 2 of the following in any order:
  • Draw 2 cards.
  • Install 1 card from your grip, paying 1[credit] less.
  • Remove 1 tag.
  • Place 4[credit] on this event. You can spend hosted credits to pay trash costs for the remainder of this run.
", + "title": "Bahia Bands" +} diff --git a/v2/cards/bailiff.json b/v2/cards/bailiff.json index 9dbaef7fe..212ca31f8 100644 --- a/v2/cards/bailiff.json +++ b/v2/cards/bailiff.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "bailiff", "influence_cost": 2, diff --git a/v2/cards/baklan_bochkin.json b/v2/cards/baklan_bochkin.json index 02c8e363b..668cace89 100644 --- a/v2/cards/baklan_bochkin.json +++ b/v2/cards/baklan_bochkin.json @@ -2,14 +2,15 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "criminal", "id": "baklan_bochkin", "influence_cost": 3, "is_unique": true, "side_id": "runner", - "stripped_text": "The first time each run you encounter a piece of ice, place 1 power counter on this resource. trash: Derez the ice you are encountering if its strength is equal to or less than the number of hosted power counters. Take 1 tag.", + "stripped_text": "The first time you encounter a piece of ice during each run, place 1 power counter on this resource. trash, X hosted power counters: Derez the ice you are encountering if its strength is X or less. Take 1 tag.", "stripped_title": "\"Baklan\" Bochkin", "subtypes": ["connection"], - "text": "The first time each run you encounter a piece of ice, place 1 power counter on this resource.\n[trash]: Derez the ice you are encountering if its strength is equal to or less than the number of hosted power counters. Take 1 tag.", - "title": "\"Baklan\" Bochkin" + "text": "The first time you encounter a piece of ice during each run, place 1 power counter on this resource.\n[trash], X hosted power counters: Derez the ice you are encountering if its strength is X or less. Take 1 tag.", + "title": "“Baklan” Bochkin" } diff --git a/v2/cards/balanced_coverage.json b/v2/cards/balanced_coverage.json index afb632618..ac75bb87c 100644 --- a/v2/cards/balanced_coverage.json +++ b/v2/cards/balanced_coverage.json @@ -1,13 +1,14 @@ { - "id": "balanced_coverage", "card_type_id": "asset", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "nbn", + "id": "balanced_coverage", "influence_cost": 1, "is_unique": false, "side_id": "corp", - "stripped_text": "When your turn begins, you may choose a card type to look at the top card of R&D. If that card has the chosen type, you may reveal it and gain 2 credit.", + "stripped_text": "When your turn begins, you may choose a card type to look at the top card of R&D. If that card has the chosen type, you may reveal it and gain 2 credits.", "stripped_title": "Balanced Coverage", "subtypes": ["seedy"], "text": "When your turn begins, you may choose a card type to look at the top card of R&D. If that card has the chosen type, you may reveal it and gain 2[credit].", diff --git a/v2/cards/ballista.json b/v2/cards/ballista.json index 375999b21..ca9610552 100644 --- a/v2/cards/ballista.json +++ b/v2/cards/ballista.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 5, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "weyland_consortium", "id": "ballista", "influence_cost": 2, diff --git a/v2/cards/bamboo_dome.json b/v2/cards/bamboo_dome.json index 77575b9df..b5d391f4a 100644 --- a/v2/cards/bamboo_dome.json +++ b/v2/cards/bamboo_dome.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "bamboo_dome", "influence_cost": 3, diff --git a/v2/cards/bandwidth.json b/v2/cards/bandwidth.json index d4ccfabe3..7bb1d8ca1 100644 --- a/v2/cards/bandwidth.json +++ b/v2/cards/bandwidth.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "bandwidth", "influence_cost": 1, diff --git a/v2/cards/bank_job.json b/v2/cards/bank_job.json index 77c2020b5..a34ea4efc 100644 --- a/v2/cards/bank_job.json +++ b/v2/cards/bank_job.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "bank_job", "influence_cost": 2, diff --git a/v2/cards/bankroll.json b/v2/cards/bankroll.json index ed9866dae..6900920dd 100644 --- a/v2/cards/bankroll.json +++ b/v2/cards/bankroll.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "bankroll", "influence_cost": 2, diff --git a/v2/cards/banner.json b/v2/cards/banner.json new file mode 100644 index 000000000..aaddcbb4f --- /dev/null +++ b/v2/cards/banner.json @@ -0,0 +1,18 @@ +{ + "card_type_id": "program", + "cost": 4, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "anarch", + "id": "banner", + "influence_cost": 3, + "is_unique": false, + "memory_cost": 1, + "side_id": "runner", + "strength": 5, + "stripped_text": "Interface -> 2 credits: Subroutines on the barrier you are encountering cannot end the run for the remainder of this encounter.", + "stripped_title": "Banner", + "subtypes": ["icebreaker", "fracter", "weapon"], + "text": "Interface → 2[credit]: Subroutines on the barrier you are encountering cannot end the run for the remainder of this encounter.", + "title": "Banner" +} diff --git a/v2/cards/basilar_synthgland_2kvj.json b/v2/cards/basilar_synthgland_2kvj.json index bca54a61f..811fb2d44 100644 --- a/v2/cards/basilar_synthgland_2kvj.json +++ b/v2/cards/basilar_synthgland_2kvj.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "basilar_synthgland_2kvj", "influence_cost": 3, diff --git a/v2/cards/bass_ch1r180g4.json b/v2/cards/bass_ch1r180g4.json index cde5459c8..f4018554c 100644 --- a/v2/cards/bass_ch1r180g4.json +++ b/v2/cards/bass_ch1r180g4.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "bass_ch1r180g4", "influence_cost": 3, @@ -10,7 +11,7 @@ "stripped_text": "click, trash: Gain click click.", "stripped_title": "Bass CH1R180G4", "subtypes": ["bioroid"], - "text": "[click], [trash]: Gain [click][click].", + "text": "[click], [trash]: Gain [click][click].", "title": "Bass CH1R180G4", "trash_cost": 4 } diff --git a/v2/cards/bastion.json b/v2/cards/bastion.json index 77ffc4879..4bae76292 100644 --- a/v2/cards/bastion.json +++ b/v2/cards/bastion.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "bastion", "influence_cost": 0, diff --git a/v2/cards/bathynomus.json b/v2/cards/bathynomus.json index 6e85b8ba8..2a1556b47 100644 --- a/v2/cards/bathynomus.json +++ b/v2/cards/bathynomus.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "bathynomus", "influence_cost": 3, diff --git a/v2/cards/battering_ram.json b/v2/cards/battering_ram.json index b9a5ba8c0..4c0f33fe9 100644 --- a/v2/cards/battering_ram.json +++ b/v2/cards/battering_ram.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "battering_ram", "influence_cost": 2, diff --git a/v2/cards/battlement.json b/v2/cards/battlement.json index 1b1abf198..e268a0959 100644 --- a/v2/cards/battlement.json +++ b/v2/cards/battlement.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "battlement", "influence_cost": 4, diff --git a/v2/cards/bazaar.json b/v2/cards/bazaar.json index fca25a736..5190f94c6 100644 --- a/v2/cards/bazaar.json +++ b/v2/cards/bazaar.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "bazaar", "influence_cost": 0, diff --git a/v2/cards/beach_party.json b/v2/cards/beach_party.json index 7dd67bc7e..e19330f9d 100644 --- a/v2/cards/beach_party.json +++ b/v2/cards/beach_party.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "beach_party", "influence_cost": 0, diff --git a/v2/cards/beanstalk_royalties.json b/v2/cards/beanstalk_royalties.json index 15f889af8..9e03d5770 100644 --- a/v2/cards/beanstalk_royalties.json +++ b/v2/cards/beanstalk_royalties.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "beanstalk_royalties", "influence_cost": 1, diff --git a/v2/cards/beatriz_friere_gonzalez.json b/v2/cards/beatriz_friere_gonzalez.json new file mode 100644 index 000000000..eb1e454c8 --- /dev/null +++ b/v2/cards/beatriz_friere_gonzalez.json @@ -0,0 +1,16 @@ +{ + "card_type_id": "resource", + "cost": 2, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "shaper", + "id": "beatriz_friere_gonzalez", + "influence_cost": 3, + "is_unique": true, + "side_id": "runner", + "stripped_text": "click click: Run HQ. If successful, instead of breaching HQ, breach R&D. When you do, access 1 additional card.", + "stripped_title": "Beatriz Friere Gonzalez", + "subtypes": ["connection"], + "text": "[click][click]: Run HQ. If successful, instead of breaching HQ, breach R&D. When you do, access 1 additional card.", + "title": "Beatriz Friere Gonzalez" +} diff --git a/v2/cards/because_i_can.json b/v2/cards/because_i_can.json index 303e2f1d0..e6cb1b791 100644 --- a/v2/cards/because_i_can.json +++ b/v2/cards/because_i_can.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "because_i_can", "influence_cost": 1, diff --git a/v2/cards/begemot.json b/v2/cards/begemot.json index f50e11b38..8f6a7c249 100644 --- a/v2/cards/begemot.json +++ b/v2/cards/begemot.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 5, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "begemot", "influence_cost": 4, diff --git a/v2/cards/behold.json b/v2/cards/behold.json new file mode 100644 index 000000000..96dcdfc1b --- /dev/null +++ b/v2/cards/behold.json @@ -0,0 +1,17 @@ +{ + "card_type_id": "asset", + "cost": 0, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "nbn", + "id": "behold", + "influence_cost": 2, + "is_unique": false, + "side_id": "corp", + "stripped_text": "While the Runner is accessing this asset in R&D, they must reveal it. When the Runner accesses this asset anywhere except in Archives, you may pay 4 credits to give them 2 tags.", + "stripped_title": "Behold!", + "subtypes": ["ambush"], + "text": "While the Runner is accessing this asset in R&D, they must reveal it.\nWhen the Runner accesses this asset anywhere except in Archives, you may pay 4[credit] to give them 2 tags.", + "title": "Behold!", + "trash_cost": 0 +} diff --git a/v2/cards/bellona.json b/v2/cards/bellona.json index 7f3119e11..31eedec40 100644 --- a/v2/cards/bellona.json +++ b/v2/cards/bellona.json @@ -3,6 +3,7 @@ "agenda_points": 3, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "nbn", "id": "bellona", "is_unique": false, diff --git a/v2/cards/ben_musashi.json b/v2/cards/ben_musashi.json index 5c48f2515..9cd992e1c 100644 --- a/v2/cards/ben_musashi.json +++ b/v2/cards/ben_musashi.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "ben_musashi", "influence_cost": 2, diff --git a/v2/cards/bernice_mai.json b/v2/cards/bernice_mai.json index 70470c01b..b0e743c52 100644 --- a/v2/cards/bernice_mai.json +++ b/v2/cards/bernice_mai.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "bernice_mai", "influence_cost": 2, diff --git a/v2/cards/berserker.json b/v2/cards/berserker.json index 1f8cfc06a..122040632 100644 --- a/v2/cards/berserker.json +++ b/v2/cards/berserker.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "berserker", "influence_cost": 3, diff --git a/v2/cards/best_defense.json b/v2/cards/best_defense.json index 61fe3df92..af081f9d9 100644 --- a/v2/cards/best_defense.json +++ b/v2/cards/best_defense.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "best_defense", "influence_cost": 0, diff --git a/v2/cards/beth_kilrain_chang.json b/v2/cards/beth_kilrain_chang.json index 61329d08f..8decbd34f 100644 --- a/v2/cards/beth_kilrain_chang.json +++ b/v2/cards/beth_kilrain_chang.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "beth_kilrain_chang", "influence_cost": 3, diff --git a/v2/cards/better_citizen_program.json b/v2/cards/better_citizen_program.json index 2bf0043cd..705b45e9f 100644 --- a/v2/cards/better_citizen_program.json +++ b/v2/cards/better_citizen_program.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "better_citizen_program", "is_unique": false, diff --git a/v2/cards/bhagat.json b/v2/cards/bhagat.json index 2883f6148..1e2ab86a2 100644 --- a/v2/cards/bhagat.json +++ b/v2/cards/bhagat.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "bhagat", "influence_cost": 4, diff --git a/v2/cards/biased_reporting.json b/v2/cards/biased_reporting.json index 301556662..321f123e7 100644 --- a/v2/cards/biased_reporting.json +++ b/v2/cards/biased_reporting.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "biased_reporting", "influence_cost": 3, diff --git a/v2/cards/bifrost_array.json b/v2/cards/bifrost_array.json index fe0b9b0d0..2b8e03422 100644 --- a/v2/cards/bifrost_array.json +++ b/v2/cards/bifrost_array.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "bifrost_array", "is_unique": false, diff --git a/v2/cards/big_brother.json b/v2/cards/big_brother.json index 4c34f2e33..ea56c6d5a 100644 --- a/v2/cards/big_brother.json +++ b/v2/cards/big_brother.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "big_brother", "influence_cost": 1, diff --git a/v2/cards/big_deal.json b/v2/cards/big_deal.json index 9699e998b..bc6069422 100644 --- a/v2/cards/big_deal.json +++ b/v2/cards/big_deal.json @@ -3,6 +3,7 @@ "card_type_id": "operation", "cost": 17, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "big_deal", "influence_cost": 5, diff --git a/v2/cards/bio_ethics_association.json b/v2/cards/bio_ethics_association.json index 3877c7d9b..9b889125d 100644 --- a/v2/cards/bio_ethics_association.json +++ b/v2/cards/bio_ethics_association.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "bio_ethics_association", "influence_cost": 2, diff --git a/v2/cards/bio_modeled_network.json b/v2/cards/bio_modeled_network.json index d97a9cb39..829bce3f5 100644 --- a/v2/cards/bio_modeled_network.json +++ b/v2/cards/bio_modeled_network.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "bio_modeled_network", "influence_cost": 2, diff --git a/v2/cards/bio_vault.json b/v2/cards/bio_vault.json index 359744fa3..91509b66e 100644 --- a/v2/cards/bio_vault.json +++ b/v2/cards/bio_vault.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "bio_vault", "influence_cost": 2, diff --git a/v2/cards/biometric_spoofing.json b/v2/cards/biometric_spoofing.json index 3dbd98f8a..74116b911 100644 --- a/v2/cards/biometric_spoofing.json +++ b/v2/cards/biometric_spoofing.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "biometric_spoofing", "influence_cost": 0, diff --git a/v2/cards/bioroid_efficiency_research.json b/v2/cards/bioroid_efficiency_research.json index c5e3ab4e9..1a1643b66 100644 --- a/v2/cards/bioroid_efficiency_research.json +++ b/v2/cards/bioroid_efficiency_research.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "bioroid_efficiency_research", "influence_cost": 2, diff --git a/v2/cards/bioroid_work_crew.json b/v2/cards/bioroid_work_crew.json index fea7810a5..a23d07e2b 100644 --- a/v2/cards/bioroid_work_crew.json +++ b/v2/cards/bioroid_work_crew.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "bioroid_work_crew", "influence_cost": 4, diff --git a/v2/cards/biotic_labor.json b/v2/cards/biotic_labor.json index 4c74fa621..cae5d2eb9 100644 --- a/v2/cards/biotic_labor.json +++ b/v2/cards/biotic_labor.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "biotic_labor", "influence_cost": 4, diff --git a/v2/cards/bishop.json b/v2/cards/bishop.json index 8a88431d4..b53a53f61 100644 --- a/v2/cards/bishop.json +++ b/v2/cards/bishop.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "bishop", "influence_cost": 2, diff --git a/v2/cards/black_hat.json b/v2/cards/black_hat.json index 74ff7c94d..842d92974 100644 --- a/v2/cards/black_hat.json +++ b/v2/cards/black_hat.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "sunny_lebeau", "id": "black_hat", "influence_cost": 5, diff --git a/v2/cards/black_level_clearance.json b/v2/cards/black_level_clearance.json index d7b6b5da8..9aeed6b86 100644 --- a/v2/cards/black_level_clearance.json +++ b/v2/cards/black_level_clearance.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "black_level_clearance", "influence_cost": 5, diff --git a/v2/cards/black_orchestra.json b/v2/cards/black_orchestra.json index 9a24a800e..5ec5acc83 100644 --- a/v2/cards/black_orchestra.json +++ b/v2/cards/black_orchestra.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "black_orchestra", "influence_cost": 2, diff --git a/v2/cards/blackat.json b/v2/cards/blackat.json index 20b514bb3..c38750cd2 100644 --- a/v2/cards/blackat.json +++ b/v2/cards/blackat.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "blackat", "influence_cost": 3, diff --git a/v2/cards/blackguard.json b/v2/cards/blackguard.json index d6b4ae1d0..e3fea3de4 100644 --- a/v2/cards/blackguard.json +++ b/v2/cards/blackguard.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 11, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "blackguard", "influence_cost": 2, diff --git a/v2/cards/blacklist.json b/v2/cards/blacklist.json index 9b95ed50b..1f1335c7a 100644 --- a/v2/cards/blacklist.json +++ b/v2/cards/blacklist.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "blacklist", "influence_cost": 1, diff --git a/v2/cards/blackmail.json b/v2/cards/blackmail.json index a9c10e805..f2371d832 100644 --- a/v2/cards/blackmail.json +++ b/v2/cards/blackmail.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "blackmail", "influence_cost": 0, diff --git a/v2/cards/blackstone.json b/v2/cards/blackstone.json index dd2b4fe4e..810071fae 100644 --- a/v2/cards/blackstone.json +++ b/v2/cards/blackstone.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "blackstone", "influence_cost": 2, diff --git a/v2/cards/bladderwort.json b/v2/cards/bladderwort.json index d773bac05..595f7ecc6 100644 --- a/v2/cards/bladderwort.json +++ b/v2/cards/bladderwort.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "bladderwort", "influence_cost": 2, diff --git a/v2/cards/blockade_runner.json b/v2/cards/blockade_runner.json index d9a9111a8..e1a9e28eb 100644 --- a/v2/cards/blockade_runner.json +++ b/v2/cards/blockade_runner.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "blockade_runner", "influence_cost": 1, diff --git a/v2/cards/blockchain.json b/v2/cards/blockchain.json index bbfcfd57e..635d21391 100644 --- a/v2/cards/blockchain.json +++ b/v2/cards/blockchain.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 7, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "blockchain", "influence_cost": 4, diff --git a/v2/cards/bloo_moose.json b/v2/cards/bloo_moose.json index af07bc215..2ab284d83 100644 --- a/v2/cards/bloo_moose.json +++ b/v2/cards/bloo_moose.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "bloo_moose", "influence_cost": 0, diff --git a/v2/cards/blood_in_the_water.json b/v2/cards/blood_in_the_water.json index 74edfabba..c79a54c95 100644 --- a/v2/cards/blood_in_the_water.json +++ b/v2/cards/blood_in_the_water.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "blood_in_the_water", "is_unique": false, diff --git a/v2/cards/bloodletter.json b/v2/cards/bloodletter.json index a1bac028c..0ac7cf5e2 100644 --- a/v2/cards/bloodletter.json +++ b/v2/cards/bloodletter.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "bloodletter", "influence_cost": 2, diff --git a/v2/cards/bloom.json b/v2/cards/bloom.json index 49c2b72c0..85fb0fb4a 100644 --- a/v2/cards/bloom.json +++ b/v2/cards/bloom.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "bloom", "influence_cost": 2, diff --git a/v2/cards/bloop.json b/v2/cards/bloop.json index 53f71e150..9c4b3860a 100644 --- a/v2/cards/bloop.json +++ b/v2/cards/bloop.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "bloop", "influence_cost": 2, diff --git a/v2/cards/blue_level_clearance.json b/v2/cards/blue_level_clearance.json index 2a3a1b30a..85d496616 100644 --- a/v2/cards/blue_level_clearance.json +++ b/v2/cards/blue_level_clearance.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "blue_level_clearance", "influence_cost": 2, diff --git a/v2/cards/blue_sun_powering_the_future.json b/v2/cards/blue_sun_powering_the_future.json index 9076e498a..149940e30 100644 --- a/v2/cards/blue_sun_powering_the_future.json +++ b/v2/cards/blue_sun_powering_the_future.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "blue_sun_powering_the_future", "influence_limit": 15, diff --git a/v2/cards/blueberry_diesel.json b/v2/cards/blueberry_diesel.json index bac89bda4..de6096595 100644 --- a/v2/cards/blueberry_diesel.json +++ b/v2/cards/blueberry_diesel.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "criminal", "id": "blueberry_diesel", "influence_cost": 2, diff --git a/v2/cards/bmi_buffer.json b/v2/cards/bmi_buffer.json index 4902ac56a..44e878209 100644 --- a/v2/cards/bmi_buffer.json +++ b/v2/cards/bmi_buffer.json @@ -2,20 +2,21 @@ "card_type_id": "hardware", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", + "faces": [ + { + "stripped_text": "Whenever a program is trashed from your grip, host it on BMI Buffer instead of adding it to your heap. click click: Install 1 hosted program, ignoring all costs.", + "text": "Whenever a program is trashed from your grip, host it on BMI Buffer instead of adding it to your heap.\n[click][click]: Install 1 hosted program, ignoring all costs." + } + ], "faction_id": "neutral_runner", "id": "bmi_buffer", "influence_cost": 0, "is_unique": false, + "layout_id": "progression", "side_id": "runner", "stripped_text": "Whenever a program is trashed from your grip, host it on BMI Buffer instead of adding it to your heap. click click: Install 1 hosted program (paying all costs).", "stripped_title": "BMI Buffer", "text": "Whenever a program is trashed from your grip, host it on BMI Buffer instead of adding it to your heap.\n[click][click]: Install 1 hosted program (paying all costs).", - "title": "BMI Buffer", - "layout_id": "progression", - "faces": [ - { - "stripped_text": "Whenever a program is trashed from your grip, host it on BMI Buffer instead of adding it to your heap. click click: Install 1 hosted program, ignoring all costs.", - "text": "Whenever a program is trashed from your grip, host it on BMI Buffer instead of adding it to your heap.\n[click][click]: Install 1 hosted program, ignoring all costs." - } - ] + "title": "BMI Buffer" } diff --git a/v2/cards/bookmark.json b/v2/cards/bookmark.json index 51be816f9..56dd2e885 100644 --- a/v2/cards/bookmark.json +++ b/v2/cards/bookmark.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "bookmark", "influence_cost": 2, diff --git a/v2/cards/boom.json b/v2/cards/boom.json index 1ef014ff6..1041affd3 100644 --- a/v2/cards/boom.json +++ b/v2/cards/boom.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "boom", "influence_cost": 3, diff --git a/v2/cards/boomerang.json b/v2/cards/boomerang.json index b186e3827..edc375f91 100644 --- a/v2/cards/boomerang.json +++ b/v2/cards/boomerang.json @@ -2,13 +2,14 @@ "card_type_id": "hardware", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "criminal", "id": "boomerang", "influence_cost": 2, "is_unique": true, "side_id": "runner", - "stripped_text": "When you install this hardware, choose an installed piece of ice. Use this hardware only during encounters with that ice. trash: Break up to 2 subroutines. When this run ends, if it is successful, you may shuffle a copy of Boomerang from your heap into your stack.", + "stripped_text": "When you install this hardware, choose 1 installed piece of ice. Use this hardware only during encounters with that ice. trash: Break up to 2 subroutines. When this run ends, if it was successful, you may shuffle 1 copy of Boomerang from your heap into your stack.", "stripped_title": "Boomerang", - "text": "When you install this hardware, choose an installed piece of ice. Use this hardware only during encounters with that ice.\n[trash]: Break up to 2 subroutines. When this run ends, if it is successful, you may shuffle a copy of Boomerang from your heap into your stack.", + "text": "When you install this hardware, choose 1 installed piece of ice. Use this hardware only during encounters with that ice.\n[trash]: Break up to 2 subroutines. When this run ends, if it was successful, you may shuffle 1 copy of Boomerang from your heap into your stack.", "title": "Boomerang" } diff --git a/v2/cards/border_control.json b/v2/cards/border_control.json index e62391a50..8f4ab016c 100644 --- a/v2/cards/border_control.json +++ b/v2/cards/border_control.json @@ -3,6 +3,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "border_control", "influence_cost": 3, diff --git a/v2/cards/boris_syfr_kovac_crafty_veteran.json b/v2/cards/boris_syfr_kovac_crafty_veteran.json index 26e561ee1..ceaa98e62 100644 --- a/v2/cards/boris_syfr_kovac_crafty_veteran.json +++ b/v2/cards/boris_syfr_kovac_crafty_veteran.json @@ -2,6 +2,7 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "boris_syfr_kovac_crafty_veteran", "influence_limit": null, diff --git a/v2/cards/borrowed_satellite.json b/v2/cards/borrowed_satellite.json index 14f3612e9..44757e46c 100644 --- a/v2/cards/borrowed_satellite.json +++ b/v2/cards/borrowed_satellite.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "borrowed_satellite", "influence_cost": 2, diff --git a/v2/cards/botulus.json b/v2/cards/botulus.json index 0e65d141d..f9d926495 100644 --- a/v2/cards/botulus.json +++ b/v2/cards/botulus.json @@ -2,15 +2,16 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "botulus", "influence_cost": 3, "is_unique": false, "memory_cost": 1, "side_id": "runner", - "stripped_text": "Install only on a piece of ice. When you install this program and when your turn begins, place 1 virus counter on this program. Hosted virus counter: Break 1 subroutine on host ice.", + "stripped_text": "Install only on a piece of ice. (If the host ice is uninstalled, this program is trashed.) When you install this program and when your turn begins, place 1 virus counter on this program. Hosted virus counter: Break 1 subroutine on host ice.", "stripped_title": "Botulus", "subtypes": ["virus", "trojan"], - "text": "Install only on a piece of ice.\nWhen you install this program and when your turn begins, place 1 virus counter on this program.\nHosted virus counter: Break 1 subroutine on host ice.", + "text": "Install only on a piece of ice. (If the host ice is uninstalled, this program is trashed.)\nWhen you install this program and when your turn begins, place 1 virus counter on this program.\nHosted virus counter: Break 1 subroutine on host ice.", "title": "Botulus" } diff --git a/v2/cards/box_e.json b/v2/cards/box_e.json index bc4893dc5..713417577 100644 --- a/v2/cards/box_e.json +++ b/v2/cards/box_e.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "box_e", "influence_cost": 1, diff --git a/v2/cards/brahman.json b/v2/cards/brahman.json index 3ddac01c1..e149133a1 100644 --- a/v2/cards/brahman.json +++ b/v2/cards/brahman.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "brahman", "influence_cost": 3, diff --git a/v2/cards/brain_cage.json b/v2/cards/brain_cage.json index 536d09c31..1c3273d17 100644 --- a/v2/cards/brain_cage.json +++ b/v2/cards/brain_cage.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "brain_cage", "influence_cost": 0, diff --git a/v2/cards/brain_chip.json b/v2/cards/brain_chip.json index cba6feedb..be0275071 100644 --- a/v2/cards/brain_chip.json +++ b/v2/cards/brain_chip.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "adam", "id": "brain_chip", "influence_cost": 3, diff --git a/v2/cards/brain_rewiring.json b/v2/cards/brain_rewiring.json index 38e91b0c2..81e7453e7 100644 --- a/v2/cards/brain_rewiring.json +++ b/v2/cards/brain_rewiring.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "brain_rewiring", "is_unique": false, diff --git a/v2/cards/brain_taping_warehouse.json b/v2/cards/brain_taping_warehouse.json index 40d683970..3b4131f7f 100644 --- a/v2/cards/brain_taping_warehouse.json +++ b/v2/cards/brain_taping_warehouse.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "brain_taping_warehouse", "influence_cost": 1, diff --git a/v2/cards/brainstorm.json b/v2/cards/brainstorm.json index 1a8990ad7..25b08e9b3 100644 --- a/v2/cards/brainstorm.json +++ b/v2/cards/brainstorm.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 9, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "brainstorm", "influence_cost": 4, diff --git a/v2/cards/braintrust.json b/v2/cards/braintrust.json index ff3b155db..195d5d325 100644 --- a/v2/cards/braintrust.json +++ b/v2/cards/braintrust.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "braintrust", "is_unique": false, diff --git a/v2/cards/bran_1_0.json b/v2/cards/bran_1_0.json index e18621a77..992f15b1a 100644 --- a/v2/cards/bran_1_0.json +++ b/v2/cards/bran_1_0.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 6, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "bran_1_0", "influence_cost": 2, diff --git a/v2/cards/bravado.json b/v2/cards/bravado.json index abc71ccbb..eca894685 100644 --- a/v2/cards/bravado.json +++ b/v2/cards/bravado.json @@ -2,14 +2,15 @@ "card_type_id": "event", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "criminal", "id": "bravado", "influence_cost": 3, "is_unique": false, "side_id": "runner", - "stripped_text": "Run a server protected by ice. When that run ends, gain 6 credits, plus 1 credit for each piece of ice you passed during that run.", + "stripped_text": "Run a server protected by ice. When that run ends, gain 6 credits plus 1 credit for each piece of ice you passed during that run.", "stripped_title": "Bravado", "subtypes": ["run"], - "text": "Run a server protected by ice. When that run ends, gain 6[credit], plus 1[credit] for each piece of ice you passed during that run.", + "text": "Run a server protected by ice. When that run ends, gain 6[credit] plus 1[credit] for each piece of ice you passed during that run.", "title": "Bravado" } diff --git a/v2/cards/breach.json b/v2/cards/breach.json index 5d179fb89..43faccf14 100644 --- a/v2/cards/breach.json +++ b/v2/cards/breach.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "breach", "influence_cost": 2, diff --git a/v2/cards/breached_dome.json b/v2/cards/breached_dome.json index 2efc67173..3bc2bf3f3 100644 --- a/v2/cards/breached_dome.json +++ b/v2/cards/breached_dome.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "breached_dome", "influence_cost": 2, diff --git a/v2/cards/breaker_bay_grid.json b/v2/cards/breaker_bay_grid.json index 2b197689f..2e4e3067a 100644 --- a/v2/cards/breaker_bay_grid.json +++ b/v2/cards/breaker_bay_grid.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "breaker_bay_grid", "influence_cost": 0, diff --git a/v2/cards/breaking_news.json b/v2/cards/breaking_news.json index 22dec55ba..13894356c 100644 --- a/v2/cards/breaking_news.json +++ b/v2/cards/breaking_news.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "breaking_news", "is_unique": false, diff --git a/v2/cards/bribery.json b/v2/cards/bribery.json index bde08ee8c..a91057148 100644 --- a/v2/cards/bribery.json +++ b/v2/cards/bribery.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": null, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "bribery", "influence_cost": 2, diff --git a/v2/cards/broad_daylight.json b/v2/cards/broad_daylight.json index 1a32423d9..b715d13ac 100644 --- a/v2/cards/broad_daylight.json +++ b/v2/cards/broad_daylight.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "broad_daylight", "is_unique": false, diff --git a/v2/cards/broadcast_square.json b/v2/cards/broadcast_square.json index b5f5dea91..a574574b9 100644 --- a/v2/cards/broadcast_square.json +++ b/v2/cards/broadcast_square.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "broadcast_square", "influence_cost": 3, diff --git a/v2/cards/brute_force_hack.json b/v2/cards/brute_force_hack.json index a2f1b65e7..a8cd99ff3 100644 --- a/v2/cards/brute_force_hack.json +++ b/v2/cards/brute_force_hack.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": null, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "brute_force_hack", "influence_cost": 3, diff --git a/v2/cards/bryan_stinson.json b/v2/cards/bryan_stinson.json index 9bc6b3731..ff47867a0 100644 --- a/v2/cards/bryan_stinson.json +++ b/v2/cards/bryan_stinson.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "bryan_stinson", "influence_cost": 3, diff --git a/v2/cards/buffer_drive.json b/v2/cards/buffer_drive.json index 8ce2538c9..fa5a2fbc1 100644 --- a/v2/cards/buffer_drive.json +++ b/v2/cards/buffer_drive.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "neutral_runner", "id": "buffer_drive", "influence_cost": 1, diff --git a/v2/cards/bug.json b/v2/cards/bug.json index a5c719527..a454d5e08 100644 --- a/v2/cards/bug.json +++ b/v2/cards/bug.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "bug", "influence_cost": 1, diff --git a/v2/cards/bug_out_bag.json b/v2/cards/bug_out_bag.json index 89ad37193..d171fd961 100644 --- a/v2/cards/bug_out_bag.json +++ b/v2/cards/bug_out_bag.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": null, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "bug_out_bag", "influence_cost": 2, diff --git a/v2/cards/build_script.json b/v2/cards/build_script.json index 400f06790..f94d24f21 100644 --- a/v2/cards/build_script.json +++ b/v2/cards/build_script.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "build_script", "influence_cost": 1, diff --git a/v2/cards/builder.json b/v2/cards/builder.json index 3359ead2b..92c7a4256 100644 --- a/v2/cards/builder.json +++ b/v2/cards/builder.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "builder", "influence_cost": 1, diff --git a/v2/cards/building_blocks.json b/v2/cards/building_blocks.json index f526dbeca..51732bbac 100644 --- a/v2/cards/building_blocks.json +++ b/v2/cards/building_blocks.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "building_blocks", "influence_cost": 4, diff --git a/v2/cards/bukhgalter.json b/v2/cards/bukhgalter.json index 848a8c86c..ffbde5ed7 100644 --- a/v2/cards/bukhgalter.json +++ b/v2/cards/bukhgalter.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "criminal", "id": "bukhgalter", "influence_cost": 4, diff --git a/v2/cards/bullfrog.json b/v2/cards/bullfrog.json index 2499b41ba..58f804250 100644 --- a/v2/cards/bullfrog.json +++ b/v2/cards/bullfrog.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "bullfrog", "influence_cost": 2, diff --git a/v2/cards/bulwark.json b/v2/cards/bulwark.json index a7b7a40ce..8ddbf7480 100644 --- a/v2/cards/bulwark.json +++ b/v2/cards/bulwark.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 10, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "bulwark", "influence_cost": 3, diff --git a/v2/cards/burke_bugs.json b/v2/cards/burke_bugs.json index c3f76358e..2733e8d81 100644 --- a/v2/cards/burke_bugs.json +++ b/v2/cards/burke_bugs.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "burke_bugs", "influence_cost": 1, diff --git a/v2/cards/buzzsaw.json b/v2/cards/buzzsaw.json index 0a4885c1e..affb1eb32 100644 --- a/v2/cards/buzzsaw.json +++ b/v2/cards/buzzsaw.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 4, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "buzzsaw", "influence_cost": 1, diff --git a/v2/cards/by_any_means.json b/v2/cards/by_any_means.json index 48dd7e38f..e95e78633 100644 --- a/v2/cards/by_any_means.json +++ b/v2/cards/by_any_means.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "by_any_means", "influence_cost": 5, diff --git a/v2/cards/c_i_fund.json b/v2/cards/c_i_fund.json index c79637dcc..97d625bb0 100644 --- a/v2/cards/c_i_fund.json +++ b/v2/cards/c_i_fund.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "c_i_fund", "influence_cost": 1, diff --git a/v2/cards/cache.json b/v2/cards/cache.json index e239b7b4f..bb4d9e200 100644 --- a/v2/cards/cache.json +++ b/v2/cards/cache.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "cache", "influence_cost": 1, diff --git a/v2/cards/caduceus.json b/v2/cards/caduceus.json index ba2d7f93d..3caf5a0b4 100644 --- a/v2/cards/caduceus.json +++ b/v2/cards/caduceus.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "caduceus", "influence_cost": 2, diff --git a/v2/cards/caldera.json b/v2/cards/caldera.json index 403b97e7d..4cbbe3990 100644 --- a/v2/cards/caldera.json +++ b/v2/cards/caldera.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "caldera", "influence_cost": 1, diff --git a/v2/cards/calibration_testing.json b/v2/cards/calibration_testing.json index 55c623b52..5fece01ff 100644 --- a/v2/cards/calibration_testing.json +++ b/v2/cards/calibration_testing.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "calibration_testing", "influence_cost": 3, diff --git a/v2/cards/calling_in_favors.json b/v2/cards/calling_in_favors.json index 601754db8..216de82f9 100644 --- a/v2/cards/calling_in_favors.json +++ b/v2/cards/calling_in_favors.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "calling_in_favors", "influence_cost": 1, diff --git a/v2/cards/calvin_b4l3y.json b/v2/cards/calvin_b4l3y.json index dd15e4f2b..da5a12cb8 100644 --- a/v2/cards/calvin_b4l3y.json +++ b/v2/cards/calvin_b4l3y.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "calvin_b4l3y", "influence_cost": 1, @@ -10,7 +11,7 @@ "stripped_text": "click: Draw 2 cards. Use this ability only once per turn. When the Runner trashes this asset, you may draw 2 cards.", "stripped_title": "Calvin B4L3Y", "subtypes": ["bioroid"], - "text": "[click]: Draw 2 cards. Use this ability only once per turn.\nWhen the Runner trashes this asset, you may draw 2 cards.", + "text": "[click]: Draw 2 cards. Use this ability only once per turn.\nWhen the Runner trashes this asset, you may draw 2 cards.", "title": "Calvin B4L3Y", "trash_cost": 3 } diff --git a/v2/cards/capital_investors.json b/v2/cards/capital_investors.json index a9710ab3a..3d2acd2e3 100644 --- a/v2/cards/capital_investors.json +++ b/v2/cards/capital_investors.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "capital_investors", "influence_cost": 2, diff --git a/v2/cards/caprice_nisei.json b/v2/cards/caprice_nisei.json index d0081648f..cff107648 100644 --- a/v2/cards/caprice_nisei.json +++ b/v2/cards/caprice_nisei.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "caprice_nisei", "influence_cost": 4, diff --git a/v2/cards/capstone.json b/v2/cards/capstone.json index 8b646dd2d..6f1073b3e 100644 --- a/v2/cards/capstone.json +++ b/v2/cards/capstone.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "capstone", "influence_cost": 3, diff --git a/v2/cards/captain_padma_isbister_intrepid_explorer.json b/v2/cards/captain_padma_isbister_intrepid_explorer.json index 90c7890fd..6d7166127 100644 --- a/v2/cards/captain_padma_isbister_intrepid_explorer.json +++ b/v2/cards/captain_padma_isbister_intrepid_explorer.json @@ -2,11 +2,11 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "captain_padma_isbister_intrepid_explorer", "influence_limit": 15, "is_unique": false, - "memory_cost": 4, "minimum_deck_size": 45, "pronouns": "she/her", "side_id": "runner", diff --git a/v2/cards/capybara.json b/v2/cards/capybara.json new file mode 100644 index 000000000..efdd5eb52 --- /dev/null +++ b/v2/cards/capybara.json @@ -0,0 +1,15 @@ +{ + "card_type_id": "hardware", + "cost": 2, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "criminal", + "id": "capybara", + "influence_cost": 2, + "is_unique": true, + "side_id": "runner", + "stripped_text": "Whenever you bypass a piece of ice, you may remove this hardware from the game to derez that ice.", + "stripped_title": "Capybara", + "text": "Whenever you bypass a piece of ice, you may remove this hardware from the game to derez that ice.", + "title": "Capybara" +} diff --git a/v2/cards/career_fair.json b/v2/cards/career_fair.json index 5a061b009..fd75b9412 100644 --- a/v2/cards/career_fair.json +++ b/v2/cards/career_fair.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "career_fair", "influence_cost": 1, diff --git a/v2/cards/careful_planning.json b/v2/cards/careful_planning.json index bfcde1e57..88c3edf46 100644 --- a/v2/cards/careful_planning.json +++ b/v2/cards/careful_planning.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "careful_planning", "influence_cost": 4, diff --git a/v2/cards/carmen.json b/v2/cards/carmen.json index f4e9ef889..48978c89e 100644 --- a/v2/cards/carmen.json +++ b/v2/cards/carmen.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 5, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "criminal", "id": "carmen", "influence_cost": 2, diff --git a/v2/cards/carnivore.json b/v2/cards/carnivore.json index 22760b0a0..0f9faebd2 100644 --- a/v2/cards/carnivore.json +++ b/v2/cards/carnivore.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 4, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "carnivore", "influence_cost": 3, diff --git a/v2/cards/carpe_diem.json b/v2/cards/carpe_diem.json index baaced19d..dcd3a5cb4 100644 --- a/v2/cards/carpe_diem.json +++ b/v2/cards/carpe_diem.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "criminal", "id": "carpe_diem", "influence_cost": 2, diff --git a/v2/cards/casting_call.json b/v2/cards/casting_call.json index fd27b764a..9916addc6 100644 --- a/v2/cards/casting_call.json +++ b/v2/cards/casting_call.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "casting_call", "influence_cost": 2, diff --git a/v2/cards/cats_cradle.json b/v2/cards/cats_cradle.json index cdc0d3d88..a6538452e 100644 --- a/v2/cards/cats_cradle.json +++ b/v2/cards/cats_cradle.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "criminal", "id": "cats_cradle", "influence_cost": 2, diff --git a/v2/cards/cayambe_grid.json b/v2/cards/cayambe_grid.json index 6469769d1..dfaa5d88c 100644 --- a/v2/cards/cayambe_grid.json +++ b/v2/cards/cayambe_grid.json @@ -2,15 +2,16 @@ "card_type_id": "upgrade", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "weyland_consortium", "id": "cayambe_grid", "influence_cost": 3, "is_unique": false, "side_id": "corp", - "stripped_text": "When your turn begins, place 1 advancement token on a piece of ice protecting this server. Whenever the Runner approaches this server, end the run unless they pay 2 credits for each advanced piece of ice protecting this server. Limit 1 region per server.", + "stripped_text": "When your turn begins, place 1 advancement counter on a piece of ice protecting this server. Whenever the Runner approaches this server, end the run unless they pay 2 credits for each advanced piece of ice protecting this server. Limit 1 region per server.", "stripped_title": "Cayambe Grid", "subtypes": ["region"], - "text": "When your turn begins, place 1 advancement token on a piece of ice protecting this server.\nWhenever the Runner approaches this server, end the run unless they pay 2[credit] for each advanced piece of ice protecting this server.\nLimit 1 region per server.", + "text": "When your turn begins, place 1 advancement counter on a piece of ice protecting this server.\nWhenever the Runner approaches this server, end the run unless they pay 2[credit] for each advanced piece of ice protecting this server.\nLimit 1 region per server.", "title": "Cayambe Grid", "trash_cost": 3 } diff --git a/v2/cards/cbi_raid.json b/v2/cards/cbi_raid.json index 43857875c..3677ff6c7 100644 --- a/v2/cards/cbi_raid.json +++ b/v2/cards/cbi_raid.json @@ -3,6 +3,7 @@ "card_type_id": "event", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "cbi_raid", "influence_cost": 2, diff --git a/v2/cards/celebrity_gift.json b/v2/cards/celebrity_gift.json index de9bde95f..0bf168077 100644 --- a/v2/cards/celebrity_gift.json +++ b/v2/cards/celebrity_gift.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "celebrity_gift", "influence_cost": 3, diff --git a/v2/cards/cell_portal.json b/v2/cards/cell_portal.json index 90c34bffa..ed230e3fc 100644 --- a/v2/cards/cell_portal.json +++ b/v2/cards/cell_portal.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "cell_portal", "influence_cost": 2, diff --git a/v2/cards/cerberus_cuj_0_h3.json b/v2/cards/cerberus_cuj_0_h3.json index 4d05083ae..e35cc38f3 100644 --- a/v2/cards/cerberus_cuj_0_h3.json +++ b/v2/cards/cerberus_cuj_0_h3.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "cerberus_cuj_0_h3", "influence_cost": 3, diff --git a/v2/cards/cerberus_lady_h1.json b/v2/cards/cerberus_lady_h1.json index a148cea49..5a2ef1022 100644 --- a/v2/cards/cerberus_lady_h1.json +++ b/v2/cards/cerberus_lady_h1.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "cerberus_lady_h1", "influence_cost": 3, diff --git a/v2/cards/cerberus_rex_h2.json b/v2/cards/cerberus_rex_h2.json index ad4d0bf12..255ec1122 100644 --- a/v2/cards/cerberus_rex_h2.json +++ b/v2/cards/cerberus_rex_h2.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "cerberus_rex_h2", "influence_cost": 3, diff --git a/v2/cards/cerebral_cast.json b/v2/cards/cerebral_cast.json index 0e4cf9851..c69382073 100644 --- a/v2/cards/cerebral_cast.json +++ b/v2/cards/cerebral_cast.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "cerebral_cast", "influence_cost": 3, diff --git a/v2/cards/cerebral_imaging_infinite_frontiers.json b/v2/cards/cerebral_imaging_infinite_frontiers.json index f578afdb7..493f435e7 100644 --- a/v2/cards/cerebral_imaging_infinite_frontiers.json +++ b/v2/cards/cerebral_imaging_infinite_frontiers.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "cerebral_imaging_infinite_frontiers", "influence_limit": 15, diff --git a/v2/cards/cerebral_overwriter.json b/v2/cards/cerebral_overwriter.json index f60ac880e..24462443a 100644 --- a/v2/cards/cerebral_overwriter.json +++ b/v2/cards/cerebral_overwriter.json @@ -2,15 +2,16 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "cerebral_overwriter", "influence_cost": 2, "is_unique": false, "side_id": "corp", - "stripped_text": "You can advance this asset. When the Runner accesses this asset while it is installed, you may pay 3 credits. If you do, do 1 core damage for each hosted advancement counter.", + "stripped_text": "You can advance this asset. When the Runner accesses this asset while it is installed, you may pay 3 credits to do X core damage. X is equal to the number of hosted advancement counters.", "stripped_title": "Cerebral Overwriter", "subtypes": ["ambush"], - "text": "You can advance this asset.\nWhen the Runner accesses this asset while it is installed, you may pay 3[credit]. If you do, do 1 core damage for each hosted advancement counter.", + "text": "You can advance this asset.\nWhen the Runner accesses this asset while it is installed, you may pay 3[credit] to do X core damage. X is equal to the number of hosted advancement counters.", "title": "Cerebral Overwriter", "trash_cost": 0 } diff --git a/v2/cards/cerebral_static.json b/v2/cards/cerebral_static.json index d20c9d7be..df2c630c2 100644 --- a/v2/cards/cerebral_static.json +++ b/v2/cards/cerebral_static.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "cerebral_static", "influence_cost": 2, diff --git a/v2/cards/cezve.json b/v2/cards/cezve.json index ff004eed0..023ddf065 100644 --- a/v2/cards/cezve.json +++ b/v2/cards/cezve.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "criminal", "id": "cezve", "influence_cost": 3, diff --git a/v2/cards/cfc_excavation_contract.json b/v2/cards/cfc_excavation_contract.json index 400d21928..e5724eac3 100644 --- a/v2/cards/cfc_excavation_contract.json +++ b/v2/cards/cfc_excavation_contract.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "cfc_excavation_contract", "is_unique": false, diff --git a/v2/cards/chairman_hiro.json b/v2/cards/chairman_hiro.json index 7ab93e484..0c28e434a 100644 --- a/v2/cards/chairman_hiro.json +++ b/v2/cards/chairman_hiro.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "chairman_hiro", "influence_cost": 5, diff --git a/v2/cards/chakana.json b/v2/cards/chakana.json index 26463fbb2..3f845095c 100644 --- a/v2/cards/chakana.json +++ b/v2/cards/chakana.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "chakana", "influence_cost": 2, diff --git a/v2/cards/chameleon.json b/v2/cards/chameleon.json index fd50ceb4b..11d16eace 100644 --- a/v2/cards/chameleon.json +++ b/v2/cards/chameleon.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "chameleon", "influence_cost": 3, diff --git a/v2/cards/changeling.json b/v2/cards/changeling.json index aaf64130c..eba2996c0 100644 --- a/v2/cards/changeling.json +++ b/v2/cards/changeling.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "changeling", "influence_cost": 2, diff --git a/v2/cards/chaos_theory_wunderkind.json b/v2/cards/chaos_theory_wunderkind.json index 74ddac0d3..62fa18acc 100644 --- a/v2/cards/chaos_theory_wunderkind.json +++ b/v2/cards/chaos_theory_wunderkind.json @@ -2,6 +2,7 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "chaos_theory_wunderkind", "influence_limit": 15, diff --git a/v2/cards/character_assassination.json b/v2/cards/character_assassination.json index 7361eda89..c5b9d6ee9 100644 --- a/v2/cards/character_assassination.json +++ b/v2/cards/character_assassination.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "character_assassination", "is_unique": false, diff --git a/v2/cards/charlatan.json b/v2/cards/charlatan.json index a51a82972..45e34ccab 100644 --- a/v2/cards/charlatan.json +++ b/v2/cards/charlatan.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "charlatan", "influence_cost": 4, diff --git a/v2/cards/chastushka.json b/v2/cards/chastushka.json index d72ed3601..83be5232e 100644 --- a/v2/cards/chastushka.json +++ b/v2/cards/chastushka.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "chastushka", "influence_cost": 4, diff --git a/v2/cards/chatterjee_university.json b/v2/cards/chatterjee_university.json index 689067d52..ea55d26cf 100644 --- a/v2/cards/chatterjee_university.json +++ b/v2/cards/chatterjee_university.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "chatterjee_university", "influence_cost": 0, diff --git a/v2/cards/checkpoint.json b/v2/cards/checkpoint.json index 6570bc6e3..0c3a4db84 100644 --- a/v2/cards/checkpoint.json +++ b/v2/cards/checkpoint.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "checkpoint", "influence_cost": 2, diff --git a/v2/cards/chekist_scion.json b/v2/cards/chekist_scion.json index fe0834eec..4d6d7af19 100644 --- a/v2/cards/chekist_scion.json +++ b/v2/cards/chekist_scion.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "nbn", "id": "chekist_scion", "influence_cost": 2, diff --git a/v2/cards/chetana.json b/v2/cards/chetana.json index c4a96f240..d8c7eb20c 100644 --- a/v2/cards/chetana.json +++ b/v2/cards/chetana.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "chetana", "influence_cost": 2, diff --git a/v2/cards/chief_slee.json b/v2/cards/chief_slee.json index 3b492c4e6..cfb193879 100644 --- a/v2/cards/chief_slee.json +++ b/v2/cards/chief_slee.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "chief_slee", "influence_cost": 3, diff --git a/v2/cards/chilo_city_grid.json b/v2/cards/chilo_city_grid.json index b6792db99..f401e9a80 100644 --- a/v2/cards/chilo_city_grid.json +++ b/v2/cards/chilo_city_grid.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "chilo_city_grid", "influence_cost": 2, diff --git a/v2/cards/chimera.json b/v2/cards/chimera.json index a04bc290a..45fef9a1f 100644 --- a/v2/cards/chimera.json +++ b/v2/cards/chimera.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "chimera", "influence_cost": 0, diff --git a/v2/cards/chisel.json b/v2/cards/chisel.json index 6172cd0c5..442a83afc 100644 --- a/v2/cards/chisel.json +++ b/v2/cards/chisel.json @@ -2,15 +2,16 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "chisel", "influence_cost": 4, "is_unique": false, "memory_cost": 1, "side_id": "runner", - "stripped_text": "Install only on a piece of ice. Host ice gets -1 strength for each hosted virus counter. When you encounter host ice, if its strength is 0 or less, trash it. Otherwise, place 1 virus counter on this program.", + "stripped_text": "Install only on a piece of ice. Host ice gets -1 strength for each hosted virus counter. Whenever you encounter host ice, if its strength is 0 or less, trash it. Otherwise, place 1 virus counter on this program.", "stripped_title": "Chisel", "subtypes": ["virus", "trojan"], - "text": "Install only on a piece of ice.\nHost ice gets -1 strength for each hosted virus counter.\nWhen you encounter host ice, if its strength is 0 or less, trash it. Otherwise, place 1 virus counter on this program.", + "text": "Install only on a piece of ice.\nHost ice gets −1 strength for each hosted virus counter.\nWhenever you encounter host ice, if its strength is 0 or less, trash it. Otherwise, place 1 virus counter on this program.", "title": "Chisel" } diff --git a/v2/cards/chiyashi.json b/v2/cards/chiyashi.json index 7d3067731..c3c1ec95c 100644 --- a/v2/cards/chiyashi.json +++ b/v2/cards/chiyashi.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 12, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "chiyashi", "influence_cost": 2, diff --git a/v2/cards/chop_bot_3000.json b/v2/cards/chop_bot_3000.json index 3e8dc9bd9..ae43a0787 100644 --- a/v2/cards/chop_bot_3000.json +++ b/v2/cards/chop_bot_3000.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "chop_bot_3000", "influence_cost": 1, diff --git a/v2/cards/chrome_parlor.json b/v2/cards/chrome_parlor.json index ebe217894..14387f06a 100644 --- a/v2/cards/chrome_parlor.json +++ b/v2/cards/chrome_parlor.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "chrome_parlor", "influence_cost": 1, diff --git a/v2/cards/chronos_project.json b/v2/cards/chronos_project.json index 5beb32896..18f0a57db 100644 --- a/v2/cards/chronos_project.json +++ b/v2/cards/chronos_project.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "chronos_project", "influence_cost": 0, diff --git a/v2/cards/chronos_protocol_selective_mind_mapping.json b/v2/cards/chronos_protocol_selective_mind_mapping.json index c13a7f160..b490aaef1 100644 --- a/v2/cards/chronos_protocol_selective_mind_mapping.json +++ b/v2/cards/chronos_protocol_selective_mind_mapping.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "chronos_protocol_selective_mind_mapping", "influence_limit": 15, diff --git a/v2/cards/chrysalis.json b/v2/cards/chrysalis.json index a8ca149b6..182a6fb26 100644 --- a/v2/cards/chrysalis.json +++ b/v2/cards/chrysalis.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "chrysalis", "influence_cost": 2, diff --git a/v2/cards/chrysopoeian_skimming.json b/v2/cards/chrysopoeian_skimming.json new file mode 100644 index 000000000..d94291fbc --- /dev/null +++ b/v2/cards/chrysopoeian_skimming.json @@ -0,0 +1,15 @@ +{ + "card_type_id": "event", + "cost": 1, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "criminal", + "id": "chrysopoeian_skimming", + "influence_cost": 1, + "is_unique": false, + "side_id": "runner", + "stripped_text": "The Corp may reveal an agenda from HQ. If they do, gain click and draw 1 card. Otherwise, look at the top 3 cards of R&D.", + "stripped_title": "Chrysopoeian Skimming", + "text": "The Corp may reveal an agenda from HQ. If they do, gain [click] and draw 1 card. Otherwise, look at the top 3 cards of R&D.", + "title": "Chrysopoeian Skimming" +} diff --git a/v2/cards/chum.json b/v2/cards/chum.json index 03ee05cb8..9865fec72 100644 --- a/v2/cards/chum.json +++ b/v2/cards/chum.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "chum", "influence_cost": 1, diff --git a/v2/cards/citadel_sanctuary.json b/v2/cards/citadel_sanctuary.json index 689df346e..26d4ef4c6 100644 --- a/v2/cards/citadel_sanctuary.json +++ b/v2/cards/citadel_sanctuary.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "citadel_sanctuary", "influence_cost": 0, diff --git a/v2/cards/city_surveillance.json b/v2/cards/city_surveillance.json index 427da8374..0af432586 100644 --- a/v2/cards/city_surveillance.json +++ b/v2/cards/city_surveillance.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "city_surveillance", "influence_cost": 4, diff --git a/v2/cards/city_works_project.json b/v2/cards/city_works_project.json index 80527b18c..06b6543f0 100644 --- a/v2/cards/city_works_project.json +++ b/v2/cards/city_works_project.json @@ -3,6 +3,7 @@ "agenda_points": 3, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "city_works_project", "is_unique": false, diff --git a/v2/cards/clairvoyant_monitor.json b/v2/cards/clairvoyant_monitor.json index 41528157d..41c28fe5d 100644 --- a/v2/cards/clairvoyant_monitor.json +++ b/v2/cards/clairvoyant_monitor.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "clairvoyant_monitor", "influence_cost": 2, diff --git a/v2/cards/clan_vengeance.json b/v2/cards/clan_vengeance.json index 3b24ad8dd..9e640334a 100644 --- a/v2/cards/clan_vengeance.json +++ b/v2/cards/clan_vengeance.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "clan_vengeance", "influence_cost": 4, diff --git a/v2/cards/clearinghouse.json b/v2/cards/clearinghouse.json index 4249c148d..a3b9e6409 100644 --- a/v2/cards/clearinghouse.json +++ b/v2/cards/clearinghouse.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "weyland_consortium", "id": "clearinghouse", "influence_cost": 3, diff --git a/v2/cards/cleaver.json b/v2/cards/cleaver.json index 2cde07e46..7ff06f959 100644 --- a/v2/cards/cleaver.json +++ b/v2/cards/cleaver.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "cleaver", "influence_cost": 2, diff --git a/v2/cards/climactic_showdown.json b/v2/cards/climactic_showdown.json index e6724a5b1..d1d6645f2 100644 --- a/v2/cards/climactic_showdown.json +++ b/v2/cards/climactic_showdown.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "climactic_showdown", "influence_cost": 5, diff --git a/v2/cards/cloak.json b/v2/cards/cloak.json index 11c6feb9c..8388cf5c9 100644 --- a/v2/cards/cloak.json +++ b/v2/cards/cloak.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "cloak", "influence_cost": 2, diff --git a/v2/cards/clone_chip.json b/v2/cards/clone_chip.json index 184f24735..153bec875 100644 --- a/v2/cards/clone_chip.json +++ b/v2/cards/clone_chip.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "clone_chip", "influence_cost": 2, diff --git a/v2/cards/clone_retirement.json b/v2/cards/clone_retirement.json index d7742ecca..cc3d10810 100644 --- a/v2/cards/clone_retirement.json +++ b/v2/cards/clone_retirement.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "clone_retirement", "is_unique": false, diff --git a/v2/cards/clone_suffrage_movement.json b/v2/cards/clone_suffrage_movement.json index 329ec03ad..86c53ef89 100644 --- a/v2/cards/clone_suffrage_movement.json +++ b/v2/cards/clone_suffrage_movement.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "clone_suffrage_movement", "influence_cost": 2, diff --git a/v2/cards/clones_are_not_people.json b/v2/cards/clones_are_not_people.json index d68baaa94..5ab98d272 100644 --- a/v2/cards/clones_are_not_people.json +++ b/v2/cards/clones_are_not_people.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "clones_are_not_people", "influence_cost": 3, diff --git a/v2/cards/closed_accounts.json b/v2/cards/closed_accounts.json index 51e86c5d8..e0116392f 100644 --- a/v2/cards/closed_accounts.json +++ b/v2/cards/closed_accounts.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "closed_accounts", "influence_cost": 1, diff --git a/v2/cards/clot.json b/v2/cards/clot.json index 38ea2e650..38e39a708 100644 --- a/v2/cards/clot.json +++ b/v2/cards/clot.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "clot", "influence_cost": 2, diff --git a/v2/cards/clyde_van_rite.json b/v2/cards/clyde_van_rite.json index c8e3f3942..e1087a866 100644 --- a/v2/cards/clyde_van_rite.json +++ b/v2/cards/clyde_van_rite.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "clyde_van_rite", "influence_cost": 2, diff --git a/v2/cards/cobra.json b/v2/cards/cobra.json index d60f68667..2e3c58ece 100644 --- a/v2/cards/cobra.json +++ b/v2/cards/cobra.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "cobra", "influence_cost": 0, diff --git a/v2/cards/code_replicator.json b/v2/cards/code_replicator.json index d26d3d07a..29b2c4907 100644 --- a/v2/cards/code_replicator.json +++ b/v2/cards/code_replicator.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "code_replicator", "influence_cost": 2, diff --git a/v2/cards/code_siphon.json b/v2/cards/code_siphon.json index 2a533f3a8..bd0c60b12 100644 --- a/v2/cards/code_siphon.json +++ b/v2/cards/code_siphon.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "code_siphon", "influence_cost": 4, diff --git a/v2/cards/cold_read.json b/v2/cards/cold_read.json index be95bad65..eadcd5d8a 100644 --- a/v2/cards/cold_read.json +++ b/v2/cards/cold_read.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "cold_read", "influence_cost": 1, diff --git a/v2/cards/cold_site_server.json b/v2/cards/cold_site_server.json index b33c6e9ca..a15bf68b6 100644 --- a/v2/cards/cold_site_server.json +++ b/v2/cards/cold_site_server.json @@ -2,15 +2,16 @@ "card_type_id": "upgrade", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "cold_site_server", "influence_cost": 3, "is_unique": false, "side_id": "corp", - "stripped_text": "click: Place 1 power counter on this upgrade. As an additional cost to run this server, the Runner must spend 1click and 1 credit for each hosted power counter. When your turn begins, remove all hosted power counters.", + "stripped_text": "click: Place 1 power counter on this upgrade. As an additional cost to run this server, the Runner must spend click and 1 credit for each hosted power counter. When your turn begins, remove all hosted power counters.", "stripped_title": "Cold Site Server", "subtypes": ["facility"], - "text": "[click]: Place 1 power counter on this upgrade.\nAs an additional cost to run this server, the Runner must spend 1[click] and 1[credit] for each hosted power counter.\nWhen your turn begins, remove all hosted power counters.", + "text": "[click]: Place 1 power counter on this upgrade.\nAs an additional cost to run this server, the Runner must spend [click] and 1[credit] for each hosted power counter.\nWhen your turn begins, remove all hosted power counters.", "title": "Cold Site Server", "trash_cost": 3 } diff --git a/v2/cards/collective_consciousness.json b/v2/cards/collective_consciousness.json index 022d3cd0b..3c7d1ccb9 100644 --- a/v2/cards/collective_consciousness.json +++ b/v2/cards/collective_consciousness.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "collective_consciousness", "influence_cost": 2, diff --git a/v2/cards/colossus.json b/v2/cards/colossus.json index fb2b39ff6..71006f450 100644 --- a/v2/cards/colossus.json +++ b/v2/cards/colossus.json @@ -2,15 +2,16 @@ "card_type_id": "ice", "cost": 6, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "weyland_consortium", "id": "colossus", "influence_cost": 2, "is_unique": false, "side_id": "corp", "strength": 4, - "stripped_text": "You can advance this ice. It has +1 strength for each hosted advancement token. Subroutine Give the Runner 1 tag. If there are 3 or more hosted advancement tokens, instead give the Runner 2 tags. Subroutine Trash 1 installed program. If there are 3 or more hosted advancement tokens, instead trash 1 installed program and 1 installed resource.", + "stripped_text": "You can advance this ice. It gets +1 strength for each hosted advancement counter. Subroutine Give the Runner 1 tag. If there are 3 or more hosted advancement counters, instead give the Runner 2 tags. Subroutine Trash 1 installed program. If there are 3 or more hosted advancement counters, instead trash 1 installed program and 1 installed resource.", "stripped_title": "Colossus", "subtypes": ["sentry", "destroyer"], - "text": "You can advance this ice. It has +1 strength for each hosted advancement token.\n[subroutine] Give the Runner 1 tag. If there are 3 or more hosted advancement tokens, instead give the Runner 2 tags.\n[subroutine] Trash 1 installed program. If there are 3 or more hosted advancement tokens, instead trash 1 installed program and 1 installed resource.", + "text": "You can advance this ice. It gets +1 strength for each hosted advancement counter.\n[subroutine] Give the Runner 1 tag. If there are 3 or more hosted advancement counters, instead give the Runner 2 tags.\n[subroutine] Trash 1 installed program. If there are 3 or more hosted advancement counters, instead trash 1 installed program and 1 installed resource.", "title": "Colossus" } diff --git a/v2/cards/comet.json b/v2/cards/comet.json index 3f250492e..bc9cbe20c 100644 --- a/v2/cards/comet.json +++ b/v2/cards/comet.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "comet", "influence_cost": 2, diff --git a/v2/cards/commercial_bankers_group.json b/v2/cards/commercial_bankers_group.json index 93b82a0a1..501aff56e 100644 --- a/v2/cards/commercial_bankers_group.json +++ b/v2/cards/commercial_bankers_group.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "commercial_bankers_group", "influence_cost": 2, diff --git a/v2/cards/commercialization.json b/v2/cards/commercialization.json index ec6a8e8a1..81b283d3c 100644 --- a/v2/cards/commercialization.json +++ b/v2/cards/commercialization.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "commercialization", "influence_cost": 1, diff --git a/v2/cards/compile.json b/v2/cards/compile.json index b2af81974..956a8d49f 100644 --- a/v2/cards/compile.json +++ b/v2/cards/compile.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "compile", "influence_cost": 3, diff --git a/v2/cards/complete_image.json b/v2/cards/complete_image.json index 39cee82c0..3f2c2d8e6 100644 --- a/v2/cards/complete_image.json +++ b/v2/cards/complete_image.json @@ -2,15 +2,16 @@ "card_type_id": "operation", "cost": 4, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "complete_image", "influence_cost": 4, "is_unique": false, "side_id": "corp", - "stripped_text": "After you resolve this operation, your action phase ends. Play only if the Runner has 3 or more agenda points and they made a successful run during their last turn. Name a card, then do 1 net damage. If you trash a copy of the named card, repeat this process.", + "stripped_text": "Play only if the Runner has 3 or more agenda points and they made a successful run during their last turn. After you resolve this operation, your action phase ends. Choose a card name, then do 1 net damage. If you trash a card with the chosen name this way, repeat this process.", "stripped_title": "Complete Image", "subtypes": ["terminal", "gray_ops"], - "text": "After you resolve this operation, your action phase ends.\nPlay only if the Runner has 3 or more agenda points and they made a successful run during their last turn.\nName a card, then do 1 net damage. If you trash a copy of the named card, repeat this process.", + "text": "Play only if the Runner has 3 or more agenda points and they made a successful run during their last turn.\nAfter you resolve this operation, your action phase ends.\nChoose a card name, then do 1 net damage. If you trash a card with the chosen name this way, repeat this process.", "title": "Complete Image", "trash_cost": 2 } diff --git a/v2/cards/compromised_employee.json b/v2/cards/compromised_employee.json index 819cfd0e4..77180f7df 100644 --- a/v2/cards/compromised_employee.json +++ b/v2/cards/compromised_employee.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "compromised_employee", "influence_cost": 1, diff --git a/v2/cards/concerto.json b/v2/cards/concerto.json index 299d185c2..46a032fc0 100644 --- a/v2/cards/concerto.json +++ b/v2/cards/concerto.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "criminal", "id": "concerto", "influence_cost": 2, diff --git a/v2/cards/conduit.json b/v2/cards/conduit.json index 85c733eed..a0a95e021 100644 --- a/v2/cards/conduit.json +++ b/v2/cards/conduit.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 4, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "conduit", "influence_cost": 4, diff --git a/v2/cards/congratulations.json b/v2/cards/congratulations.json index 186b61f73..90eac2941 100644 --- a/v2/cards/congratulations.json +++ b/v2/cards/congratulations.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "nbn", "id": "congratulations", "influence_cost": 2, @@ -11,6 +12,6 @@ "stripped_text": "When the Runner passes this ice, gain 1 credit. Subroutine Gain 2 credits. The Runner gains 1 credit.", "stripped_title": "Congratulations!", "subtypes": ["code_gate", "advertisement"], - "text": "When the Runner passes this ice, gain 1[credit].\n[subroutine]Gain 2[credit]. The Runner gains 1[credit].", + "text": "When the Runner passes this ice, gain 1[credit].\n[subroutine] Gain 2[credit]. The Runner gains 1[credit].", "title": "Congratulations!" } diff --git a/v2/cards/constellation_protocol.json b/v2/cards/constellation_protocol.json index 1bc3bb886..faa1cd213 100644 --- a/v2/cards/constellation_protocol.json +++ b/v2/cards/constellation_protocol.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "constellation_protocol", "influence_cost": 2, diff --git a/v2/cards/consulting_visit.json b/v2/cards/consulting_visit.json index 997b3a033..cbce9f7e1 100644 --- a/v2/cards/consulting_visit.json +++ b/v2/cards/consulting_visit.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "consulting_visit", "influence_cost": 3, diff --git a/v2/cards/consume.json b/v2/cards/consume.json index 9b7a778a2..7b430672c 100644 --- a/v2/cards/consume.json +++ b/v2/cards/consume.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "apex", "id": "consume", "influence_cost": 5, diff --git a/v2/cards/contaminate.json b/v2/cards/contaminate.json index addb65fa2..b72c14b54 100644 --- a/v2/cards/contaminate.json +++ b/v2/cards/contaminate.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "contaminate", "influence_cost": 1, diff --git a/v2/cards/contract_killer.json b/v2/cards/contract_killer.json index 215b5f5ee..58766eb7f 100644 --- a/v2/cards/contract_killer.json +++ b/v2/cards/contract_killer.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "contract_killer", "influence_cost": 4, diff --git a/v2/cards/conundrum.json b/v2/cards/conundrum.json index f86e4bebf..6e45f7b9e 100644 --- a/v2/cards/conundrum.json +++ b/v2/cards/conundrum.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 8, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "conundrum", "influence_cost": 0, diff --git a/v2/cards/cookbook.json b/v2/cards/cookbook.json index 283c2db20..712ae423c 100644 --- a/v2/cards/cookbook.json +++ b/v2/cards/cookbook.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "cookbook", "influence_cost": 3, diff --git a/v2/cards/copycat.json b/v2/cards/copycat.json index 7e914de4d..0efbf5545 100644 --- a/v2/cards/copycat.json +++ b/v2/cards/copycat.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "copycat", "influence_cost": 1, diff --git a/v2/cards/cordyceps.json b/v2/cards/cordyceps.json index 67fe33ba5..8953db684 100644 --- a/v2/cards/cordyceps.json +++ b/v2/cards/cordyceps.json @@ -2,15 +2,16 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "cordyceps", "influence_cost": 4, "is_unique": false, "memory_cost": 1, "side_id": "runner", - "stripped_text": "When you install this program, place 2 virus counters on it. Whenever you make a successful run on a central server, you may remove 1 hosted virus counter to swap a piece of ice protecting that server with another installed piece of ice. Use this ability only once per turn.", + "stripped_text": "When you install this program, place 2 virus counters on it. Whenever you make a successful run on a central server, you may remove 1 hosted virus counter to swap 1 piece of ice protecting that server with another installed piece of ice. Use this ability only once per turn.", "stripped_title": "Cordyceps", "subtypes": ["virus"], - "text": "When you install this program, place 2 virus counters on it.\nWhenever you make a successful run on a central server, you may remove 1 hosted virus counter to swap a piece of ice protecting that server with another installed piece of ice. Use this ability only once per turn.", + "text": "When you install this program, place 2 virus counters on it.\nWhenever you make a successful run on a central server, you may remove 1 hosted virus counter to swap 1 piece of ice protecting that server with another installed piece of ice. Use this ability only once per turn.", "title": "Cordyceps" } diff --git a/v2/cards/corporate_defector.json b/v2/cards/corporate_defector.json index 6f0a70404..822937f29 100644 --- a/v2/cards/corporate_defector.json +++ b/v2/cards/corporate_defector.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "corporate_defector", "influence_cost": 0, diff --git a/v2/cards/corporate_grant.json b/v2/cards/corporate_grant.json index b51fd87ee..44155ef50 100644 --- a/v2/cards/corporate_grant.json +++ b/v2/cards/corporate_grant.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "corporate_grant", "influence_cost": 3, diff --git a/v2/cards/corporate_oversight.json b/v2/cards/corporate_oversight.json index 9fa3762f3..3bf6c7a02 100644 --- a/v2/cards/corporate_oversight.json +++ b/v2/cards/corporate_oversight.json @@ -3,21 +3,22 @@ "agenda_points": 0, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", + "faces": [ + { + "stripped_text": "When you score Corporate Oversight, you may search R&D for a piece of ice. Install and rez it protecting a central server, ignoring all costs. Shuffle R&D. If you win a game with Corporate Oversight in your score area, destroy it.", + "text": "When you score Corporate Oversight, you may search R&D for a piece of ice. Install and rez it protecting a central server, ignoring all costs. Shuffle R&D.\nIf you win a game with Corporate Oversight in your score area, destroy it." + } + ], "faction_id": "neutral_corp", "id": "corporate_oversight", "influence_cost": 0, "is_unique": false, + "layout_id": "copy", "side_id": "corp", "stripped_text": "When you score Corporate Oversight, you may search R&D for a piece of ice. Install and rez it protecting a remote server, ignoring all costs. Shuffle R&D. If you win a game with Corporate Oversight in your score area, destroy it.", "stripped_title": "Corporate Oversight", "subtypes": ["initiative"], "text": "When you score Corporate Oversight, you may search R&D for a piece of ice. Install and rez it protecting a remote server, ignoring all costs. Shuffle R&D.\nIf you win a game with Corporate Oversight in your score area, destroy it.", - "title": "Corporate Oversight", - "layout_id": "copy", - "faces": [ - { - "stripped_text": "When you score Corporate Oversight, you may search R&D for a piece of ice. Install and rez it protecting a central server, ignoring all costs. Shuffle R&D. If you win a game with Corporate Oversight in your score area, destroy it.", - "text": "When you score Corporate Oversight, you may search R&D for a piece of ice. Install and rez it protecting a central server, ignoring all costs. Shuffle R&D.\nIf you win a game with Corporate Oversight in your score area, destroy it." - } - ] + "title": "Corporate Oversight" } diff --git a/v2/cards/corporate_sales_team.json b/v2/cards/corporate_sales_team.json index 6c6b442cd..fcca270d9 100644 --- a/v2/cards/corporate_sales_team.json +++ b/v2/cards/corporate_sales_team.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "corporate_sales_team", "influence_cost": 0, diff --git a/v2/cards/corporate_scandal.json b/v2/cards/corporate_scandal.json index 9b69a45a6..6c1882f8f 100644 --- a/v2/cards/corporate_scandal.json +++ b/v2/cards/corporate_scandal.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "corporate_scandal", "influence_cost": 1, diff --git a/v2/cards/corporate_shuffle.json b/v2/cards/corporate_shuffle.json index beb706c04..63477b80b 100644 --- a/v2/cards/corporate_shuffle.json +++ b/v2/cards/corporate_shuffle.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "corporate_shuffle", "influence_cost": 2, diff --git a/v2/cards/corporate_town.json b/v2/cards/corporate_town.json index 6662ac027..2b751ecfc 100644 --- a/v2/cards/corporate_town.json +++ b/v2/cards/corporate_town.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "corporate_town", "influence_cost": 2, diff --git a/v2/cards/corporate_troubleshooter.json b/v2/cards/corporate_troubleshooter.json index 065e26ae2..67e1d0e14 100644 --- a/v2/cards/corporate_troubleshooter.json +++ b/v2/cards/corporate_troubleshooter.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "corporate_troubleshooter", "influence_cost": 1, @@ -9,7 +10,7 @@ "side_id": "corp", "stripped_text": "X credits, trash: Choose 1 rezzed piece of ice protecting this server. That ice gets +X strength for the remainder of the turn.", "stripped_title": "Corporate Troubleshooter", - "text": "X[credit], [trash]: Choose 1 rezzed piece of ice protecting this server. That ice gets +X strength for the remainder of the turn.", + "text": "X[credit], [trash]: Choose 1 rezzed piece of ice protecting this server. That ice gets +X strength for the remainder of the turn.", "title": "Corporate Troubleshooter", "trash_cost": 2 } diff --git a/v2/cards/corporate_war.json b/v2/cards/corporate_war.json index 5240615ca..84b17a805 100644 --- a/v2/cards/corporate_war.json +++ b/v2/cards/corporate_war.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "corporate_war", "influence_cost": 0, diff --git a/v2/cards/corroder.json b/v2/cards/corroder.json index b43bf5e6a..05586b440 100644 --- a/v2/cards/corroder.json +++ b/v2/cards/corroder.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "corroder", "influence_cost": 2, diff --git a/v2/cards/cortex_lock.json b/v2/cards/cortex_lock.json index ba0231984..cb145401f 100644 --- a/v2/cards/cortex_lock.json +++ b/v2/cards/cortex_lock.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "cortex_lock", "influence_cost": 2, diff --git a/v2/cards/cortez_chip.json b/v2/cards/cortez_chip.json index d3b273b0a..717b3898e 100644 --- a/v2/cards/cortez_chip.json +++ b/v2/cards/cortez_chip.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "cortez_chip", "influence_cost": 2, diff --git a/v2/cards/councilman.json b/v2/cards/councilman.json index e41370e05..022a51133 100644 --- a/v2/cards/councilman.json +++ b/v2/cards/councilman.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "councilman", "influence_cost": 0, diff --git a/v2/cards/counter_surveillance.json b/v2/cards/counter_surveillance.json index 823de8ac6..e6329d991 100644 --- a/v2/cards/counter_surveillance.json +++ b/v2/cards/counter_surveillance.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "counter_surveillance", "influence_cost": 3, diff --git a/v2/cards/cpc_generator.json b/v2/cards/cpc_generator.json index 851758fbe..faa17dd0a 100644 --- a/v2/cards/cpc_generator.json +++ b/v2/cards/cpc_generator.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "cpc_generator", "influence_cost": 3, diff --git a/v2/cards/cradle.json b/v2/cards/cradle.json index afd4fce48..c9bf01622 100644 --- a/v2/cards/cradle.json +++ b/v2/cards/cradle.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "cradle", "influence_cost": 3, diff --git a/v2/cards/crash_space.json b/v2/cards/crash_space.json index 38ae666b9..7e24957c9 100644 --- a/v2/cards/crash_space.json +++ b/v2/cards/crash_space.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "crash_space", "influence_cost": 2, diff --git a/v2/cards/creative_commission.json b/v2/cards/creative_commission.json index 576bc11f9..e9e4ba72d 100644 --- a/v2/cards/creative_commission.json +++ b/v2/cards/creative_commission.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "creative_commission", "influence_cost": 2, diff --git a/v2/cards/credit_crash.json b/v2/cards/credit_crash.json index efe765300..85427017e 100644 --- a/v2/cards/credit_crash.json +++ b/v2/cards/credit_crash.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "credit_crash", "influence_cost": 1, diff --git a/v2/cards/credit_kiting.json b/v2/cards/credit_kiting.json index 7c77e65cb..db654059c 100644 --- a/v2/cards/credit_kiting.json +++ b/v2/cards/credit_kiting.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "credit_kiting", "influence_cost": 3, diff --git a/v2/cards/creeper.json b/v2/cards/creeper.json index 8ca10cb7b..1d85cd63d 100644 --- a/v2/cards/creeper.json +++ b/v2/cards/creeper.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "creeper", "influence_cost": 1, diff --git a/v2/cards/crescentus.json b/v2/cards/crescentus.json index 5fec66801..dac0c70c7 100644 --- a/v2/cards/crescentus.json +++ b/v2/cards/crescentus.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "crescentus", "influence_cost": 1, diff --git a/v2/cards/crick.json b/v2/cards/crick.json index bfa9f4266..456a3a2e6 100644 --- a/v2/cards/crick.json +++ b/v2/cards/crick.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "crick", "influence_cost": 3, diff --git a/v2/cards/crisis_management.json b/v2/cards/crisis_management.json index 9d668e0d7..66fa781d5 100644 --- a/v2/cards/crisis_management.json +++ b/v2/cards/crisis_management.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "crisis_management", "is_unique": false, diff --git a/v2/cards/crisium_grid.json b/v2/cards/crisium_grid.json index 3419c890a..86daba885 100644 --- a/v2/cards/crisium_grid.json +++ b/v2/cards/crisium_grid.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "crisium_grid", "influence_cost": 1, diff --git a/v2/cards/crowbar.json b/v2/cards/crowbar.json index 066f03e5f..5148fab61 100644 --- a/v2/cards/crowbar.json +++ b/v2/cards/crowbar.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "crowbar", "influence_cost": 2, diff --git a/v2/cards/crowdfunding.json b/v2/cards/crowdfunding.json index 85286f73e..cba2793ee 100644 --- a/v2/cards/crowdfunding.json +++ b/v2/cards/crowdfunding.json @@ -3,6 +3,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "crowdfunding", "influence_cost": 3, diff --git a/v2/cards/crypsis.json b/v2/cards/crypsis.json index 8fcc57c41..2687edd9b 100644 --- a/v2/cards/crypsis.json +++ b/v2/cards/crypsis.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "crypsis", "influence_cost": 0, diff --git a/v2/cards/crypt.json b/v2/cards/crypt.json index 6f9d9ce92..410f91dcc 100644 --- a/v2/cards/crypt.json +++ b/v2/cards/crypt.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "crypt", "influence_cost": 1, diff --git a/v2/cards/csr_campaign.json b/v2/cards/csr_campaign.json index 8122a28cc..039ca0075 100644 --- a/v2/cards/csr_campaign.json +++ b/v2/cards/csr_campaign.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "neutral_corp", "id": "csr_campaign", "influence_cost": 0, diff --git a/v2/cards/curtain_wall.json b/v2/cards/curtain_wall.json index 017e742d8..ea463691f 100644 --- a/v2/cards/curtain_wall.json +++ b/v2/cards/curtain_wall.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 14, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "curtain_wall", "influence_cost": 2, diff --git a/v2/cards/curupira.json b/v2/cards/curupira.json new file mode 100644 index 000000000..1a3689f09 --- /dev/null +++ b/v2/cards/curupira.json @@ -0,0 +1,18 @@ +{ + "card_type_id": "program", + "cost": 3, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "criminal", + "id": "curupira", + "influence_cost": 3, + "is_unique": false, + "memory_cost": 1, + "side_id": "runner", + "strength": 1, + "stripped_text": "Whenever you encounter a barrier, you may spend 3 hosted power counters to bypass it. Whenever this program fully breaks a piece of ice, place 1 power counter on this program. Interface -> 1 credit: Break 1 barrier subroutine. 1 credit: +1 strength.", + "stripped_title": "Curupira", + "subtypes": ["icebreaker", "fracter"], + "text": "Whenever you encounter a barrier, you may spend 3 hosted power counters to bypass it.\nWhenever this program fully breaks a piece of ice, place 1 power counter on this program.\nInterface → 1[credit]: Break 1 barrier subroutine.\n1[credit]: +1 strength.", + "title": "Curupira" +} diff --git a/v2/cards/custom_biotics_engineered_for_success.json b/v2/cards/custom_biotics_engineered_for_success.json index fcd40961f..80b19dad9 100644 --- a/v2/cards/custom_biotics_engineered_for_success.json +++ b/v2/cards/custom_biotics_engineered_for_success.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "custom_biotics_engineered_for_success", "influence_limit": 22, diff --git a/v2/cards/customized_secretary.json b/v2/cards/customized_secretary.json index f52b7d35c..b0835497d 100644 --- a/v2/cards/customized_secretary.json +++ b/v2/cards/customized_secretary.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "customized_secretary", "influence_cost": 2, diff --git a/v2/cards/cyber_bureau_keeping_the_peace.json b/v2/cards/cyber_bureau_keeping_the_peace.json index 2a8c7809d..1706b3312 100644 --- a/v2/cards/cyber_bureau_keeping_the_peace.json +++ b/v2/cards/cyber_bureau_keeping_the_peace.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "cyber_bureau_keeping_the_peace", "influence_limit": null, diff --git a/v2/cards/cyber_cypher.json b/v2/cards/cyber_cypher.json index 60e08dae6..ea36b6622 100644 --- a/v2/cards/cyber_cypher.json +++ b/v2/cards/cyber_cypher.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "cyber_cypher", "influence_cost": 3, diff --git a/v2/cards/cyber_threat.json b/v2/cards/cyber_threat.json index dcd9526e4..9066fba19 100644 --- a/v2/cards/cyber_threat.json +++ b/v2/cards/cyber_threat.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "cyber_threat", "influence_cost": 3, diff --git a/v2/cards/cyberdelia.json b/v2/cards/cyberdelia.json index 3e533d4d2..5effeea5d 100644 --- a/v2/cards/cyberdelia.json +++ b/v2/cards/cyberdelia.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "cyberdelia", "influence_cost": 3, diff --git a/v2/cards/cyberdex_sandbox.json b/v2/cards/cyberdex_sandbox.json index 58e4e8dec..7280e14dc 100644 --- a/v2/cards/cyberdex_sandbox.json +++ b/v2/cards/cyberdex_sandbox.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "neutral_corp", "id": "cyberdex_sandbox", "influence_cost": 0, diff --git a/v2/cards/cyberdex_trial.json b/v2/cards/cyberdex_trial.json index 2e90c5e33..87f09a67f 100644 --- a/v2/cards/cyberdex_trial.json +++ b/v2/cards/cyberdex_trial.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "cyberdex_trial", "influence_cost": 0, diff --git a/v2/cards/cyberdex_virus_suite.json b/v2/cards/cyberdex_virus_suite.json index 2e01e80f6..569803360 100644 --- a/v2/cards/cyberdex_virus_suite.json +++ b/v2/cards/cyberdex_virus_suite.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "cyberdex_virus_suite", "influence_cost": 0, diff --git a/v2/cards/cyberfeeder.json b/v2/cards/cyberfeeder.json index d890b547d..77bbe8d97 100644 --- a/v2/cards/cyberfeeder.json +++ b/v2/cards/cyberfeeder.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "cyberfeeder", "influence_cost": 1, diff --git a/v2/cards/cybernetics_court.json b/v2/cards/cybernetics_court.json index 48231aa26..1a8f270ce 100644 --- a/v2/cards/cybernetics_court.json +++ b/v2/cards/cybernetics_court.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "cybernetics_court", "influence_cost": 5, diff --git a/v2/cards/cybernetics_division_humanity_upgraded.json b/v2/cards/cybernetics_division_humanity_upgraded.json index 98dac0b19..b405290f2 100644 --- a/v2/cards/cybernetics_division_humanity_upgraded.json +++ b/v2/cards/cybernetics_division_humanity_upgraded.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "cybernetics_division_humanity_upgraded", "influence_limit": 15, diff --git a/v2/cards/cybersand_harvester.json b/v2/cards/cybersand_harvester.json new file mode 100644 index 000000000..84e41a5dc --- /dev/null +++ b/v2/cards/cybersand_harvester.json @@ -0,0 +1,16 @@ +{ + "card_type_id": "asset", + "cost": 2, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "weyland_consortium", + "id": "cybersand_harvester", + "influence_cost": 2, + "is_unique": false, + "side_id": "corp", + "stripped_text": "Whenever you rez a piece of ice, place 2 credits on this asset. You can spend hosted credits to pay install costs. trash: Take all credits from this asset.", + "stripped_title": "Cybersand Harvester", + "text": "Whenever you rez a piece of ice, place 2[credit] on this asset.\nYou can spend hosted credits to pay install costs.\n[trash]: Take all credits from this asset.", + "title": "Cybersand Harvester", + "trash_cost": 4 +} diff --git a/v2/cards/cybersolutions_mem_chip.json b/v2/cards/cybersolutions_mem_chip.json index 65bee348e..bed4d43d6 100644 --- a/v2/cards/cybersolutions_mem_chip.json +++ b/v2/cards/cybersolutions_mem_chip.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "cybersolutions_mem_chip", "influence_cost": 2, diff --git a/v2/cards/cybertrooper_talut.json b/v2/cards/cybertrooper_talut.json index 20ef31291..f613880b6 100644 --- a/v2/cards/cybertrooper_talut.json +++ b/v2/cards/cybertrooper_talut.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "cybertrooper_talut", "influence_cost": 2, diff --git a/v2/cards/cybsoft_macrodrive.json b/v2/cards/cybsoft_macrodrive.json index a06feefea..5f07d23b2 100644 --- a/v2/cards/cybsoft_macrodrive.json +++ b/v2/cards/cybsoft_macrodrive.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "cybsoft_macrodrive", "influence_cost": 1, diff --git a/v2/cards/d4v1d.json b/v2/cards/d4v1d.json index 365ff0ca2..0a881d8cd 100644 --- a/v2/cards/d4v1d.json +++ b/v2/cards/d4v1d.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "d4v1d", "influence_cost": 4, diff --git a/v2/cards/dadiana_chacon.json b/v2/cards/dadiana_chacon.json index 34debc3ac..b56b4aebe 100644 --- a/v2/cards/dadiana_chacon.json +++ b/v2/cards/dadiana_chacon.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "dadiana_chacon", "influence_cost": 0, diff --git a/v2/cards/daeg_first_net_cat.json b/v2/cards/daeg_first_net_cat.json index 6a031076f..5c1b2b6b4 100644 --- a/v2/cards/daeg_first_net_cat.json +++ b/v2/cards/daeg_first_net_cat.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "daeg_first_net_cat", "influence_cost": 2, diff --git a/v2/cards/dagger.json b/v2/cards/dagger.json index 929e77252..639013470 100644 --- a/v2/cards/dagger.json +++ b/v2/cards/dagger.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "dagger", "influence_cost": 2, diff --git a/v2/cards/dai_v.json b/v2/cards/dai_v.json index 4ca0bafa6..f2df378a6 100644 --- a/v2/cards/dai_v.json +++ b/v2/cards/dai_v.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 6, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "dai_v", "influence_cost": 3, diff --git a/v2/cards/daily_business_show.json b/v2/cards/daily_business_show.json index 6a4484941..9c46928ac 100644 --- a/v2/cards/daily_business_show.json +++ b/v2/cards/daily_business_show.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "daily_business_show", "influence_cost": 1, diff --git a/v2/cards/daily_casts.json b/v2/cards/daily_casts.json index f0f314992..c355f33f4 100644 --- a/v2/cards/daily_casts.json +++ b/v2/cards/daily_casts.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "neutral_runner", "id": "daily_casts", "influence_cost": 0, diff --git a/v2/cards/daily_quest.json b/v2/cards/daily_quest.json index 5f17d6c88..95de80c10 100644 --- a/v2/cards/daily_quest.json +++ b/v2/cards/daily_quest.json @@ -2,14 +2,15 @@ "card_type_id": "asset", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "nbn", "id": "daily_quest", "influence_cost": 3, "is_unique": false, "side_id": "corp", - "stripped_text": "Rez only during your action phase. Whenever the Runner makes a successful run on this server, they gain 2 credits. When your turn begins, gain 3 credits if the Runner did not make any successful runs on this server during their last turn.", + "stripped_text": "Rez only during your action phase. Whenever the Runner makes a successful run on this server, they gain 2 credits. When your turn begins, if the Runner did not make a successful run on this server during their last turn, gain 3 credits.", "stripped_title": "Daily Quest", - "text": "Rez only during your action phase.\nWhenever the Runner makes a successful run on this server, they gain 2[credit].\nWhen your turn begins, gain 3[credit] if the Runner did not make any successful runs on this server during their last turn.", + "text": "Rez only during your action phase.\nWhenever the Runner makes a successful run on this server, they gain 2[credit].\nWhen your turn begins, if the Runner did not make a successful run on this server during their last turn, gain 3[credit].", "title": "Daily Quest", "trash_cost": 3 } diff --git a/v2/cards/daniela_jorge_inacio.json b/v2/cards/daniela_jorge_inacio.json new file mode 100644 index 000000000..812ec53af --- /dev/null +++ b/v2/cards/daniela_jorge_inacio.json @@ -0,0 +1,17 @@ +{ + "card_type_id": "upgrade", + "cost": 2, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "jinteki", + "id": "daniela_jorge_inacio", + "influence_cost": 3, + "is_unique": true, + "side_id": "corp", + "stripped_text": "As an additional cost to trash this upgrade, the Runner must add 2 cards from the grip at random to the bottom of the stack. Persistent -> As an additional cost to steal an agenda from this server or its root, the Runner must add 2 cards from the grip at random to the bottom of the stack.", + "stripped_title": "Daniela Jorge Inacio", + "subtypes": ["sysop"], + "text": "As an additional cost to trash this upgrade, the Runner must add 2 cards from the grip at random to the bottom of the stack.\nPersistent → As an additional cost to steal an agenda from this server or its root, the Runner must add 2 cards from the grip at random to the bottom of the stack.", + "title": "Daniela Jorge Inácio", + "trash_cost": 2 +} diff --git a/v2/cards/daredevil.json b/v2/cards/daredevil.json index 4d74303c0..2b26b342f 100644 --- a/v2/cards/daredevil.json +++ b/v2/cards/daredevil.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "daredevil", "influence_cost": 1, diff --git a/v2/cards/daruma.json b/v2/cards/daruma.json index 8c913e36a..8d97cf451 100644 --- a/v2/cards/daruma.json +++ b/v2/cards/daruma.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "daruma", "influence_cost": 3, diff --git a/v2/cards/darwin.json b/v2/cards/darwin.json index c521fe81c..a889f3d7c 100644 --- a/v2/cards/darwin.json +++ b/v2/cards/darwin.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "darwin", "influence_cost": 3, diff --git a/v2/cards/data_breach.json b/v2/cards/data_breach.json index 13974148b..5bf3f1d68 100644 --- a/v2/cards/data_breach.json +++ b/v2/cards/data_breach.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "data_breach", "influence_cost": 1, diff --git a/v2/cards/data_dealer.json b/v2/cards/data_dealer.json index 143a0519b..828a148d0 100644 --- a/v2/cards/data_dealer.json +++ b/v2/cards/data_dealer.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "data_dealer", "influence_cost": 2, diff --git a/v2/cards/data_folding.json b/v2/cards/data_folding.json index 514407aa4..97cf6b7ed 100644 --- a/v2/cards/data_folding.json +++ b/v2/cards/data_folding.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "data_folding", "influence_cost": 0, diff --git a/v2/cards/data_hound.json b/v2/cards/data_hound.json index 1e97c8d6b..7a674e9a5 100644 --- a/v2/cards/data_hound.json +++ b/v2/cards/data_hound.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "data_hound", "influence_cost": 1, diff --git a/v2/cards/data_leak_reversal.json b/v2/cards/data_leak_reversal.json index 3be20230d..a7913c7ba 100644 --- a/v2/cards/data_leak_reversal.json +++ b/v2/cards/data_leak_reversal.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "data_leak_reversal", "influence_cost": 1, diff --git a/v2/cards/data_loop.json b/v2/cards/data_loop.json index b5691c99f..e670f7461 100644 --- a/v2/cards/data_loop.json +++ b/v2/cards/data_loop.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 7, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "data_loop", "influence_cost": 2, diff --git a/v2/cards/data_mine.json b/v2/cards/data_mine.json index e1c87a19a..15f28d776 100644 --- a/v2/cards/data_mine.json +++ b/v2/cards/data_mine.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "data_mine", "influence_cost": 2, diff --git a/v2/cards/data_raven.json b/v2/cards/data_raven.json index b55418fdb..2fae14915 100644 --- a/v2/cards/data_raven.json +++ b/v2/cards/data_raven.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "data_raven", "influence_cost": 2, diff --git a/v2/cards/data_ward.json b/v2/cards/data_ward.json index cf6959a80..faa5fcbd0 100644 --- a/v2/cards/data_ward.json +++ b/v2/cards/data_ward.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 6, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "data_ward", "influence_cost": 3, diff --git a/v2/cards/datapike.json b/v2/cards/datapike.json index efb7a7558..0b3151920 100644 --- a/v2/cards/datapike.json +++ b/v2/cards/datapike.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "datapike", "influence_cost": 0, diff --git a/v2/cards/datasucker.json b/v2/cards/datasucker.json index 7c1efe1bb..e0ae080f0 100644 --- a/v2/cards/datasucker.json +++ b/v2/cards/datasucker.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "datasucker", "influence_cost": 1, diff --git a/v2/cards/davinci.json b/v2/cards/davinci.json index 96aba9d1b..c6ab57242 100644 --- a/v2/cards/davinci.json +++ b/v2/cards/davinci.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "davinci", "influence_cost": 2, diff --git a/v2/cards/day_job.json b/v2/cards/day_job.json index bef2617b9..50b3f6f05 100644 --- a/v2/cards/day_job.json +++ b/v2/cards/day_job.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "day_job", "influence_cost": 1, diff --git a/v2/cards/ddos.json b/v2/cards/ddos.json index 942bce536..b1776eda8 100644 --- a/v2/cards/ddos.json +++ b/v2/cards/ddos.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "ddos", "influence_cost": 3, diff --git a/v2/cards/dean_lister.json b/v2/cards/dean_lister.json index 0e1b90ee9..94b000309 100644 --- a/v2/cards/dean_lister.json +++ b/v2/cards/dean_lister.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "dean_lister", "influence_cost": 0, diff --git a/v2/cards/death_and_taxes.json b/v2/cards/death_and_taxes.json index 454af7147..078222a54 100644 --- a/v2/cards/death_and_taxes.json +++ b/v2/cards/death_and_taxes.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "death_and_taxes", "influence_cost": 3, diff --git a/v2/cards/debbie_downtown_moreira.json b/v2/cards/debbie_downtown_moreira.json new file mode 100644 index 000000000..ce943269a --- /dev/null +++ b/v2/cards/debbie_downtown_moreira.json @@ -0,0 +1,16 @@ +{ + "card_type_id": "resource", + "cost": 1, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "criminal", + "id": "debbie_downtown_moreira", + "influence_cost": 2, + "is_unique": true, + "side_id": "runner", + "stripped_text": "Threat 4 -> When you install this resource, place 2 credits on it. (This ability is active if any player has 4 or more agenda points.) Whenever you play a run event, place 1 credit on this resource. click: Run any server. You can spend hosted credits during that run.", + "stripped_title": "Debbie \"Downtown\" Moreira", + "subtypes": ["connection"], + "text": "Threat 4 → When you install this resource, place 2[credit] on it. (This ability is active if any player has 4 or more agenda points.)\nWhenever you play a run event, place 1[credit] on this resource.\n[click]: Run any server. You can spend hosted credits during that run.", + "title": "Debbie \"Downtown\" Moreira" +} diff --git a/v2/cards/decoy.json b/v2/cards/decoy.json index 4e8adb0d5..16b644984 100644 --- a/v2/cards/decoy.json +++ b/v2/cards/decoy.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "decoy", "influence_cost": 2, diff --git a/v2/cards/dedicated_neural_net.json b/v2/cards/dedicated_neural_net.json index 9b08acb63..d330b067d 100644 --- a/v2/cards/dedicated_neural_net.json +++ b/v2/cards/dedicated_neural_net.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "dedicated_neural_net", "is_unique": false, diff --git a/v2/cards/dedicated_processor.json b/v2/cards/dedicated_processor.json index f0a07e40b..e0e2272ac 100644 --- a/v2/cards/dedicated_processor.json +++ b/v2/cards/dedicated_processor.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "dedicated_processor", "influence_cost": 3, diff --git a/v2/cards/dedicated_response_team.json b/v2/cards/dedicated_response_team.json index e72d3090a..3c6674796 100644 --- a/v2/cards/dedicated_response_team.json +++ b/v2/cards/dedicated_response_team.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "dedicated_response_team", "influence_cost": 3, diff --git a/v2/cards/dedicated_server.json b/v2/cards/dedicated_server.json index 2c60c32b9..3624c28d8 100644 --- a/v2/cards/dedicated_server.json +++ b/v2/cards/dedicated_server.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "dedicated_server", "influence_cost": 2, diff --git a/v2/cards/dedicated_technician_team.json b/v2/cards/dedicated_technician_team.json index 7fd0e550b..e17357e39 100644 --- a/v2/cards/dedicated_technician_team.json +++ b/v2/cards/dedicated_technician_team.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "dedicated_technician_team", "influence_cost": 0, diff --git a/v2/cards/dedication_ceremony.json b/v2/cards/dedication_ceremony.json index a6c1e5634..db6899055 100644 --- a/v2/cards/dedication_ceremony.json +++ b/v2/cards/dedication_ceremony.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "dedication_ceremony", "influence_cost": 3, diff --git a/v2/cards/deep_data_mining.json b/v2/cards/deep_data_mining.json index cf0d019ca..80c4232c3 100644 --- a/v2/cards/deep_data_mining.json +++ b/v2/cards/deep_data_mining.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "deep_data_mining", "influence_cost": 4, diff --git a/v2/cards/deep_dive.json b/v2/cards/deep_dive.json index 6caad205e..91b685470 100644 --- a/v2/cards/deep_dive.json +++ b/v2/cards/deep_dive.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "deep_dive", "influence_cost": 5, diff --git a/v2/cards/deep_red.json b/v2/cards/deep_red.json index c4ebfd1b3..8ac0bd17f 100644 --- a/v2/cards/deep_red.json +++ b/v2/cards/deep_red.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "deep_red", "influence_cost": 1, diff --git a/v2/cards/deep_thought.json b/v2/cards/deep_thought.json index f5aeaa683..2603ce5b0 100644 --- a/v2/cards/deep_thought.json +++ b/v2/cards/deep_thought.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "deep_thought", "influence_cost": 2, diff --git a/v2/cards/defective_brainchips.json b/v2/cards/defective_brainchips.json index 8340ad4df..811929bc1 100644 --- a/v2/cards/defective_brainchips.json +++ b/v2/cards/defective_brainchips.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "defective_brainchips", "influence_cost": 1, diff --git a/v2/cards/defense_construct.json b/v2/cards/defense_construct.json index b1105b743..fb29c95f9 100644 --- a/v2/cards/defense_construct.json +++ b/v2/cards/defense_construct.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "defense_construct", "influence_cost": 3, diff --git a/v2/cards/degree_mill.json b/v2/cards/degree_mill.json index 7ab0c381d..726588ace 100644 --- a/v2/cards/degree_mill.json +++ b/v2/cards/degree_mill.json @@ -3,6 +3,7 @@ "agenda_points": 3, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "degree_mill", "is_unique": false, diff --git a/v2/cards/deja_vu.json b/v2/cards/deja_vu.json index 02fb433b4..520c98cb1 100644 --- a/v2/cards/deja_vu.json +++ b/v2/cards/deja_vu.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "deja_vu", "influence_cost": 2, diff --git a/v2/cards/demara.json b/v2/cards/demara.json index 234c31e67..a8dd962f3 100644 --- a/v2/cards/demara.json +++ b/v2/cards/demara.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "demara", "influence_cost": 2, diff --git a/v2/cards/demolisher.json b/v2/cards/demolisher.json index b815e1d0a..3a93a9215 100644 --- a/v2/cards/demolisher.json +++ b/v2/cards/demolisher.json @@ -2,14 +2,15 @@ "card_type_id": "hardware", "cost": 4, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "demolisher", "influence_cost": 2, "is_unique": true, "side_id": "runner", - "stripped_text": "+1 mu The trash cost of each Corp card is lowered by 1. The first time each turn you trash a Corp card, gain 1 credit. Limit 1 console per player.", + "stripped_text": "+1 mu The trash cost of each Corp card is lowered by 1 credit. The first time each turn you trash a Corp card, gain 1 credit. Limit 1 console per player.", "stripped_title": "Demolisher", "subtypes": ["console"], - "text": "+1[mu]\nThe trash cost of each Corp card is lowered by 1.\nThe first time each turn you trash a Corp card, gain 1[credit].\nLimit 1 console per player.", + "text": "+1[mu]\nThe trash cost of each Corp card is lowered by 1[credit].\nThe first time each turn you trash a Corp card, gain 1[credit].\nLimit 1 console per player.", "title": "Demolisher" } diff --git a/v2/cards/demolition_run.json b/v2/cards/demolition_run.json index 3ab67cd07..d505efbff 100644 --- a/v2/cards/demolition_run.json +++ b/v2/cards/demolition_run.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "demolition_run", "influence_cost": 2, diff --git a/v2/cards/desperado.json b/v2/cards/desperado.json index 99faf7a98..cbe3913b5 100644 --- a/v2/cards/desperado.json +++ b/v2/cards/desperado.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "desperado", "influence_cost": 3, diff --git a/v2/cards/deuces_wild.json b/v2/cards/deuces_wild.json index 68d4bc154..e99fcebc2 100644 --- a/v2/cards/deuces_wild.json +++ b/v2/cards/deuces_wild.json @@ -3,6 +3,7 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "deuces_wild", "influence_cost": 1, diff --git a/v2/cards/deus_x.json b/v2/cards/deus_x.json index 1154cf577..1720c9fef 100644 --- a/v2/cards/deus_x.json +++ b/v2/cards/deus_x.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "deus_x", "influence_cost": 1, diff --git a/v2/cards/devil_charm.json b/v2/cards/devil_charm.json index 9b9ce307d..589553b66 100644 --- a/v2/cards/devil_charm.json +++ b/v2/cards/devil_charm.json @@ -2,14 +2,15 @@ "card_type_id": "hardware", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "devil_charm", "influence_cost": 2, "is_unique": true, "side_id": "runner", - "stripped_text": "Whenever you encounter a piece of ice, you may remove this hardware from the game. If you do, that ice gets -6 strength for the remainder of the run.", + "stripped_text": "Whenever you encounter a piece of ice, you may remove this hardware from the game. If you do, that ice gets -6 strength for the remainder of this run.", "stripped_title": "Devil Charm", "subtypes": ["chip"], - "text": "Whenever you encounter a piece of ice, you may remove this hardware from the game. If you do, that ice gets -6 strength for the remainder of the run.", + "text": "Whenever you encounter a piece of ice, you may remove this hardware from the game. If you do, that ice gets −6 strength for the remainder of this run.", "title": "Devil Charm" } diff --git a/v2/cards/dhegdheer.json b/v2/cards/dhegdheer.json index b16218bcc..f7bf49414 100644 --- a/v2/cards/dhegdheer.json +++ b/v2/cards/dhegdheer.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "dhegdheer", "influence_cost": 2, diff --git a/v2/cards/dianas_hunt.json b/v2/cards/dianas_hunt.json index 3866fb499..821ca31fe 100644 --- a/v2/cards/dianas_hunt.json +++ b/v2/cards/dianas_hunt.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "dianas_hunt", "influence_cost": 4, diff --git a/v2/cards/diesel.json b/v2/cards/diesel.json index f07d52af7..4a78ec02c 100644 --- a/v2/cards/diesel.json +++ b/v2/cards/diesel.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "diesel", "influence_cost": 2, diff --git a/v2/cards/digital_rights_management.json b/v2/cards/digital_rights_management.json index bbb3638ca..2ab37c717 100644 --- a/v2/cards/digital_rights_management.json +++ b/v2/cards/digital_rights_management.json @@ -2,13 +2,14 @@ "card_type_id": "operation", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "nbn", "id": "digital_rights_management", "influence_cost": 1, "is_unique": false, "side_id": "corp", - "stripped_text": "Play only if the Runner did not make a successful run on HQ during their last turn. Search R&D for an agenda and reveal it. (Shuffle R&D after searching it.) Add that agenda to HQ. You may install 1 card from HQ in the root of a remote server. You cannot score agendas for the remainder of the turn.", + "stripped_text": "Play only if the Runner did not make a successful run on HQ during their last turn. Search R&D for 1 agenda and reveal it. (Shuffle R&D after searching it.) Add that agenda to HQ. You may install 1 card from HQ in the root of a remote server. You cannot score agendas for the remainder of the turn.", "stripped_title": "Digital Rights Management", - "text": "Play only if the Runner did not make a successful run on HQ during their last turn.\nSearch R&D for an agenda and reveal it. (Shuffle R&D after searching it.) Add that agenda to HQ. You may install 1 card from HQ in the root of a remote server.\nYou cannot score agendas for the remainder of the turn.", + "text": "Play only if the Runner did not make a successful run on HQ during their last turn.\nSearch R&D for 1 agenda and reveal it. (Shuffle R&D after searching it.) Add that agenda to HQ. You may install 1 card from HQ in the root of a remote server.\nYou cannot score agendas for the remainder of the turn.", "title": "Digital Rights Management" } diff --git a/v2/cards/dinosaurus.json b/v2/cards/dinosaurus.json index 9b06d7a7f..c748a040a 100644 --- a/v2/cards/dinosaurus.json +++ b/v2/cards/dinosaurus.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "dinosaurus", "influence_cost": 2, diff --git a/v2/cards/direct_access.json b/v2/cards/direct_access.json index 74c0a9226..adab2a5f1 100644 --- a/v2/cards/direct_access.json +++ b/v2/cards/direct_access.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "neutral_runner", "id": "direct_access", "influence_cost": 1, @@ -10,6 +11,6 @@ "stripped_text": "While you are resolving this event, each player's identity loses all abilities. Run any server. When that run ends, you may shuffle this event into your stack.", "stripped_title": "Direct Access", "subtypes": ["run"], - "text": "While you are resolving this event, each player's identity loses all abilities.\nRun any server. When that run ends, you may shuffle this event into your stack.", + "text": "While you are resolving this event, each playerʼs identity loses all abilities.\nRun any server. When that run ends, you may shuffle this event into your stack.", "title": "Direct Access" } diff --git a/v2/cards/director_haas.json b/v2/cards/director_haas.json index 3b41c537b..1a2df3b3a 100644 --- a/v2/cards/director_haas.json +++ b/v2/cards/director_haas.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "director_haas", "influence_cost": 5, diff --git a/v2/cards/director_haas_pet_project.json b/v2/cards/director_haas_pet_project.json index 211da0013..cca6741fc 100644 --- a/v2/cards/director_haas_pet_project.json +++ b/v2/cards/director_haas_pet_project.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "director_haas_pet_project", "is_unique": true, diff --git a/v2/cards/dirty_laundry.json b/v2/cards/dirty_laundry.json index cfabd40f3..ffc85925f 100644 --- a/v2/cards/dirty_laundry.json +++ b/v2/cards/dirty_laundry.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "dirty_laundry", "influence_cost": 0, diff --git a/v2/cards/disposable_hq.json b/v2/cards/disposable_hq.json index c4bedd340..35a95f7eb 100644 --- a/v2/cards/disposable_hq.json +++ b/v2/cards/disposable_hq.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "disposable_hq", "influence_cost": 1, diff --git a/v2/cards/disrupter.json b/v2/cards/disrupter.json index 53a461c13..11c940425 100644 --- a/v2/cards/disrupter.json +++ b/v2/cards/disrupter.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "disrupter", "influence_cost": 1, diff --git a/v2/cards/distract_the_masses.json b/v2/cards/distract_the_masses.json index b35c8adc6..b8a398c0d 100644 --- a/v2/cards/distract_the_masses.json +++ b/v2/cards/distract_the_masses.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "distract_the_masses", "influence_cost": 0, diff --git a/v2/cards/distributed_tracing.json b/v2/cards/distributed_tracing.json index eee925ad2..bb53e321a 100644 --- a/v2/cards/distributed_tracing.json +++ b/v2/cards/distributed_tracing.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "distributed_tracing", "influence_cost": 4, diff --git a/v2/cards/district_99.json b/v2/cards/district_99.json index 90073db5e..622d9d4ec 100644 --- a/v2/cards/district_99.json +++ b/v2/cards/district_99.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "district_99", "influence_cost": 3, diff --git a/v2/cards/diversified_portfolio.json b/v2/cards/diversified_portfolio.json index 3e339e2ae..582f91eda 100644 --- a/v2/cards/diversified_portfolio.json +++ b/v2/cards/diversified_portfolio.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "diversified_portfolio", "influence_cost": 0, diff --git a/v2/cards/diversion_of_funds.json b/v2/cards/diversion_of_funds.json index 4addcb6b0..c12c00cd2 100644 --- a/v2/cards/diversion_of_funds.json +++ b/v2/cards/diversion_of_funds.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "diversion_of_funds", "influence_cost": 5, diff --git a/v2/cards/divert_power.json b/v2/cards/divert_power.json index 6e50a0de9..c1b2afe00 100644 --- a/v2/cards/divert_power.json +++ b/v2/cards/divert_power.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "divert_power", "influence_cost": 1, diff --git a/v2/cards/divested_trust.json b/v2/cards/divested_trust.json index 3ec4d15a2..e5faef361 100644 --- a/v2/cards/divested_trust.json +++ b/v2/cards/divested_trust.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "weyland_consortium", "id": "divested_trust", "is_unique": false, diff --git a/v2/cards/divide_and_conquer.json b/v2/cards/divide_and_conquer.json index 6d3c22186..94bb798c2 100644 --- a/v2/cards/divide_and_conquer.json +++ b/v2/cards/divide_and_conquer.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "divide_and_conquer", "influence_cost": 4, diff --git a/v2/cards/diviner.json b/v2/cards/diviner.json index 1bb02379e..0c542e21d 100644 --- a/v2/cards/diviner.json +++ b/v2/cards/diviner.json @@ -2,15 +2,16 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "diviner", "influence_cost": 2, "is_unique": false, "side_id": "corp", "strength": 3, - "stripped_text": "Subroutine Do 1 net damage. If you trash a card with a printed play or install cost that is an odd number, end the run. (0 is not odd.)", + "stripped_text": "Subroutine Do 1 net damage. If you trash a card this way with a printed play or install cost that is an odd number, end the run. (0 is not odd.)", "stripped_title": "Diviner", "subtypes": ["code_gate", "ap"], - "text": "[subroutine] Do 1 net damage. If you trash a card with a printed play or install cost that is an odd number, end the run. (0 is not odd.)", + "text": "[subroutine] Do 1 net damage. If you trash a card this way with a printed play or install cost that is an odd number, end the run. (0 is not odd.)", "title": "Diviner" } diff --git a/v2/cards/diwan.json b/v2/cards/diwan.json index 29371aa85..a93b6af91 100644 --- a/v2/cards/diwan.json +++ b/v2/cards/diwan.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "diwan", "influence_cost": 1, diff --git a/v2/cards/dj_fenris.json b/v2/cards/dj_fenris.json index 35ff7d7eb..ec09aa2b5 100644 --- a/v2/cards/dj_fenris.json +++ b/v2/cards/dj_fenris.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 3, "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "dj_fenris", "influence_cost": 1, diff --git a/v2/cards/djinn.json b/v2/cards/djinn.json index 815be4899..a939547db 100644 --- a/v2/cards/djinn.json +++ b/v2/cards/djinn.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "djinn", "influence_cost": 2, diff --git a/v2/cards/djupstad_grid.json b/v2/cards/djupstad_grid.json index cc42e77ca..865be8735 100644 --- a/v2/cards/djupstad_grid.json +++ b/v2/cards/djupstad_grid.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 4, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "djupstad_grid", "influence_cost": 4, diff --git a/v2/cards/dna_tracker.json b/v2/cards/dna_tracker.json index 339fdff7e..3ece1c5da 100644 --- a/v2/cards/dna_tracker.json +++ b/v2/cards/dna_tracker.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 8, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "dna_tracker", "influence_cost": 3, diff --git a/v2/cards/docklands_crackdown.json b/v2/cards/docklands_crackdown.json index e8914112e..f000f5a45 100644 --- a/v2/cards/docklands_crackdown.json +++ b/v2/cards/docklands_crackdown.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "docklands_crackdown", "influence_cost": 0, diff --git a/v2/cards/docklands_pass.json b/v2/cards/docklands_pass.json index 203e14a6f..ce0ecfcdf 100644 --- a/v2/cards/docklands_pass.json +++ b/v2/cards/docklands_pass.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "criminal", "id": "docklands_pass", "influence_cost": 2, diff --git a/v2/cards/domestic_sleepers.json b/v2/cards/domestic_sleepers.json index 3e8297bf4..a64baa36c 100644 --- a/v2/cards/domestic_sleepers.json +++ b/v2/cards/domestic_sleepers.json @@ -3,6 +3,7 @@ "agenda_points": 0, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "domestic_sleepers", "is_unique": false, diff --git a/v2/cards/donut_taganes.json b/v2/cards/donut_taganes.json index c34489aea..e1265ac75 100644 --- a/v2/cards/donut_taganes.json +++ b/v2/cards/donut_taganes.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "donut_taganes", "influence_cost": 2, diff --git a/v2/cards/door_to_door.json b/v2/cards/door_to_door.json index 522b153fb..6dfcee371 100644 --- a/v2/cards/door_to_door.json +++ b/v2/cards/door_to_door.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "door_to_door", "influence_cost": 2, diff --git a/v2/cards/doppelganger.json b/v2/cards/doppelganger.json index 83b78205c..b983d8918 100644 --- a/v2/cards/doppelganger.json +++ b/v2/cards/doppelganger.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "doppelganger", "influence_cost": 2, diff --git a/v2/cards/dorm_computer.json b/v2/cards/dorm_computer.json index d15e292dd..0efe63476 100644 --- a/v2/cards/dorm_computer.json +++ b/v2/cards/dorm_computer.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "dorm_computer", "influence_cost": 1, diff --git a/v2/cards/dr_lovegood.json b/v2/cards/dr_lovegood.json index 56ad41d9a..d655927b1 100644 --- a/v2/cards/dr_lovegood.json +++ b/v2/cards/dr_lovegood.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "adam", "id": "dr_lovegood", "influence_cost": 1, diff --git a/v2/cards/dr_nuka_vrolyck.json b/v2/cards/dr_nuka_vrolyck.json index 019cde888..13a78630b 100644 --- a/v2/cards/dr_nuka_vrolyck.json +++ b/v2/cards/dr_nuka_vrolyck.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "dr_nuka_vrolyck", "influence_cost": 2, diff --git a/v2/cards/dr_vientiane_keeling.json b/v2/cards/dr_vientiane_keeling.json index 43934a122..c040ea9f2 100644 --- a/v2/cards/dr_vientiane_keeling.json +++ b/v2/cards/dr_vientiane_keeling.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "dr_vientiane_keeling", "influence_cost": 4, diff --git a/v2/cards/draco.json b/v2/cards/draco.json index 1aeb5dffb..97113e5c3 100644 --- a/v2/cards/draco.json +++ b/v2/cards/draco.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "draco", "influence_cost": 0, diff --git a/v2/cards/drafter.json b/v2/cards/drafter.json index 2c522e3b9..666e7d307 100644 --- a/v2/cards/drafter.json +++ b/v2/cards/drafter.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "drafter", "influence_cost": 2, diff --git a/v2/cards/drago_ivanov.json b/v2/cards/drago_ivanov.json index 31cdb3836..76412c184 100644 --- a/v2/cards/drago_ivanov.json +++ b/v2/cards/drago_ivanov.json @@ -3,6 +3,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "nbn", "id": "drago_ivanov", "influence_cost": 4, diff --git a/v2/cards/dreamnet.json b/v2/cards/dreamnet.json index 5d529949b..5cf00fcc0 100644 --- a/v2/cards/dreamnet.json +++ b/v2/cards/dreamnet.json @@ -2,14 +2,15 @@ "card_type_id": "resource", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "neutral_runner", "id": "dreamnet", "influence_cost": 0, "is_unique": true, "side_id": "runner", - "stripped_text": "The first time each turn you make a successful run, draw 1 card. If you have at least 2 link or your identity is digital, also gain 1 credit.", + "stripped_text": "The first time each turn you make a successful run, draw 1 card. If your identity is digital or you have at least 2 link, also gain 1 credit.", "stripped_title": "DreamNet", "subtypes": ["virtual"], - "text": "The first time each turn you make a successful run, draw 1 card. If you have at least 2[link] or your identity is digital, also gain 1[credit].", + "text": "The first time each turn you make a successful run, draw 1 card. If your identity is digital or you have at least 2[link], also gain 1[credit].", "title": "DreamNet" } diff --git a/v2/cards/drive_by.json b/v2/cards/drive_by.json index 7c8e78a2b..d6bd99595 100644 --- a/v2/cards/drive_by.json +++ b/v2/cards/drive_by.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "drive_by", "influence_cost": 2, diff --git a/v2/cards/drone_screen.json b/v2/cards/drone_screen.json index c6f5dc7fb..1ac0e79a0 100644 --- a/v2/cards/drone_screen.json +++ b/v2/cards/drone_screen.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "drone_screen", "influence_cost": 2, diff --git a/v2/cards/drudge_work.json b/v2/cards/drudge_work.json index 58a5687bd..e3f5a4290 100644 --- a/v2/cards/drudge_work.json +++ b/v2/cards/drudge_work.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "drudge_work", "influence_cost": 2, diff --git a/v2/cards/drug_dealer.json b/v2/cards/drug_dealer.json index 51e610f52..721a0aef8 100644 --- a/v2/cards/drug_dealer.json +++ b/v2/cards/drug_dealer.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "drug_dealer", "influence_cost": 1, diff --git a/v2/cards/duggars.json b/v2/cards/duggars.json index 0fc39b044..2f787887b 100644 --- a/v2/cards/duggars.json +++ b/v2/cards/duggars.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "duggars", "influence_cost": 4, diff --git a/v2/cards/dummy_box.json b/v2/cards/dummy_box.json index 17b79e4a3..4d1854982 100644 --- a/v2/cards/dummy_box.json +++ b/v2/cards/dummy_box.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "dummy_box", "influence_cost": 2, diff --git a/v2/cards/dyson_fractal_generator.json b/v2/cards/dyson_fractal_generator.json index 418d753ad..8ddb37f12 100644 --- a/v2/cards/dyson_fractal_generator.json +++ b/v2/cards/dyson_fractal_generator.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "dyson_fractal_generator", "influence_cost": 3, diff --git a/v2/cards/dyson_mem_chip.json b/v2/cards/dyson_mem_chip.json index 28e469c6e..5cb355224 100644 --- a/v2/cards/dyson_mem_chip.json +++ b/v2/cards/dyson_mem_chip.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "dyson_mem_chip", "influence_cost": 0, diff --git a/v2/cards/dzmz_optimizer.json b/v2/cards/dzmz_optimizer.json index 562ff889e..7c3dbc32f 100644 --- a/v2/cards/dzmz_optimizer.json +++ b/v2/cards/dzmz_optimizer.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "dzmz_optimizer", "influence_cost": 2, diff --git a/v2/cards/e3_feedback_implants.json b/v2/cards/e3_feedback_implants.json index 4127346f5..973f7a834 100644 --- a/v2/cards/e3_feedback_implants.json +++ b/v2/cards/e3_feedback_implants.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "e3_feedback_implants", "influence_cost": 2, diff --git a/v2/cards/early_bird.json b/v2/cards/early_bird.json index 4d0a108d6..ec5f8c0d6 100644 --- a/v2/cards/early_bird.json +++ b/v2/cards/early_bird.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "early_bird", "influence_cost": 2, diff --git a/v2/cards/early_premiere.json b/v2/cards/early_premiere.json index d579c6e10..11996bfca 100644 --- a/v2/cards/early_premiere.json +++ b/v2/cards/early_premiere.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "early_premiere", "influence_cost": 3, diff --git a/v2/cards/earth_station_sea_headquarters.json b/v2/cards/earth_station_sea_headquarters.json index 816f19aca..ed01eb605 100644 --- a/v2/cards/earth_station_sea_headquarters.json +++ b/v2/cards/earth_station_sea_headquarters.json @@ -1,24 +1,25 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "null_signal_games", + "faces": [ + { + "stripped_text": "Limit 1 remote server. As an additional cost to run a remote server, the Runner must pay 6 credits. When the Runner makes a successful run on HQ, flip this identity.", + "stripped_title": "Earth Station: Ascending to Orbit", + "text": "Limit 1 remote server.\nAs an additional cost to run a remote server, the Runner must pay 6[credit].\nWhen the Runner makes a successful run on HQ, flip this identity.", + "title": "Earth Station: Ascending to Orbit" + } + ], "faction_id": "weyland_consortium", "id": "earth_station_sea_headquarters", "influence_limit": 15, "is_unique": false, + "layout_id": "flip", "minimum_deck_size": 45, "side_id": "corp", "stripped_text": "Limit 1 remote server. As an additional cost to run HQ, the Runner must pay 1 credit. click: Flip this identity.", "stripped_title": "Earth Station: SEA Headquarters", "subtypes": ["division"], - "text": "Limit 1 remote server.\nAs an additional cost to run HQ, the Runner must pay 1[credit].\n[click]: Flip this identity.", - "title": "Earth Station: SEA Headquarters", - "layout_id": "flip", - "faces": [ - { - "stripped_text": "Limit 1 remote server. As an additional cost to run a remote server, the Runner must pay 6 credits. When the Runner makes a successful run on HQ, flip this identity.", - "stripped_title": "Earth Station: Ascending to Orbit", - "text": "Limit 1 remote server.\nAs an additional cost to run a remote server, the Runner must pay 6[credit].\nWhen the Runner makes a successful run on HQ, flip this identity.", - "title": "Earth Station: Ascending to Orbit" - } - ] + "text": "Limit 1 remote server.\nAs an additional cost to run HQ, the Runner must pay 1[credit].\n[click]: Flip this identity.", + "title": "Earth Station: SEA Headquarters" } diff --git a/v2/cards/earthrise_hotel.json b/v2/cards/earthrise_hotel.json index 084395d5b..bf0f5db13 100644 --- a/v2/cards/earthrise_hotel.json +++ b/v2/cards/earthrise_hotel.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "earthrise_hotel", "influence_cost": 0, diff --git a/v2/cards/easy_mark.json b/v2/cards/easy_mark.json index e7884fddb..bdc00f6f4 100644 --- a/v2/cards/easy_mark.json +++ b/v2/cards/easy_mark.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "easy_mark", "influence_cost": 1, diff --git a/v2/cards/eater.json b/v2/cards/eater.json index 851292302..771be9292 100644 --- a/v2/cards/eater.json +++ b/v2/cards/eater.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "eater", "influence_cost": 3, diff --git a/v2/cards/eavesdrop.json b/v2/cards/eavesdrop.json index 379188c30..8093fd84f 100644 --- a/v2/cards/eavesdrop.json +++ b/v2/cards/eavesdrop.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "eavesdrop", "influence_cost": 2, diff --git a/v2/cards/echelon.json b/v2/cards/echelon.json index 61d3c2719..6879db69c 100644 --- a/v2/cards/echelon.json +++ b/v2/cards/echelon.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "echelon", "influence_cost": 1, diff --git a/v2/cards/echo.json b/v2/cards/echo.json index c4fb21510..0a6984678 100644 --- a/v2/cards/echo.json +++ b/v2/cards/echo.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "echo", "influence_cost": 2, diff --git a/v2/cards/echo_chamber.json b/v2/cards/echo_chamber.json index a490107c9..edf258ae0 100644 --- a/v2/cards/echo_chamber.json +++ b/v2/cards/echo_chamber.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "echo_chamber", "influence_cost": 4, diff --git a/v2/cards/economic_warfare.json b/v2/cards/economic_warfare.json index a131dbbd0..7b2f37df1 100644 --- a/v2/cards/economic_warfare.json +++ b/v2/cards/economic_warfare.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "economic_warfare", "influence_cost": 2, diff --git a/v2/cards/eden_fragment.json b/v2/cards/eden_fragment.json index d22349ca7..919e39f86 100644 --- a/v2/cards/eden_fragment.json +++ b/v2/cards/eden_fragment.json @@ -3,6 +3,7 @@ "agenda_points": 3, "card_type_id": "agenda", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "eden_fragment", "influence_cost": 0, diff --git a/v2/cards/eden_shard.json b/v2/cards/eden_shard.json index e5e7f2430..4b240f655 100644 --- a/v2/cards/eden_shard.json +++ b/v2/cards/eden_shard.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 7, "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "eden_shard", "influence_cost": 1, diff --git a/v2/cards/edge_of_world.json b/v2/cards/edge_of_world.json index 1ff9d65a6..aa6fe87af 100644 --- a/v2/cards/edge_of_world.json +++ b/v2/cards/edge_of_world.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "edge_of_world", "influence_cost": 2, diff --git a/v2/cards/edward_kim_humanitys_hammer.json b/v2/cards/edward_kim_humanitys_hammer.json index dabb7723c..d40925a41 100644 --- a/v2/cards/edward_kim_humanitys_hammer.json +++ b/v2/cards/edward_kim_humanitys_hammer.json @@ -2,6 +2,7 @@ "base_link": 1, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "edward_kim_humanitys_hammer", "influence_limit": 15, diff --git a/v2/cards/efficiency_committee.json b/v2/cards/efficiency_committee.json index f36fb68ed..c926116cc 100644 --- a/v2/cards/efficiency_committee.json +++ b/v2/cards/efficiency_committee.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "efficiency_committee", "is_unique": false, diff --git a/v2/cards/egret.json b/v2/cards/egret.json index 5516bd6e0..8d4a8bb20 100644 --- a/v2/cards/egret.json +++ b/v2/cards/egret.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "egret", "influence_cost": 2, diff --git a/v2/cards/ekomind.json b/v2/cards/ekomind.json index 7a3be6978..493f87b73 100644 --- a/v2/cards/ekomind.json +++ b/v2/cards/ekomind.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "ekomind", "influence_cost": 3, diff --git a/v2/cards/ele_smoke_scovak_cynosure_of_the_net.json b/v2/cards/ele_smoke_scovak_cynosure_of_the_net.json index bc04a9176..04e8adc23 100644 --- a/v2/cards/ele_smoke_scovak_cynosure_of_the_net.json +++ b/v2/cards/ele_smoke_scovak_cynosure_of_the_net.json @@ -2,6 +2,7 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "ele_smoke_scovak_cynosure_of_the_net", "influence_limit": 15, diff --git a/v2/cards/election_day.json b/v2/cards/election_day.json index 85d923220..efbc8f5b7 100644 --- a/v2/cards/election_day.json +++ b/v2/cards/election_day.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "election_day", "influence_cost": 2, diff --git a/v2/cards/elective_upgrade.json b/v2/cards/elective_upgrade.json index de7f9e599..e2ca2bf87 100644 --- a/v2/cards/elective_upgrade.json +++ b/v2/cards/elective_upgrade.json @@ -3,6 +3,7 @@ "agenda_points": 3, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "elective_upgrade", "is_unique": false, diff --git a/v2/cards/eli_1_0.json b/v2/cards/eli_1_0.json index e9345f53a..cde30467b 100644 --- a/v2/cards/eli_1_0.json +++ b/v2/cards/eli_1_0.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "eli_1_0", "influence_cost": 1, diff --git a/v2/cards/eli_2_0.json b/v2/cards/eli_2_0.json index 5e35199c6..ce95db838 100644 --- a/v2/cards/eli_2_0.json +++ b/v2/cards/eli_2_0.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "eli_2_0", "influence_cost": 2, diff --git a/v2/cards/elivagar_bifurcation.json b/v2/cards/elivagar_bifurcation.json index 50306e454..5cd916f3d 100644 --- a/v2/cards/elivagar_bifurcation.json +++ b/v2/cards/elivagar_bifurcation.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "elivagar_bifurcation", "is_unique": false, diff --git a/v2/cards/elizabeth_mills.json b/v2/cards/elizabeth_mills.json index 42a5f04a1..f0c64acea 100644 --- a/v2/cards/elizabeth_mills.json +++ b/v2/cards/elizabeth_mills.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "elizabeth_mills", "influence_cost": 2, diff --git a/v2/cards/elizas_toybox.json b/v2/cards/elizas_toybox.json index 69ae78522..cb7a5ee47 100644 --- a/v2/cards/elizas_toybox.json +++ b/v2/cards/elizas_toybox.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "elizas_toybox", "influence_cost": 2, diff --git a/v2/cards/embezzle.json b/v2/cards/embezzle.json index 7676fc1ad..23994527d 100644 --- a/v2/cards/embezzle.json +++ b/v2/cards/embezzle.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "embezzle", "influence_cost": 3, diff --git a/v2/cards/embolus.json b/v2/cards/embolus.json index 7e8ba159b..acff8d68c 100644 --- a/v2/cards/embolus.json +++ b/v2/cards/embolus.json @@ -3,6 +3,7 @@ "card_type_id": "upgrade", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "embolus", "influence_cost": 1, diff --git a/v2/cards/emergency_shutdown.json b/v2/cards/emergency_shutdown.json index 00a318318..a843d0e64 100644 --- a/v2/cards/emergency_shutdown.json +++ b/v2/cards/emergency_shutdown.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "emergency_shutdown", "influence_cost": 2, diff --git a/v2/cards/emergent_creativity.json b/v2/cards/emergent_creativity.json index 286356462..791f3d6ef 100644 --- a/v2/cards/emergent_creativity.json +++ b/v2/cards/emergent_creativity.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "adam", "id": "emergent_creativity", "influence_cost": 5, diff --git a/v2/cards/emp_device.json b/v2/cards/emp_device.json index 60e372ffd..9efb0bee7 100644 --- a/v2/cards/emp_device.json +++ b/v2/cards/emp_device.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "emp_device", "influence_cost": 4, diff --git a/v2/cards/employee_strike.json b/v2/cards/employee_strike.json index 0b1fdc828..f49dda3d3 100644 --- a/v2/cards/employee_strike.json +++ b/v2/cards/employee_strike.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "employee_strike", "influence_cost": 1, diff --git a/v2/cards/emptied_mind.json b/v2/cards/emptied_mind.json index 403170cb4..ac718b1d7 100644 --- a/v2/cards/emptied_mind.json +++ b/v2/cards/emptied_mind.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "emptied_mind", "influence_cost": 3, diff --git a/v2/cards/en_passant.json b/v2/cards/en_passant.json index 53be11298..1dab8a08a 100644 --- a/v2/cards/en_passant.json +++ b/v2/cards/en_passant.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "en_passant", "influence_cost": 2, diff --git a/v2/cards/encore.json b/v2/cards/encore.json index 788318ba9..20fdfcda5 100644 --- a/v2/cards/encore.json +++ b/v2/cards/encore.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "encore", "influence_cost": 4, diff --git a/v2/cards/encrypted_portals.json b/v2/cards/encrypted_portals.json index b0ef42439..f9d2119df 100644 --- a/v2/cards/encrypted_portals.json +++ b/v2/cards/encrypted_portals.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "encrypted_portals", "is_unique": false, diff --git a/v2/cards/encryption_protocol.json b/v2/cards/encryption_protocol.json index 5697269ac..944987c64 100644 --- a/v2/cards/encryption_protocol.json +++ b/v2/cards/encryption_protocol.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "encryption_protocol", "influence_cost": 1, diff --git a/v2/cards/end_of_the_line.json b/v2/cards/end_of_the_line.json index 6f90829b8..d41952428 100644 --- a/v2/cards/end_of_the_line.json +++ b/v2/cards/end_of_the_line.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "weyland_consortium", "id": "end_of_the_line", "influence_cost": 4, diff --git a/v2/cards/endless_eula.json b/v2/cards/endless_eula.json index 1cdb31765..9217d2732 100644 --- a/v2/cards/endless_eula.json +++ b/v2/cards/endless_eula.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 6, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "endless_eula", "influence_cost": 2, diff --git a/v2/cards/endless_hunger.json b/v2/cards/endless_hunger.json index 9141dec82..09c7d6401 100644 --- a/v2/cards/endless_hunger.json +++ b/v2/cards/endless_hunger.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "apex", "id": "endless_hunger", "influence_cost": 2, diff --git a/v2/cards/endurance.json b/v2/cards/endurance.json index e1baef235..ea64340d5 100644 --- a/v2/cards/endurance.json +++ b/v2/cards/endurance.json @@ -2,12 +2,13 @@ "card_type_id": "hardware", "cost": 8, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "endurance", "influence_cost": 5, "is_unique": true, "side_id": "runner", - "stripped_text": "+2mu When you install this hardware, place 3 power counters on it. The first time each turn you make a successful run, place 1 power counter on this hardware. 2 hosted power counters: Break up to 2 subroutines. Limit 1 console per player.", + "stripped_text": "+2 mu When you install this hardware, place 3 power counters on it. The first time each turn you make a successful run, place 1 power counter on this hardware. 2 hosted power counters: Break up to 2 subroutines. Limit 1 console per player.", "stripped_title": "Endurance", "subtypes": ["console", "vehicle"], "text": "+2[mu]\nWhen you install this hardware, place 3 power counters on it.\nThe first time each turn you make a successful run, place 1 power counter on this hardware.\n2 hosted power counters: Break up to 2 subroutines.\nLimit 1 console per player.", diff --git a/v2/cards/enforced_curfew.json b/v2/cards/enforced_curfew.json index b45c88bad..7a4f5a132 100644 --- a/v2/cards/enforced_curfew.json +++ b/v2/cards/enforced_curfew.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "enforced_curfew", "influence_cost": 0, diff --git a/v2/cards/enforcer_1_0.json b/v2/cards/enforcer_1_0.json index 82ac9816b..b8a97618a 100644 --- a/v2/cards/enforcer_1_0.json +++ b/v2/cards/enforcer_1_0.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "enforcer_1_0", "influence_cost": 2, diff --git a/v2/cards/enforcing_loyalty.json b/v2/cards/enforcing_loyalty.json index 104906af4..d10d3cd09 100644 --- a/v2/cards/enforcing_loyalty.json +++ b/v2/cards/enforcing_loyalty.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "enforcing_loyalty", "influence_cost": 1, diff --git a/v2/cards/engolo.json b/v2/cards/engolo.json index aa769c369..b66c8d479 100644 --- a/v2/cards/engolo.json +++ b/v2/cards/engolo.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "engolo", "influence_cost": 4, diff --git a/v2/cards/engram_flush.json b/v2/cards/engram_flush.json index 3359ff9a8..0f52df8b8 100644 --- a/v2/cards/engram_flush.json +++ b/v2/cards/engram_flush.json @@ -2,15 +2,16 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "engram_flush", "influence_cost": 1, "is_unique": false, "side_id": "corp", "strength": 5, - "stripped_text": "When the Runner encounters this ice, choose a card type. For the remainder of this encounter, whenever you reveal the grip with a subroutine on this ice, you may trash 1 revealed card of that type. Subroutine Reveal the grip. Subroutine Reveal the grip.", + "stripped_text": "When the Runner encounters this ice, choose a card type. For the remainder of the encounter, whenever you reveal the grip with a subroutine on this ice, you may trash 1 revealed card of the chosen type. Subroutine Reveal the grip. Subroutine Reveal the grip.", "stripped_title": "Engram Flush", "subtypes": ["code_gate", "observer"], - "text": "When the Runner encounters this ice, choose a card type. For the remainder of this encounter, whenever you reveal the grip with a subroutine on this ice, you may trash 1 revealed card of that type.\n[subroutine] Reveal the grip.\n[subroutine] Reveal the grip.", + "text": "When the Runner encounters this ice, choose a card type. For the remainder of the encounter, whenever you reveal the grip with a subroutine on this ice, you may trash 1 revealed card of the chosen type.\n[subroutine] Reveal the grip.\n[subroutine] Reveal the grip.", "title": "Engram Flush" } diff --git a/v2/cards/enhanced_login_protocol.json b/v2/cards/enhanced_login_protocol.json index 3814e32e0..2b43a4ffa 100644 --- a/v2/cards/enhanced_login_protocol.json +++ b/v2/cards/enhanced_login_protocol.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "enhanced_login_protocol", "influence_cost": 2, diff --git a/v2/cards/enhanced_vision.json b/v2/cards/enhanced_vision.json index 00b901f10..8a6192f4d 100644 --- a/v2/cards/enhanced_vision.json +++ b/v2/cards/enhanced_vision.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "enhanced_vision", "influence_cost": 3, diff --git a/v2/cards/enigma.json b/v2/cards/enigma.json index 2e9ac38d8..8295a240a 100644 --- a/v2/cards/enigma.json +++ b/v2/cards/enigma.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "enigma", "influence_cost": 0, diff --git a/v2/cards/envelope.json b/v2/cards/envelope.json index 5f5785a27..de3d72b79 100644 --- a/v2/cards/envelope.json +++ b/v2/cards/envelope.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "envelope", "influence_cost": 2, diff --git a/v2/cards/envelopment.json b/v2/cards/envelopment.json index b1d220007..f1d36192b 100644 --- a/v2/cards/envelopment.json +++ b/v2/cards/envelopment.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 5, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "weyland_consortium", "id": "envelopment", "influence_cost": 3, diff --git a/v2/cards/environmental_testing.json b/v2/cards/environmental_testing.json index 4354582a2..d7e89cc2b 100644 --- a/v2/cards/environmental_testing.json +++ b/v2/cards/environmental_testing.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "environmental_testing", "influence_cost": 2, diff --git a/v2/cards/epiphany_analytica_nations_undivided.json b/v2/cards/epiphany_analytica_nations_undivided.json index 64f32bdb3..a707654f6 100644 --- a/v2/cards/epiphany_analytica_nations_undivided.json +++ b/v2/cards/epiphany_analytica_nations_undivided.json @@ -1,9 +1,9 @@ { - "id": "epiphany_analytica_nations_undivided", - "base_link": 0, "card_type_id": "corp_identity", - "deck_limit": 3, + "deck_limit": 1, + "designed_by": "null_signal_games", "faction_id": "nbn", + "id": "epiphany_analytica_nations_undivided", "influence_limit": 15, "is_unique": false, "minimum_deck_size": 45, diff --git a/v2/cards/equivocation.json b/v2/cards/equivocation.json index c004a4b01..fd6fe7598 100644 --- a/v2/cards/equivocation.json +++ b/v2/cards/equivocation.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "equivocation", "influence_cost": 3, diff --git a/v2/cards/errand_boy.json b/v2/cards/errand_boy.json index 9e0918e51..03be70f71 100644 --- a/v2/cards/errand_boy.json +++ b/v2/cards/errand_boy.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "errand_boy", "influence_cost": 1, diff --git a/v2/cards/eru_ayase_pessoa.json b/v2/cards/eru_ayase_pessoa.json new file mode 100644 index 000000000..6ebf3679e --- /dev/null +++ b/v2/cards/eru_ayase_pessoa.json @@ -0,0 +1,16 @@ +{ + "card_type_id": "resource", + "cost": 2, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "anarch", + "id": "eru_ayase_pessoa", + "influence_cost": 3, + "is_unique": true, + "side_id": "runner", + "stripped_text": "click, take 1 tag: Run Archives. If successful, instead of breaching Archives, breach R&D. Use this ability only once per turn. Threat 3 -> Whenever you breach R&D during a run on Archives, access 1 additional card. (This ability is active if any player has 3 or more agenda points.)", + "stripped_title": "Eru Ayase-Pessoa", + "subtypes": ["connection", "clone"], + "text": "[click], take 1 tag: Run Archives. If successful, instead of breaching Archives, breach R&D. Use this ability only once per turn.\nThreat 3 → Whenever you breach R&D during a run on Archives, access 1 additional card. (This ability is active if any player has 3 or more agenda points.)", + "title": "Eru Ayase-Pessoa" +} diff --git a/v2/cards/esa_afontov_eco_insurrectionist.json b/v2/cards/esa_afontov_eco_insurrectionist.json index 8d0e74670..27da0c970 100644 --- a/v2/cards/esa_afontov_eco_insurrectionist.json +++ b/v2/cards/esa_afontov_eco_insurrectionist.json @@ -2,11 +2,11 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "esa_afontov_eco_insurrectionist", "influence_limit": 15, "is_unique": false, - "memory_cost": 4, "minimum_deck_size": 45, "pronouns": "xi/xir", "side_id": "runner", diff --git a/v2/cards/escalate_vitriol.json b/v2/cards/escalate_vitriol.json index 1d7f1cd63..5b49346df 100644 --- a/v2/cards/escalate_vitriol.json +++ b/v2/cards/escalate_vitriol.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "escalate_vitriol", "is_unique": false, diff --git a/v2/cards/escher.json b/v2/cards/escher.json index ee4a1f530..3ae1ac2e5 100644 --- a/v2/cards/escher.json +++ b/v2/cards/escher.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "escher", "influence_cost": 5, diff --git a/v2/cards/estelle_moon.json b/v2/cards/estelle_moon.json index 1c85654a5..e81482eda 100644 --- a/v2/cards/estelle_moon.json +++ b/v2/cards/estelle_moon.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "estelle_moon", "influence_cost": 2, diff --git a/v2/cards/euler.json b/v2/cards/euler.json index 02d1bdc7f..43715b0ed 100644 --- a/v2/cards/euler.json +++ b/v2/cards/euler.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "euler", "influence_cost": 3, @@ -9,9 +10,9 @@ "memory_cost": 1, "side_id": "runner", "strength": 2, - "stripped_text": "When you install this program, for the remainder of the turn it gains \"Interface -> 0 credits: Break 1 code gate subroutine.\" Interface -> 2 credits: Break up to 2 code gate subroutines. 1 credit: +1 strength.", + "stripped_text": "Interface -> 0 credits: Break 1 code gate subroutine. Use this ability only if this program was installed this turn. Interface -> 2 credits: Break up to 2 code gate subroutines. 1 credit: +1 strength.", "stripped_title": "Euler", "subtypes": ["icebreaker", "decoder"], - "text": "When you install this program, for the remainder of the turn it gains \"Interface → 0[credit]: Break 1 code gate subroutine.\"\nInterface → 2[credit]: Break up to 2 code gate subroutines.\n1[credit]: +1 strength.", + "text": "Interface → 0[credit]: Break 1 code gate subroutine. Use this ability only if this program was installed this turn.\nInterface → 2[credit]: Break up to 2 code gate subroutines.\n1[credit]: +1 strength.", "title": "Euler" } diff --git a/v2/cards/eureka.json b/v2/cards/eureka.json index 3c950cc0a..e28e3c05f 100644 --- a/v2/cards/eureka.json +++ b/v2/cards/eureka.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "eureka", "influence_cost": 1, diff --git a/v2/cards/eve_campaign.json b/v2/cards/eve_campaign.json index 41b3fccd9..683aaf688 100644 --- a/v2/cards/eve_campaign.json +++ b/v2/cards/eve_campaign.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "eve_campaign", "influence_cost": 3, diff --git a/v2/cards/evidence_collection.json b/v2/cards/evidence_collection.json index eeeba080b..859fcafd8 100644 --- a/v2/cards/evidence_collection.json +++ b/v2/cards/evidence_collection.json @@ -3,17 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, - "faction_id": "neutral_corp", - "id": "evidence_collection", - "influence_cost": 0, - "is_unique": false, - "side_id": "corp", - "stripped_text": "When you win a game with Evidence Collection in your score area, reveal set 2.", - "stripped_title": "Evidence Collection", - "subtypes": ["research"], - "text": "When you win a game with Evidence Collection in your score area, reveal set 2.", - "title": "Evidence Collection", - "layout_id": "progression", + "designed_by": "fantasy_flight_games", "faces": [ { "stripped_text": "When you win a game with Evidence Collection in your score area, reveal set 5.", @@ -27,5 +17,16 @@ "stripped_text": "Evidence Collection is worth 1 fewer agenda point while in the Runner's score area.", "text": "Evidence Collection is worth 1 fewer agenda point while in the Runner's score area." } - ] + ], + "faction_id": "neutral_corp", + "id": "evidence_collection", + "influence_cost": 0, + "is_unique": false, + "layout_id": "progression", + "side_id": "corp", + "stripped_text": "When you win a game with Evidence Collection in your score area, reveal set 2.", + "stripped_title": "Evidence Collection", + "subtypes": ["research"], + "text": "When you win a game with Evidence Collection in your score area, reveal set 2.", + "title": "Evidence Collection" } diff --git a/v2/cards/excalibur.json b/v2/cards/excalibur.json index 0ee920135..5fdc19ffc 100644 --- a/v2/cards/excalibur.json +++ b/v2/cards/excalibur.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "excalibur", "influence_cost": 0, diff --git a/v2/cards/exchange_of_information.json b/v2/cards/exchange_of_information.json index e31d45467..7bb9d6413 100644 --- a/v2/cards/exchange_of_information.json +++ b/v2/cards/exchange_of_information.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "exchange_of_information", "influence_cost": 2, diff --git a/v2/cards/exclusive_party.json b/v2/cards/exclusive_party.json index ea4d6de5e..a2f41c203 100644 --- a/v2/cards/exclusive_party.json +++ b/v2/cards/exclusive_party.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 6, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "exclusive_party", "influence_cost": 1, diff --git a/v2/cards/executive_boot_camp.json b/v2/cards/executive_boot_camp.json index 4f7b37c2f..cd7edcca0 100644 --- a/v2/cards/executive_boot_camp.json +++ b/v2/cards/executive_boot_camp.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "executive_boot_camp", "influence_cost": 1, diff --git a/v2/cards/executive_functioning.json b/v2/cards/executive_functioning.json index 35fd2ebd2..b7798f190 100644 --- a/v2/cards/executive_functioning.json +++ b/v2/cards/executive_functioning.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "executive_functioning", "influence_cost": 3, diff --git a/v2/cards/executive_retreat.json b/v2/cards/executive_retreat.json index dfc1e5638..5822132e4 100644 --- a/v2/cards/executive_retreat.json +++ b/v2/cards/executive_retreat.json @@ -3,6 +3,7 @@ "agenda_points": 3, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "executive_retreat", "influence_cost": 0, diff --git a/v2/cards/executive_search_firm.json b/v2/cards/executive_search_firm.json index d72406526..1b822fd45 100644 --- a/v2/cards/executive_search_firm.json +++ b/v2/cards/executive_search_firm.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "executive_search_firm", "influence_cost": 3, diff --git a/v2/cards/executive_wiretaps.json b/v2/cards/executive_wiretaps.json index 3ac8a43a1..6955f1c05 100644 --- a/v2/cards/executive_wiretaps.json +++ b/v2/cards/executive_wiretaps.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "executive_wiretaps", "influence_cost": 3, diff --git a/v2/cards/exer.json b/v2/cards/exer.json index da18444f9..2988401b4 100644 --- a/v2/cards/exer.json +++ b/v2/cards/exer.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "exer", "influence_cost": 3, diff --git a/v2/cards/exile_streethawk.json b/v2/cards/exile_streethawk.json index 884105c24..f668feb75 100644 --- a/v2/cards/exile_streethawk.json +++ b/v2/cards/exile_streethawk.json @@ -2,6 +2,7 @@ "base_link": 1, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "exile_streethawk", "influence_limit": 15, diff --git a/v2/cards/experiential_data.json b/v2/cards/experiential_data.json index c2a334515..1aed87697 100644 --- a/v2/cards/experiential_data.json +++ b/v2/cards/experiential_data.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "experiential_data", "influence_cost": 1, diff --git a/v2/cards/expert_schedule_analyzer.json b/v2/cards/expert_schedule_analyzer.json index 0699b3c93..6beca7e7f 100644 --- a/v2/cards/expert_schedule_analyzer.json +++ b/v2/cards/expert_schedule_analyzer.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "expert_schedule_analyzer", "influence_cost": 2, diff --git a/v2/cards/explode_a_palooza.json b/v2/cards/explode_a_palooza.json index d1828c300..8025aa758 100644 --- a/v2/cards/explode_a_palooza.json +++ b/v2/cards/explode_a_palooza.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "explode_a_palooza", "is_unique": false, diff --git a/v2/cards/exploit.json b/v2/cards/exploit.json index 62df27695..b6826d4cd 100644 --- a/v2/cards/exploit.json +++ b/v2/cards/exploit.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "exploit", "influence_cost": 2, diff --git a/v2/cards/exploratory_romp.json b/v2/cards/exploratory_romp.json index f6ea2a067..1327c642b 100644 --- a/v2/cards/exploratory_romp.json +++ b/v2/cards/exploratory_romp.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "exploratory_romp", "influence_cost": 2, diff --git a/v2/cards/expo_grid.json b/v2/cards/expo_grid.json index ee59b927f..9d46b1d4c 100644 --- a/v2/cards/expo_grid.json +++ b/v2/cards/expo_grid.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "expo_grid", "influence_cost": 3, diff --git a/v2/cards/expose.json b/v2/cards/expose.json index 4f7458bbc..08658ee67 100644 --- a/v2/cards/expose.json +++ b/v2/cards/expose.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "expose", "influence_cost": 2, diff --git a/v2/cards/express_delivery.json b/v2/cards/express_delivery.json index 01c1d933f..510d462b8 100644 --- a/v2/cards/express_delivery.json +++ b/v2/cards/express_delivery.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "express_delivery", "influence_cost": 1, diff --git a/v2/cards/extract.json b/v2/cards/extract.json index 89ea0af44..beec47f4a 100644 --- a/v2/cards/extract.json +++ b/v2/cards/extract.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "weyland_consortium", "id": "extract", "influence_cost": 2, diff --git a/v2/cards/f2p.json b/v2/cards/f2p.json index 8f97a770e..89b337f47 100644 --- a/v2/cards/f2p.json +++ b/v2/cards/f2p.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "nbn", "id": "f2p", "influence_cost": 2, diff --git a/v2/cards/faerie.json b/v2/cards/faerie.json index c4c0dd387..c4ee25229 100644 --- a/v2/cards/faerie.json +++ b/v2/cards/faerie.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "faerie", "influence_cost": 3, diff --git a/v2/cards/fairchild.json b/v2/cards/fairchild.json index 787c3dbb2..66b308b22 100644 --- a/v2/cards/fairchild.json +++ b/v2/cards/fairchild.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 9, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "fairchild", "influence_cost": 5, diff --git a/v2/cards/fairchild_1_0.json b/v2/cards/fairchild_1_0.json index 82ae46dd6..8f606559c 100644 --- a/v2/cards/fairchild_1_0.json +++ b/v2/cards/fairchild_1_0.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "fairchild_1_0", "influence_cost": 1, diff --git a/v2/cards/fairchild_2_0.json b/v2/cards/fairchild_2_0.json index 4d85ac75c..495d43f6d 100644 --- a/v2/cards/fairchild_2_0.json +++ b/v2/cards/fairchild_2_0.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "fairchild_2_0", "influence_cost": 2, diff --git a/v2/cards/fairchild_3_0.json b/v2/cards/fairchild_3_0.json index c7849418c..4126689f8 100644 --- a/v2/cards/fairchild_3_0.json +++ b/v2/cards/fairchild_3_0.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 6, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "fairchild_3_0", "influence_cost": 3, diff --git a/v2/cards/fall_guy.json b/v2/cards/fall_guy.json index 843d59c39..5b3903465 100644 --- a/v2/cards/fall_guy.json +++ b/v2/cards/fall_guy.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "fall_guy", "influence_cost": 1, diff --git a/v2/cards/false_echo.json b/v2/cards/false_echo.json index 0adf86d0f..bbdc683da 100644 --- a/v2/cards/false_echo.json +++ b/v2/cards/false_echo.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "false_echo", "influence_cost": 2, diff --git a/v2/cards/false_flag.json b/v2/cards/false_flag.json index ceea3459e..a0944fab9 100644 --- a/v2/cards/false_flag.json +++ b/v2/cards/false_flag.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "false_flag", "influence_cost": 2, diff --git a/v2/cards/false_lead.json b/v2/cards/false_lead.json index 8ae7dbad6..91ace3f54 100644 --- a/v2/cards/false_lead.json +++ b/v2/cards/false_lead.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "false_lead", "influence_cost": 0, diff --git a/v2/cards/falsified_credentials.json b/v2/cards/falsified_credentials.json index 663b0955b..f2dc2ef8e 100644 --- a/v2/cards/falsified_credentials.json +++ b/v2/cards/falsified_credentials.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "falsified_credentials", "influence_cost": 2, diff --git a/v2/cards/fan_site.json b/v2/cards/fan_site.json index c495e40b6..676845112 100644 --- a/v2/cards/fan_site.json +++ b/v2/cards/fan_site.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "fan_site", "influence_cost": 1, diff --git a/v2/cards/fast_break.json b/v2/cards/fast_break.json index e57b71879..95d98b666 100644 --- a/v2/cards/fast_break.json +++ b/v2/cards/fast_break.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "fast_break", "influence_cost": 3, diff --git a/v2/cards/fast_track.json b/v2/cards/fast_track.json index 0646b6575..67155a786 100644 --- a/v2/cards/fast_track.json +++ b/v2/cards/fast_track.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "fast_track", "influence_cost": 0, diff --git a/v2/cards/faust.json b/v2/cards/faust.json index 99d1de0d9..46294a493 100644 --- a/v2/cards/faust.json +++ b/v2/cards/faust.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "faust", "influence_cost": 2, diff --git a/v2/cards/fawkes.json b/v2/cards/fawkes.json index 06074485a..f6d015a9c 100644 --- a/v2/cards/fawkes.json +++ b/v2/cards/fawkes.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "fawkes", "influence_cost": 2, diff --git a/v2/cards/fear_the_masses.json b/v2/cards/fear_the_masses.json index d0349dfe7..551677839 100644 --- a/v2/cards/fear_the_masses.json +++ b/v2/cards/fear_the_masses.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 6, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "fear_the_masses", "influence_cost": 2, diff --git a/v2/cards/federal_fundraising.json b/v2/cards/federal_fundraising.json new file mode 100644 index 000000000..fff953007 --- /dev/null +++ b/v2/cards/federal_fundraising.json @@ -0,0 +1,17 @@ +{ + "card_type_id": "asset", + "cost": 0, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "nbn", + "id": "federal_fundraising", + "influence_cost": 2, + "is_unique": false, + "side_id": "corp", + "stripped_text": "When your turn begins, you may look at the top 3 cards of R&D and arrange them in any order. Then, if this server is not protected by ice, you may draw 1 card.", + "stripped_title": "Federal Fundraising", + "subtypes": ["political", "ritzy"], + "text": "When your turn begins, you may look at the top 3 cards of R&D and arrange them in any order. Then, if this server is not protected by ice, you may draw 1 card.", + "title": "Federal Fundraising", + "trash_cost": 2 +} diff --git a/v2/cards/feedback_filter.json b/v2/cards/feedback_filter.json index 235b5f41d..aad7dcfcb 100644 --- a/v2/cards/feedback_filter.json +++ b/v2/cards/feedback_filter.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "feedback_filter", "influence_cost": 1, diff --git a/v2/cards/feint.json b/v2/cards/feint.json index bb2a0e633..df9d0ce8e 100644 --- a/v2/cards/feint.json +++ b/v2/cards/feint.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "feint", "influence_cost": 3, diff --git a/v2/cards/femme_fatale.json b/v2/cards/femme_fatale.json index 8c1eee675..1cf1d8ca6 100644 --- a/v2/cards/femme_fatale.json +++ b/v2/cards/femme_fatale.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 9, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "femme_fatale", "influence_cost": 1, diff --git a/v2/cards/fencer_fueno.json b/v2/cards/fencer_fueno.json index ca883135f..b55e5dc16 100644 --- a/v2/cards/fencer_fueno.json +++ b/v2/cards/fencer_fueno.json @@ -2,14 +2,15 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "fencer_fueno", "influence_cost": 1, "is_unique": true, "side_id": "runner", - "stripped_text": "When your turn begins or you steal an agenda, place 1 credit on this resource. Whenever you make a successful run, you may spend hosted credits for the remainder of that run. When your turn ends, if there are 3 or more hosted credits, you must pay 1 credit or trash this resource.", + "stripped_text": "When your turn begins and whenever you steal an agenda, place 1 credit on this resource. Whenever you make a successful run, you can spend hosted credits for the remainder of that run. When your turn ends, if there are 3 or more hosted credits, you must pay 1 credit or trash this resource.", "stripped_title": "Fencer Fueno", "subtypes": ["companion", "virtual"], - "text": "When your turn begins or you steal an agenda, place 1[credit] on this resource.\nWhenever you make a successful run, you may spend hosted credits for the remainder of that run.\nWhen your turn ends, if there are 3 or more hosted credits, you must pay 1[credit] or trash this resource.", + "text": "When your turn begins and whenever you steal an agenda, place 1[credit] on this resource.\nWhenever you make a successful run, you can spend hosted credits for the remainder of that run.\nWhen your turn ends, if there are 3 or more hosted credits, you must pay 1[credit] or trash this resource.", "title": "Fencer Fueno" } diff --git a/v2/cards/fenris.json b/v2/cards/fenris.json index eb74317e7..b1543e2c2 100644 --- a/v2/cards/fenris.json +++ b/v2/cards/fenris.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "fenris", "influence_cost": 2, diff --git a/v2/cards/fermenter.json b/v2/cards/fermenter.json index 9f43406fa..3baffeab7 100644 --- a/v2/cards/fermenter.json +++ b/v2/cards/fermenter.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "fermenter", "influence_cost": 2, diff --git a/v2/cards/fester.json b/v2/cards/fester.json index 5ae725a3b..bc41c415b 100644 --- a/v2/cards/fester.json +++ b/v2/cards/fester.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "fester", "influence_cost": 1, diff --git a/v2/cards/fetal_ai.json b/v2/cards/fetal_ai.json index 3e090ab9c..6a069072e 100644 --- a/v2/cards/fetal_ai.json +++ b/v2/cards/fetal_ai.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "fetal_ai", "is_unique": false, diff --git a/v2/cards/film_critic.json b/v2/cards/film_critic.json index e125fe0ca..e15129768 100644 --- a/v2/cards/film_critic.json +++ b/v2/cards/film_critic.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "film_critic", "influence_cost": 1, diff --git a/v2/cards/finality.json b/v2/cards/finality.json index 9bc80014c..d37fb8d9b 100644 --- a/v2/cards/finality.json +++ b/v2/cards/finality.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "finality", "influence_cost": 3, diff --git a/v2/cards/financial_collapse.json b/v2/cards/financial_collapse.json index 91686a906..7f021e38e 100644 --- a/v2/cards/financial_collapse.json +++ b/v2/cards/financial_collapse.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "financial_collapse", "influence_cost": 0, diff --git a/v2/cards/find_the_truth.json b/v2/cards/find_the_truth.json index b79941744..2a240562b 100644 --- a/v2/cards/find_the_truth.json +++ b/v2/cards/find_the_truth.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "adam", "id": "find_the_truth", "influence_cost": 3, diff --git a/v2/cards/fire_wall.json b/v2/cards/fire_wall.json index ab4ca1e87..6c717c140 100644 --- a/v2/cards/fire_wall.json +++ b/v2/cards/fire_wall.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "fire_wall", "influence_cost": 2, diff --git a/v2/cards/firmware_updates.json b/v2/cards/firmware_updates.json index 067a350d0..9f34a1e21 100644 --- a/v2/cards/firmware_updates.json +++ b/v2/cards/firmware_updates.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "firmware_updates", "is_unique": false, diff --git a/v2/cards/first_responders.json b/v2/cards/first_responders.json index 776915262..6c5ec6828 100644 --- a/v2/cards/first_responders.json +++ b/v2/cards/first_responders.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "first_responders", "influence_cost": 0, diff --git a/v2/cards/fisk_investment_seminar.json b/v2/cards/fisk_investment_seminar.json index dfddf5844..029ecced2 100644 --- a/v2/cards/fisk_investment_seminar.json +++ b/v2/cards/fisk_investment_seminar.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "fisk_investment_seminar", "influence_cost": 2, diff --git a/v2/cards/flame_out.json b/v2/cards/flame_out.json index 42c0e448e..1f68f8c8b 100644 --- a/v2/cards/flame_out.json +++ b/v2/cards/flame_out.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "flame_out", "influence_cost": 3, diff --git a/v2/cards/flare.json b/v2/cards/flare.json index 1ebd2ad67..189bd7c59 100644 --- a/v2/cards/flare.json +++ b/v2/cards/flare.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 9, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "flare", "influence_cost": 3, diff --git a/v2/cards/flashbang.json b/v2/cards/flashbang.json index 9091639b0..190452f8e 100644 --- a/v2/cards/flashbang.json +++ b/v2/cards/flashbang.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "flashbang", "influence_cost": 3, diff --git a/v2/cards/flip_switch.json b/v2/cards/flip_switch.json index b1e8d0f0f..a820c7621 100644 --- a/v2/cards/flip_switch.json +++ b/v2/cards/flip_switch.json @@ -2,13 +2,14 @@ "card_type_id": "hardware", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "criminal", "id": "flip_switch", "influence_cost": 1, "is_unique": false, "side_id": "runner", - "stripped_text": "You cannot use this hardware during the Corp's turn. trash: Jack out. trash: Remove 1 tag. Interrupt -> trash: Reduce the base trace strength of a trace to 0.", + "stripped_text": "Use this hardware only during your turn. trash: Jack out. trash: Remove 1 tag. Interrupt -> trash: Reduce the base trace strength of a trace to 0.", "stripped_title": "Flip Switch", - "text": "You cannot use this hardware during the Corp's turn.\n[trash]: Jack out.\n[trash]: Remove 1 tag.\n[interrupt] → [trash]: Reduce the base trace strength of a trace to 0.", + "text": "Use this hardware only during your turn.\n[trash]: Jack out.\n[trash]: Remove 1 tag.\n[interrupt] → [trash]: Reduce the base trace strength of a trace to 0.", "title": "Flip Switch" } diff --git a/v2/cards/flower_sermon.json b/v2/cards/flower_sermon.json index 42e4b7789..326dce7dd 100644 --- a/v2/cards/flower_sermon.json +++ b/v2/cards/flower_sermon.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "flower_sermon", "is_unique": false, diff --git a/v2/cards/flux_capacitor.json b/v2/cards/flux_capacitor.json index 868d574cf..abf885dbd 100644 --- a/v2/cards/flux_capacitor.json +++ b/v2/cards/flux_capacitor.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "flux_capacitor", "influence_cost": 2, diff --git a/v2/cards/fly_on_the_wall.json b/v2/cards/fly_on_the_wall.json index 7ec095954..e4c8c41eb 100644 --- a/v2/cards/fly_on_the_wall.json +++ b/v2/cards/fly_on_the_wall.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "fly_on_the_wall", "is_unique": false, diff --git a/v2/cards/focus_group.json b/v2/cards/focus_group.json index 95d574c94..32c843eac 100644 --- a/v2/cards/focus_group.json +++ b/v2/cards/focus_group.json @@ -2,13 +2,14 @@ "card_type_id": "operation", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "nbn", "id": "focus_group", "influence_cost": 3, "is_unique": false, "side_id": "corp", - "stripped_text": "Play only if the Runner made a successful run during their last turn. Choose a card type, then reveal the grip. You may pay X credits to place X advancement tokens on an installed card. X is equal to or less than the number of revealed cards of the chosen type.", + "stripped_text": "Play only if the Runner made a successful run during their last turn. Choose a card type, then reveal the grip. Choose a value for X equal to or less than the number of revealed cards of the chosen type. You may pay X credits to place X advancement counters on 1 installed card.", "stripped_title": "Focus Group", - "text": "Play only if the Runner made a successful run during their last turn.\nChoose a card type, then reveal the grip. You may pay X[credit] to place X advancement tokens on an installed card. X is equal to or less than the number of revealed cards of the chosen type.", + "text": "Play only if the Runner made a successful run during their last turn.\nChoose a card type, then reveal the grip. Choose a value for X equal to or less than the number of revealed cards of the chosen type. You may pay X[credit] to place X advancement counters on 1 installed card.", "title": "Focus Group" } diff --git a/v2/cards/force_of_nature.json b/v2/cards/force_of_nature.json index 6312b6602..f65e7dc9c 100644 --- a/v2/cards/force_of_nature.json +++ b/v2/cards/force_of_nature.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "force_of_nature", "influence_cost": 1, diff --git a/v2/cards/forced_connection.json b/v2/cards/forced_connection.json index 469e46998..099f8b413 100644 --- a/v2/cards/forced_connection.json +++ b/v2/cards/forced_connection.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "forced_connection", "influence_cost": 2, diff --git a/v2/cards/forged_activation_orders.json b/v2/cards/forged_activation_orders.json index 1a7758b40..59dd210b0 100644 --- a/v2/cards/forged_activation_orders.json +++ b/v2/cards/forged_activation_orders.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "forged_activation_orders", "influence_cost": 2, diff --git a/v2/cards/forger.json b/v2/cards/forger.json index 05decdaf9..bdf72e7aa 100644 --- a/v2/cards/forger.json +++ b/v2/cards/forger.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "forger", "influence_cost": 1, diff --git a/v2/cards/forked.json b/v2/cards/forked.json index ae0a9fe5a..287577fd8 100644 --- a/v2/cards/forked.json +++ b/v2/cards/forked.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "forked", "influence_cost": 3, diff --git a/v2/cards/formicary.json b/v2/cards/formicary.json index 39bc2e325..2593c237a 100644 --- a/v2/cards/formicary.json +++ b/v2/cards/formicary.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "formicary", "influence_cost": 2, diff --git a/v2/cards/foxfire.json b/v2/cards/foxfire.json index 3436ae5ed..ac315b1b6 100644 --- a/v2/cards/foxfire.json +++ b/v2/cards/foxfire.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "foxfire", "influence_cost": 0, diff --git a/v2/cards/fractal_threat_matrix.json b/v2/cards/fractal_threat_matrix.json index 60bd3fe70..a8b1ebe48 100644 --- a/v2/cards/fractal_threat_matrix.json +++ b/v2/cards/fractal_threat_matrix.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "fractal_threat_matrix", "influence_cost": 3, diff --git a/v2/cards/frame_job.json b/v2/cards/frame_job.json index 890715c72..7701a0a2d 100644 --- a/v2/cards/frame_job.json +++ b/v2/cards/frame_job.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "frame_job", "influence_cost": 2, diff --git a/v2/cards/franchise_city.json b/v2/cards/franchise_city.json index b0c236a83..d96d67da0 100644 --- a/v2/cards/franchise_city.json +++ b/v2/cards/franchise_city.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "franchise_city", "influence_cost": 5, diff --git a/v2/cards/frantic_coding.json b/v2/cards/frantic_coding.json index 39d4430b5..ec0cd9d67 100644 --- a/v2/cards/frantic_coding.json +++ b/v2/cards/frantic_coding.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "frantic_coding", "influence_cost": 3, diff --git a/v2/cards/free_lunch.json b/v2/cards/free_lunch.json index d9d4396d9..29240594f 100644 --- a/v2/cards/free_lunch.json +++ b/v2/cards/free_lunch.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "free_lunch", "influence_cost": 3, diff --git a/v2/cards/freedom_khumalo_crypto_anarchist.json b/v2/cards/freedom_khumalo_crypto_anarchist.json index 9df18b90e..30a39c6e8 100644 --- a/v2/cards/freedom_khumalo_crypto_anarchist.json +++ b/v2/cards/freedom_khumalo_crypto_anarchist.json @@ -2,6 +2,7 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "freedom_khumalo_crypto_anarchist", "influence_limit": 15, diff --git a/v2/cards/freedom_of_information.json b/v2/cards/freedom_of_information.json index 01c90309c..cff9276df 100644 --- a/v2/cards/freedom_of_information.json +++ b/v2/cards/freedom_of_information.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "nbn", "id": "freedom_of_information", "is_unique": false, diff --git a/v2/cards/freedom_through_equality.json b/v2/cards/freedom_through_equality.json index acf442625..933e4e269 100644 --- a/v2/cards/freedom_through_equality.json +++ b/v2/cards/freedom_through_equality.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "freedom_through_equality", "influence_cost": 0, diff --git a/v2/cards/freelance_coding_contract.json b/v2/cards/freelance_coding_contract.json index c4ff7ef74..07c90a788 100644 --- a/v2/cards/freelance_coding_contract.json +++ b/v2/cards/freelance_coding_contract.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "freelance_coding_contract", "influence_cost": 1, diff --git a/v2/cards/freelancer.json b/v2/cards/freelancer.json index 3c3aeabd3..a79c1b44b 100644 --- a/v2/cards/freelancer.json +++ b/v2/cards/freelancer.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "freelancer", "influence_cost": 0, diff --git a/v2/cards/friday_chip.json b/v2/cards/friday_chip.json index a97eb9e66..1e9a94fbf 100644 --- a/v2/cards/friday_chip.json +++ b/v2/cards/friday_chip.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "friday_chip", "influence_cost": 2, diff --git a/v2/cards/friends_in_high_places.json b/v2/cards/friends_in_high_places.json index 3c867a393..83b8cdaa6 100644 --- a/v2/cards/friends_in_high_places.json +++ b/v2/cards/friends_in_high_places.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "friends_in_high_places", "influence_cost": 1, diff --git a/v2/cards/fringe_applications_tomorrow_today.json b/v2/cards/fringe_applications_tomorrow_today.json index a8be82db3..c9919e926 100644 --- a/v2/cards/fringe_applications_tomorrow_today.json +++ b/v2/cards/fringe_applications_tomorrow_today.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "fringe_applications_tomorrow_today", "influence_limit": null, diff --git a/v2/cards/front_company.json b/v2/cards/front_company.json index 0781bd51a..47507c36e 100644 --- a/v2/cards/front_company.json +++ b/v2/cards/front_company.json @@ -1,9 +1,10 @@ { - "id": "front_company", "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", + "id": "front_company", "influence_cost": 2, "is_unique": true, "side_id": "corp", diff --git a/v2/cards/fujii_asset_retrieval.json b/v2/cards/fujii_asset_retrieval.json new file mode 100644 index 000000000..31d1bcc8b --- /dev/null +++ b/v2/cards/fujii_asset_retrieval.json @@ -0,0 +1,16 @@ +{ + "advancement_requirement": 5, + "agenda_points": 3, + "card_type_id": "agenda", + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "jinteki", + "id": "fujii_asset_retrieval", + "is_unique": false, + "side_id": "corp", + "stripped_text": "When this agenda is scored or stolen, do 2 net damage.", + "stripped_title": "Fujii Asset Retrieval", + "subtypes": ["ambush", "security"], + "text": "When this agenda is scored or stolen, do 2 net damage.", + "title": "Fujii Asset Retrieval" +} diff --git a/v2/cards/full_immersion_recstudio.json b/v2/cards/full_immersion_recstudio.json index 65326fac7..8972a5a4f 100644 --- a/v2/cards/full_immersion_recstudio.json +++ b/v2/cards/full_immersion_recstudio.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "full_immersion_recstudio", "influence_cost": 4, diff --git a/v2/cards/fully_operational.json b/v2/cards/fully_operational.json index a7a376a54..1912f5a3a 100644 --- a/v2/cards/fully_operational.json +++ b/v2/cards/fully_operational.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "fully_operational", "influence_cost": 3, diff --git a/v2/cards/fumiko_yamamori.json b/v2/cards/fumiko_yamamori.json index 9e7e66b47..af8aebadf 100644 --- a/v2/cards/fumiko_yamamori.json +++ b/v2/cards/fumiko_yamamori.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "fumiko_yamamori", "influence_cost": 2, diff --git a/v2/cards/funhouse.json b/v2/cards/funhouse.json index eea25c3ed..0b9f0547c 100644 --- a/v2/cards/funhouse.json +++ b/v2/cards/funhouse.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 5, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "nbn", "id": "funhouse", "influence_cost": 2, diff --git a/v2/cards/gabriel_santiago_consummate_professional.json b/v2/cards/gabriel_santiago_consummate_professional.json index 9ff0b5d08..9f7105aae 100644 --- a/v2/cards/gabriel_santiago_consummate_professional.json +++ b/v2/cards/gabriel_santiago_consummate_professional.json @@ -2,6 +2,7 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "gabriel_santiago_consummate_professional", "influence_limit": 15, diff --git a/v2/cards/gachapon.json b/v2/cards/gachapon.json index 30bba1908..a0e6048ad 100644 --- a/v2/cards/gachapon.json +++ b/v2/cards/gachapon.json @@ -2,14 +2,15 @@ "card_type_id": "hardware", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "gachapon", "influence_cost": 2, "is_unique": false, "side_id": "runner", - "stripped_text": "trash: Set aside the top 6 cards of your stack. You may install 1 program or virtual resource from among the set aside cards, paying 2 credits less. Shuffle 3 of the remaining cards into your stack, then remove the rest from the game.", + "stripped_text": "trash: Set aside the top 6 cards of your stack faceup. You may install 1 program or virtual resource from among those cards, paying 2 credits less. Shuffle 3 of the remaining cards into your stack, then remove the rest from the game.", "stripped_title": "Gachapon", "subtypes": ["chip"], - "text": "[trash]: Set aside the top 6 cards of your stack. You may install 1 program or virtual resource from among the set aside cards, paying 2[credit] less. Shuffle 3 of the remaining cards into your stack, then remove the rest from the game.", + "text": "[trash]: Set aside the top 6 cards of your stack faceup. You may install 1 program or virtual resource from among those cards, paying 2[credit] less. Shuffle 3 of the remaining cards into your stack, then remove the rest from the game.", "title": "Gachapon" } diff --git a/v2/cards/gagarin_deep_space_expanding_the_horizon.json b/v2/cards/gagarin_deep_space_expanding_the_horizon.json index a10510bb8..368befa1b 100644 --- a/v2/cards/gagarin_deep_space_expanding_the_horizon.json +++ b/v2/cards/gagarin_deep_space_expanding_the_horizon.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "gagarin_deep_space_expanding_the_horizon", "influence_limit": 15, diff --git a/v2/cards/galahad.json b/v2/cards/galahad.json index ad4d78384..b08b87ea4 100644 --- a/v2/cards/galahad.json +++ b/v2/cards/galahad.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "galahad", "influence_cost": 1, diff --git a/v2/cards/game_changer.json b/v2/cards/game_changer.json index afa6c9b01..a24d2092e 100644 --- a/v2/cards/game_changer.json +++ b/v2/cards/game_changer.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 6, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "game_changer", "influence_cost": 5, diff --git a/v2/cards/game_day.json b/v2/cards/game_day.json index 2c96b2ecc..fb42d20aa 100644 --- a/v2/cards/game_day.json +++ b/v2/cards/game_day.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "game_day", "influence_cost": 3, diff --git a/v2/cards/game_over.json b/v2/cards/game_over.json index 139fd536a..ba0fff617 100644 --- a/v2/cards/game_over.json +++ b/v2/cards/game_over.json @@ -2,14 +2,15 @@ "card_type_id": "operation", "cost": 4, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "nbn", "id": "game_over", "influence_cost": 3, "is_unique": false, "side_id": "corp", - "stripped_text": "Play only if the Runner stole an agenda during their last turn. Choose a Runner card type. Trash all installed non-icebreaker cards of that type. The Runner may prevent any of those cards from being trashed by paying 3 credits each. Take 1 bad publicity.", + "stripped_text": "Play only if the Runner stole an agenda during their last turn. Choose a Runner card type. Trash all installed non-icebreaker cards of the chosen type. For each card that would be trashed this way, the Runner may pay 3 credits to prevent that card from being trashed. Take 1 bad publicity.", "stripped_title": "Game Over", "subtypes": ["illicit", "gray_ops"], - "text": "Play only if the Runner stole an agenda during their last turn.\nChoose a Runner card type. Trash all installed non-icebreaker cards of that type. The Runner may prevent any of those cards from being trashed by paying 3[credit] each. Take 1 bad publicity.", + "text": "Play only if the Runner stole an agenda during their last turn.\nChoose a Runner card type. Trash all installed non-icebreaker cards of the chosen type. For each card that would be trashed this way, the Runner may pay 3[credit] to prevent that card from being trashed.\nTake 1 bad publicity.", "title": "Game Over" } diff --git a/v2/cards/gamenet_where_dreams_are_real.json b/v2/cards/gamenet_where_dreams_are_real.json index 2370aec2b..c79c8a4d4 100644 --- a/v2/cards/gamenet_where_dreams_are_real.json +++ b/v2/cards/gamenet_where_dreams_are_real.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "null_signal_games", "faction_id": "nbn", "id": "gamenet_where_dreams_are_real", "influence_limit": 17, diff --git a/v2/cards/gang_sign.json b/v2/cards/gang_sign.json index f2b7d84f5..118161e34 100644 --- a/v2/cards/gang_sign.json +++ b/v2/cards/gang_sign.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "gang_sign", "influence_cost": 3, diff --git a/v2/cards/ganked.json b/v2/cards/ganked.json index 712214e7a..a3e754048 100644 --- a/v2/cards/ganked.json +++ b/v2/cards/ganked.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "nbn", "id": "ganked", "influence_cost": 2, diff --git a/v2/cards/garrote.json b/v2/cards/garrote.json index c0e842832..f72d48a1d 100644 --- a/v2/cards/garrote.json +++ b/v2/cards/garrote.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 7, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "garrote", "influence_cost": 3, diff --git a/v2/cards/gaslight.json b/v2/cards/gaslight.json index 4a3e10f27..f51c983c0 100644 --- a/v2/cards/gaslight.json +++ b/v2/cards/gaslight.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "nbn", "id": "gaslight", "influence_cost": 1, diff --git a/v2/cards/gatekeeper.json b/v2/cards/gatekeeper.json index 4d3823eb4..40849dd08 100644 --- a/v2/cards/gatekeeper.json +++ b/v2/cards/gatekeeper.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "gatekeeper", "influence_cost": 2, diff --git a/v2/cards/gauss.json b/v2/cards/gauss.json index 58443e8a5..831cf4adb 100644 --- a/v2/cards/gauss.json +++ b/v2/cards/gauss.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "gauss", "influence_cost": 2, diff --git a/v2/cards/gbahali.json b/v2/cards/gbahali.json index 0677d0278..120fef048 100644 --- a/v2/cards/gbahali.json +++ b/v2/cards/gbahali.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "gbahali", "influence_cost": 1, diff --git a/v2/cards/gebrselassie.json b/v2/cards/gebrselassie.json index 0c6a1daca..efd669dbb 100644 --- a/v2/cards/gebrselassie.json +++ b/v2/cards/gebrselassie.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "gebrselassie", "influence_cost": 4, diff --git a/v2/cards/gemini.json b/v2/cards/gemini.json index 949c26162..aa29143ae 100644 --- a/v2/cards/gemini.json +++ b/v2/cards/gemini.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "gemini", "influence_cost": 2, diff --git a/v2/cards/gene_conditioning_shoppe.json b/v2/cards/gene_conditioning_shoppe.json index 724e6331d..3708f99f1 100644 --- a/v2/cards/gene_conditioning_shoppe.json +++ b/v2/cards/gene_conditioning_shoppe.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "gene_conditioning_shoppe", "influence_cost": 1, diff --git a/v2/cards/gene_splicer.json b/v2/cards/gene_splicer.json index c23e7e1da..7bcb3818e 100644 --- a/v2/cards/gene_splicer.json +++ b/v2/cards/gene_splicer.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "gene_splicer", "influence_cost": 2, diff --git a/v2/cards/genetic_resequencing.json b/v2/cards/genetic_resequencing.json index 11e0d18ff..e3e72582a 100644 --- a/v2/cards/genetic_resequencing.json +++ b/v2/cards/genetic_resequencing.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "genetic_resequencing", "is_unique": false, diff --git a/v2/cards/genetics_pavilion.json b/v2/cards/genetics_pavilion.json index a8ad0c190..f9b56b137 100644 --- a/v2/cards/genetics_pavilion.json +++ b/v2/cards/genetics_pavilion.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "genetics_pavilion", "influence_cost": 5, diff --git a/v2/cards/genotyping.json b/v2/cards/genotyping.json index bed753429..6e8176439 100644 --- a/v2/cards/genotyping.json +++ b/v2/cards/genotyping.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "genotyping", "influence_cost": 2, diff --git a/v2/cards/georgia_emelyov.json b/v2/cards/georgia_emelyov.json index 90f9ebe09..30cc06f10 100644 --- a/v2/cards/georgia_emelyov.json +++ b/v2/cards/georgia_emelyov.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "georgia_emelyov", "influence_cost": 2, diff --git a/v2/cards/geothermal_fracking.json b/v2/cards/geothermal_fracking.json index a16675254..1b4aa22bf 100644 --- a/v2/cards/geothermal_fracking.json +++ b/v2/cards/geothermal_fracking.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "geothermal_fracking", "is_unique": false, diff --git a/v2/cards/ghost_branch.json b/v2/cards/ghost_branch.json index c5add3c98..bab9031ae 100644 --- a/v2/cards/ghost_branch.json +++ b/v2/cards/ghost_branch.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "ghost_branch", "influence_cost": 1, diff --git a/v2/cards/ghost_runner.json b/v2/cards/ghost_runner.json index adad1865e..e37d085d3 100644 --- a/v2/cards/ghost_runner.json +++ b/v2/cards/ghost_runner.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "ghost_runner", "influence_cost": 0, diff --git a/v2/cards/ghosttongue.json b/v2/cards/ghosttongue.json index 7cf1cfd31..7d86849b4 100644 --- a/v2/cards/ghosttongue.json +++ b/v2/cards/ghosttongue.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "ghosttongue", "influence_cost": 3, diff --git a/v2/cards/gila_hands_arcology.json b/v2/cards/gila_hands_arcology.json index 68d005651..0037718fd 100644 --- a/v2/cards/gila_hands_arcology.json +++ b/v2/cards/gila_hands_arcology.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "gila_hands_arcology", "influence_cost": 0, diff --git a/v2/cards/gingerbread.json b/v2/cards/gingerbread.json index 5895604fa..f1d98d4a7 100644 --- a/v2/cards/gingerbread.json +++ b/v2/cards/gingerbread.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "gingerbread", "influence_cost": 2, diff --git a/v2/cards/giordano_memorial_field.json b/v2/cards/giordano_memorial_field.json index b75a6b0d5..892c4f2f6 100644 --- a/v2/cards/giordano_memorial_field.json +++ b/v2/cards/giordano_memorial_field.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "giordano_memorial_field", "influence_cost": 2, diff --git a/v2/cards/glenn_station.json b/v2/cards/glenn_station.json index f7bc3dc6f..c4b77f2cc 100644 --- a/v2/cards/glenn_station.json +++ b/v2/cards/glenn_station.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "glenn_station", "is_unique": false, diff --git a/v2/cards/global_food_initiative.json b/v2/cards/global_food_initiative.json index 407e0374f..484155f6e 100644 --- a/v2/cards/global_food_initiative.json +++ b/v2/cards/global_food_initiative.json @@ -3,6 +3,7 @@ "agenda_points": 3, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "global_food_initiative", "influence_cost": 1, diff --git a/v2/cards/globalsec_security_clearance.json b/v2/cards/globalsec_security_clearance.json index cfb29779d..a4e9e0754 100644 --- a/v2/cards/globalsec_security_clearance.json +++ b/v2/cards/globalsec_security_clearance.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "sunny_lebeau", "id": "globalsec_security_clearance", "influence_cost": 2, diff --git a/v2/cards/glut_cipher.json b/v2/cards/glut_cipher.json index c6c7bceb3..0c210e7bc 100644 --- a/v2/cards/glut_cipher.json +++ b/v2/cards/glut_cipher.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "glut_cipher", "influence_cost": 4, diff --git a/v2/cards/god_of_war.json b/v2/cards/god_of_war.json index 17f7a674d..2f40da120 100644 --- a/v2/cards/god_of_war.json +++ b/v2/cards/god_of_war.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "god_of_war", "influence_cost": 3, diff --git a/v2/cards/gold_farmer.json b/v2/cards/gold_farmer.json index 3348822a2..dc8feb7eb 100644 --- a/v2/cards/gold_farmer.json +++ b/v2/cards/gold_farmer.json @@ -2,15 +2,16 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "nbn", "id": "gold_farmer", "influence_cost": 3, "is_unique": false, "side_id": "corp", "strength": 1, - "stripped_text": "When the Runner breaks a printed subroutine on this ice, they lose 1 credit. Subroutine End the run unless the Runner pays 3 credits. Subroutine End the run unless the Runner pays 3 credits.", + "stripped_text": "Whenever the Runner breaks a printed subroutine on this ice, they lose 1 credit. Subroutine End the run unless the Runner pays 3 credits. Subroutine End the run unless the Runner pays 3 credits.", "stripped_title": "Gold Farmer", "subtypes": ["barrier"], - "text": "When the Runner breaks a printed subroutine on this ice, they lose 1[credit].\n[subroutine] End the run unless the Runner pays 3[credit].\n[subroutine] End the run unless the Runner pays 3[credit].", + "text": "Whenever the Runner breaks a printed subroutine on this ice, they lose 1[credit].\n[subroutine] End the run unless the Runner pays 3[credit].\n[subroutine] End the run unless the Runner pays 3[credit].", "title": "Gold Farmer" } diff --git a/v2/cards/golden.json b/v2/cards/golden.json index e5d6c760c..56bac3409 100644 --- a/v2/cards/golden.json +++ b/v2/cards/golden.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "golden", "influence_cost": 2, diff --git a/v2/cards/gordian_blade.json b/v2/cards/gordian_blade.json index 1681ed91e..b25028e21 100644 --- a/v2/cards/gordian_blade.json +++ b/v2/cards/gordian_blade.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "gordian_blade", "influence_cost": 3, diff --git a/v2/cards/gorman_drip_v1.json b/v2/cards/gorman_drip_v1.json index 58c098ba2..ca5f3ed68 100644 --- a/v2/cards/gorman_drip_v1.json +++ b/v2/cards/gorman_drip_v1.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "gorman_drip_v1", "influence_cost": 1, diff --git a/v2/cards/government_contracts.json b/v2/cards/government_contracts.json index 4f137e87a..b9abb3b13 100644 --- a/v2/cards/government_contracts.json +++ b/v2/cards/government_contracts.json @@ -3,6 +3,7 @@ "agenda_points": 3, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "government_contracts", "is_unique": false, diff --git a/v2/cards/government_investigations.json b/v2/cards/government_investigations.json index 9cee1077b..fec19cddd 100644 --- a/v2/cards/government_investigations.json +++ b/v2/cards/government_investigations.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "government_investigations", "influence_cost": 0, diff --git a/v2/cards/government_subsidy.json b/v2/cards/government_subsidy.json index 766de9ce4..75ed7e9b5 100644 --- a/v2/cards/government_subsidy.json +++ b/v2/cards/government_subsidy.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 10, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "weyland_consortium", "id": "government_subsidy", "influence_cost": 1, diff --git a/v2/cards/government_takeover.json b/v2/cards/government_takeover.json index 5d595029a..5c66ea3e0 100644 --- a/v2/cards/government_takeover.json +++ b/v2/cards/government_takeover.json @@ -3,6 +3,7 @@ "agenda_points": 6, "card_type_id": "agenda", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "government_takeover", "is_unique": true, diff --git a/v2/cards/gpi_net_tap.json b/v2/cards/gpi_net_tap.json index db9d820d5..8fefbbe89 100644 --- a/v2/cards/gpi_net_tap.json +++ b/v2/cards/gpi_net_tap.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "gpi_net_tap", "influence_cost": 2, diff --git a/v2/cards/graft.json b/v2/cards/graft.json index 253988612..88a5987a8 100644 --- a/v2/cards/graft.json +++ b/v2/cards/graft.json @@ -3,6 +3,7 @@ "agenda_points": 3, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "graft", "is_unique": false, diff --git a/v2/cards/grappling_hook.json b/v2/cards/grappling_hook.json index 648943c55..9ee8af5b4 100644 --- a/v2/cards/grappling_hook.json +++ b/v2/cards/grappling_hook.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "grappling_hook", "influence_cost": 2, diff --git a/v2/cards/gravedigger.json b/v2/cards/gravedigger.json index 4a26e0dab..b73e2a32a 100644 --- a/v2/cards/gravedigger.json +++ b/v2/cards/gravedigger.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "gravedigger", "influence_cost": 2, diff --git a/v2/cards/greasing_the_palm.json b/v2/cards/greasing_the_palm.json new file mode 100644 index 000000000..1611b8c85 --- /dev/null +++ b/v2/cards/greasing_the_palm.json @@ -0,0 +1,16 @@ +{ + "card_type_id": "operation", + "cost": 3, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "haas_bioroid", + "id": "greasing_the_palm", + "influence_cost": 3, + "is_unique": false, + "side_id": "corp", + "stripped_text": "Gain 5 credits. You may install 1 card from HQ. You may remove 1 tag to place 1 advancement counter on that card.", + "stripped_title": "Greasing the Palm", + "subtypes": ["transaction"], + "text": "Gain 5[credit]. You may install 1 card from HQ. You may remove 1 tag to place 1 advancement counter on that card.", + "title": "Greasing the Palm" +} diff --git a/v2/cards/green_level_clearance.json b/v2/cards/green_level_clearance.json index ba4763ab1..d74e05b77 100644 --- a/v2/cards/green_level_clearance.json +++ b/v2/cards/green_level_clearance.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "green_level_clearance", "influence_cost": 1, diff --git a/v2/cards/grifter.json b/v2/cards/grifter.json index 120b54979..7db7f2444 100644 --- a/v2/cards/grifter.json +++ b/v2/cards/grifter.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "grifter", "influence_cost": 1, diff --git a/v2/cards/grim.json b/v2/cards/grim.json index 70cb0a05e..4d08f9b1b 100644 --- a/v2/cards/grim.json +++ b/v2/cards/grim.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "grim", "influence_cost": 0, diff --git a/v2/cards/grimoire.json b/v2/cards/grimoire.json index bbf3580b9..71caab4fa 100644 --- a/v2/cards/grimoire.json +++ b/v2/cards/grimoire.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "grimoire", "influence_cost": 2, diff --git a/v2/cards/grndl_power_unleashed.json b/v2/cards/grndl_power_unleashed.json index 4ba4f2e91..712bdf46a 100644 --- a/v2/cards/grndl_power_unleashed.json +++ b/v2/cards/grndl_power_unleashed.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "grndl_power_unleashed", "influence_limit": 10, diff --git a/v2/cards/grndl_refinery.json b/v2/cards/grndl_refinery.json index c17d1e91f..1734c7700 100644 --- a/v2/cards/grndl_refinery.json +++ b/v2/cards/grndl_refinery.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "grndl_refinery", "influence_cost": 2, diff --git a/v2/cards/gs_sherman_m3.json b/v2/cards/gs_sherman_m3.json index 81c2c0b06..f30b1cd3f 100644 --- a/v2/cards/gs_sherman_m3.json +++ b/v2/cards/gs_sherman_m3.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "sunny_lebeau", "id": "gs_sherman_m3", "influence_cost": 2, diff --git a/v2/cards/gs_shrike_m2.json b/v2/cards/gs_shrike_m2.json index ce089ba20..9adeae81c 100644 --- a/v2/cards/gs_shrike_m2.json +++ b/v2/cards/gs_shrike_m2.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "sunny_lebeau", "id": "gs_shrike_m2", "influence_cost": 2, diff --git a/v2/cards/gs_striker_m1.json b/v2/cards/gs_striker_m1.json index bb1f073e8..12f56a2d5 100644 --- a/v2/cards/gs_striker_m1.json +++ b/v2/cards/gs_striker_m1.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "sunny_lebeau", "id": "gs_striker_m1", "influence_cost": 2, diff --git a/v2/cards/guard.json b/v2/cards/guard.json index 0c3313900..c14b10b23 100644 --- a/v2/cards/guard.json +++ b/v2/cards/guard.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "guard", "influence_cost": 0, diff --git a/v2/cards/guinea_pig.json b/v2/cards/guinea_pig.json index 967ecb968..4ef3c886e 100644 --- a/v2/cards/guinea_pig.json +++ b/v2/cards/guinea_pig.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "guinea_pig", "influence_cost": 3, diff --git a/v2/cards/guru_davinder.json b/v2/cards/guru_davinder.json index 8b1e4adaf..e2efbf61a 100644 --- a/v2/cards/guru_davinder.json +++ b/v2/cards/guru_davinder.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "guru_davinder", "influence_cost": 1, diff --git a/v2/cards/gutenberg.json b/v2/cards/gutenberg.json index 25f9cbde5..e802bcf4b 100644 --- a/v2/cards/gutenberg.json +++ b/v2/cards/gutenberg.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "gutenberg", "influence_cost": 3, diff --git a/v2/cards/gyri_labyrinth.json b/v2/cards/gyri_labyrinth.json index 22695421b..c779c4e8a 100644 --- a/v2/cards/gyri_labyrinth.json +++ b/v2/cards/gyri_labyrinth.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "gyri_labyrinth", "influence_cost": 2, diff --git a/v2/cards/haarpsichord_studios_entertainment_unleashed.json b/v2/cards/haarpsichord_studios_entertainment_unleashed.json index 4ed982551..72ff54407 100644 --- a/v2/cards/haarpsichord_studios_entertainment_unleashed.json +++ b/v2/cards/haarpsichord_studios_entertainment_unleashed.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "haarpsichord_studios_entertainment_unleashed", "influence_limit": 15, diff --git a/v2/cards/haas_arcology_ai.json b/v2/cards/haas_arcology_ai.json index 323a84c7a..329c1d550 100644 --- a/v2/cards/haas_arcology_ai.json +++ b/v2/cards/haas_arcology_ai.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "haas_arcology_ai", "influence_cost": 4, diff --git a/v2/cards/haas_bioroid_architects_of_tomorrow.json b/v2/cards/haas_bioroid_architects_of_tomorrow.json index c9020f560..687fbab7d 100644 --- a/v2/cards/haas_bioroid_architects_of_tomorrow.json +++ b/v2/cards/haas_bioroid_architects_of_tomorrow.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "haas_bioroid_architects_of_tomorrow", "influence_limit": 12, diff --git a/v2/cards/haas_bioroid_engineering_the_future.json b/v2/cards/haas_bioroid_engineering_the_future.json index ac2c417a5..40357c884 100644 --- a/v2/cards/haas_bioroid_engineering_the_future.json +++ b/v2/cards/haas_bioroid_engineering_the_future.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "haas_bioroid_engineering_the_future", "influence_limit": 15, diff --git a/v2/cards/haas_bioroid_precision_design.json b/v2/cards/haas_bioroid_precision_design.json index 0fd5289f8..deb4c4093 100644 --- a/v2/cards/haas_bioroid_precision_design.json +++ b/v2/cards/haas_bioroid_precision_design.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "haas_bioroid_precision_design", "influence_limit": 15, diff --git a/v2/cards/haas_bioroid_stronger_together.json b/v2/cards/haas_bioroid_stronger_together.json index 6b1130a9a..20982d579 100644 --- a/v2/cards/haas_bioroid_stronger_together.json +++ b/v2/cards/haas_bioroid_stronger_together.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "haas_bioroid_stronger_together", "influence_limit": 15, diff --git a/v2/cards/hacktivist_meeting.json b/v2/cards/hacktivist_meeting.json index 6f906084e..75873267f 100644 --- a/v2/cards/hacktivist_meeting.json +++ b/v2/cards/hacktivist_meeting.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "hacktivist_meeting", "influence_cost": 2, diff --git a/v2/cards/hades_fragment.json b/v2/cards/hades_fragment.json index 9402a4d6e..fe0214f9b 100644 --- a/v2/cards/hades_fragment.json +++ b/v2/cards/hades_fragment.json @@ -3,6 +3,7 @@ "agenda_points": 3, "card_type_id": "agenda", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "hades_fragment", "influence_cost": 0, diff --git a/v2/cards/hades_shard.json b/v2/cards/hades_shard.json index 2de73432c..63895fe75 100644 --- a/v2/cards/hades_shard.json +++ b/v2/cards/hades_shard.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 7, "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "hades_shard", "influence_cost": 1, diff --git a/v2/cards/hadrians_wall.json b/v2/cards/hadrians_wall.json index f6d3f0e12..d50d6fd22 100644 --- a/v2/cards/hadrians_wall.json +++ b/v2/cards/hadrians_wall.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 10, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "hadrians_wall", "influence_cost": 3, diff --git a/v2/cards/hafrun.json b/v2/cards/hafrun.json index d71b9ab40..4cb67ee8e 100644 --- a/v2/cards/hafrun.json +++ b/v2/cards/hafrun.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "hafrun", "influence_cost": 2, diff --git a/v2/cards/hagen.json b/v2/cards/hagen.json index df7c80eea..9cab5f4dc 100644 --- a/v2/cards/hagen.json +++ b/v2/cards/hagen.json @@ -2,15 +2,16 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "hagen", "influence_cost": 3, "is_unique": false, "side_id": "corp", "strength": 6, - "stripped_text": "This ice has -1 strength for each installed icebreaker. Subroutine Trash 1 program that is not a decoder, fracter, or killer. Subroutine End the run.", + "stripped_text": "This ice gets -1 strength for each installed icebreaker. Subroutine Trash 1 installed program that is not a decoder, fracter, or killer. Subroutine End the run.", "stripped_title": "Hagen", "subtypes": ["barrier", "destroyer"], - "text": "This ice has -1 strength for each installed icebreaker.\n[subroutine] Trash 1 program that is not a decoder, fracter, or killer.\n[subroutine] End the run.", + "text": "This ice gets −1 strength for each installed icebreaker.\n[subroutine] Trash 1 installed program that is not a decoder, fracter, or killer.\n[subroutine] End the run.", "title": "Hagen" } diff --git a/v2/cards/hailstorm.json b/v2/cards/hailstorm.json index 57970137b..83ee0b997 100644 --- a/v2/cards/hailstorm.json +++ b/v2/cards/hailstorm.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 6, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "hailstorm", "influence_cost": 4, diff --git a/v2/cards/hakarl_1_0.json b/v2/cards/hakarl_1_0.json index 1bd399ffd..465acca98 100644 --- a/v2/cards/hakarl_1_0.json +++ b/v2/cards/hakarl_1_0.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 5, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "hakarl_1_0", "influence_cost": 3, diff --git a/v2/cards/hangeki.json b/v2/cards/hangeki.json index a5a7854ac..d5afa53ab 100644 --- a/v2/cards/hangeki.json +++ b/v2/cards/hangeki.json @@ -2,14 +2,15 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "hangeki", "influence_cost": 2, "is_unique": false, "side_id": "corp", - "stripped_text": "Play only if the Runner trashed a Corp card during their last turn. Choose 1 of your installed cards. The Runner may access that card. If they do, remove this operation from the game; otherwise, add this operation to the Runner's score area as an agenda worth -1 agenda point.", + "stripped_text": "Play only if the Runner trashed a Corp card during their last turn and you have at least 1 installed card. Choose 1 of your installed cards. The Runner may access that card. If they do, remove this operation from the game; otherwise, add this operation to the Runner's score area as an agenda worth -1 agenda point.", "stripped_title": "Hangeki", "subtypes": ["reprisal", "gray_ops"], - "text": "Play only if the Runner trashed a Corp card during their last turn.\nChoose 1 of your installed cards. The Runner may access that card. If they do, remove this operation from the game; otherwise, add this operation to the Runner's score area as an agenda worth -1 agenda point.", + "text": "Play only if the Runner trashed a Corp card during their last turn and you have at least 1 installed card.\nChoose 1 of your installed cards. The Runner may access that card. If they do, remove this operation from the game; otherwise, add this operation to the Runner's score area as an agenda worth -1 agenda point.", "title": "Hangeki" } diff --git a/v2/cards/hannah_wheels_pilintra.json b/v2/cards/hannah_wheels_pilintra.json index 4f434a752..678d9de94 100644 --- a/v2/cards/hannah_wheels_pilintra.json +++ b/v2/cards/hannah_wheels_pilintra.json @@ -1,9 +1,10 @@ { - "id": "hannah_wheels_pilintra", "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", + "id": "hannah_wheels_pilintra", "influence_cost": 2, "is_unique": true, "side_id": "runner", diff --git a/v2/cards/hansei_review.json b/v2/cards/hansei_review.json index d1a8955b4..3814d3ccd 100644 --- a/v2/cards/hansei_review.json +++ b/v2/cards/hansei_review.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 5, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "hansei_review", "influence_cost": 1, diff --git a/v2/cards/harbinger.json b/v2/cards/harbinger.json index c3f46ab5e..dc0c7955b 100644 --- a/v2/cards/harbinger.json +++ b/v2/cards/harbinger.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "apex", "id": "harbinger", "influence_cost": 1, diff --git a/v2/cards/hard_at_work.json b/v2/cards/hard_at_work.json index 753f3e741..4ff618a4a 100644 --- a/v2/cards/hard_at_work.json +++ b/v2/cards/hard_at_work.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "hard_at_work", "influence_cost": 2, diff --git a/v2/cards/hard_hitting_news.json b/v2/cards/hard_hitting_news.json index c66024a90..07775ba97 100644 --- a/v2/cards/hard_hitting_news.json +++ b/v2/cards/hard_hitting_news.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "hard_hitting_news", "influence_cost": 2, diff --git a/v2/cards/harishchandra_ent_where_you_re_the_star.json b/v2/cards/harishchandra_ent_where_you_re_the_star.json index b3f9600f6..d7ed2123a 100644 --- a/v2/cards/harishchandra_ent_where_you_re_the_star.json +++ b/v2/cards/harishchandra_ent_where_you_re_the_star.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "harishchandra_ent_where_you_re_the_star", "influence_limit": 17, diff --git a/v2/cards/harmony_ar_therapy.json b/v2/cards/harmony_ar_therapy.json index 4fbf73a47..8027dd176 100644 --- a/v2/cards/harmony_ar_therapy.json +++ b/v2/cards/harmony_ar_therapy.json @@ -2,13 +2,14 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "harmony_ar_therapy", "influence_cost": 3, "is_unique": false, "side_id": "runner", - "stripped_text": "Search your heap for up to 5 cards with different names. Shuffle those cards into your stack. Remove this card from the game instead of trashing it.", + "stripped_text": "Choose up to 5 cards with different names in your heap. Shuffle those cards into your stack. Remove this event from the game.", "stripped_title": "Harmony AR Therapy", - "text": "Search your heap for up to 5 cards with different names. Shuffle those cards into your stack. Remove this card from the game instead of trashing it.", + "text": "Choose up to 5 cards with different names in your heap. Shuffle those cards into your stack.\nRemove this event from the game.", "title": "Harmony AR Therapy" } diff --git a/v2/cards/harmony_medtech_biomedical_pioneer.json b/v2/cards/harmony_medtech_biomedical_pioneer.json index b6dbefbab..05e07bd00 100644 --- a/v2/cards/harmony_medtech_biomedical_pioneer.json +++ b/v2/cards/harmony_medtech_biomedical_pioneer.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "harmony_medtech_biomedical_pioneer", "influence_limit": 12, diff --git a/v2/cards/harvester.json b/v2/cards/harvester.json index bba83eabe..d2eb922ec 100644 --- a/v2/cards/harvester.json +++ b/v2/cards/harvester.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "harvester", "influence_cost": 1, diff --git a/v2/cards/hasty_relocation.json b/v2/cards/hasty_relocation.json index 848e6aa5b..47606076d 100644 --- a/v2/cards/hasty_relocation.json +++ b/v2/cards/hasty_relocation.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "hasty_relocation", "influence_cost": 2, diff --git a/v2/cards/hatchet_job.json b/v2/cards/hatchet_job.json index d3565ee1e..07fd35e82 100644 --- a/v2/cards/hatchet_job.json +++ b/v2/cards/hatchet_job.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "hatchet_job", "influence_cost": 2, diff --git a/v2/cards/hayley_kaplan_universal_scholar.json b/v2/cards/hayley_kaplan_universal_scholar.json index b3d3323b0..9438661cf 100644 --- a/v2/cards/hayley_kaplan_universal_scholar.json +++ b/v2/cards/hayley_kaplan_universal_scholar.json @@ -2,6 +2,7 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "hayley_kaplan_universal_scholar", "influence_limit": 15, diff --git a/v2/cards/heartbeat.json b/v2/cards/heartbeat.json index 09a27491a..bc7c99697 100644 --- a/v2/cards/heartbeat.json +++ b/v2/cards/heartbeat.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "apex", "id": "heartbeat", "influence_cost": 3, diff --git a/v2/cards/hedge_fund.json b/v2/cards/hedge_fund.json index f8613906d..0ca3367ad 100644 --- a/v2/cards/hedge_fund.json +++ b/v2/cards/hedge_fund.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "hedge_fund", "influence_cost": 0, diff --git a/v2/cards/heimdall_1_0.json b/v2/cards/heimdall_1_0.json index 5986ab5f9..c2f9ffdc8 100644 --- a/v2/cards/heimdall_1_0.json +++ b/v2/cards/heimdall_1_0.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 8, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "heimdall_1_0", "influence_cost": 2, diff --git a/v2/cards/heimdall_2_0.json b/v2/cards/heimdall_2_0.json index 649b8d4c1..2a907741e 100644 --- a/v2/cards/heimdall_2_0.json +++ b/v2/cards/heimdall_2_0.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 11, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "heimdall_2_0", "influence_cost": 3, diff --git a/v2/cards/heinlein_grid.json b/v2/cards/heinlein_grid.json index ca221b776..953e69cc0 100644 --- a/v2/cards/heinlein_grid.json +++ b/v2/cards/heinlein_grid.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "heinlein_grid", "influence_cost": 2, diff --git a/v2/cards/helheim_servers.json b/v2/cards/helheim_servers.json index d9a588a16..2480dc55c 100644 --- a/v2/cards/helheim_servers.json +++ b/v2/cards/helheim_servers.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "helheim_servers", "influence_cost": 1, diff --git a/v2/cards/helium_3_deposit.json b/v2/cards/helium_3_deposit.json index 0ab7c712f..7e9fa70bc 100644 --- a/v2/cards/helium_3_deposit.json +++ b/v2/cards/helium_3_deposit.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "helium_3_deposit", "is_unique": false, diff --git a/v2/cards/hellion_alpha_test.json b/v2/cards/hellion_alpha_test.json index 7a107bf3e..0f03a0b4f 100644 --- a/v2/cards/hellion_alpha_test.json +++ b/v2/cards/hellion_alpha_test.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "hellion_alpha_test", "influence_cost": 3, diff --git a/v2/cards/hellion_beta_test.json b/v2/cards/hellion_beta_test.json index e95cee6d1..b6d3d5cd0 100644 --- a/v2/cards/hellion_beta_test.json +++ b/v2/cards/hellion_beta_test.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "hellion_beta_test", "influence_cost": 3, diff --git a/v2/cards/hemorrhage.json b/v2/cards/hemorrhage.json index 20b69438b..a8fd5e27e 100644 --- a/v2/cards/hemorrhage.json +++ b/v2/cards/hemorrhage.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "hemorrhage", "influence_cost": 4, diff --git a/v2/cards/henry_phillips.json b/v2/cards/henry_phillips.json index 1ce551635..2bd66c6d7 100644 --- a/v2/cards/henry_phillips.json +++ b/v2/cards/henry_phillips.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "henry_phillips", "influence_cost": 1, diff --git a/v2/cards/herald.json b/v2/cards/herald.json index 9bfd8633c..2fb9acc34 100644 --- a/v2/cards/herald.json +++ b/v2/cards/herald.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "herald", "influence_cost": 2, diff --git a/v2/cards/heritage_committee.json b/v2/cards/heritage_committee.json index d536cb0c4..ccccda5be 100644 --- a/v2/cards/heritage_committee.json +++ b/v2/cards/heritage_committee.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "heritage_committee", "influence_cost": 2, diff --git a/v2/cards/hermes.json b/v2/cards/hermes.json index acae5291a..31adf60ef 100644 --- a/v2/cards/hermes.json +++ b/v2/cards/hermes.json @@ -1,9 +1,10 @@ { - "id": "hermes", "card_type_id": "hardware", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "criminal", + "id": "hermes", "influence_cost": 3, "is_unique": true, "side_id": "runner", diff --git a/v2/cards/hernando_cortez.json b/v2/cards/hernando_cortez.json index 79fd018b3..5e3613b52 100644 --- a/v2/cards/hernando_cortez.json +++ b/v2/cards/hernando_cortez.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "hernando_cortez", "influence_cost": 1, diff --git a/v2/cards/high_profile_target.json b/v2/cards/high_profile_target.json index 905c82784..010f52d81 100644 --- a/v2/cards/high_profile_target.json +++ b/v2/cards/high_profile_target.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "high_profile_target", "influence_cost": 5, diff --git a/v2/cards/high_risk_investment.json b/v2/cards/high_risk_investment.json index 1f6ad2e58..890fc4148 100644 --- a/v2/cards/high_risk_investment.json +++ b/v2/cards/high_risk_investment.json @@ -3,6 +3,7 @@ "agenda_points": 3, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "high_risk_investment", "is_unique": false, diff --git a/v2/cards/high_stakes_job.json b/v2/cards/high_stakes_job.json index ba611e0f9..80121a53e 100644 --- a/v2/cards/high_stakes_job.json +++ b/v2/cards/high_stakes_job.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 6, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "high_stakes_job", "influence_cost": 3, diff --git a/v2/cards/hijacked_router.json b/v2/cards/hijacked_router.json index 829767ec4..ebb023975 100644 --- a/v2/cards/hijacked_router.json +++ b/v2/cards/hijacked_router.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "hijacked_router", "influence_cost": 2, diff --git a/v2/cards/himitsu_bako.json b/v2/cards/himitsu_bako.json index c2be852f9..dac555272 100644 --- a/v2/cards/himitsu_bako.json +++ b/v2/cards/himitsu_bako.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "himitsu_bako", "influence_cost": 2, diff --git a/v2/cards/hippo.json b/v2/cards/hippo.json index 67191df6f..29445e91d 100644 --- a/v2/cards/hippo.json +++ b/v2/cards/hippo.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "hippo", "influence_cost": 5, diff --git a/v2/cards/hippocampic_mechanocytes.json b/v2/cards/hippocampic_mechanocytes.json index 8538fc16f..d01c90143 100644 --- a/v2/cards/hippocampic_mechanocytes.json +++ b/v2/cards/hippocampic_mechanocytes.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "hippocampic_mechanocytes", "influence_cost": 2, diff --git a/v2/cards/hired_help.json b/v2/cards/hired_help.json index 06dd84e9c..ec3137e8d 100644 --- a/v2/cards/hired_help.json +++ b/v2/cards/hired_help.json @@ -3,6 +3,7 @@ "card_type_id": "upgrade", "cost": 1, "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "hired_help", "influence_cost": 1, diff --git a/v2/cards/hive.json b/v2/cards/hive.json index ec7cb6445..088c7bb63 100644 --- a/v2/cards/hive.json +++ b/v2/cards/hive.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "hive", "influence_cost": 2, diff --git a/v2/cards/hivemind.json b/v2/cards/hivemind.json index 1dbfc8884..f9678ea6c 100644 --- a/v2/cards/hivemind.json +++ b/v2/cards/hivemind.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "hivemind", "influence_cost": 5, diff --git a/v2/cards/hokusai_grid.json b/v2/cards/hokusai_grid.json index 2aeb70249..12ca7ad85 100644 --- a/v2/cards/hokusai_grid.json +++ b/v2/cards/hokusai_grid.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "hokusai_grid", "influence_cost": 2, diff --git a/v2/cards/hollywood_renovation.json b/v2/cards/hollywood_renovation.json index eb4f98f1e..13c3ba14d 100644 --- a/v2/cards/hollywood_renovation.json +++ b/v2/cards/hollywood_renovation.json @@ -3,6 +3,7 @@ "agenda_points": 3, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "hollywood_renovation", "is_unique": false, diff --git a/v2/cards/holmegaard.json b/v2/cards/holmegaard.json index d1d6c01a3..78043a8b1 100644 --- a/v2/cards/holmegaard.json +++ b/v2/cards/holmegaard.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 7, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "holmegaard", "influence_cost": 2, diff --git a/v2/cards/honeyfarm.json b/v2/cards/honeyfarm.json index 07d3093c6..323fd0446 100644 --- a/v2/cards/honeyfarm.json +++ b/v2/cards/honeyfarm.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "honeyfarm", "influence_cost": 0, diff --git a/v2/cards/hortum.json b/v2/cards/hortum.json index e9a4f0fca..b090ec67d 100644 --- a/v2/cards/hortum.json +++ b/v2/cards/hortum.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "hortum", "influence_cost": 2, diff --git a/v2/cards/hoshiko_shiro_untold_protagonist.json b/v2/cards/hoshiko_shiro_untold_protagonist.json index e783c97af..0786a84be 100644 --- a/v2/cards/hoshiko_shiro_untold_protagonist.json +++ b/v2/cards/hoshiko_shiro_untold_protagonist.json @@ -2,27 +2,28 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "null_signal_games", + "faces": [ + { + "base_link": 1, + "stripped_text": "When your turn begins, draw 1 card and lose 1 credit. When your turn ends, if you did not access any cards this turn, flip this identity.", + "stripped_title": "Hoshiko Shiro: Mahou Shoujo", + "subtypes": ["digital"], + "text": "When your turn begins, draw 1 card and lose 1[credit].\nWhen your turn ends, if you did not access any cards this turn, flip this identity.", + "title": "Hoshiko Shiro: Mahou Shoujo" + } + ], "faction_id": "anarch", "id": "hoshiko_shiro_untold_protagonist", "influence_limit": 15, "is_unique": false, + "layout_id": "flip", "minimum_deck_size": 45, "pronouns": "she/her", "side_id": "runner", - "stripped_text": "When your turn ends, if you accessed at least 1 card this turn, gain 2 credits and flip this identity.", + "stripped_text": "When your turn ends, if you accessed a card this turn, gain 2 credits and flip this identity.", "stripped_title": "Hoshiko Shiro: Untold Protagonist", "subtypes": ["natural"], - "text": "When your turn ends, if you accessed at least 1 card this turn, gain 2[credit] and flip this identity.", - "title": "Hoshiko Shiro: Untold Protagonist", - "layout_id": "flip", - "faces": [ - { - "base_link": 1, - "stripped_text": "When your turn begins, draw 1 card and lose 1 credit. When your turn ends, if you did not access at least 1 card this turn, flip this identity.", - "stripped_title": "Hoshiko Shiro: Mahou Shouju", - "subtypes": ["digital"], - "text": "When your turn begins, draw 1 card and lose 1[credit].\nWhen your turn ends, if you did not access at least 1 card this turn, flip this identity.", - "title": "Hoshiko Shiro: Mahou Shouju" - } - ] + "text": "When your turn ends, if you accessed a card this turn, gain 2[credit] and flip this identity.", + "title": "Hoshiko Shiro: Untold Protagonist" } diff --git a/v2/cards/hostage.json b/v2/cards/hostage.json index 6678006cb..e203510cf 100644 --- a/v2/cards/hostage.json +++ b/v2/cards/hostage.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "hostage", "influence_cost": 2, diff --git a/v2/cards/hostile_architecture.json b/v2/cards/hostile_architecture.json index db3c9e5bd..39fbe5cbc 100644 --- a/v2/cards/hostile_architecture.json +++ b/v2/cards/hostile_architecture.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 5, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "weyland_consortium", "id": "hostile_architecture", "influence_cost": 3, diff --git a/v2/cards/hostile_infrastructure.json b/v2/cards/hostile_infrastructure.json index 1e45f379b..b91f73337 100644 --- a/v2/cards/hostile_infrastructure.json +++ b/v2/cards/hostile_infrastructure.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "hostile_infrastructure", "influence_cost": 2, diff --git a/v2/cards/hostile_takeover.json b/v2/cards/hostile_takeover.json index 805370d29..02926d937 100644 --- a/v2/cards/hostile_takeover.json +++ b/v2/cards/hostile_takeover.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "hostile_takeover", "is_unique": false, diff --git a/v2/cards/hot_pursuit.json b/v2/cards/hot_pursuit.json index 4e6737ab6..8c514ded7 100644 --- a/v2/cards/hot_pursuit.json +++ b/v2/cards/hot_pursuit.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "hot_pursuit", "influence_cost": 2, diff --git a/v2/cards/houdini.json b/v2/cards/houdini.json index 6c8715ed3..1c5b462d1 100644 --- a/v2/cards/houdini.json +++ b/v2/cards/houdini.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "houdini", "influence_cost": 3, diff --git a/v2/cards/hourglass.json b/v2/cards/hourglass.json index 5b9a17af8..5da825474 100644 --- a/v2/cards/hourglass.json +++ b/v2/cards/hourglass.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "hourglass", "influence_cost": 2, diff --git a/v2/cards/house_of_knives.json b/v2/cards/house_of_knives.json index 5074b153d..828002159 100644 --- a/v2/cards/house_of_knives.json +++ b/v2/cards/house_of_knives.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "house_of_knives", "is_unique": false, diff --git a/v2/cards/housekeeping.json b/v2/cards/housekeeping.json index 1d667e707..aa12c9729 100644 --- a/v2/cards/housekeeping.json +++ b/v2/cards/housekeeping.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "housekeeping", "influence_cost": 3, diff --git a/v2/cards/howler.json b/v2/cards/howler.json index 2ab88fad5..c83ef95d9 100644 --- a/v2/cards/howler.json +++ b/v2/cards/howler.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "howler", "influence_cost": 1, diff --git a/v2/cards/hq_interface.json b/v2/cards/hq_interface.json index e02f3bbd6..224846a94 100644 --- a/v2/cards/hq_interface.json +++ b/v2/cards/hq_interface.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "hq_interface", "influence_cost": 2, diff --git a/v2/cards/hudson_1_0.json b/v2/cards/hudson_1_0.json index 2a39b7b84..7af57bc28 100644 --- a/v2/cards/hudson_1_0.json +++ b/v2/cards/hudson_1_0.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "hudson_1_0", "influence_cost": 1, diff --git a/v2/cards/human_first.json b/v2/cards/human_first.json index 2955f2af1..e57460f21 100644 --- a/v2/cards/human_first.json +++ b/v2/cards/human_first.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "human_first", "influence_cost": 2, diff --git a/v2/cards/hunter.json b/v2/cards/hunter.json index c273029e2..7356a3b80 100644 --- a/v2/cards/hunter.json +++ b/v2/cards/hunter.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "hunter", "influence_cost": 0, diff --git a/v2/cards/hunter_seeker.json b/v2/cards/hunter_seeker.json index fe44eb6e1..cc6d4bd82 100644 --- a/v2/cards/hunter_seeker.json +++ b/v2/cards/hunter_seeker.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "hunter_seeker", "influence_cost": 2, diff --git a/v2/cards/hunting_grounds.json b/v2/cards/hunting_grounds.json index a12e58667..93de044c7 100644 --- a/v2/cards/hunting_grounds.json +++ b/v2/cards/hunting_grounds.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "apex", "id": "hunting_grounds", "influence_cost": 1, diff --git a/v2/cards/hush.json b/v2/cards/hush.json index 764f99b61..721d52978 100644 --- a/v2/cards/hush.json +++ b/v2/cards/hush.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "hush", "influence_cost": 1, diff --git a/v2/cards/hybrid_release.json b/v2/cards/hybrid_release.json index 53ce3708e..19f398a9a 100644 --- a/v2/cards/hybrid_release.json +++ b/v2/cards/hybrid_release.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "hybrid_release", "is_unique": false, diff --git a/v2/cards/hydra.json b/v2/cards/hydra.json index f2ae3a9e8..da2f082b0 100644 --- a/v2/cards/hydra.json +++ b/v2/cards/hydra.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 10, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "hydra", "influence_cost": 4, diff --git a/v2/cards/hyoubu_institute_absolute_clarity.json b/v2/cards/hyoubu_institute_absolute_clarity.json index 2abac4630..f9ab49024 100644 --- a/v2/cards/hyoubu_institute_absolute_clarity.json +++ b/v2/cards/hyoubu_institute_absolute_clarity.json @@ -1,15 +1,16 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "hyoubu_institute_absolute_clarity", "influence_limit": 15, "is_unique": false, "minimum_deck_size": 45, "side_id": "corp", - "stripped_text": "The first time each turn you reveal a card, gain 1 credit. click: Reveal a card from the grip at random or the top card of the stack.", + "stripped_text": "The first time each turn you reveal a card, gain 1 credit. click: Reveal 1 card from the grip at random or the top card of the stack.", "stripped_title": "Hyoubu Institute: Absolute Clarity", "subtypes": ["division"], - "text": "The first time each turn you reveal a card, gain 1[credit].\n[click]: Reveal a card from the grip at random or the top card of the stack.", + "text": "The first time each turn you reveal a card, gain 1[credit].\n[click]: Reveal 1 card from the grip at random or the top card of the stack.", "title": "Hyoubu Institute: Absolute Clarity" } diff --git a/v2/cards/hyoubu_precog_manifold.json b/v2/cards/hyoubu_precog_manifold.json index 4db69e79a..29a314bca 100644 --- a/v2/cards/hyoubu_precog_manifold.json +++ b/v2/cards/hyoubu_precog_manifold.json @@ -2,15 +2,16 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "hyoubu_precog_manifold", "influence_cost": 3, "is_unique": false, "side_id": "corp", - "stripped_text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins. Choose a server. Whenever the Runner makes a successful run on the chosen server, you and the Runner secretly spend 0 credits, 1 credit, or 2 credits. Reveal spent credits. If you and the Runner spent a different number of credits, end the run.", + "stripped_text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins. When you play this operation, choose a server. Whenever the Runner makes a successful run on the chosen server, play a Psi Game. (Players secretly bid 0-2 credits. Then each player reveals and spends their bid.) If the bids differ, end the run.", "stripped_title": "Hyoubu Precog Manifold", "subtypes": ["lockdown", "psi"], - "text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins.\nChoose a server.\nWhenever the Runner makes a successful run on the chosen server, you and the Runner secretly spend 0[credit], 1[credit], or 2[credit]. Reveal spent credits. If you and the Runner spent a different number of credits, end the run.", + "text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins.\nWhen you play this operation, choose a server.\nWhenever the Runner makes a successful run on the chosen server, play a Psi Game. (Players secretly bid 0–2[credit]. Then each player reveals and spends their bid.) If the bids differ, end the run.", "title": "Hyoubu Precog Manifold", "trash_cost": 4 } diff --git a/v2/cards/hyoubu_research_facility.json b/v2/cards/hyoubu_research_facility.json index 7b7727eda..2d013e1fa 100644 --- a/v2/cards/hyoubu_research_facility.json +++ b/v2/cards/hyoubu_research_facility.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "hyoubu_research_facility", "influence_cost": 3, diff --git a/v2/cards/hyperbaric.json b/v2/cards/hyperbaric.json index c75b29750..9c8dbd4a6 100644 --- a/v2/cards/hyperbaric.json +++ b/v2/cards/hyperbaric.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "hyperbaric", "influence_cost": 3, diff --git a/v2/cards/hyperdriver.json b/v2/cards/hyperdriver.json index 4bcb56f7f..3f2768a42 100644 --- a/v2/cards/hyperdriver.json +++ b/v2/cards/hyperdriver.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "hyperdriver", "influence_cost": 3, diff --git a/v2/cards/hyperloop_extension.json b/v2/cards/hyperloop_extension.json index 9d18ec2e6..54e0e72d9 100644 --- a/v2/cards/hyperloop_extension.json +++ b/v2/cards/hyperloop_extension.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "hyperloop_extension", "is_unique": false, diff --git a/v2/cards/hypoxia.json b/v2/cards/hypoxia.json index b1e21b548..6ca0a55b1 100644 --- a/v2/cards/hypoxia.json +++ b/v2/cards/hypoxia.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "hypoxia", "influence_cost": 3, diff --git a/v2/cards/i_ve_had_worse.json b/v2/cards/i_ve_had_worse.json index 0aba6900e..e03895c8e 100644 --- a/v2/cards/i_ve_had_worse.json +++ b/v2/cards/i_ve_had_worse.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "i_ve_had_worse", "influence_cost": 2, diff --git a/v2/cards/iain_stirling_retired_spook.json b/v2/cards/iain_stirling_retired_spook.json index f32ef8c3e..b59b70573 100644 --- a/v2/cards/iain_stirling_retired_spook.json +++ b/v2/cards/iain_stirling_retired_spook.json @@ -2,6 +2,7 @@ "base_link": 1, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "iain_stirling_retired_spook", "influence_limit": 10, diff --git a/v2/cards/ibrahim_salem.json b/v2/cards/ibrahim_salem.json index ac2f9aed5..c5e8a7b2e 100644 --- a/v2/cards/ibrahim_salem.json +++ b/v2/cards/ibrahim_salem.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "ibrahim_salem", "influence_cost": 3, diff --git a/v2/cards/ice_analyzer.json b/v2/cards/ice_analyzer.json index 50f438870..9f5b05321 100644 --- a/v2/cards/ice_analyzer.json +++ b/v2/cards/ice_analyzer.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "ice_analyzer", "influence_cost": 1, diff --git a/v2/cards/ice_carver.json b/v2/cards/ice_carver.json index 7faf5f9bf..fb7c5d156 100644 --- a/v2/cards/ice_carver.json +++ b/v2/cards/ice_carver.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "ice_carver", "influence_cost": 3, @@ -10,6 +11,6 @@ "stripped_text": "While you are encountering a piece of ice, it gets -1 strength.", "stripped_title": "Ice Carver", "subtypes": ["virtual"], - "text": "While you are encountering a piece of ice, it gets -1 strength.", + "text": "While you are encountering a piece of ice, it gets −1 strength.", "title": "Ice Carver" } diff --git a/v2/cards/ice_wall.json b/v2/cards/ice_wall.json index 6dc5d7cd0..aab80264e 100644 --- a/v2/cards/ice_wall.json +++ b/v2/cards/ice_wall.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "ice_wall", "influence_cost": 1, diff --git a/v2/cards/ichi_1_0.json b/v2/cards/ichi_1_0.json index d45369cbb..be1540673 100644 --- a/v2/cards/ichi_1_0.json +++ b/v2/cards/ichi_1_0.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "ichi_1_0", "influence_cost": 2, diff --git a/v2/cards/ichi_2_0.json b/v2/cards/ichi_2_0.json index 92078a4c6..f3efb66db 100644 --- a/v2/cards/ichi_2_0.json +++ b/v2/cards/ichi_2_0.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 8, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "ichi_2_0", "influence_cost": 3, diff --git a/v2/cards/ika.json b/v2/cards/ika.json index ae24d7a2d..47a05c135 100644 --- a/v2/cards/ika.json +++ b/v2/cards/ika.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "ika", "influence_cost": 2, diff --git a/v2/cards/ikawah_project.json b/v2/cards/ikawah_project.json index a63a5d1d4..01e33dc07 100644 --- a/v2/cards/ikawah_project.json +++ b/v2/cards/ikawah_project.json @@ -3,6 +3,7 @@ "agenda_points": 3, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "ikawah_project", "is_unique": false, diff --git a/v2/cards/illegal_arms_factory.json b/v2/cards/illegal_arms_factory.json index 2ce8df034..7536dfbda 100644 --- a/v2/cards/illegal_arms_factory.json +++ b/v2/cards/illegal_arms_factory.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "illegal_arms_factory", "influence_cost": 2, diff --git a/v2/cards/illicit_sales.json b/v2/cards/illicit_sales.json index 8f71ef50c..8839cc2a6 100644 --- a/v2/cards/illicit_sales.json +++ b/v2/cards/illicit_sales.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "illicit_sales", "is_unique": false, diff --git a/v2/cards/immolation_script.json b/v2/cards/immolation_script.json index 53f48140d..f62069c1c 100644 --- a/v2/cards/immolation_script.json +++ b/v2/cards/immolation_script.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "immolation_script", "influence_cost": 3, diff --git a/v2/cards/imp.json b/v2/cards/imp.json index 7d60b53f4..4571fb787 100644 --- a/v2/cards/imp.json +++ b/v2/cards/imp.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "imp", "influence_cost": 3, diff --git a/v2/cards/improved_protein_source.json b/v2/cards/improved_protein_source.json index c5ef952ff..9079d14af 100644 --- a/v2/cards/improved_protein_source.json +++ b/v2/cards/improved_protein_source.json @@ -3,6 +3,7 @@ "agenda_points": 3, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "improved_protein_source", "is_unique": false, diff --git a/v2/cards/improved_tracers.json b/v2/cards/improved_tracers.json index 867adf66a..32c7e8102 100644 --- a/v2/cards/improved_tracers.json +++ b/v2/cards/improved_tracers.json @@ -3,6 +3,7 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "improved_tracers", "is_unique": false, diff --git a/v2/cards/in_the_groove.json b/v2/cards/in_the_groove.json index 6375e708e..18c984823 100644 --- a/v2/cards/in_the_groove.json +++ b/v2/cards/in_the_groove.json @@ -2,14 +2,15 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "in_the_groove", "influence_cost": 4, "is_unique": false, "side_id": "runner", - "stripped_text": "Play only as your first click. Whenever you install a card with a printed install cost of 1 or greater this turn, draw 1 card or gain 1 credit.", + "stripped_text": "Play only as your first click. For the remainder of this turn, whenever you install a card with a printed install cost of 1 credit or greater, draw 1 card or gain 1 credit.", "stripped_title": "In the Groove", "subtypes": ["priority"], - "text": "Play only as your first [click].\nWhenever you install a card with a printed install cost of 1 or greater this turn, draw 1 card or gain 1[credit].", + "text": "Play only as your first [click].\nFor the remainder of this turn, whenever you install a card with a printed install cost of 1[credit] or greater, draw 1 card or gain 1[credit].", "title": "In the Groove" } diff --git a/v2/cards/inazuma.json b/v2/cards/inazuma.json index be88763af..f0b46358f 100644 --- a/v2/cards/inazuma.json +++ b/v2/cards/inazuma.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "inazuma", "influence_cost": 2, diff --git a/v2/cards/increased_drop_rates.json b/v2/cards/increased_drop_rates.json index aaf4537ba..351904bfd 100644 --- a/v2/cards/increased_drop_rates.json +++ b/v2/cards/increased_drop_rates.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "nbn", "id": "increased_drop_rates", "influence_cost": 1, diff --git a/v2/cards/incubator.json b/v2/cards/incubator.json index c55cd7722..76bc54a31 100644 --- a/v2/cards/incubator.json +++ b/v2/cards/incubator.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "incubator", "influence_cost": 3, diff --git a/v2/cards/independent_thinking.json b/v2/cards/independent_thinking.json index 240476466..6b4ef8e0f 100644 --- a/v2/cards/independent_thinking.json +++ b/v2/cards/independent_thinking.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "adam", "id": "independent_thinking", "influence_cost": 1, diff --git a/v2/cards/indexing.json b/v2/cards/indexing.json index 29044c3f1..8f33a8be9 100644 --- a/v2/cards/indexing.json +++ b/v2/cards/indexing.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "indexing", "influence_cost": 3, diff --git a/v2/cards/indian_union_stock_exchange.json b/v2/cards/indian_union_stock_exchange.json index bf710c282..dceeda237 100644 --- a/v2/cards/indian_union_stock_exchange.json +++ b/v2/cards/indian_union_stock_exchange.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "indian_union_stock_exchange", "influence_cost": 2, diff --git a/v2/cards/industrial_genomics_growing_solutions.json b/v2/cards/industrial_genomics_growing_solutions.json index edfda86a8..f7b4626b2 100644 --- a/v2/cards/industrial_genomics_growing_solutions.json +++ b/v2/cards/industrial_genomics_growing_solutions.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "industrial_genomics_growing_solutions", "influence_limit": 15, diff --git a/v2/cards/infiltration.json b/v2/cards/infiltration.json index 525aab924..7f76bcbd7 100644 --- a/v2/cards/infiltration.json +++ b/v2/cards/infiltration.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "infiltration", "influence_cost": 0, diff --git a/v2/cards/info_bounty.json b/v2/cards/info_bounty.json index 43f906d19..1c2b58577 100644 --- a/v2/cards/info_bounty.json +++ b/v2/cards/info_bounty.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "criminal", "id": "info_bounty", "influence_cost": 2, diff --git a/v2/cards/information_dynamics_all_you_need_to_know.json b/v2/cards/information_dynamics_all_you_need_to_know.json index 17f3dc18c..8ef806f30 100644 --- a/v2/cards/information_dynamics_all_you_need_to_know.json +++ b/v2/cards/information_dynamics_all_you_need_to_know.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "information_dynamics_all_you_need_to_know", "influence_limit": null, diff --git a/v2/cards/information_overload.json b/v2/cards/information_overload.json index 400066d26..669fa957f 100644 --- a/v2/cards/information_overload.json +++ b/v2/cards/information_overload.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 6, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "information_overload", "influence_cost": 2, diff --git a/v2/cards/information_sifting.json b/v2/cards/information_sifting.json index 59c015c6b..31b30e6da 100644 --- a/v2/cards/information_sifting.json +++ b/v2/cards/information_sifting.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "information_sifting", "influence_cost": 3, diff --git a/v2/cards/inject.json b/v2/cards/inject.json index c65bc31d9..09e0ce89d 100644 --- a/v2/cards/inject.json +++ b/v2/cards/inject.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "inject", "influence_cost": 2, diff --git a/v2/cards/injection_attack.json b/v2/cards/injection_attack.json index 5a60d779e..8fa383e81 100644 --- a/v2/cards/injection_attack.json +++ b/v2/cards/injection_attack.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "injection_attack", "influence_cost": 0, diff --git a/v2/cards/inside_job.json b/v2/cards/inside_job.json index e79c705f6..345f8b52e 100644 --- a/v2/cards/inside_job.json +++ b/v2/cards/inside_job.json @@ -2,14 +2,15 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "inside_job", "influence_cost": 3, "is_unique": false, "side_id": "runner", - "stripped_text": "Run any server. The first time this run you encounter a piece of ice, bypass it.", + "stripped_text": "Run any server. The first time you encounter a piece of ice during that run, bypass it.", "stripped_title": "Inside Job", "subtypes": ["run"], - "text": "Run any server. The first time this run you encounter a piece of ice, bypass it.", + "text": "Run any server. The first time you encounter a piece of ice during that run, bypass it.", "title": "Inside Job" } diff --git a/v2/cards/inside_man.json b/v2/cards/inside_man.json index 98d4dd5b4..4617f9ff8 100644 --- a/v2/cards/inside_man.json +++ b/v2/cards/inside_man.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "inside_man", "influence_cost": 0, diff --git a/v2/cards/insight.json b/v2/cards/insight.json index 70e594f0e..54b6b44f9 100644 --- a/v2/cards/insight.json +++ b/v2/cards/insight.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "insight", "influence_cost": 2, diff --git a/v2/cards/intake.json b/v2/cards/intake.json index b88df5058..3a66b6c6f 100644 --- a/v2/cards/intake.json +++ b/v2/cards/intake.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "intake", "influence_cost": 3, diff --git a/v2/cards/interdiction.json b/v2/cards/interdiction.json index bc2fd3a93..34c5f0989 100644 --- a/v2/cards/interdiction.json +++ b/v2/cards/interdiction.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "interdiction", "influence_cost": 0, diff --git a/v2/cards/interns.json b/v2/cards/interns.json index 9b8614f4b..34c8abbe2 100644 --- a/v2/cards/interns.json +++ b/v2/cards/interns.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "interns", "influence_cost": 0, diff --git a/v2/cards/interrupt_0.json b/v2/cards/interrupt_0.json index 630c164e2..3db70ecff 100644 --- a/v2/cards/interrupt_0.json +++ b/v2/cards/interrupt_0.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "interrupt_0", "influence_cost": 1, diff --git a/v2/cards/inti.json b/v2/cards/inti.json index 59d286a4d..fa9ebd1d6 100644 --- a/v2/cards/inti.json +++ b/v2/cards/inti.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "inti", "influence_cost": 1, diff --git a/v2/cards/into_the_depths.json b/v2/cards/into_the_depths.json index 12f2f5aae..0a6d67d8d 100644 --- a/v2/cards/into_the_depths.json +++ b/v2/cards/into_the_depths.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "into_the_depths", "influence_cost": 3, diff --git a/v2/cards/invasion_of_privacy.json b/v2/cards/invasion_of_privacy.json index 9147d73fe..d090b9719 100644 --- a/v2/cards/invasion_of_privacy.json +++ b/v2/cards/invasion_of_privacy.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "invasion_of_privacy", "influence_cost": 3, diff --git a/v2/cards/inversificator.json b/v2/cards/inversificator.json index 5fdce161d..07ce3a1b2 100644 --- a/v2/cards/inversificator.json +++ b/v2/cards/inversificator.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 6, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "inversificator", "influence_cost": 3, diff --git a/v2/cards/investigative_journalism.json b/v2/cards/investigative_journalism.json index 27829b7fb..ddc4813b2 100644 --- a/v2/cards/investigative_journalism.json +++ b/v2/cards/investigative_journalism.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "investigative_journalism", "influence_cost": 1, diff --git a/v2/cards/investigator_inez_delgado.json b/v2/cards/investigator_inez_delgado.json index 07d9bc48e..981f0249c 100644 --- a/v2/cards/investigator_inez_delgado.json +++ b/v2/cards/investigator_inez_delgado.json @@ -2,17 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, - "faction_id": "neutral_runner", - "id": "investigator_inez_delgado", - "influence_cost": 0, - "is_unique": true, - "side_id": "runner", - "stripped_text": "When you win a game with Investigator Inez Delgado in your score area, reveal set 2. Add Investigator Inez Delgado to your score area as an agenda worth 0 agenda points: Expose all cards in a remote server. Use this only if you have stolean an agenda this turn.", - "stripped_title": "Investigator Inez Delgado", - "subtypes": ["connection"], - "text": "When you win a game with Investigator Inez Delgado in your score area, reveal set 2.\nAdd Investigator Inez Delgado to your score area as an agenda worth 0 agenda points: Expose all cards in a remote server. Use this only if you have stolean an agenda this turn.", - "title": "Investigator Inez Delgado", - "layout_id": "progression", + "designed_by": "fantasy_flight_games", "faces": [ { "stripped_text": "When you win a game with Investigator Inez Delgado in your score area, reveal set 5. Add Investigator Inez Delgado to your score area as an agenda worth 0 agenda points: Reveal the top 3 cards in R&D. Use this only if you have stolean an agenda this turn.", @@ -26,5 +16,16 @@ "stripped_text": "Add Investigator Inez Delgado to your score area as an agenda worth 0 agenda points: Reveal each card in HQ and the top card of R&D. Use this only if you have stolean an agenda this turn.", "text": "Add Investigator Inez Delgado to your score area as an agenda worth 0 agenda points: Reveal each card in HQ and the top card of R&D. Use this only if you have stolean an agenda this turn." } - ] + ], + "faction_id": "neutral_runner", + "id": "investigator_inez_delgado", + "influence_cost": 0, + "is_unique": true, + "layout_id": "progression", + "side_id": "runner", + "stripped_text": "When you win a game with Investigator Inez Delgado in your score area, reveal set 2. Add Investigator Inez Delgado to your score area as an agenda worth 0 agenda points: Expose all cards in a remote server. Use this only if you have stolean an agenda this turn.", + "stripped_title": "Investigator Inez Delgado", + "subtypes": ["connection"], + "text": "When you win a game with Investigator Inez Delgado in your score area, reveal set 2.\nAdd Investigator Inez Delgado to your score area as an agenda worth 0 agenda points: Expose all cards in a remote server. Use this only if you have stolean an agenda this turn.", + "title": "Investigator Inez Delgado" } diff --git a/v2/cards/investigator_inez_delgado_a.json b/v2/cards/investigator_inez_delgado_a.json index ff0662885..32bfab60e 100644 --- a/v2/cards/investigator_inez_delgado_a.json +++ b/v2/cards/investigator_inez_delgado_a.json @@ -2,22 +2,23 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", + "faces": [ + { + "stripped_text": "Whenever the Runner steals an agenda, you may resolve the \"when scored\" ability on that agenda, then swap it with an agenda in your scored area.", + "text": "Whenever the Runner steals an agenda, you may resolve the \"when scored\" ability on that agenda, then swap it with an agenda in your scored area." + } + ], "faction_id": "neutral_corp", "id": "investigator_inez_delgado_a", "influence_cost": 0, "is_unique": true, + "layout_id": "progression", "side_id": "corp", "stripped_text": "Whenever you score an agenda, you may swap it with an agenda in the Runner's score area worth at least 1 point, then resolve the \"when scored\" ability on that agenda.", "stripped_title": "Investigator Inez Delgado A", "subtypes": ["character"], "text": "Whenever you score an agenda, you may swap it with an agenda in the Runner's score area worth at least 1 point, then resolve the \"when scored\" ability on that agenda.", "title": "Investigator Inez Delgado A", - "trash_cost": 5, - "layout_id": "progression", - "faces": [ - { - "stripped_text": "Whenever the Runner steals an agenda, you may resolve the \"when scored\" ability on that agenda, then swap it with an agenda in your scored area.", - "text": "Whenever the Runner steals an agenda, you may resolve the \"when scored\" ability on that agenda, then swap it with an agenda in your scored area." - } - ] + "trash_cost": 5 } diff --git a/v2/cards/ip_block.json b/v2/cards/ip_block.json index 2b5cac777..7cd1fd404 100644 --- a/v2/cards/ip_block.json +++ b/v2/cards/ip_block.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "ip_block", "influence_cost": 1, diff --git a/v2/cards/ipo.json b/v2/cards/ipo.json index 4e8c9a0da..6e5f8eeaf 100644 --- a/v2/cards/ipo.json +++ b/v2/cards/ipo.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 8, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "ipo", "influence_cost": 0, diff --git a/v2/cards/iq.json b/v2/cards/iq.json index 08706e942..9504c7858 100644 --- a/v2/cards/iq.json +++ b/v2/cards/iq.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "iq", "influence_cost": 2, diff --git a/v2/cards/ireress.json b/v2/cards/ireress.json index 23454154d..10bf06e40 100644 --- a/v2/cards/ireress.json +++ b/v2/cards/ireress.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "ireress", "influence_cost": 1, diff --git a/v2/cards/isabel_mcguire.json b/v2/cards/isabel_mcguire.json index 3c0a4a22c..42ab6e985 100644 --- a/v2/cards/isabel_mcguire.json +++ b/v2/cards/isabel_mcguire.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "isabel_mcguire", "influence_cost": 1, diff --git a/v2/cards/isolation.json b/v2/cards/isolation.json index 185e24d82..98fe5c2fe 100644 --- a/v2/cards/isolation.json +++ b/v2/cards/isolation.json @@ -2,13 +2,14 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "isolation", "influence_cost": 1, "is_unique": false, "side_id": "runner", - "stripped_text": "As an additional cost to play this event, trash an installed resource. Gain 7 credits.", + "stripped_text": "As an additional cost to play this event, trash 1 installed resource. Gain 7 credits.", "stripped_title": "Isolation", - "text": "As an additional cost to play this event, trash an installed resource.\nGain 7[credit].", + "text": "As an additional cost to play this event, trash 1 installed resource.\nGain 7[credit].", "title": "Isolation" } diff --git a/v2/cards/issuaq_adaptics_sustaining_diversity.json b/v2/cards/issuaq_adaptics_sustaining_diversity.json index 85b341077..ed020b88a 100644 --- a/v2/cards/issuaq_adaptics_sustaining_diversity.json +++ b/v2/cards/issuaq_adaptics_sustaining_diversity.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "issuaq_adaptics_sustaining_diversity", "influence_limit": 15, diff --git a/v2/cards/it_department.json b/v2/cards/it_department.json index ea9a458d9..6e4442378 100644 --- a/v2/cards/it_department.json +++ b/v2/cards/it_department.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "it_department", "influence_cost": 1, diff --git a/v2/cards/itinerant_protesters.json b/v2/cards/itinerant_protesters.json index 78dda68a2..a12eaeba5 100644 --- a/v2/cards/itinerant_protesters.json +++ b/v2/cards/itinerant_protesters.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "itinerant_protesters", "influence_cost": 2, diff --git a/v2/cards/its_a_trap.json b/v2/cards/its_a_trap.json index 7384b096f..320c30dcd 100644 --- a/v2/cards/its_a_trap.json +++ b/v2/cards/its_a_trap.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "its_a_trap", "influence_cost": 3, diff --git a/v2/cards/ivik.json b/v2/cards/ivik.json index 291dcc2fe..4ae9edda6 100644 --- a/v2/cards/ivik.json +++ b/v2/cards/ivik.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 7, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "ivik", "influence_cost": 2, diff --git a/v2/cards/ixodidae.json b/v2/cards/ixodidae.json index 2000793cb..1e1fc80af 100644 --- a/v2/cards/ixodidae.json +++ b/v2/cards/ixodidae.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "ixodidae", "influence_cost": 2, diff --git a/v2/cards/jackpot.json b/v2/cards/jackpot.json index 100585ba6..3086b4a83 100644 --- a/v2/cards/jackpot.json +++ b/v2/cards/jackpot.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "jackpot", "influence_cost": 0, diff --git a/v2/cards/jackson_howard.json b/v2/cards/jackson_howard.json index b1ecd0719..44245ad3a 100644 --- a/v2/cards/jackson_howard.json +++ b/v2/cards/jackson_howard.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "jackson_howard", "influence_cost": 1, diff --git a/v2/cards/jaguarundi.json b/v2/cards/jaguarundi.json new file mode 100644 index 000000000..bd786449d --- /dev/null +++ b/v2/cards/jaguarundi.json @@ -0,0 +1,17 @@ +{ + "card_type_id": "ice", + "cost": 4, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "haas_bioroid", + "id": "jaguarundi", + "influence_cost": 2, + "is_unique": false, + "side_id": "corp", + "strength": 3, + "stripped_text": "Threat 4 -> When the Runner encounters this ice, give them 1 tag unless they spend click. (This ability is active if any player has 4 or more agenda points.) Subroutine Give the Runner 1 tag. Subroutine If the Runner is tagged, do 1 core damage.", + "stripped_title": "Jaguarundi", + "subtypes": ["sentry", "ap"], + "text": "Threat 4 → When the Runner encounters this ice, give them 1 tag unless they spend [click]. (This ability is active if any player has 4 or more agenda points.)\n[subroutine] Give the Runner 1 tag.\n[subroutine] If the Runner is tagged, do 1 core damage.", + "title": "Jaguarundi" +} diff --git a/v2/cards/jailbreak.json b/v2/cards/jailbreak.json index 1ac1107f4..b1a67fca6 100644 --- a/v2/cards/jailbreak.json +++ b/v2/cards/jailbreak.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "neutral_runner", "id": "jailbreak", "influence_cost": 0, diff --git a/v2/cards/jak_sinclair.json b/v2/cards/jak_sinclair.json index 9b73a4107..16704365c 100644 --- a/v2/cards/jak_sinclair.json +++ b/v2/cards/jak_sinclair.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "sunny_lebeau", "id": "jak_sinclair", "influence_cost": 2, diff --git a/v2/cards/jamie_bzzz_micken_techno_savant.json b/v2/cards/jamie_bzzz_micken_techno_savant.json index 193063da9..9a7392015 100644 --- a/v2/cards/jamie_bzzz_micken_techno_savant.json +++ b/v2/cards/jamie_bzzz_micken_techno_savant.json @@ -2,6 +2,7 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "jamie_bzzz_micken_techno_savant", "influence_limit": null, diff --git a/v2/cards/janus_1_0.json b/v2/cards/janus_1_0.json index 30a57cd2c..4c65d7edc 100644 --- a/v2/cards/janus_1_0.json +++ b/v2/cards/janus_1_0.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 15, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "janus_1_0", "influence_cost": 3, diff --git a/v2/cards/jarogniew_mercs.json b/v2/cards/jarogniew_mercs.json index 21f7f3fe3..38b628fd1 100644 --- a/v2/cards/jarogniew_mercs.json +++ b/v2/cards/jarogniew_mercs.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "jarogniew_mercs", "influence_cost": 2, diff --git a/v2/cards/jeeves_model_bioroids.json b/v2/cards/jeeves_model_bioroids.json index 4565e6007..7b03016e4 100644 --- a/v2/cards/jeeves_model_bioroids.json +++ b/v2/cards/jeeves_model_bioroids.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "jeeves_model_bioroids", "influence_cost": 3, diff --git a/v2/cards/jemison_astronautics_sacrifice_audacity_success.json b/v2/cards/jemison_astronautics_sacrifice_audacity_success.json index 4e78a009c..3939ff5cf 100644 --- a/v2/cards/jemison_astronautics_sacrifice_audacity_success.json +++ b/v2/cards/jemison_astronautics_sacrifice_audacity_success.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "jemison_astronautics_sacrifice_audacity_success", "influence_limit": 15, diff --git a/v2/cards/jesminder_sareen_girl_behind_the_curtain.json b/v2/cards/jesminder_sareen_girl_behind_the_curtain.json index cc067c55f..c2fd3713d 100644 --- a/v2/cards/jesminder_sareen_girl_behind_the_curtain.json +++ b/v2/cards/jesminder_sareen_girl_behind_the_curtain.json @@ -2,6 +2,7 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "jesminder_sareen_girl_behind_the_curtain", "influence_limit": 15, diff --git a/v2/cards/jinja_city_grid.json b/v2/cards/jinja_city_grid.json index 375c5852f..7497b78a3 100644 --- a/v2/cards/jinja_city_grid.json +++ b/v2/cards/jinja_city_grid.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "jinja_city_grid", "influence_cost": 2, diff --git a/v2/cards/jinteki_biotech_life_imagined.json b/v2/cards/jinteki_biotech_life_imagined.json index 4dcdb48fe..1d5b9b3cc 100644 --- a/v2/cards/jinteki_biotech_life_imagined.json +++ b/v2/cards/jinteki_biotech_life_imagined.json @@ -1,18 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, - "faction_id": "jinteki", - "id": "jinteki_biotech_life_imagined", - "influence_limit": 15, - "is_unique": false, - "minimum_deck_size": 45, - "side_id": "corp", - "stripped_text": "Before taking your first turn, you may switch this identity with any copy of Jinteki Biotech. click click click: Flip this identity.", - "stripped_title": "Jinteki Biotech: Life Imagined", - "subtypes": ["division"], - "text": "Before taking your first turn, you may switch this identity with any copy of Jinteki Biotech.\n[click][click][click]: Flip this identity.", - "title": "Jinteki Biotech: Life Imagined", - "layout_id": "facade", + "designed_by": "fantasy_flight_games", "faces": [ { "stripped_text": "When you flip this identity, do 2 net damage.", @@ -35,5 +24,17 @@ "text": "When you flip this identity, place 4 advancement counters on 1 installed card that you can advance.", "title": "The Greenhouse: Jinteki Biotech" } - ] + ], + "faction_id": "jinteki", + "id": "jinteki_biotech_life_imagined", + "influence_limit": 15, + "is_unique": false, + "layout_id": "facade", + "minimum_deck_size": 45, + "side_id": "corp", + "stripped_text": "Before taking your first turn, you may switch this identity with any copy of Jinteki Biotech. click click click: Flip this identity.", + "stripped_title": "Jinteki Biotech: Life Imagined", + "subtypes": ["division"], + "text": "Before taking your first turn, you may switch this identity with any copy of Jinteki Biotech.\n[click][click][click]: Flip this identity.", + "title": "Jinteki Biotech: Life Imagined" } diff --git a/v2/cards/jinteki_personal_evolution.json b/v2/cards/jinteki_personal_evolution.json index 460cfd484..6daeda3cd 100644 --- a/v2/cards/jinteki_personal_evolution.json +++ b/v2/cards/jinteki_personal_evolution.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "jinteki_personal_evolution", "influence_limit": 15, diff --git a/v2/cards/jinteki_potential_unleashed.json b/v2/cards/jinteki_potential_unleashed.json index b10c58089..ab60c7519 100644 --- a/v2/cards/jinteki_potential_unleashed.json +++ b/v2/cards/jinteki_potential_unleashed.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "jinteki_potential_unleashed", "influence_limit": 12, diff --git a/v2/cards/jinteki_replicating_perfection.json b/v2/cards/jinteki_replicating_perfection.json index 7de8a4068..1399d33ed 100644 --- a/v2/cards/jinteki_replicating_perfection.json +++ b/v2/cards/jinteki_replicating_perfection.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "jinteki_replicating_perfection", "influence_limit": 15, diff --git a/v2/cards/jinteki_restoring_humanity.json b/v2/cards/jinteki_restoring_humanity.json index 0f8fdbe7c..57933086a 100644 --- a/v2/cards/jinteki_restoring_humanity.json +++ b/v2/cards/jinteki_restoring_humanity.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "jinteki_restoring_humanity", "influence_limit": 15, diff --git a/v2/cards/john_masanori.json b/v2/cards/john_masanori.json index e26a757cb..6566da1e7 100644 --- a/v2/cards/john_masanori.json +++ b/v2/cards/john_masanori.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "john_masanori", "influence_cost": 0, diff --git a/v2/cards/joshua_b.json b/v2/cards/joshua_b.json index c00c34d99..ff21e0fb9 100644 --- a/v2/cards/joshua_b.json +++ b/v2/cards/joshua_b.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "joshua_b", "influence_cost": 3, diff --git a/v2/cards/joy_ride.json b/v2/cards/joy_ride.json new file mode 100644 index 000000000..97475fc74 --- /dev/null +++ b/v2/cards/joy_ride.json @@ -0,0 +1,17 @@ +{ + "attribution": "Designed by 2020 American Continental Champion Jason Ford", + "card_type_id": "event", + "cost": 2, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "shaper", + "id": "joy_ride", + "influence_cost": 3, + "is_unique": false, + "side_id": "runner", + "stripped_text": "Run R&D. If successful, draw 5 cards.", + "stripped_title": "Joy Ride", + "subtypes": ["run"], + "text": "Run R&D. If successful, draw 5 cards.", + "title": "Joy Ride" +} diff --git a/v2/cards/jua.json b/v2/cards/jua.json index 311f8b8cb..8a00c15b8 100644 --- a/v2/cards/jua.json +++ b/v2/cards/jua.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "jua", "influence_cost": 2, diff --git a/v2/cards/jumon.json b/v2/cards/jumon.json index f4cd8b6c3..deaa5a44f 100644 --- a/v2/cards/jumon.json +++ b/v2/cards/jumon.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "jumon", "is_unique": false, diff --git a/v2/cards/k2cp_turbine.json b/v2/cards/k2cp_turbine.json index 4557b1fcf..5955e2530 100644 --- a/v2/cards/k2cp_turbine.json +++ b/v2/cards/k2cp_turbine.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 4, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "k2cp_turbine", "influence_cost": 4, diff --git a/v2/cards/k_p_lynn.json b/v2/cards/k_p_lynn.json index f391475fb..e3e912a24 100644 --- a/v2/cards/k_p_lynn.json +++ b/v2/cards/k_p_lynn.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "k_p_lynn", "influence_cost": 2, diff --git a/v2/cards/kabonesa_wu_netspace_thrillseeker.json b/v2/cards/kabonesa_wu_netspace_thrillseeker.json index 9b7b44577..144a33cf8 100644 --- a/v2/cards/kabonesa_wu_netspace_thrillseeker.json +++ b/v2/cards/kabonesa_wu_netspace_thrillseeker.json @@ -2,6 +2,7 @@ "base_link": 1, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "kabonesa_wu_netspace_thrillseeker", "influence_limit": 15, diff --git a/v2/cards/kakugo.json b/v2/cards/kakugo.json index 0e2d30835..50d2a449c 100644 --- a/v2/cards/kakugo.json +++ b/v2/cards/kakugo.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "kakugo", "influence_cost": 3, diff --git a/v2/cards/kakurenbo.json b/v2/cards/kakurenbo.json index d15f97475..0624e6828 100644 --- a/v2/cards/kakurenbo.json +++ b/v2/cards/kakurenbo.json @@ -2,14 +2,15 @@ "card_type_id": "operation", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "kakurenbo", "influence_cost": 3, "is_unique": false, "side_id": "corp", - "stripped_text": "As an additional cost to play this operation, spend click click. Trash any number of cards from HQ. Turn all cards in Archives facedown. You may install 1 agenda, asset, or upgrade from Archives in the root of a remote server and place 2 advancement counters on it. Remove this operation from the game.", + "stripped_text": "As an additional cost to play this operation, spend click click. Trash any number of cards from HQ. Turn all cards in Archives facedown. You may install 1 card from Archives in the root of a remote server and place 2 advancement counters on it. Remove this operation from the game.", "stripped_title": "Kakurenbo", "subtypes": ["triple"], - "text": "As an additional cost to play this operation, spend [click][click].\nTrash any number of cards from HQ. Turn all cards in Archives facedown. You may install 1 agenda, asset, or upgrade from Archives in the root of a remote server and place 2 advancement counters on it.\nRemove this operation from the game.", + "text": "As an additional cost to play this operation, spend [click][click].\nTrash any number of cards from HQ. Turn all cards in Archives facedown. You may install 1 card from Archives in the root of a remote server and place 2 advancement counters on it.\nRemove this operation from the game.", "title": "Kakurenbo" } diff --git a/v2/cards/kala_ghoda_real_tv.json b/v2/cards/kala_ghoda_real_tv.json index d2bdc970c..8e6e3e745 100644 --- a/v2/cards/kala_ghoda_real_tv.json +++ b/v2/cards/kala_ghoda_real_tv.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "kala_ghoda_real_tv", "influence_cost": 1, diff --git a/v2/cards/kamali_1_0.json b/v2/cards/kamali_1_0.json index 7879039e0..04d2642fc 100644 --- a/v2/cards/kamali_1_0.json +++ b/v2/cards/kamali_1_0.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 6, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "kamali_1_0", "influence_cost": 4, diff --git a/v2/cards/karuna.json b/v2/cards/karuna.json index 0f155a580..c05ca4e27 100644 --- a/v2/cards/karuna.json +++ b/v2/cards/karuna.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "karuna", "influence_cost": 2, diff --git a/v2/cards/kasi_string.json b/v2/cards/kasi_string.json index 5c8b4305e..88d71e6ce 100644 --- a/v2/cards/kasi_string.json +++ b/v2/cards/kasi_string.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "kasi_string", "influence_cost": 0, diff --git a/v2/cards/kate_mac_mccaffrey_digital_tinker.json b/v2/cards/kate_mac_mccaffrey_digital_tinker.json index 75a23a8f2..6fe605ca6 100644 --- a/v2/cards/kate_mac_mccaffrey_digital_tinker.json +++ b/v2/cards/kate_mac_mccaffrey_digital_tinker.json @@ -2,6 +2,7 @@ "base_link": 1, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "kate_mac_mccaffrey_digital_tinker", "influence_limit": 15, diff --git a/v2/cards/kati_jones.json b/v2/cards/kati_jones.json index 3d7726e9f..be3077dfa 100644 --- a/v2/cards/kati_jones.json +++ b/v2/cards/kati_jones.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "kati_jones", "influence_cost": 0, diff --git a/v2/cards/katorga_breakout.json b/v2/cards/katorga_breakout.json index 10728fa0d..e5cb24a1d 100644 --- a/v2/cards/katorga_breakout.json +++ b/v2/cards/katorga_breakout.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "katorga_breakout", "influence_cost": 3, diff --git a/v2/cards/keegan_lane.json b/v2/cards/keegan_lane.json index cfe7e49f3..11f3c8256 100644 --- a/v2/cards/keegan_lane.json +++ b/v2/cards/keegan_lane.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "keegan_lane", "influence_cost": 3, diff --git a/v2/cards/keiko.json b/v2/cards/keiko.json index 364b662de..dc082a802 100644 --- a/v2/cards/keiko.json +++ b/v2/cards/keiko.json @@ -2,14 +2,15 @@ "card_type_id": "hardware", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "keiko", "influence_cost": 3, "is_unique": true, "side_id": "runner", - "stripped_text": "+2 mu The first time each turn you spend credits from or install a companion, gain 1 credit. Limit 1 console per player.", + "stripped_text": "+2 mu The first time each turn you install a companion card or spend credits from an installed companion card, gain 1 credit. Limit 1 console per player.", "stripped_title": "Keiko", "subtypes": ["console", "companion"], - "text": "+2[mu]\nThe first time each turn you spend credits from or install a companion, gain 1[credit].\nLimit 1 console per player.", + "text": "+2[mu]\nThe first time each turn you install a companion card or spend credits from an installed companion card, gain 1[credit].\nLimit 1 console per player.", "title": "Keiko" } diff --git a/v2/cards/ken_express_tenma_disappeared_clone.json b/v2/cards/ken_express_tenma_disappeared_clone.json index 7418b07fc..743b42a82 100644 --- a/v2/cards/ken_express_tenma_disappeared_clone.json +++ b/v2/cards/ken_express_tenma_disappeared_clone.json @@ -2,6 +2,7 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "ken_express_tenma_disappeared_clone", "influence_limit": 17, @@ -13,5 +14,5 @@ "stripped_title": "Ken \"Express\" Tenma: Disappeared Clone", "subtypes": ["clone"], "text": "The first time each turn you play a run event, gain 1[credit].", - "title": "Ken \"Express\" Tenma: Disappeared Clone" + "title": "Ken “Express” Tenma: Disappeared Clone" } diff --git a/v2/cards/keros_mcintyre.json b/v2/cards/keros_mcintyre.json index 8dbfe635e..ed9381fe3 100644 --- a/v2/cards/keros_mcintyre.json +++ b/v2/cards/keros_mcintyre.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "keros_mcintyre", "influence_cost": 3, diff --git a/v2/cards/keyhole.json b/v2/cards/keyhole.json index b23a6f114..41314bc92 100644 --- a/v2/cards/keyhole.json +++ b/v2/cards/keyhole.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "keyhole", "influence_cost": 3, diff --git a/v2/cards/khan_savvy_skiptracer.json b/v2/cards/khan_savvy_skiptracer.json index 594dd4f43..ec77f05bd 100644 --- a/v2/cards/khan_savvy_skiptracer.json +++ b/v2/cards/khan_savvy_skiptracer.json @@ -2,6 +2,7 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "khan_savvy_skiptracer", "influence_limit": 12, diff --git a/v2/cards/khondi_plaza.json b/v2/cards/khondi_plaza.json index dfe4efe0a..85bc248aa 100644 --- a/v2/cards/khondi_plaza.json +++ b/v2/cards/khondi_plaza.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "khondi_plaza", "influence_cost": 0, diff --git a/v2/cards/khusyuk.json b/v2/cards/khusyuk.json index 2bb1cfb55..57c7ab0d1 100644 --- a/v2/cards/khusyuk.json +++ b/v2/cards/khusyuk.json @@ -2,14 +2,15 @@ "card_type_id": "event", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "khusyuk", "influence_cost": 2, "is_unique": false, "side_id": "runner", - "stripped_text": "Run R&D. If successful, instead of breaching R&D, choose a number greater than 0. For each installed card you have with a printed install cost matching that number, reveal 1 card from the top of R&D (max 6). Access 1 of the revealed cards, then the Corp shuffles R&D.", + "stripped_text": "Run R&D. If successful, instead of breaching R&D, choose an install cost greater than 0 credits. The Corp sets aside the top X cards of R&D faceup, where X is equal to the number of your installed cards with that printed install cost, up to 6. Access 1 of the set-aside cards. The Corp shuffles the set-aside cards into R&D.", "stripped_title": "Khusyuk", "subtypes": ["run"], - "text": "Run R&D. If successful, instead of breaching R&D, choose a number greater than 0. For each installed card you have with a printed install cost matching that number, reveal 1 card from the top of R&D (max 6). Access 1 of the revealed cards, then the Corp shuffles R&D.", + "text": "Run R&D. If successful, instead of breaching R&D, choose an install cost greater than 0[credit]. The Corp sets aside the top X cards of R&D faceup, where X is equal to the number of your installed cards with that printed install cost, up to 6. Access 1 of the set-aside cards. The Corp shuffles the set-aside cards into R&D.", "title": "Khusyuk" } diff --git a/v2/cards/kill_switch.json b/v2/cards/kill_switch.json index 0a47e7d4e..2892bbb40 100644 --- a/v2/cards/kill_switch.json +++ b/v2/cards/kill_switch.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "kill_switch", "influence_cost": 5, diff --git a/v2/cards/kimberlite_field.json b/v2/cards/kimberlite_field.json index 2439d05f6..020568cc9 100644 --- a/v2/cards/kimberlite_field.json +++ b/v2/cards/kimberlite_field.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "weyland_consortium", "id": "kimberlite_field", "is_unique": false, diff --git a/v2/cards/kitsune.json b/v2/cards/kitsune.json index 24a80d495..c3d48da76 100644 --- a/v2/cards/kitsune.json +++ b/v2/cards/kitsune.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "kitsune", "influence_cost": 2, diff --git a/v2/cards/klevetnik.json b/v2/cards/klevetnik.json index 940d49fbe..2d5ecfd43 100644 --- a/v2/cards/klevetnik.json +++ b/v2/cards/klevetnik.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "nbn", "id": "klevetnik", "influence_cost": 3, diff --git a/v2/cards/knifed.json b/v2/cards/knifed.json index 1ece4ca76..b9797bcb6 100644 --- a/v2/cards/knifed.json +++ b/v2/cards/knifed.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "knifed", "influence_cost": 3, diff --git a/v2/cards/knight.json b/v2/cards/knight.json index 4cad48892..26aa7d5da 100644 --- a/v2/cards/knight.json +++ b/v2/cards/knight.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "knight", "influence_cost": 2, diff --git a/v2/cards/knobkierie.json b/v2/cards/knobkierie.json index dd2130717..89b01feb8 100644 --- a/v2/cards/knobkierie.json +++ b/v2/cards/knobkierie.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "knobkierie", "influence_cost": 3, diff --git a/v2/cards/komainu.json b/v2/cards/komainu.json index 08822c96d..fe12a1aff 100644 --- a/v2/cards/komainu.json +++ b/v2/cards/komainu.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "komainu", "influence_cost": 4, diff --git a/v2/cards/kongamato.json b/v2/cards/kongamato.json index 9383fb0e6..44361eafd 100644 --- a/v2/cards/kongamato.json +++ b/v2/cards/kongamato.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "kongamato", "influence_cost": 1, diff --git a/v2/cards/konjin.json b/v2/cards/konjin.json index 5ce36c512..573b9333f 100644 --- a/v2/cards/konjin.json +++ b/v2/cards/konjin.json @@ -2,15 +2,16 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "konjin", "influence_cost": 3, "is_unique": true, "side_id": "corp", "strength": 3, - "stripped_text": "When the Runner encounters this ice, you and the Runner secretly spend 0 credits, 1 credit, or 2 credits. Reveal spent credits. If you and the Runner spent a different number of credits, you may force the Runner to encounter another rezzed piece of ice. (When that encounter ends, if the run has not ended, finish encountering this ice.)", + "stripped_text": "When the Runner encounters this ice, play a Psi Game. (Players secretly bid 0-2 credits. Then each player reveals and spends their bid.) If the bids differ, you may choose another rezzed piece of ice. The Runner encounters that ice. (When that encounter ends, if the run has not ended, finish encountering this ice.)", "stripped_title": "Konjin", "subtypes": ["mythic", "psi"], - "text": "When the Runner encounters this ice, you and the Runner secretly spend 0[credit], 1[credit], or 2[credit]. Reveal spent credits. If you and the Runner spent a different number of credits, you may force the Runner to encounter another rezzed piece of ice. (When that encounter ends, if the run has not ended, finish encountering this ice.)", + "text": "When the Runner encounters this ice, play a Psi Game. (Players secretly bid 0–2[credit]. Then each player reveals and spends their bid.) If the bids differ, you may choose another rezzed piece of ice. The Runner encounters that ice. (When that encounter ends, if the run has not ended, finish encountering this ice.)", "title": "Konjin" } diff --git a/v2/cards/kraken.json b/v2/cards/kraken.json index 1e1590f6f..b28f9cd15 100644 --- a/v2/cards/kraken.json +++ b/v2/cards/kraken.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "kraken", "influence_cost": 0, diff --git a/v2/cards/kuwinda_k4h1u3.json b/v2/cards/kuwinda_k4h1u3.json index 8d0a17f02..3671ec463 100644 --- a/v2/cards/kuwinda_k4h1u3.json +++ b/v2/cards/kuwinda_k4h1u3.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "kuwinda_k4h1u3", "influence_cost": 4, diff --git a/v2/cards/kyuban.json b/v2/cards/kyuban.json index ddc175e94..e8cd9c1dd 100644 --- a/v2/cards/kyuban.json +++ b/v2/cards/kyuban.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "kyuban", "influence_cost": 1, diff --git a/v2/cards/la_costa_grid.json b/v2/cards/la_costa_grid.json index 26895a934..5d9df1518 100644 --- a/v2/cards/la_costa_grid.json +++ b/v2/cards/la_costa_grid.json @@ -2,15 +2,16 @@ "card_type_id": "upgrade", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "la_costa_grid", "influence_cost": 3, "is_unique": false, "side_id": "corp", - "stripped_text": "Remote server only. When your turn begins, place 1 advancement counter on a card installed in the root of this server. Limit 1 region per server.", + "stripped_text": "Remote server only. When your turn begins, place 1 advancement counter on a card in the root of this server. Limit 1 region per server.", "stripped_title": "La Costa Grid", "subtypes": ["region", "seedy"], - "text": "Remote server only.\nWhen your turn begins, place 1 advancement counter on a card installed in the root of this server.\nLimit 1 region per server.", + "text": "Remote server only.\nWhen your turn begins, place 1 advancement counter on a card in the root of this server.\nLimit 1 region per server.", "title": "La Costa Grid", "trash_cost": 4 } diff --git a/v2/cards/laamb.json b/v2/cards/laamb.json index 99d24f393..68c6e9ad4 100644 --- a/v2/cards/laamb.json +++ b/v2/cards/laamb.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "laamb", "influence_cost": 2, diff --git a/v2/cards/lab_dog.json b/v2/cards/lab_dog.json index c889e45c4..0aef444f1 100644 --- a/v2/cards/lab_dog.json +++ b/v2/cards/lab_dog.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "lab_dog", "influence_cost": 2, diff --git a/v2/cards/labor_rights.json b/v2/cards/labor_rights.json index 02a44325d..9a877ce85 100644 --- a/v2/cards/labor_rights.json +++ b/v2/cards/labor_rights.json @@ -3,6 +3,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "labor_rights", "influence_cost": 2, diff --git a/v2/cards/labyrinthine_servers.json b/v2/cards/labyrinthine_servers.json index a2225c830..acc182bb3 100644 --- a/v2/cards/labyrinthine_servers.json +++ b/v2/cards/labyrinthine_servers.json @@ -3,6 +3,7 @@ "agenda_points": 3, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "labyrinthine_servers", "is_unique": false, diff --git a/v2/cards/lady_liberty.json b/v2/cards/lady_liberty.json index dec5ead44..22940a17d 100644 --- a/v2/cards/lady_liberty.json +++ b/v2/cards/lady_liberty.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 5, "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "lady_liberty", "influence_cost": 0, diff --git a/v2/cards/lag_time.json b/v2/cards/lag_time.json index 81d13c606..c35230ca6 100644 --- a/v2/cards/lag_time.json +++ b/v2/cards/lag_time.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "lag_time", "influence_cost": 0, diff --git a/v2/cards/lago_paranoa_shelter.json b/v2/cards/lago_paranoa_shelter.json new file mode 100644 index 000000000..9134a924b --- /dev/null +++ b/v2/cards/lago_paranoa_shelter.json @@ -0,0 +1,16 @@ +{ + "card_type_id": "resource", + "cost": 2, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "anarch", + "id": "lago_paranoa_shelter", + "influence_cost": 2, + "is_unique": true, + "side_id": "runner", + "stripped_text": "The first time each turn the Corp installs a card in the root of a server, you may trash the top card of your stack to draw 1 card.", + "stripped_title": "Lago Paranoa Shelter", + "subtypes": ["connection", "location"], + "text": "The first time each turn the Corp installs a card in the root of a server, you may trash the top card of your stack to draw 1 card.", + "title": "Lago Paranoá Shelter" +} diff --git a/v2/cards/laguna_velasco_district.json b/v2/cards/laguna_velasco_district.json index 47c2787f1..150e522f8 100644 --- a/v2/cards/laguna_velasco_district.json +++ b/v2/cards/laguna_velasco_district.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "laguna_velasco_district", "influence_cost": 2, diff --git a/v2/cards/lakshmi_smartfabrics.json b/v2/cards/lakshmi_smartfabrics.json index cddf4e91a..611909faf 100644 --- a/v2/cards/lakshmi_smartfabrics.json +++ b/v2/cards/lakshmi_smartfabrics.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "lakshmi_smartfabrics", "influence_cost": 3, diff --git a/v2/cards/lamprey.json b/v2/cards/lamprey.json index 9de6921d1..24d8ec062 100644 --- a/v2/cards/lamprey.json +++ b/v2/cards/lamprey.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "lamprey", "influence_cost": 2, diff --git a/v2/cards/lancelot.json b/v2/cards/lancelot.json index f02bd9a62..328cc9a9d 100644 --- a/v2/cards/lancelot.json +++ b/v2/cards/lancelot.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "lancelot", "influence_cost": 1, diff --git a/v2/cards/laramy_fisk_savvy_investor.json b/v2/cards/laramy_fisk_savvy_investor.json index 3c9c1e95e..66b16a56b 100644 --- a/v2/cards/laramy_fisk_savvy_investor.json +++ b/v2/cards/laramy_fisk_savvy_investor.json @@ -2,6 +2,7 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "laramy_fisk_savvy_investor", "influence_limit": 15, diff --git a/v2/cards/laser_pointer.json b/v2/cards/laser_pointer.json new file mode 100644 index 000000000..b18e80691 --- /dev/null +++ b/v2/cards/laser_pointer.json @@ -0,0 +1,17 @@ +{ + "card_type_id": "program", + "cost": 2, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "criminal", + "id": "laser_pointer", + "influence_cost": 3, + "is_unique": false, + "memory_cost": 1, + "side_id": "runner", + "stripped_text": "Whenever you encounter a piece of AP, destroyer, or observer ice, you may trash this program to bypass that ice.", + "stripped_title": "Laser Pointer", + "subtypes": ["weapon"], + "text": "Whenever you encounter a piece of AP, destroyer, or observer ice, you may trash this program to bypass that ice.", + "title": "Laser Pointer" +} diff --git a/v2/cards/lat_ethical_freelancer.json b/v2/cards/lat_ethical_freelancer.json index d2bb5600e..b544d247f 100644 --- a/v2/cards/lat_ethical_freelancer.json +++ b/v2/cards/lat_ethical_freelancer.json @@ -2,6 +2,7 @@ "base_link": 1, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "lat_ethical_freelancer", "influence_limit": 15, @@ -9,9 +10,9 @@ "minimum_deck_size": 45, "pronouns": "he/him", "side_id": "runner", - "stripped_text": "When your turn ends, if you have the same number of cards in your grip as the Corp has in HQ, you may draw 1 card.", + "stripped_text": "When your discard phase ends, if you have the same number of cards in your grip as the Corp has in HQ, you may draw 1 card.", "stripped_title": "Lat: Ethical Freelancer", "subtypes": ["natural"], - "text": "When your turn ends, if you have the same number of cards in your grip as the Corp has in HQ, you may draw 1 card.", + "text": "When your discard phase ends, if you have the same number of cards in your grip as the Corp has in HQ, you may draw 1 card.", "title": "Lat: Ethical Freelancer" } diff --git a/v2/cards/lateral_growth.json b/v2/cards/lateral_growth.json index 60c6867c0..a4e660193 100644 --- a/v2/cards/lateral_growth.json +++ b/v2/cards/lateral_growth.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "lateral_growth", "influence_cost": 2, diff --git a/v2/cards/launch_campaign.json b/v2/cards/launch_campaign.json index 098e0eccb..cc1a7106b 100644 --- a/v2/cards/launch_campaign.json +++ b/v2/cards/launch_campaign.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "launch_campaign", "influence_cost": 0, diff --git a/v2/cards/lawyer_up.json b/v2/cards/lawyer_up.json index ac016693f..833c99844 100644 --- a/v2/cards/lawyer_up.json +++ b/v2/cards/lawyer_up.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "lawyer_up", "influence_cost": 1, diff --git a/v2/cards/lean_and_mean.json b/v2/cards/lean_and_mean.json index 7a2e3361d..96d162568 100644 --- a/v2/cards/lean_and_mean.json +++ b/v2/cards/lean_and_mean.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "lean_and_mean", "influence_cost": 1, diff --git a/v2/cards/leave_no_trace.json b/v2/cards/leave_no_trace.json index 0de5afb9d..208245ef1 100644 --- a/v2/cards/leave_no_trace.json +++ b/v2/cards/leave_no_trace.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "leave_no_trace", "influence_cost": 3, diff --git a/v2/cards/leech.json b/v2/cards/leech.json index 9a83981bf..8da6eb25f 100644 --- a/v2/cards/leech.json +++ b/v2/cards/leech.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "leech", "influence_cost": 1, diff --git a/v2/cards/leela_patel_trained_pragmatist.json b/v2/cards/leela_patel_trained_pragmatist.json index 7c34abb0a..faa02d495 100644 --- a/v2/cards/leela_patel_trained_pragmatist.json +++ b/v2/cards/leela_patel_trained_pragmatist.json @@ -2,6 +2,7 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "leela_patel_trained_pragmatist", "influence_limit": 15, diff --git a/v2/cards/legwork.json b/v2/cards/legwork.json index 5d007be7b..81787dce5 100644 --- a/v2/cards/legwork.json +++ b/v2/cards/legwork.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "legwork", "influence_cost": 2, diff --git a/v2/cards/lemuria_codecracker.json b/v2/cards/lemuria_codecracker.json index 0170902c5..2bf0a853d 100644 --- a/v2/cards/lemuria_codecracker.json +++ b/v2/cards/lemuria_codecracker.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "lemuria_codecracker", "influence_cost": 1, diff --git a/v2/cards/leprechaun.json b/v2/cards/leprechaun.json index 47c7bfb7d..95e2fabe9 100644 --- a/v2/cards/leprechaun.json +++ b/v2/cards/leprechaun.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "leprechaun", "influence_cost": 2, diff --git a/v2/cards/letheia_nisei.json b/v2/cards/letheia_nisei.json index f0e4f3e22..3b8a9d5b6 100644 --- a/v2/cards/letheia_nisei.json +++ b/v2/cards/letheia_nisei.json @@ -2,15 +2,16 @@ "card_type_id": "upgrade", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "letheia_nisei", "influence_cost": 3, "is_unique": true, "side_id": "corp", - "stripped_text": "The first time each run the Runner approaches this server, you and the Runner secretly spend 0 credits, 1 credit, or 2 credits. Reveal spent credits. If you and the Runner spent a different number of credits, you may trash this upgrade. If you do, the Runner moves to the outermost position of this server. The Runner may jack out.", + "stripped_text": "The first time the Runner approaches this server during each run, play a Psi Game. (Players secretly bid 0-2 credits. Then each player reveals and spends their bid.) If the bids differ, you may trash this upgrade. If you do, the Runner moves to the outermost position of this server. They may jack out.", "stripped_title": "Letheia Nisei", "subtypes": ["psi", "clone"], - "text": "The first time each run the Runner approaches this server, you and the Runner secretly spend 0[credit], 1[credit], or 2[credit]. Reveal spent credits. If you and the Runner spent a different number of credits, you may trash this upgrade. If you do, the Runner moves to the outermost position of this server. The Runner may jack out.", + "text": "The first time the Runner approaches this server during each run, play a Psi Game. (Players secretly bid 0–2[credit]. Then each player reveals and spends their bid.) If the bids differ, you may trash this upgrade. If you do, the Runner moves to the outermost position of this server. They may jack out.", "title": "Letheia Nisei", "trash_cost": 2 } diff --git a/v2/cards/leverage.json b/v2/cards/leverage.json index 3f8447c4f..31cfc2f36 100644 --- a/v2/cards/leverage.json +++ b/v2/cards/leverage.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "leverage", "influence_cost": 2, diff --git a/v2/cards/leviathan.json b/v2/cards/leviathan.json index d6404e0ac..4a722d0db 100644 --- a/v2/cards/leviathan.json +++ b/v2/cards/leviathan.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 6, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "leviathan", "influence_cost": 2, diff --git a/v2/cards/levy_advanced_research_lab.json b/v2/cards/levy_advanced_research_lab.json index 849419331..37bdafaae 100644 --- a/v2/cards/levy_advanced_research_lab.json +++ b/v2/cards/levy_advanced_research_lab.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "levy_advanced_research_lab", "influence_cost": 2, diff --git a/v2/cards/levy_ar_lab_access.json b/v2/cards/levy_ar_lab_access.json index c392b8a24..906fcdc8d 100644 --- a/v2/cards/levy_ar_lab_access.json +++ b/v2/cards/levy_ar_lab_access.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "levy_ar_lab_access", "influence_cost": 3, diff --git a/v2/cards/levy_university.json b/v2/cards/levy_university.json index f612cf528..23a9167d4 100644 --- a/v2/cards/levy_university.json +++ b/v2/cards/levy_university.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "levy_university", "influence_cost": 0, diff --git a/v2/cards/lewi_guilherme.json b/v2/cards/lewi_guilherme.json index ba3b28ba4..aa1c70354 100644 --- a/v2/cards/lewi_guilherme.json +++ b/v2/cards/lewi_guilherme.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "lewi_guilherme", "influence_cost": 4, diff --git a/v2/cards/liberated_account.json b/v2/cards/liberated_account.json index 505c0e947..bdd8b9c5e 100644 --- a/v2/cards/liberated_account.json +++ b/v2/cards/liberated_account.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 6, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "liberated_account", "influence_cost": 2, diff --git a/v2/cards/liberated_chela.json b/v2/cards/liberated_chela.json index c3df28627..53c88a26e 100644 --- a/v2/cards/liberated_chela.json +++ b/v2/cards/liberated_chela.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "liberated_chela", "influence_cost": 2, diff --git a/v2/cards/license_acquisition.json b/v2/cards/license_acquisition.json index c9f1a823c..ac3025f2d 100644 --- a/v2/cards/license_acquisition.json +++ b/v2/cards/license_acquisition.json @@ -3,13 +3,14 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "license_acquisition", "is_unique": false, "side_id": "corp", - "stripped_text": "When you score this agenda, you may reveal 1 asset or upgrade in HQ or Archives. Install and rez that card, ignoring all costs.", + "stripped_text": "When you score this agenda, you may install and rez 1 asset or upgrade from HQ or Archives, ignoring all costs.", "stripped_title": "License Acquisition", "subtypes": ["expansion"], - "text": "When you score this agenda, you may reveal 1 asset or upgrade in HQ or Archives. Install and rez that card, ignoring all costs.", + "text": "When you score this agenda, you may install and rez 1 asset or upgrade from HQ or Archives, ignoring all costs.", "title": "License Acquisition" } diff --git a/v2/cards/light_the_fire.json b/v2/cards/light_the_fire.json index 0ac4219d6..a21aa5f77 100644 --- a/v2/cards/light_the_fire.json +++ b/v2/cards/light_the_fire.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "light_the_fire", "influence_cost": 2, diff --git a/v2/cards/lily_lockwell.json b/v2/cards/lily_lockwell.json index ce96b1742..f37d05d9d 100644 --- a/v2/cards/lily_lockwell.json +++ b/v2/cards/lily_lockwell.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "lily_lockwell", "influence_cost": 4, diff --git a/v2/cards/lilypad.json b/v2/cards/lilypad.json index b716781eb..154797eb4 100644 --- a/v2/cards/lilypad.json +++ b/v2/cards/lilypad.json @@ -1,9 +1,10 @@ { - "id": "lilypad", "card_type_id": "hardware", "cost": 4, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", + "id": "lilypad", "influence_cost": 3, "is_unique": true, "side_id": "runner", diff --git a/v2/cards/liquidation.json b/v2/cards/liquidation.json index 5dae27b13..eee1dd92b 100644 --- a/v2/cards/liquidation.json +++ b/v2/cards/liquidation.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "liquidation", "influence_cost": 1, diff --git a/v2/cards/little_engine.json b/v2/cards/little_engine.json index 5c9801eb4..e9970c846 100644 --- a/v2/cards/little_engine.json +++ b/v2/cards/little_engine.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "little_engine", "influence_cost": 2, diff --git a/v2/cards/living_mural.json b/v2/cards/living_mural.json new file mode 100644 index 000000000..354649f6c --- /dev/null +++ b/v2/cards/living_mural.json @@ -0,0 +1,18 @@ +{ + "card_type_id": "program", + "cost": 3, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "shaper", + "id": "living_mural", + "influence_cost": 2, + "is_unique": false, + "memory_cost": 1, + "side_id": "runner", + "strength": 1, + "stripped_text": "Install only on a piece of ice. Threat 4 -> When you install this program, it gets +3 strength for the remainder of the turn. (This ability is active if any player has 4 or more agenda points.) Interface -> 1 credit: Break 1 subroutine on a sentry protecting this server. 1 credit: +2 strength.", + "stripped_title": "Living Mural", + "subtypes": ["icebreaker", "killer", "trojan"], + "text": "Install only on a piece of ice.\nThreat 4 → When you install this program, it gets +3 strength for the remainder of the turn. (This ability is active if any player has 4 or more agenda points.)\nInterface → 1[credit]: Break 1 subroutine on a sentry protecting this server.\n1[credit]: +2 strength.", + "title": "Living Mural" +} diff --git a/v2/cards/liza_talking_thunder_prominent_legislator.json b/v2/cards/liza_talking_thunder_prominent_legislator.json index 84db6ce86..80777266b 100644 --- a/v2/cards/liza_talking_thunder_prominent_legislator.json +++ b/v2/cards/liza_talking_thunder_prominent_legislator.json @@ -2,6 +2,7 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "liza_talking_thunder_prominent_legislator", "influence_limit": 15, diff --git a/v2/cards/llds_energy_regulator.json b/v2/cards/llds_energy_regulator.json index bfc5967d0..5abea4a74 100644 --- a/v2/cards/llds_energy_regulator.json +++ b/v2/cards/llds_energy_regulator.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "llds_energy_regulator", "influence_cost": 1, diff --git a/v2/cards/llds_memory_diamond.json b/v2/cards/llds_memory_diamond.json index a68682d53..4be5c8521 100644 --- a/v2/cards/llds_memory_diamond.json +++ b/v2/cards/llds_memory_diamond.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "llds_memory_diamond", "influence_cost": 1, diff --git a/v2/cards/llds_processor.json b/v2/cards/llds_processor.json index 1f921cbcf..97e49f889 100644 --- a/v2/cards/llds_processor.json +++ b/v2/cards/llds_processor.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "llds_processor", "influence_cost": 1, diff --git a/v2/cards/load_testing.json b/v2/cards/load_testing.json index bee421b27..7fb80f692 100644 --- a/v2/cards/load_testing.json +++ b/v2/cards/load_testing.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "load_testing", "influence_cost": 5, diff --git a/v2/cards/localized_product_line.json b/v2/cards/localized_product_line.json index 1ec5f50b8..23ea3f31d 100644 --- a/v2/cards/localized_product_line.json +++ b/v2/cards/localized_product_line.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "localized_product_line", "influence_cost": 3, diff --git a/v2/cards/lockdown.json b/v2/cards/lockdown.json index f51eadd9c..75233963a 100644 --- a/v2/cards/lockdown.json +++ b/v2/cards/lockdown.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "lockdown", "influence_cost": 1, diff --git a/v2/cards/lockpick.json b/v2/cards/lockpick.json index cf741d852..68a1212f6 100644 --- a/v2/cards/lockpick.json +++ b/v2/cards/lockpick.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "lockpick", "influence_cost": 3, diff --git a/v2/cards/logic_bomb.json b/v2/cards/logic_bomb.json index 37baadd34..9baf67806 100644 --- a/v2/cards/logic_bomb.json +++ b/v2/cards/logic_bomb.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "adam", "id": "logic_bomb", "influence_cost": 5, diff --git a/v2/cards/logos.json b/v2/cards/logos.json index c3766809b..3974d54dd 100644 --- a/v2/cards/logos.json +++ b/v2/cards/logos.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "logos", "influence_cost": 2, diff --git a/v2/cards/loki.json b/v2/cards/loki.json index 0157163ab..4f53ecf06 100644 --- a/v2/cards/loki.json +++ b/v2/cards/loki.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 6, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "loki", "influence_cost": 5, diff --git a/v2/cards/london_library.json b/v2/cards/london_library.json index 9c9fd3292..5a00955d9 100644 --- a/v2/cards/london_library.json +++ b/v2/cards/london_library.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "london_library", "influence_cost": 2, diff --git a/v2/cards/long_term_investment.json b/v2/cards/long_term_investment.json index 786533557..28ea5941e 100644 --- a/v2/cards/long_term_investment.json +++ b/v2/cards/long_term_investment.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "long_term_investment", "influence_cost": 0, diff --git a/v2/cards/longevity_serum.json b/v2/cards/longevity_serum.json index 9443e8e05..4f786f3ea 100644 --- a/v2/cards/longevity_serum.json +++ b/v2/cards/longevity_serum.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 1, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "longevity_serum", "is_unique": false, diff --git a/v2/cards/loot_box.json b/v2/cards/loot_box.json index cb2429816..cf1188b02 100644 --- a/v2/cards/loot_box.json +++ b/v2/cards/loot_box.json @@ -2,15 +2,16 @@ "card_type_id": "ice", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "nbn", "id": "loot_box", "influence_cost": 1, "is_unique": false, "side_id": "corp", "strength": 3, - "stripped_text": "Subroutine End the run unless the Runner pays 2 credits. Subroutine Reveal the top 3 cards of the stack. Add 1 of those cards to the grip and gain credits equal to its install or play cost. The Runner shuffles the stack. Trash this ice.", + "stripped_text": "Subroutine End the run unless the Runner pays 2 credits. Subroutine Reveal the top 3 cards of the stack. Add 1 of those cards to the grip and gain X credits, where X is equal to that card's play or install cost. The Runner shuffles the stack. Trash this ice.", "stripped_title": "Loot Box", "subtypes": ["trap"], - "text": "[subroutine]End the run unless the Runner pays 2[credit].\n[subroutine]Reveal the top 3 cards of the stack. Add 1 of those cards to the grip and gain credits equal to its install or play cost. The Runner shuffles the stack. Trash this ice.", + "text": "[subroutine] End the run unless the Runner pays 2[credit].\n[subroutine] Reveal the top 3 cards of the stack. Add 1 of those cards to the grip and gain X[credit], where X is equal to that cardʼs play or install cost. The Runner shuffles the stack. Trash this ice.", "title": "Loot Box" } diff --git a/v2/cards/los_data_hijacker.json b/v2/cards/los_data_hijacker.json index bf6e71d69..6f814f678 100644 --- a/v2/cards/los_data_hijacker.json +++ b/v2/cards/los_data_hijacker.json @@ -2,6 +2,7 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "los_data_hijacker", "influence_limit": 15, diff --git a/v2/cards/lotus_field.json b/v2/cards/lotus_field.json index 83dfdc565..a29f9be60 100644 --- a/v2/cards/lotus_field.json +++ b/v2/cards/lotus_field.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "lotus_field", "influence_cost": 1, diff --git a/v2/cards/lt_todachine.json b/v2/cards/lt_todachine.json index 0538f2e92..be4966728 100644 --- a/v2/cards/lt_todachine.json +++ b/v2/cards/lt_todachine.json @@ -2,22 +2,23 @@ "card_type_id": "asset", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", + "faces": [ + { + "stripped_text": "Whenever you rez a piece of ice, give the Runner 1 tag. Whenever the Runner accesses cards, he or she accesses 1 fewer card if he or she is tagged (to a minimum of 1 card).", + "text": "Whenever you rez a piece of ice, give the Runner 1 tag.\nWhenever the Runner accesses cards, he or she accesses 1 fewer card if he or she is tagged (to a minimum of 1 card)." + } + ], "faction_id": "neutral_corp", "id": "lt_todachine", "influence_cost": 0, "is_unique": true, + "layout_id": "progression", "side_id": "corp", "stripped_text": "Whenever you rez a piece of ice, give the Runner 1 tag.", "stripped_title": "Lt. Todachine", "subtypes": ["character"], "text": "Whenever you rez a piece of ice, give the Runner 1 tag.", "title": "Lt. Todachine", - "trash_cost": 5, - "layout_id": "progression", - "faces": [ - { - "stripped_text": "Whenever you rez a piece of ice, give the Runner 1 tag. Whenever the Runner accesses cards, he or she accesses 1 fewer card if he or she is tagged (to a minimum of 1 card).", - "text": "Whenever you rez a piece of ice, give the Runner 1 tag.\nWhenever the Runner accesses cards, he or she accesses 1 fewer card if he or she is tagged (to a minimum of 1 card)." - } - ] + "trash_cost": 5 } diff --git a/v2/cards/lucky_charm.json b/v2/cards/lucky_charm.json index 1289e2c1d..3ce85ed0f 100644 --- a/v2/cards/lucky_charm.json +++ b/v2/cards/lucky_charm.json @@ -2,13 +2,15 @@ "card_type_id": "hardware", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "criminal", "id": "lucky_charm", "influence_cost": 2, "is_unique": true, "side_id": "runner", - "stripped_text": "Remove this hardware from the game: Prevent a Corp card ability from ending the run. Use this ability only if you made a successful run on HQ this turn.", + "stripped_text": "Interrupt -> Remove this hardware from the game: Prevent a Corp card ability from ending the run. Use this ability only if you made a successful run on HQ this turn.", "stripped_title": "Lucky Charm", - "text": "Remove this hardware from the game: Prevent a Corp card ability from ending the run. Use this ability only if you made a successful run on HQ this turn.", + "subtypes": ["chip"], + "text": "[interrupt] → Remove this hardware from the game: Prevent a Corp card ability from ending the run. Use this ability only if you made a successful run on HQ this turn.", "title": "Lucky Charm" } diff --git a/v2/cards/lucky_find.json b/v2/cards/lucky_find.json index 6d5470eb0..b9ee97137 100644 --- a/v2/cards/lucky_find.json +++ b/v2/cards/lucky_find.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "lucky_find", "influence_cost": 2, diff --git a/v2/cards/luminal_transubstantiation.json b/v2/cards/luminal_transubstantiation.json index a41c55ed8..7564037d5 100644 --- a/v2/cards/luminal_transubstantiation.json +++ b/v2/cards/luminal_transubstantiation.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 1, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "luminal_transubstantiation", "is_unique": false, diff --git a/v2/cards/lustig.json b/v2/cards/lustig.json index 0ec8a7749..5d970a053 100644 --- a/v2/cards/lustig.json +++ b/v2/cards/lustig.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "lustig", "influence_cost": 3, diff --git a/v2/cards/lycan.json b/v2/cards/lycan.json index fe160b2d6..69b4be00a 100644 --- a/v2/cards/lycan.json +++ b/v2/cards/lycan.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 6, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "lycan", "influence_cost": 2, diff --git a/v2/cards/m_i_c.json b/v2/cards/m_i_c.json new file mode 100644 index 000000000..aeffe1ef1 --- /dev/null +++ b/v2/cards/m_i_c.json @@ -0,0 +1,17 @@ +{ + "card_type_id": "ice", + "cost": 6, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "haas_bioroid", + "id": "m_i_c", + "influence_cost": 2, + "is_unique": false, + "side_id": "corp", + "strength": 4, + "stripped_text": "trash: End the run unless the Runner spends click. Use this ability only during a run on this server. Subroutine The Runner loses click. Subroutine The Runner loses click. Subroutine End the run.", + "stripped_title": "M.I.C.", + "subtypes": ["code_gate"], + "text": "[trash]: End the run unless the Runner spends [click]. Use this ability only during a run on this server.\n[subroutine] The Runner loses [click].\n[subroutine] The Runner loses [click].\n[subroutine] End the run.", + "title": "M.I.C." +} diff --git a/v2/cards/mache.json b/v2/cards/mache.json index 06e8881a9..1ae124210 100644 --- a/v2/cards/mache.json +++ b/v2/cards/mache.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "mache", "influence_cost": 3, diff --git a/v2/cards/machicolation.json b/v2/cards/machicolation.json index 1c054eead..621a4e921 100644 --- a/v2/cards/machicolation.json +++ b/v2/cards/machicolation.json @@ -2,23 +2,24 @@ "card_type_id": "ice", "cost": 6, "deck_limit": 3, + "designed_by": "fantasy_flight_games", + "faces": [ + { + "stripped_text": "Subroutine Trash 1 resource. Subroutine Trash 1 resource. Subroutine Do 1 net damage. Subroutine The Runner loses click, if able. End the run.", + "subtypes": ["code_gate", "destroyer", "ap"], + "text": "[subroutine] Trash 1 resource.\n[subroutine] Trash 1 resource.\n[subroutine] Do 1 net damage.\n[subroutine] The Runner loses [click], if able. End the run." + } + ], "faction_id": "neutral_corp", "id": "machicolation", "influence_cost": 0, "is_unique": false, + "layout_id": "copy", "side_id": "corp", "strength": 4, "stripped_text": "Subroutine Trash 1 program. Subroutine Trash 1 program. Subroutine Trash 1 piece of hardware. Subroutine The Runner loses 3 credits, if able. End the run.", "stripped_title": "Machicolation", "subtypes": ["code_gate", "destroyer"], "text": "[subroutine] Trash 1 program.\n[subroutine] Trash 1 program.\n[subroutine] Trash 1 piece of hardware.\n[subroutine] The Runner loses 3[credit], if able. End the run.", - "title": "Machicolation", - "layout_id": "copy", - "faces": [ - { - "stripped_text": "Subroutine Trash 1 resource. Subroutine Trash 1 resource. Subroutine Do 1 net damage. Subroutine The Runner loses click, if able. End the run.", - "subtypes": ["code_gate", "destroyer", "ap"], - "text": "[subroutine] Trash 1 resource.\n[subroutine] Trash 1 resource.\n[subroutine] Do 1 net damage.\n[subroutine] The Runner loses [click], if able. End the run." - } - ] + "title": "Machicolation" } diff --git a/v2/cards/macrophage.json b/v2/cards/macrophage.json index ef3ba49f4..809b45636 100644 --- a/v2/cards/macrophage.json +++ b/v2/cards/macrophage.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "macrophage", "influence_cost": 0, diff --git a/v2/cards/mad_dash.json b/v2/cards/mad_dash.json index 9f56e793c..8d37183ce 100644 --- a/v2/cards/mad_dash.json +++ b/v2/cards/mad_dash.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "mad_dash", "influence_cost": 0, diff --git a/v2/cards/magnet.json b/v2/cards/magnet.json index e457d4268..6c05cdff9 100644 --- a/v2/cards/magnet.json +++ b/v2/cards/magnet.json @@ -2,15 +2,16 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "magnet", "influence_cost": 1, "is_unique": false, "side_id": "corp", "strength": 3, - "stripped_text": "When you rez this ice, choose 1 installed program hosted on a piece of ice. Move that program onto this ice. Each hosted program loses all abilities. Subroutine End the run.", + "stripped_text": "When you rez this ice, choose 1 installed program hosted on a piece of ice. Host that program on this ice. Each hosted program loses all abilities and cannot gain abilities. Subroutine End the run.", "stripped_title": "Magnet", "subtypes": ["code_gate"], - "text": "When you rez this ice, choose 1 installed program hosted on a piece of ice. Move that program onto this ice.\nEach hosted program loses all abilities.\n[subroutine] End the run.", + "text": "When you rez this ice, choose 1 installed program hosted on a piece of ice. Host that program on this ice.\nEach hosted program loses all abilities and cannot gain abilities.\n[subroutine] End the run.", "title": "Magnet" } diff --git a/v2/cards/magnum_opus.json b/v2/cards/magnum_opus.json index 6b145b6ec..b1865ddfc 100644 --- a/v2/cards/magnum_opus.json +++ b/v2/cards/magnum_opus.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "magnum_opus", "influence_cost": 2, diff --git a/v2/cards/making_an_entrance.json b/v2/cards/making_an_entrance.json index 3dd620472..e33323db2 100644 --- a/v2/cards/making_an_entrance.json +++ b/v2/cards/making_an_entrance.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "making_an_entrance", "influence_cost": 2, diff --git a/v2/cards/makler.json b/v2/cards/makler.json index 8da33b2c6..81ee4bb8c 100644 --- a/v2/cards/makler.json +++ b/v2/cards/makler.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 5, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "criminal", "id": "makler", "influence_cost": 2, diff --git a/v2/cards/malapert_data_vault.json b/v2/cards/malapert_data_vault.json index acf5569ef..94dd948c9 100644 --- a/v2/cards/malapert_data_vault.json +++ b/v2/cards/malapert_data_vault.json @@ -2,14 +2,15 @@ "card_type_id": "upgrade", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "weyland_consortium", "id": "malapert_data_vault", "influence_cost": 3, "is_unique": true, "side_id": "corp", - "stripped_text": "Whenever you score an agenda from this server, you may search R&D for 1 non-agenda card and reveal it. (Shuffle R&D after searching it.) Add that card to HQ.", + "stripped_text": "Whenever you score an agenda from the root of this server, you may search R&D for 1 non-agenda card and reveal it. (Shuffle R&D after searching it.) Add that card to HQ.", "stripped_title": "Malapert Data Vault", - "text": "Whenever you score an agenda from this server, you may search R&D for 1 non-agenda card and reveal it. (Shuffle R&D after searching it.) Add that card to HQ.", + "text": "Whenever you score an agenda from the root of this server, you may search R&D for 1 non-agenda card and reveal it. (Shuffle R&D after searching it.) Add that card to HQ.", "title": "Malapert Data Vault", "trash_cost": 4 } diff --git a/v2/cards/malia_z0l0k4.json b/v2/cards/malia_z0l0k4.json index 04fb21efa..ca78486ef 100644 --- a/v2/cards/malia_z0l0k4.json +++ b/v2/cards/malia_z0l0k4.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "malia_z0l0k4", "influence_cost": 1, diff --git a/v2/cards/mamba.json b/v2/cards/mamba.json index 35714aeec..d09c35a49 100644 --- a/v2/cards/mamba.json +++ b/v2/cards/mamba.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 6, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "mamba", "influence_cost": 2, diff --git a/v2/cards/mammon.json b/v2/cards/mammon.json index 528f9f6bd..8a5803368 100644 --- a/v2/cards/mammon.json +++ b/v2/cards/mammon.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "mammon", "influence_cost": 2, diff --git a/v2/cards/mandatory_seed_replacement.json b/v2/cards/mandatory_seed_replacement.json index a2d660006..dd46497d2 100644 --- a/v2/cards/mandatory_seed_replacement.json +++ b/v2/cards/mandatory_seed_replacement.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "mandatory_seed_replacement", "is_unique": false, diff --git a/v2/cards/mandatory_upgrades.json b/v2/cards/mandatory_upgrades.json index 0837800eb..4bb5b4a9f 100644 --- a/v2/cards/mandatory_upgrades.json +++ b/v2/cards/mandatory_upgrades.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "mandatory_upgrades", "is_unique": false, diff --git a/v2/cards/manegarm_skunkworks.json b/v2/cards/manegarm_skunkworks.json index 28da1055a..eb60ae198 100644 --- a/v2/cards/manegarm_skunkworks.json +++ b/v2/cards/manegarm_skunkworks.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "manegarm_skunkworks", "influence_cost": 3, diff --git a/v2/cards/manhunt.json b/v2/cards/manhunt.json index 926220e03..1d51a5d37 100644 --- a/v2/cards/manhunt.json +++ b/v2/cards/manhunt.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "manhunt", "influence_cost": 3, diff --git a/v2/cards/manta_grid.json b/v2/cards/manta_grid.json index cc150d907..703018be1 100644 --- a/v2/cards/manta_grid.json +++ b/v2/cards/manta_grid.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "manta_grid", "influence_cost": 2, diff --git a/v2/cards/mantle.json b/v2/cards/mantle.json index 82ce408c3..41d287ae9 100644 --- a/v2/cards/mantle.json +++ b/v2/cards/mantle.json @@ -2,15 +2,16 @@ "card_type_id": "program", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "mantle", "influence_cost": 2, "is_unique": false, "memory_cost": 1, "side_id": "runner", - "stripped_text": "1 recurring credit Spend hosted credits to use hardware and programs.", + "stripped_text": "1 recurring credit You can spend hosted credits to use hardware and programs.", "stripped_title": "Mantle", "subtypes": ["stealth"], - "text": "1[recurring-credit]\nSpend hosted credits to use hardware and programs.", + "text": "1[recurring-credit]\nYou can spend hosted credits to use hardware and programs.", "title": "Mantle" } diff --git a/v2/cards/marathon.json b/v2/cards/marathon.json index 81b417821..0a3fd80eb 100644 --- a/v2/cards/marathon.json +++ b/v2/cards/marathon.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "marathon", "influence_cost": 5, diff --git a/v2/cards/marcus_batty.json b/v2/cards/marcus_batty.json index 923ec6c66..0145c73fd 100644 --- a/v2/cards/marcus_batty.json +++ b/v2/cards/marcus_batty.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "marcus_batty", "influence_cost": 3, diff --git a/v2/cards/marilyn_campaign.json b/v2/cards/marilyn_campaign.json index b3fd6918b..2488aa9ec 100644 --- a/v2/cards/marilyn_campaign.json +++ b/v2/cards/marilyn_campaign.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "marilyn_campaign", "influence_cost": 1, diff --git a/v2/cards/marjanah.json b/v2/cards/marjanah.json index e0474ace9..475a6bd40 100644 --- a/v2/cards/marjanah.json +++ b/v2/cards/marjanah.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "criminal", "id": "marjanah", "influence_cost": 1, diff --git a/v2/cards/mark_yale.json b/v2/cards/mark_yale.json index 4b69e33d5..eb8b27898 100644 --- a/v2/cards/mark_yale.json +++ b/v2/cards/mark_yale.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "mark_yale", "influence_cost": 1, diff --git a/v2/cards/marked_accounts.json b/v2/cards/marked_accounts.json index 716270190..4b167cb4b 100644 --- a/v2/cards/marked_accounts.json +++ b/v2/cards/marked_accounts.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "marked_accounts", "influence_cost": 1, diff --git a/v2/cards/marker.json b/v2/cards/marker.json index a07bf95e9..95541d582 100644 --- a/v2/cards/marker.json +++ b/v2/cards/marker.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "marker", "influence_cost": 1, diff --git a/v2/cards/market_forces.json b/v2/cards/market_forces.json index 5b148e821..15b6dd238 100644 --- a/v2/cards/market_forces.json +++ b/v2/cards/market_forces.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "market_forces", "influence_cost": 3, diff --git a/v2/cards/market_research.json b/v2/cards/market_research.json index 06f145f09..b48fdb142 100644 --- a/v2/cards/market_research.json +++ b/v2/cards/market_research.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "market_research", "is_unique": false, diff --git a/v2/cards/markus_1_0.json b/v2/cards/markus_1_0.json index 08f49377c..821e07872 100644 --- a/v2/cards/markus_1_0.json +++ b/v2/cards/markus_1_0.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "markus_1_0", "influence_cost": 1, diff --git a/v2/cards/marrow.json b/v2/cards/marrow.json index bd2c7a4ff..6aa00bd5d 100644 --- a/v2/cards/marrow.json +++ b/v2/cards/marrow.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "marrow", "influence_cost": 2, diff --git a/v2/cards/mars_for_martians.json b/v2/cards/mars_for_martians.json index e871723a6..eb68f46f3 100644 --- a/v2/cards/mars_for_martians.json +++ b/v2/cards/mars_for_martians.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "mars_for_martians", "influence_cost": 1, diff --git a/v2/cards/maskirovka.json b/v2/cards/maskirovka.json index 76e7eded6..4995200c2 100644 --- a/v2/cards/maskirovka.json +++ b/v2/cards/maskirovka.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "weyland_consortium", "id": "maskirovka", "influence_cost": 3, diff --git a/v2/cards/mason_bellamy.json b/v2/cards/mason_bellamy.json index 08a61083d..440298a61 100644 --- a/v2/cards/mason_bellamy.json +++ b/v2/cards/mason_bellamy.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "mason_bellamy", "influence_cost": 3, diff --git a/v2/cards/mass_commercialization.json b/v2/cards/mass_commercialization.json index df029dd61..eafc46dcd 100644 --- a/v2/cards/mass_commercialization.json +++ b/v2/cards/mass_commercialization.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "mass_commercialization", "influence_cost": 0, diff --git a/v2/cards/mass_driver.json b/v2/cards/mass_driver.json index 94780e13d..ef07d492b 100644 --- a/v2/cards/mass_driver.json +++ b/v2/cards/mass_driver.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 8, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "mass_driver", "influence_cost": 3, diff --git a/v2/cards/mass_install.json b/v2/cards/mass_install.json index 56b0293cd..71a38e97e 100644 --- a/v2/cards/mass_install.json +++ b/v2/cards/mass_install.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "mass_install", "influence_cost": 0, diff --git a/v2/cards/masterwork_v37.json b/v2/cards/masterwork_v37.json index aa3f76ce6..bca80453b 100644 --- a/v2/cards/masterwork_v37.json +++ b/v2/cards/masterwork_v37.json @@ -2,14 +2,15 @@ "card_type_id": "hardware", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "criminal", "id": "masterwork_v37", "influence_cost": 4, "is_unique": true, "side_id": "runner", - "stripped_text": "+1 mu. The first time each turn you install a piece of hardware, draw 1 card. Whenever a run begins, you may install a piece of hardware, paying 1 credit more. Limit 1 console per player.", + "stripped_text": "+1 mu The first time each turn you install a piece of hardware, draw 1 card. Whenever a run begins, you may install 1 piece of hardware from your grip, paying 1 credit more. Limit 1 console per player.", "stripped_title": "Masterwork (v37)", "subtypes": ["console"], - "text": "+1[mu].\nThe first time each turn you install a piece of hardware, draw 1 card.\nWhenever a run begins, you may install a piece of hardware, paying 1[credit] more.\nLimit 1 console per player.", + "text": "+1[mu]\nThe first time each turn you install a piece of hardware, draw 1 card.\nWhenever a run begins, you may install 1 piece of hardware from your grip, paying 1[credit] more.\nLimit 1 console per player.", "title": "Masterwork (v37)" } diff --git a/v2/cards/masvingo.json b/v2/cards/masvingo.json index 8185a4728..e302ecf02 100644 --- a/v2/cards/masvingo.json +++ b/v2/cards/masvingo.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "masvingo", "influence_cost": 2, diff --git a/v2/cards/matrix_analyzer.json b/v2/cards/matrix_analyzer.json index b33d11a39..eb6d1690a 100644 --- a/v2/cards/matrix_analyzer.json +++ b/v2/cards/matrix_analyzer.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "matrix_analyzer", "influence_cost": 2, diff --git a/v2/cards/matryoshka.json b/v2/cards/matryoshka.json index ef8223306..24798a494 100644 --- a/v2/cards/matryoshka.json +++ b/v2/cards/matryoshka.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 6, + "designed_by": "null_signal_games", "faction_id": "neutral_runner", "id": "matryoshka", "influence_cost": 0, diff --git a/v2/cards/maui.json b/v2/cards/maui.json index a4500a80d..c97cb25bb 100644 --- a/v2/cards/maui.json +++ b/v2/cards/maui.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "maui", "influence_cost": 2, diff --git a/v2/cards/mausolus.json b/v2/cards/mausolus.json index 60094227c..0e2393278 100644 --- a/v2/cards/mausolus.json +++ b/v2/cards/mausolus.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "mausolus", "influence_cost": 3, diff --git a/v2/cards/maven.json b/v2/cards/maven.json index d153ed482..7fc842fcf 100644 --- a/v2/cards/maven.json +++ b/v2/cards/maven.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "maven", "influence_cost": 3, diff --git a/v2/cards/mavirus.json b/v2/cards/mavirus.json index 8cc754232..c0c86f6c4 100644 --- a/v2/cards/mavirus.json +++ b/v2/cards/mavirus.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "mavirus", "influence_cost": 1, diff --git a/v2/cards/maw.json b/v2/cards/maw.json index 2d1db7619..c7809f7f2 100644 --- a/v2/cards/maw.json +++ b/v2/cards/maw.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 6, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "maw", "influence_cost": 3, diff --git a/v2/cards/maxwell_james.json b/v2/cards/maxwell_james.json index bd6bb97e8..1e2867b07 100644 --- a/v2/cards/maxwell_james.json +++ b/v2/cards/maxwell_james.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "maxwell_james", "influence_cost": 1, diff --git a/v2/cards/maxx_maximum_punk_rock.json b/v2/cards/maxx_maximum_punk_rock.json index 8b070d1f0..c0fec4c53 100644 --- a/v2/cards/maxx_maximum_punk_rock.json +++ b/v2/cards/maxx_maximum_punk_rock.json @@ -2,6 +2,7 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "maxx_maximum_punk_rock", "influence_limit": 15, diff --git a/v2/cards/maya.json b/v2/cards/maya.json index 808f83c30..75a694d28 100644 --- a/v2/cards/maya.json +++ b/v2/cards/maya.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "maya", "influence_cost": 3, diff --git a/v2/cards/mayfly.json b/v2/cards/mayfly.json index 10ad2fd82..0e7aa3499 100644 --- a/v2/cards/mayfly.json +++ b/v2/cards/mayfly.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "neutral_runner", "id": "mayfly", "influence_cost": 0, diff --git a/v2/cards/mca_austerity_policy.json b/v2/cards/mca_austerity_policy.json index 691dcce52..efdb1fec6 100644 --- a/v2/cards/mca_austerity_policy.json +++ b/v2/cards/mca_austerity_policy.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "mca_austerity_policy", "influence_cost": 3, diff --git a/v2/cards/mca_informant.json b/v2/cards/mca_informant.json index 5ec197afe..43516b710 100644 --- a/v2/cards/mca_informant.json +++ b/v2/cards/mca_informant.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "mca_informant", "influence_cost": 2, diff --git a/v2/cards/media_blitz.json b/v2/cards/media_blitz.json index 430b95831..ee71a31ce 100644 --- a/v2/cards/media_blitz.json +++ b/v2/cards/media_blitz.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "media_blitz", "influence_cost": 3, diff --git a/v2/cards/medical_breakthrough.json b/v2/cards/medical_breakthrough.json index 6e6935710..ebd0d260f 100644 --- a/v2/cards/medical_breakthrough.json +++ b/v2/cards/medical_breakthrough.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "medical_breakthrough", "is_unique": false, diff --git a/v2/cards/medical_research_fundraiser.json b/v2/cards/medical_research_fundraiser.json index d523c1e36..56a295ab3 100644 --- a/v2/cards/medical_research_fundraiser.json +++ b/v2/cards/medical_research_fundraiser.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "medical_research_fundraiser", "influence_cost": 1, diff --git a/v2/cards/medium.json b/v2/cards/medium.json index d34a5c44d..e590e9f69 100644 --- a/v2/cards/medium.json +++ b/v2/cards/medium.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "medium", "influence_cost": 3, diff --git a/v2/cards/megaprix_qualifier.json b/v2/cards/megaprix_qualifier.json index b9d3f1ff6..d362c0ac0 100644 --- a/v2/cards/megaprix_qualifier.json +++ b/v2/cards/megaprix_qualifier.json @@ -3,12 +3,13 @@ "agenda_points": 1, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "megaprix_qualifier", "is_unique": false, "side_id": "corp", - "stripped_text": "If there is another copy of Megaprix Qualifier in either player's score area when you score this agenda, place 1 agenda counter on this agenda. This agenda is worth 1 more agenda point while it has a hosted agenda counter.", + "stripped_text": "When you score this agenda, if there is another copy of Megaprix Qualifier in either player's score area, place 1 agenda counter on this agenda. While this agenda has a hosted agenda counter, it is worth 1 more agenda point.", "stripped_title": "Megaprix Qualifier", - "text": "If there is another copy of Megaprix Qualifier in either player's score area when you score this agenda, place 1 agenda counter on this agenda.\nThis agenda is worth 1 more agenda point while it has a hosted agenda counter.", + "text": "When you score this agenda, if there is another copy of Megaprix Qualifier in either playerʼs score area, place 1 agenda counter on this agenda.\nWhile this agenda has a hosted agenda counter, it is worth 1 more agenda point.", "title": "Megaprix Qualifier" } diff --git a/v2/cards/melange_mining_corp.json b/v2/cards/melange_mining_corp.json index a4c61e3bf..3a758df50 100644 --- a/v2/cards/melange_mining_corp.json +++ b/v2/cards/melange_mining_corp.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "melange_mining_corp", "influence_cost": 0, diff --git a/v2/cards/memstrips.json b/v2/cards/memstrips.json index d78e03170..2c3c26384 100644 --- a/v2/cards/memstrips.json +++ b/v2/cards/memstrips.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "memstrips", "influence_cost": 2, diff --git a/v2/cards/mental_health_clinic.json b/v2/cards/mental_health_clinic.json index 6cdc13c9a..97c52267f 100644 --- a/v2/cards/mental_health_clinic.json +++ b/v2/cards/mental_health_clinic.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "mental_health_clinic", "influence_cost": 2, diff --git a/v2/cards/mercury_chrome_libertador.json b/v2/cards/mercury_chrome_libertador.json index 41b0a133b..71499f999 100644 --- a/v2/cards/mercury_chrome_libertador.json +++ b/v2/cards/mercury_chrome_libertador.json @@ -1,9 +1,10 @@ { - "id": "mercury_chrome_libertador", "base_link": 0, "card_type_id": "runner_identity", - "deck_limit": 3, + "deck_limit": 1, + "designed_by": "null_signal_games", "faction_id": "criminal", + "id": "mercury_chrome_libertador", "influence_limit": 15, "is_unique": false, "minimum_deck_size": 45, diff --git a/v2/cards/merger.json b/v2/cards/merger.json index bc8c81278..26fe3107e 100644 --- a/v2/cards/merger.json +++ b/v2/cards/merger.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "merger", "influence_cost": 1, diff --git a/v2/cards/meridian.json b/v2/cards/meridian.json index ede9a1525..ecec553b6 100644 --- a/v2/cards/meridian.json +++ b/v2/cards/meridian.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "meridian", "influence_cost": 3, diff --git a/v2/cards/merlin.json b/v2/cards/merlin.json index cb6d85b0b..ea0810175 100644 --- a/v2/cards/merlin.json +++ b/v2/cards/merlin.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 6, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "merlin", "influence_cost": 1, diff --git a/v2/cards/meru_mati.json b/v2/cards/meru_mati.json index 4267f52a4..12f85e8f4 100644 --- a/v2/cards/meru_mati.json +++ b/v2/cards/meru_mati.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "meru_mati", "influence_cost": 2, diff --git a/v2/cards/mestnichestvo.json b/v2/cards/mestnichestvo.json index f40ca3360..1cf465166 100644 --- a/v2/cards/mestnichestvo.json +++ b/v2/cards/mestnichestvo.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 5, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "nbn", "id": "mestnichestvo", "influence_cost": 2, diff --git a/v2/cards/metamorph.json b/v2/cards/metamorph.json index d16c2b2b1..cd95a7d61 100644 --- a/v2/cards/metamorph.json +++ b/v2/cards/metamorph.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "metamorph", "influence_cost": 3, diff --git a/v2/cards/meteor_mining.json b/v2/cards/meteor_mining.json index 43fb2b0d1..5904dbf6f 100644 --- a/v2/cards/meteor_mining.json +++ b/v2/cards/meteor_mining.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "meteor_mining", "is_unique": false, diff --git a/v2/cards/mganga.json b/v2/cards/mganga.json index 08299a9c8..557cf118f 100644 --- a/v2/cards/mganga.json +++ b/v2/cards/mganga.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "mganga", "influence_cost": 2, diff --git a/v2/cards/midnight_3_arcology.json b/v2/cards/midnight_3_arcology.json index decec6518..80d410c1a 100644 --- a/v2/cards/midnight_3_arcology.json +++ b/v2/cards/midnight_3_arcology.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "midnight_3_arcology", "is_unique": false, diff --git a/v2/cards/midori.json b/v2/cards/midori.json index 0534b0523..14354cddb 100644 --- a/v2/cards/midori.json +++ b/v2/cards/midori.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "midori", "influence_cost": 3, diff --git a/v2/cards/midseason_replacements.json b/v2/cards/midseason_replacements.json index e84c8842a..7e5faa78b 100644 --- a/v2/cards/midseason_replacements.json +++ b/v2/cards/midseason_replacements.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "midseason_replacements", "influence_cost": 4, diff --git a/v2/cards/midway_station_grid.json b/v2/cards/midway_station_grid.json index eceef03bc..cb0f46558 100644 --- a/v2/cards/midway_station_grid.json +++ b/v2/cards/midway_station_grid.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "midway_station_grid", "influence_cost": 4, diff --git a/v2/cards/mimic.json b/v2/cards/mimic.json index 5c3904c4c..503219ede 100644 --- a/v2/cards/mimic.json +++ b/v2/cards/mimic.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "mimic", "influence_cost": 1, diff --git a/v2/cards/mind_game.json b/v2/cards/mind_game.json index 93d3ae899..5acd46528 100644 --- a/v2/cards/mind_game.json +++ b/v2/cards/mind_game.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "mind_game", "influence_cost": 3, diff --git a/v2/cards/minds_eye.json b/v2/cards/minds_eye.json index 75c691284..c52260f31 100644 --- a/v2/cards/minds_eye.json +++ b/v2/cards/minds_eye.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "minds_eye", "influence_cost": 3, diff --git a/v2/cards/mindscaping.json b/v2/cards/mindscaping.json new file mode 100644 index 000000000..36e640557 --- /dev/null +++ b/v2/cards/mindscaping.json @@ -0,0 +1,16 @@ +{ + "card_type_id": "operation", + "cost": 2, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "jinteki", + "id": "mindscaping", + "influence_cost": 2, + "is_unique": false, + "side_id": "corp", + "stripped_text": "Resolve 1 of the following: * Gain 4 credits and draw 2 cards. Add 1 card from HQ to the top of R&D. * Do X net damage. X is equal to the number of tags the Runner has, up to 3.", + "stripped_title": "Mindscaping", + "subtypes": ["gray_ops"], + "text": "Resolve 1 of the following:
  • Gain 4[credit] and draw 2 cards. Add 1 card from HQ to the top of R&D.
  • Do X net damage. X is equal to the number of tags the Runner has, up to 3.
", + "title": "Mindscaping" +} diff --git a/v2/cards/minelayer.json b/v2/cards/minelayer.json index c9071edc0..1b6d56fcf 100644 --- a/v2/cards/minelayer.json +++ b/v2/cards/minelayer.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "minelayer", "influence_cost": 1, diff --git a/v2/cards/mining_accident.json b/v2/cards/mining_accident.json index 94708e251..bc1bf8907 100644 --- a/v2/cards/mining_accident.json +++ b/v2/cards/mining_accident.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "mining_accident", "influence_cost": 2, diff --git a/v2/cards/miraju.json b/v2/cards/miraju.json index db82aeeb3..28af161df 100644 --- a/v2/cards/miraju.json +++ b/v2/cards/miraju.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "miraju", "influence_cost": 2, diff --git a/v2/cards/mirror.json b/v2/cards/mirror.json index 397f18d14..0fc6b8c30 100644 --- a/v2/cards/mirror.json +++ b/v2/cards/mirror.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "mirror", "influence_cost": 3, diff --git a/v2/cards/mirrormorph_endless_iteration.json b/v2/cards/mirrormorph_endless_iteration.json index 866575cc1..10d0677dc 100644 --- a/v2/cards/mirrormorph_endless_iteration.json +++ b/v2/cards/mirrormorph_endless_iteration.json @@ -1,15 +1,16 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "mirrormorph_endless_iteration", "influence_limit": 15, "is_unique": false, "minimum_deck_size": 45, "side_id": "corp", - "stripped_text": "If the first, second, and third actions you take on your turn are different from each other, when the third completes, you may gain 1 credit or take another different action, paying 1click less.", + "stripped_text": "If the first, second, and third actions you take on your turn are each different from one another, when the third action completes, you may gain 1 credit or take another different action, paying click less.", "stripped_title": "MirrorMorph: Endless Iteration", "subtypes": ["division"], - "text": "If the first, second, and third actions you take on your turn are different from each other, when the third completes, you may gain 1[credit] or take another different action, paying 1[click] less.", + "text": "If the first, second, and third actions you take on your turn are each different from one another, when the third action completes, you may gain 1[credit] or take another different action, paying [click] less.", "title": "MirrorMorph: Endless Iteration" } diff --git a/v2/cards/misdirection.json b/v2/cards/misdirection.json index 12f186ca3..f83617c46 100644 --- a/v2/cards/misdirection.json +++ b/v2/cards/misdirection.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "misdirection", "influence_cost": 2, diff --git a/v2/cards/miss_bones.json b/v2/cards/miss_bones.json index 398a88ad4..51d0ccbaf 100644 --- a/v2/cards/miss_bones.json +++ b/v2/cards/miss_bones.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "miss_bones", "influence_cost": 2, diff --git a/v2/cards/mitosis.json b/v2/cards/mitosis.json index fdfc77d60..fb8dcc20a 100644 --- a/v2/cards/mitosis.json +++ b/v2/cards/mitosis.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "mitosis", "influence_cost": 4, diff --git a/v2/cards/mkultra.json b/v2/cards/mkultra.json index 24f1de73e..7a88aeda5 100644 --- a/v2/cards/mkultra.json +++ b/v2/cards/mkultra.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "mkultra", "influence_cost": 2, diff --git a/v2/cards/mlinzi.json b/v2/cards/mlinzi.json index 05a48f02c..51ee21f3e 100644 --- a/v2/cards/mlinzi.json +++ b/v2/cards/mlinzi.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 7, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "mlinzi", "influence_cost": 3, diff --git a/v2/cards/mobius.json b/v2/cards/mobius.json index b6bc361fc..89ce0acc5 100644 --- a/v2/cards/mobius.json +++ b/v2/cards/mobius.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "mobius", "influence_cost": 1, diff --git a/v2/cards/modded.json b/v2/cards/modded.json index acab8eb1c..5811cced7 100644 --- a/v2/cards/modded.json +++ b/v2/cards/modded.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "modded", "influence_cost": 2, diff --git a/v2/cards/mongoose.json b/v2/cards/mongoose.json index fce78d102..09fa1338c 100644 --- a/v2/cards/mongoose.json +++ b/v2/cards/mongoose.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "mongoose", "influence_cost": 2, diff --git a/v2/cards/monkeywrench.json b/v2/cards/monkeywrench.json new file mode 100644 index 000000000..b219ab5ae --- /dev/null +++ b/v2/cards/monkeywrench.json @@ -0,0 +1,17 @@ +{ + "card_type_id": "program", + "cost": 2, + "deck_limit": 3, + "designed_by": "null_signal_games", + "faction_id": "anarch", + "id": "monkeywrench", + "influence_cost": 2, + "is_unique": false, + "memory_cost": 1, + "side_id": "runner", + "stripped_text": "Install only on a piece of ice. Host ice gets -2 strength. Each other piece of ice protecting this server gets -1 strength.", + "stripped_title": "Monkeywrench", + "subtypes": ["trojan"], + "text": "Install only on a piece of ice.\nHost ice gets −2 strength. Each other piece of ice protecting this server gets −1 strength.", + "title": "Monkeywrench" +} diff --git a/v2/cards/monolith.json b/v2/cards/monolith.json index 69805ecf3..14651b502 100644 --- a/v2/cards/monolith.json +++ b/v2/cards/monolith.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 18, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "monolith", "influence_cost": 3, diff --git a/v2/cards/moon_pool.json b/v2/cards/moon_pool.json index 7901db498..456aa6f79 100644 --- a/v2/cards/moon_pool.json +++ b/v2/cards/moon_pool.json @@ -3,6 +3,7 @@ "card_type_id": "asset", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "moon_pool", "influence_cost": 3, diff --git a/v2/cards/morning_star.json b/v2/cards/morning_star.json index dbf63f087..b9822ca15 100644 --- a/v2/cards/morning_star.json +++ b/v2/cards/morning_star.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 8, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "morning_star", "influence_cost": 4, diff --git a/v2/cards/moshing.json b/v2/cards/moshing.json index 9fed06fa7..da08e275c 100644 --- a/v2/cards/moshing.json +++ b/v2/cards/moshing.json @@ -2,13 +2,14 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "moshing", "influence_cost": 3, "is_unique": false, "side_id": "runner", - "stripped_text": "As an additional cost to play this event, trash 3 cards from your grip. Draw 3 cards and gain 3 credits.", + "stripped_text": "As an additional cost to play this event, trash 3 cards from your grip. Gain 3 credits and draw 3 cards.", "stripped_title": "Moshing", - "text": "As an additional cost to play this event, trash 3 cards from your grip.\nDraw 3 cards and gain 3[credit].", + "text": "As an additional cost to play this event, trash 3 cards from your grip.\nGain 3[credit] and draw 3 cards.", "title": "Moshing" } diff --git a/v2/cards/mother_goddess.json b/v2/cards/mother_goddess.json index de877de8d..95b4f1759 100644 --- a/v2/cards/mother_goddess.json +++ b/v2/cards/mother_goddess.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "mother_goddess", "influence_cost": 0, diff --git a/v2/cards/motivation.json b/v2/cards/motivation.json index 7eba734d3..10e864004 100644 --- a/v2/cards/motivation.json +++ b/v2/cards/motivation.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "motivation", "influence_cost": 1, diff --git a/v2/cards/mr_hendrik.json b/v2/cards/mr_hendrik.json index 5d8fff2de..082e0ddd2 100644 --- a/v2/cards/mr_hendrik.json +++ b/v2/cards/mr_hendrik.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "mr_hendrik", "influence_cost": 3, diff --git a/v2/cards/mr_li.json b/v2/cards/mr_li.json index 620335e96..248679959 100644 --- a/v2/cards/mr_li.json +++ b/v2/cards/mr_li.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "mr_li", "influence_cost": 2, diff --git a/v2/cards/mr_stone.json b/v2/cards/mr_stone.json index 1c01f3bfd..b0aa84588 100644 --- a/v2/cards/mr_stone.json +++ b/v2/cards/mr_stone.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "mr_stone", "influence_cost": 4, diff --git a/v2/cards/mti_mwekundu_life_improved.json b/v2/cards/mti_mwekundu_life_improved.json index aca593c87..53761efb8 100644 --- a/v2/cards/mti_mwekundu_life_improved.json +++ b/v2/cards/mti_mwekundu_life_improved.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "mti_mwekundu_life_improved", "influence_limit": 15, diff --git a/v2/cards/mu_safecracker.json b/v2/cards/mu_safecracker.json index 0b88f7c53..3c9213422 100644 --- a/v2/cards/mu_safecracker.json +++ b/v2/cards/mu_safecracker.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "criminal", "id": "mu_safecracker", "influence_cost": 3, diff --git a/v2/cards/muckraker.json b/v2/cards/muckraker.json index 472dc5b57..dd259a41c 100644 --- a/v2/cards/muckraker.json +++ b/v2/cards/muckraker.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 5, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "muckraker", "influence_cost": 3, diff --git a/v2/cards/muertos_gang_member.json b/v2/cards/muertos_gang_member.json index d0f5746e1..29a330020 100644 --- a/v2/cards/muertos_gang_member.json +++ b/v2/cards/muertos_gang_member.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "muertos_gang_member", "influence_cost": 2, diff --git a/v2/cards/multithreader.json b/v2/cards/multithreader.json index 295c38151..f61154adc 100644 --- a/v2/cards/multithreader.json +++ b/v2/cards/multithreader.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "adam", "id": "multithreader", "influence_cost": 1, diff --git a/v2/cards/mumba_temple.json b/v2/cards/mumba_temple.json index cee83b6ff..350be8589 100644 --- a/v2/cards/mumba_temple.json +++ b/v2/cards/mumba_temple.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "mumba_temple", "influence_cost": 2, diff --git a/v2/cards/mumbad_city_grid.json b/v2/cards/mumbad_city_grid.json index a8d1925ee..02f801aba 100644 --- a/v2/cards/mumbad_city_grid.json +++ b/v2/cards/mumbad_city_grid.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "mumbad_city_grid", "influence_cost": 3, diff --git a/v2/cards/mumbad_city_hall.json b/v2/cards/mumbad_city_hall.json index e03ddc4c9..ad1783688 100644 --- a/v2/cards/mumbad_city_hall.json +++ b/v2/cards/mumbad_city_hall.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "mumbad_city_hall", "influence_cost": 1, diff --git a/v2/cards/mumbad_construction_co.json b/v2/cards/mumbad_construction_co.json index 8e24cd2ab..9c2fb94f6 100644 --- a/v2/cards/mumbad_construction_co.json +++ b/v2/cards/mumbad_construction_co.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "mumbad_construction_co", "influence_cost": 3, diff --git a/v2/cards/mumbad_virtual_tour.json b/v2/cards/mumbad_virtual_tour.json index cc4fd7beb..439efb316 100644 --- a/v2/cards/mumbad_virtual_tour.json +++ b/v2/cards/mumbad_virtual_tour.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "mumbad_virtual_tour", "influence_cost": 2, diff --git a/v2/cards/muresh_bodysuit.json b/v2/cards/muresh_bodysuit.json index 5d881b57b..f9ed528d4 100644 --- a/v2/cards/muresh_bodysuit.json +++ b/v2/cards/muresh_bodysuit.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "muresh_bodysuit", "influence_cost": 1, diff --git a/v2/cards/musaazi.json b/v2/cards/musaazi.json index 0c2398e17..7d7724c3a 100644 --- a/v2/cards/musaazi.json +++ b/v2/cards/musaazi.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "musaazi", "influence_cost": 2, diff --git a/v2/cards/museum_of_history.json b/v2/cards/museum_of_history.json index 7521baad6..a995837ed 100644 --- a/v2/cards/museum_of_history.json +++ b/v2/cards/museum_of_history.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "museum_of_history", "influence_cost": 2, diff --git a/v2/cards/mushin_no_shin.json b/v2/cards/mushin_no_shin.json index d25482cab..ccf3adad1 100644 --- a/v2/cards/mushin_no_shin.json +++ b/v2/cards/mushin_no_shin.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "mushin_no_shin", "influence_cost": 2, diff --git a/v2/cards/mutate.json b/v2/cards/mutate.json index 06c156faa..3e5e4343f 100644 --- a/v2/cards/mutate.json +++ b/v2/cards/mutate.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "mutate", "influence_cost": 3, diff --git a/v2/cards/mutual_favor.json b/v2/cards/mutual_favor.json index a30e67f8e..5bcc77e40 100644 --- a/v2/cards/mutual_favor.json +++ b/v2/cards/mutual_favor.json @@ -2,13 +2,14 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "criminal", "id": "mutual_favor", "influence_cost": 3, "is_unique": false, "side_id": "runner", - "stripped_text": "Search your stack for 1 icebreaker program and reveal it. (Shuffle your stack after searching it.) If you made a successful run this turn, you may install it. If you do not, add it to your grip.", + "stripped_text": "Search your stack for 1 icebreaker and reveal it. (Shuffle your stack after searching it.) If you made a successful run this turn, you may install that program. If you do not, add it to your grip.", "stripped_title": "Mutual Favor", - "text": "Search your stack for 1 icebreaker program and reveal it. (Shuffle your stack after searching it.) If you made a successful run this turn, you may install it. If you do not, add it to your grip.", + "text": "Search your stack for 1 icebreaker and reveal it. (Shuffle your stack after searching it.) If you made a successful run this turn, you may install that program. If you do not, add it to your grip.", "title": "Mutual Favor" } diff --git a/v2/cards/mutually_assured_destruction.json b/v2/cards/mutually_assured_destruction.json index dcab49de1..574090221 100644 --- a/v2/cards/mutually_assured_destruction.json +++ b/v2/cards/mutually_assured_destruction.json @@ -3,6 +3,7 @@ "card_type_id": "operation", "cost": 4, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "weyland_consortium", "id": "mutually_assured_destruction", "influence_cost": 4, diff --git a/v2/cards/mwanza_city_grid.json b/v2/cards/mwanza_city_grid.json index 6406963ae..6a568921e 100644 --- a/v2/cards/mwanza_city_grid.json +++ b/v2/cards/mwanza_city_grid.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "mwanza_city_grid", "influence_cost": 1, diff --git a/v2/cards/mystic_maemi.json b/v2/cards/mystic_maemi.json index 47438a400..4d209d368 100644 --- a/v2/cards/mystic_maemi.json +++ b/v2/cards/mystic_maemi.json @@ -2,14 +2,15 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "mystic_maemi", "influence_cost": 2, "is_unique": true, "side_id": "runner", - "stripped_text": "When your turn begins or you steal an agenda, place 1 credit on this resource. Spend hosted credits to play events. When your turn ends, if there are 3 or more hosted credits, you must trash 1 card from your grip at random or trash this resource.", + "stripped_text": "When your turn begins and whenever you steal an agenda, place 1 credit on this resource. You can spend hosted credits to play events. When your turn ends, if there are 3 or more hosted credits, you must trash 1 card from your grip at random or trash this resource.", "stripped_title": "Mystic Maemi", "subtypes": ["companion", "virtual"], - "text": "When your turn begins or you steal an agenda, place 1[credit] on this resource.\nSpend hosted credits to play events.\nWhen your turn ends, if there are 3 or more hosted credits, you must trash 1 card from your grip at random or trash this resource.", + "text": "When your turn begins and whenever you steal an agenda, place 1[credit] on this resource.\nYou can spend hosted credits to play events.\nWhen your turn ends, if there are 3 or more hosted credits, you must trash 1 card from your grip at random or trash this resource.", "title": "Mystic Maemi" } diff --git a/v2/cards/na_not_k.json b/v2/cards/na_not_k.json index 52cc3d1b9..202e8e94a 100644 --- a/v2/cards/na_not_k.json +++ b/v2/cards/na_not_k.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "na_not_k", "influence_cost": 1, diff --git a/v2/cards/najja_1_0.json b/v2/cards/najja_1_0.json index a92a2034c..516e5916d 100644 --- a/v2/cards/najja_1_0.json +++ b/v2/cards/najja_1_0.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "najja_1_0", "influence_cost": 2, diff --git a/v2/cards/nanisivik_grid.json b/v2/cards/nanisivik_grid.json index 9518b6af9..1a0046fca 100644 --- a/v2/cards/nanisivik_grid.json +++ b/v2/cards/nanisivik_grid.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "nanisivik_grid", "influence_cost": 2, diff --git a/v2/cards/nanoetching_matrix.json b/v2/cards/nanoetching_matrix.json index bd52538b0..f6adcf950 100644 --- a/v2/cards/nanoetching_matrix.json +++ b/v2/cards/nanoetching_matrix.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "nanoetching_matrix", "influence_cost": 2, @@ -9,7 +10,8 @@ "side_id": "corp", "stripped_text": "click: Gain 2 credits. Use this ability only once per turn. When the Runner trashes this asset, you may gain 2 credits.", "stripped_title": "Nanoetching Matrix", - "text": "[click]: Gain 2[credit]. Use this ability only once per turn.\nWhen the Runner trashes this asset, you may gain 2[credit].", + "subtypes": ["industrial"], + "text": "[click]: Gain 2[credit]. Use this ability only once per turn.\nWhen the Runner trashes this asset, you may gain 2[credit].", "title": "Nanoetching Matrix", "trash_cost": 3 } diff --git a/v2/cards/nanuq.json b/v2/cards/nanuq.json index 2ff5dc17a..926dad126 100644 --- a/v2/cards/nanuq.json +++ b/v2/cards/nanuq.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 4, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "shaper", "id": "nanuq", "influence_cost": 5, diff --git a/v2/cards/napd_contract.json b/v2/cards/napd_contract.json index bcad3b195..88e6f5885 100644 --- a/v2/cards/napd_contract.json +++ b/v2/cards/napd_contract.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "napd_contract", "influence_cost": 0, diff --git a/v2/cards/napd_cordon.json b/v2/cards/napd_cordon.json index 57d1a4662..c05564d06 100644 --- a/v2/cards/napd_cordon.json +++ b/v2/cards/napd_cordon.json @@ -2,15 +2,16 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "neutral_corp", "id": "napd_cordon", "influence_cost": 0, "is_unique": false, "side_id": "corp", - "stripped_text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins. As an additional cost to steal an agenda, the Runner must pay 4 credits, plus 2 credits for each advancement token on that agenda.", + "stripped_text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins. As an additional cost to steal an agenda, the Runner must pay 4 credits plus 2 credits for each advancement counter on that agenda.", "stripped_title": "NAPD Cordon", "subtypes": ["lockdown"], - "text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins.\nAs an additional cost to steal an agenda, the Runner must pay 4[credit], plus 2[credit] for each advancement token on that agenda.", + "text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins.\nAs an additional cost to steal an agenda, the Runner must pay 4[credit] plus 2[credit] for each advancement counter on that agenda.", "title": "NAPD Cordon", "trash_cost": 2 } diff --git a/v2/cards/nasir_meidan_cyber_explorer.json b/v2/cards/nasir_meidan_cyber_explorer.json index 8608585bb..cdb60d97a 100644 --- a/v2/cards/nasir_meidan_cyber_explorer.json +++ b/v2/cards/nasir_meidan_cyber_explorer.json @@ -2,6 +2,7 @@ "base_link": 1, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "nasir_meidan_cyber_explorer", "influence_limit": 15, diff --git a/v2/cards/nasx.json b/v2/cards/nasx.json index 7fa93df48..37790f534 100644 --- a/v2/cards/nasx.json +++ b/v2/cards/nasx.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "nasx", "influence_cost": 0, diff --git a/v2/cards/nathaniel_gnat_hall_one_of_a_kind.json b/v2/cards/nathaniel_gnat_hall_one_of_a_kind.json index 24393fb5a..004471c12 100644 --- a/v2/cards/nathaniel_gnat_hall_one_of_a_kind.json +++ b/v2/cards/nathaniel_gnat_hall_one_of_a_kind.json @@ -2,6 +2,7 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "nathaniel_gnat_hall_one_of_a_kind", "influence_limit": 15, diff --git a/v2/cards/navi_mumbai_city_grid.json b/v2/cards/navi_mumbai_city_grid.json index 971ae6f5a..e831247c1 100644 --- a/v2/cards/navi_mumbai_city_grid.json +++ b/v2/cards/navi_mumbai_city_grid.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "navi_mumbai_city_grid", "influence_cost": 2, diff --git a/v2/cards/nbn_controlling_the_message.json b/v2/cards/nbn_controlling_the_message.json index 5c68ddd5a..4c1411784 100644 --- a/v2/cards/nbn_controlling_the_message.json +++ b/v2/cards/nbn_controlling_the_message.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "nbn_controlling_the_message", "influence_limit": 12, diff --git a/v2/cards/nbn_making_news.json b/v2/cards/nbn_making_news.json index b73443cd0..fb50f05fb 100644 --- a/v2/cards/nbn_making_news.json +++ b/v2/cards/nbn_making_news.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "nbn_making_news", "influence_limit": 15, diff --git a/v2/cards/nbn_reality_plus.json b/v2/cards/nbn_reality_plus.json index 945ea2163..e7f498256 100644 --- a/v2/cards/nbn_reality_plus.json +++ b/v2/cards/nbn_reality_plus.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "null_signal_games", "faction_id": "nbn", "id": "nbn_reality_plus", "influence_limit": 15, diff --git a/v2/cards/nbn_the_world_is_yours.json b/v2/cards/nbn_the_world_is_yours.json index cbc80c9d8..f716cfb4f 100644 --- a/v2/cards/nbn_the_world_is_yours.json +++ b/v2/cards/nbn_the_world_is_yours.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "nbn_the_world_is_yours", "influence_limit": 12, diff --git a/v2/cards/near_earth_hub_broadcast_center.json b/v2/cards/near_earth_hub_broadcast_center.json index fb1447b38..fecda80b5 100644 --- a/v2/cards/near_earth_hub_broadcast_center.json +++ b/v2/cards/near_earth_hub_broadcast_center.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "near_earth_hub_broadcast_center", "influence_limit": 17, diff --git a/v2/cards/nebula.json b/v2/cards/nebula.json index 473f62fb2..5343919f2 100644 --- a/v2/cards/nebula.json +++ b/v2/cards/nebula.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 9, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "nebula", "influence_cost": 2, diff --git a/v2/cards/negotiator.json b/v2/cards/negotiator.json index 6bb9b046b..8d36d46dd 100644 --- a/v2/cards/negotiator.json +++ b/v2/cards/negotiator.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "negotiator", "influence_cost": 2, diff --git a/v2/cards/neotokyo_grid.json b/v2/cards/neotokyo_grid.json index ecd068d6f..1ea0533b5 100644 --- a/v2/cards/neotokyo_grid.json +++ b/v2/cards/neotokyo_grid.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "neotokyo_grid", "influence_cost": 2, diff --git a/v2/cards/nerine_2_0.json b/v2/cards/nerine_2_0.json index 1b614ca58..f8e238c4d 100644 --- a/v2/cards/nerine_2_0.json +++ b/v2/cards/nerine_2_0.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 6, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "nerine_2_0", "influence_cost": 3, diff --git a/v2/cards/nero_severn_information_broker.json b/v2/cards/nero_severn_information_broker.json index 1facf6afb..a1ccc7631 100644 --- a/v2/cards/nero_severn_information_broker.json +++ b/v2/cards/nero_severn_information_broker.json @@ -2,6 +2,7 @@ "base_link": 1, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "nero_severn_information_broker", "influence_limit": 15, diff --git a/v2/cards/nerve_agent.json b/v2/cards/nerve_agent.json index 259844a13..0607856a2 100644 --- a/v2/cards/nerve_agent.json +++ b/v2/cards/nerve_agent.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "nerve_agent", "influence_cost": 2, diff --git a/v2/cards/net_analytics.json b/v2/cards/net_analytics.json index 31f494e3c..02058ad6b 100644 --- a/v2/cards/net_analytics.json +++ b/v2/cards/net_analytics.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "net_analytics", "influence_cost": 1, diff --git a/v2/cards/net_celebrity.json b/v2/cards/net_celebrity.json index 140eec854..0c2e5cabe 100644 --- a/v2/cards/net_celebrity.json +++ b/v2/cards/net_celebrity.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "net_celebrity", "influence_cost": 1, diff --git a/v2/cards/net_mercur.json b/v2/cards/net_mercur.json index dc778a09b..e7f9e5ded 100644 --- a/v2/cards/net_mercur.json +++ b/v2/cards/net_mercur.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "net_mercur", "influence_cost": 3, diff --git a/v2/cards/net_police.json b/v2/cards/net_police.json index 530c92568..f2a781085 100644 --- a/v2/cards/net_police.json +++ b/v2/cards/net_police.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "net_police", "influence_cost": 2, diff --git a/v2/cards/net_quarantine.json b/v2/cards/net_quarantine.json index 820ec6a96..bc5ac293d 100644 --- a/v2/cards/net_quarantine.json +++ b/v2/cards/net_quarantine.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "net_quarantine", "is_unique": false, diff --git a/v2/cards/net_ready_eyes.json b/v2/cards/net_ready_eyes.json index 7d96afc19..914917919 100644 --- a/v2/cards/net_ready_eyes.json +++ b/v2/cards/net_ready_eyes.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "net_ready_eyes", "influence_cost": 2, diff --git a/v2/cards/net_shield.json b/v2/cards/net_shield.json index 118381a28..9ca47476d 100644 --- a/v2/cards/net_shield.json +++ b/v2/cards/net_shield.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "net_shield", "influence_cost": 1, diff --git a/v2/cards/net_watchlist.json b/v2/cards/net_watchlist.json index 44b578980..72973f4b3 100644 --- a/v2/cards/net_watchlist.json +++ b/v2/cards/net_watchlist.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "net_watchlist", "influence_cost": 0, diff --git a/v2/cards/netchip.json b/v2/cards/netchip.json index fd8293c86..4be6aabc9 100644 --- a/v2/cards/netchip.json +++ b/v2/cards/netchip.json @@ -2,6 +2,7 @@ "card_type_id": "hardware", "cost": 1, "deck_limit": 6, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "netchip", "influence_cost": 2, diff --git a/v2/cards/network_exchange.json b/v2/cards/network_exchange.json index d6c9a3c25..7ee105dca 100644 --- a/v2/cards/network_exchange.json +++ b/v2/cards/network_exchange.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "network_exchange", "influence_cost": 2, diff --git a/v2/cards/networking.json b/v2/cards/networking.json index 7e380591b..0780459de 100644 --- a/v2/cards/networking.json +++ b/v2/cards/networking.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "networking", "influence_cost": 1, diff --git a/v2/cards/neural_emp.json b/v2/cards/neural_emp.json index 5a3d57f3d..6db2e0ff1 100644 --- a/v2/cards/neural_emp.json +++ b/v2/cards/neural_emp.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "neural_emp", "influence_cost": 2, diff --git a/v2/cards/neural_katana.json b/v2/cards/neural_katana.json index c1848e44c..c204b958f 100644 --- a/v2/cards/neural_katana.json +++ b/v2/cards/neural_katana.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "neural_katana", "influence_cost": 2, diff --git a/v2/cards/neurospike.json b/v2/cards/neurospike.json index f490e189f..3dbc9b3bb 100644 --- a/v2/cards/neurospike.json +++ b/v2/cards/neurospike.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 3, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "jinteki", "id": "neurospike", "influence_cost": 3, diff --git a/v2/cards/neurostasis.json b/v2/cards/neurostasis.json index 1cba7e642..f71c44ab4 100644 --- a/v2/cards/neurostasis.json +++ b/v2/cards/neurostasis.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "neurostasis", "influence_cost": 2, diff --git a/v2/cards/neutralize_all_threats.json b/v2/cards/neutralize_all_threats.json index b98b5d821..f12f54bb9 100644 --- a/v2/cards/neutralize_all_threats.json +++ b/v2/cards/neutralize_all_threats.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "adam", "id": "neutralize_all_threats", "influence_cost": 3, diff --git a/v2/cards/new_angeles_city_hall.json b/v2/cards/new_angeles_city_hall.json index f9675f2ea..35e58fc7a 100644 --- a/v2/cards/new_angeles_city_hall.json +++ b/v2/cards/new_angeles_city_hall.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_runner", "id": "new_angeles_city_hall", "influence_cost": 0, diff --git a/v2/cards/new_angeles_sol_your_news.json b/v2/cards/new_angeles_sol_your_news.json index b39d3c01e..d846a6e29 100644 --- a/v2/cards/new_angeles_sol_your_news.json +++ b/v2/cards/new_angeles_sol_your_news.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "new_angeles_sol_your_news", "influence_limit": 15, diff --git a/v2/cards/new_construction.json b/v2/cards/new_construction.json index 9ccd891c1..0b06d1caa 100644 --- a/v2/cards/new_construction.json +++ b/v2/cards/new_construction.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "weyland_consortium", "id": "new_construction", "is_unique": false, diff --git a/v2/cards/news_hound.json b/v2/cards/news_hound.json index 3249a2a31..518631087 100644 --- a/v2/cards/news_hound.json +++ b/v2/cards/news_hound.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "news_hound", "influence_cost": 2, diff --git a/v2/cards/news_team.json b/v2/cards/news_team.json index b71bc597e..a8737dfbb 100644 --- a/v2/cards/news_team.json +++ b/v2/cards/news_team.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "nbn", "id": "news_team", "influence_cost": 2, diff --git a/v2/cards/next_activation_command.json b/v2/cards/next_activation_command.json index 5a4f86f25..b82d0d52b 100644 --- a/v2/cards/next_activation_command.json +++ b/v2/cards/next_activation_command.json @@ -2,15 +2,16 @@ "card_type_id": "operation", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "next_activation_command", "influence_cost": 3, "is_unique": false, "side_id": "corp", - "stripped_text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins. The Runner cannot use non-icebreaker cards to break subroutines. Each piece of ice has +2 strength.", + "stripped_text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins. Each piece of ice gets +2 strength. The Runner cannot use non-icebreaker cards to break subroutines.", "stripped_title": "NEXT Activation Command", "subtypes": ["lockdown"], - "text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins.\nThe Runner cannot use non-icebreaker cards to break subroutines. Each piece of ice has +2 strength.", + "text": "Play only if there is no active lockdown. This operation is not trashed until your next turn begins.\nEach piece of ice gets +2 strength.\nThe Runner cannot use non-icebreaker cards to break subroutines.", "title": "NEXT Activation Command", "trash_cost": 4 } diff --git a/v2/cards/next_bronze.json b/v2/cards/next_bronze.json index 1d2634abb..88341c229 100644 --- a/v2/cards/next_bronze.json +++ b/v2/cards/next_bronze.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "next_bronze", "influence_cost": 2, diff --git a/v2/cards/next_design_guarding_the_net.json b/v2/cards/next_design_guarding_the_net.json index bd845b57e..021703a9e 100644 --- a/v2/cards/next_design_guarding_the_net.json +++ b/v2/cards/next_design_guarding_the_net.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "next_design_guarding_the_net", "influence_limit": 12, diff --git a/v2/cards/next_diamond.json b/v2/cards/next_diamond.json index 5e3b791b9..997fe9c86 100644 --- a/v2/cards/next_diamond.json +++ b/v2/cards/next_diamond.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 10, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "next_diamond", "influence_cost": 4, diff --git a/v2/cards/next_gold.json b/v2/cards/next_gold.json index 9cbc51e04..37be42a25 100644 --- a/v2/cards/next_gold.json +++ b/v2/cards/next_gold.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 8, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "next_gold", "influence_cost": 3, diff --git a/v2/cards/next_opal.json b/v2/cards/next_opal.json index b8dbfca9d..d6c47bae1 100644 --- a/v2/cards/next_opal.json +++ b/v2/cards/next_opal.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "next_opal", "influence_cost": 1, diff --git a/v2/cards/next_sapphire.json b/v2/cards/next_sapphire.json index f5cdbc6f6..47045bb34 100644 --- a/v2/cards/next_sapphire.json +++ b/v2/cards/next_sapphire.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "next_sapphire", "influence_cost": 3, diff --git a/v2/cards/next_silver.json b/v2/cards/next_silver.json index daa8fb811..269ef9e89 100644 --- a/v2/cards/next_silver.json +++ b/v2/cards/next_silver.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "next_silver", "influence_cost": 2, diff --git a/v2/cards/next_wave_2.json b/v2/cards/next_wave_2.json index 1fd48f51e..9cb0eb05d 100644 --- a/v2/cards/next_wave_2.json +++ b/v2/cards/next_wave_2.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "next_wave_2", "is_unique": false, diff --git a/v2/cards/nfr.json b/v2/cards/nfr.json index 54260ca69..879efe45f 100644 --- a/v2/cards/nfr.json +++ b/v2/cards/nfr.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 3, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "nfr", "influence_cost": 3, diff --git a/v2/cards/nga.json b/v2/cards/nga.json index d1359ce06..79d2778c5 100644 --- a/v2/cards/nga.json +++ b/v2/cards/nga.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "nga", "influence_cost": 2, diff --git a/v2/cards/ngo_front.json b/v2/cards/ngo_front.json index 906017f98..364e13b66 100644 --- a/v2/cards/ngo_front.json +++ b/v2/cards/ngo_front.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "neutral_corp", "id": "ngo_front", "influence_cost": 0, diff --git a/v2/cards/nico_campaign.json b/v2/cards/nico_campaign.json index 51194f16f..19f2c672e 100644 --- a/v2/cards/nico_campaign.json +++ b/v2/cards/nico_campaign.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "nico_campaign", "influence_cost": 2, diff --git a/v2/cards/nightdancer.json b/v2/cards/nightdancer.json index 48d8f20f6..824bd2e4f 100644 --- a/v2/cards/nightdancer.json +++ b/v2/cards/nightdancer.json @@ -2,6 +2,7 @@ "card_type_id": "ice", "cost": 6, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "haas_bioroid", "id": "nightdancer", "influence_cost": 3, diff --git a/v2/cards/nightmare_archive.json b/v2/cards/nightmare_archive.json index ff9deedd0..58cd5f833 100644 --- a/v2/cards/nightmare_archive.json +++ b/v2/cards/nightmare_archive.json @@ -2,6 +2,7 @@ "card_type_id": "asset", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "haas_bioroid", "id": "nightmare_archive", "influence_cost": 4, diff --git a/v2/cards/nihongai_grid.json b/v2/cards/nihongai_grid.json index 1ff7a679f..263f238a8 100644 --- a/v2/cards/nihongai_grid.json +++ b/v2/cards/nihongai_grid.json @@ -2,6 +2,7 @@ "card_type_id": "upgrade", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "nihongai_grid", "influence_cost": 2, diff --git a/v2/cards/ninja.json b/v2/cards/ninja.json index 7842557a9..55e69f69b 100644 --- a/v2/cards/ninja.json +++ b/v2/cards/ninja.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 4, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "ninja", "influence_cost": 2, diff --git a/v2/cards/nisei_division_the_next_generation.json b/v2/cards/nisei_division_the_next_generation.json index 1041be879..f3bc7bdab 100644 --- a/v2/cards/nisei_division_the_next_generation.json +++ b/v2/cards/nisei_division_the_next_generation.json @@ -1,6 +1,7 @@ { "card_type_id": "corp_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "nisei_division_the_next_generation", "influence_limit": 15, diff --git a/v2/cards/nisei_mk_ii.json b/v2/cards/nisei_mk_ii.json index 6e0ccc866..50f7548b4 100644 --- a/v2/cards/nisei_mk_ii.json +++ b/v2/cards/nisei_mk_ii.json @@ -3,6 +3,7 @@ "agenda_points": 2, "card_type_id": "agenda", "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "jinteki", "id": "nisei_mk_ii", "is_unique": false, diff --git a/v2/cards/no_free_lunch.json b/v2/cards/no_free_lunch.json index e99d72f2b..601dba314 100644 --- a/v2/cards/no_free_lunch.json +++ b/v2/cards/no_free_lunch.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "criminal", "id": "no_free_lunch", "influence_cost": 1, diff --git a/v2/cards/no_one_home.json b/v2/cards/no_one_home.json index 4342496cd..4e385d2af 100644 --- a/v2/cards/no_one_home.json +++ b/v2/cards/no_one_home.json @@ -2,6 +2,7 @@ "card_type_id": "resource", "cost": 0, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "criminal", "id": "no_one_home", "influence_cost": 1, diff --git a/v2/cards/noise_hacker_extraordinaire.json b/v2/cards/noise_hacker_extraordinaire.json index f3c047b9b..65e3233af 100644 --- a/v2/cards/noise_hacker_extraordinaire.json +++ b/v2/cards/noise_hacker_extraordinaire.json @@ -2,6 +2,7 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "noise_hacker_extraordinaire", "influence_limit": 15, diff --git a/v2/cards/nonequivalent_exchange.json b/v2/cards/nonequivalent_exchange.json index f10fb96bf..aa590f3e4 100644 --- a/v2/cards/nonequivalent_exchange.json +++ b/v2/cards/nonequivalent_exchange.json @@ -2,6 +2,7 @@ "card_type_id": "operation", "cost": 2, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "nbn", "id": "nonequivalent_exchange", "influence_cost": 2, diff --git a/v2/cards/notoriety.json b/v2/cards/notoriety.json index 5fbcfc06f..9c2464a65 100644 --- a/v2/cards/notoriety.json +++ b/v2/cards/notoriety.json @@ -2,6 +2,7 @@ "card_type_id": "event", "cost": 1, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "notoriety", "influence_cost": 1, diff --git a/v2/cards/nova_initiumia_catalyst_impetus.json b/v2/cards/nova_initiumia_catalyst_impetus.json index 2900c4f4a..5f92aa5d4 100644 --- a/v2/cards/nova_initiumia_catalyst_impetus.json +++ b/v2/cards/nova_initiumia_catalyst_impetus.json @@ -2,6 +2,7 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "null_signal_games", "faction_id": "neutral_runner", "id": "nova_initiumia_catalyst_impetus", "influence_limit": null, diff --git a/v2/cards/null_whistleblower.json b/v2/cards/null_whistleblower.json index 6cdc36a01..a089517be 100644 --- a/v2/cards/null_whistleblower.json +++ b/v2/cards/null_whistleblower.json @@ -2,6 +2,7 @@ "base_link": 0, "card_type_id": "runner_identity", "deck_limit": 1, + "designed_by": "fantasy_flight_games", "faction_id": "anarch", "id": "null_whistleblower", "influence_limit": 15, diff --git a/v2/cards/num.json b/v2/cards/num.json index 8d080d931..b610c6249 100644 --- a/v2/cards/num.json +++ b/v2/cards/num.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 4, "deck_limit": 3, + "designed_by": "null_signal_games", "faction_id": "anarch", "id": "num", "influence_cost": 3, diff --git a/v2/cards/nyashia.json b/v2/cards/nyashia.json index b6c22ae7b..99bfc1b9c 100644 --- a/v2/cards/nyashia.json +++ b/v2/cards/nyashia.json @@ -2,6 +2,7 @@ "card_type_id": "program", "cost": 2, "deck_limit": 3, + "designed_by": "fantasy_flight_games", "faction_id": "shaper", "id": "nyashia", "influence_cost": 3,