diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 91747f6ce..b4ec3180e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,15 +7,16 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [12.x] + node-version: [17.x] steps: - uses: actions/checkout@v2 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }} - - run: yarn install + - name: Install dependencies + run: npm install - name: Validating JSON - run: yarn run validate:json + run: npm run validate:json - name: Running tests - run: yarn run validate:tests --ci + run: npm run validate:tests --ci diff --git a/.gitignore b/.gitignore index 12d70c6cb..ad46b3088 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,3 @@ -/scripts/ffgcards-de.json -/scripts/ffgcards-en.json -/scripts/ffgcards-es.json -/scripts/ffgcards-fr.json -/scripts/ffgmetadata-de.json -/scripts/ffgmetadata-en.json -/scripts/ffgmetadata-es.json -/scripts/ffgmetadata-fr.json - # Logs logs *.log diff --git a/.husky/.gitignore b/.husky/.gitignore deleted file mode 100644 index 31354ec13..000000000 --- a/.husky/.gitignore +++ /dev/null @@ -1 +0,0 @@ -_ diff --git a/.husky/pre-commit b/.husky/pre-commit deleted file mode 100644 index 36af21989..000000000 --- a/.husky/pre-commit +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -npx lint-staged diff --git a/README.md b/README.md index 0b9d0dd6e..d80e1e113 100644 --- a/README.md +++ b/README.md @@ -29,16 +29,8 @@ There are a few scripts that make it easier to work on the data. You can run these scripts using `npm` or `yarn`. For example: -- `npm run hyperspace` -- `yarn run hyperspace` - -### Scripts to update data - -| Script | Description | -| --------------------- | ------------------------------------------------------------------------------------------------------------------- | -| `yarn run hyperspace` | Syncs the `hyperspace` status of all cards with the FFG squadbuilder | -| `yarn run ffgscrape` | Syncs all data with the FFG squadbuilder (and alerts on missing cards) | -| `yarn run ffg2xws` | Generates the [`data/ffg-xws.json`](https://github.com/guidokessels/xwing-data2/blob/master/data/ffg-xws.json) file | +- `npm run format` +- `yarn run format` ### Scripts to work with the repository @@ -63,7 +55,6 @@ Before opening a pull request, see the following checklist: Go through these steps to create a new release: -1. Make sure to run `yarn run ffg2xws` to verify that `data/ffg-xws.json` has been updated 1. Bump the version number in `package.json` and `data/manifest.json` according to the [Versioning](#Versioning) rules listed below 1. Push the `package.json` and `data/manifest.json` changes to GitHub and/or merge them to the `master` branch 1. [Create a new release](https://github.com/guidokessels/xwing-data2/releases/new) on GitHub and use the following: diff --git a/data/actions/actions.json b/data/actions/actions.json index 276b0bffe..3601b2159 100644 --- a/data/actions/actions.json +++ b/data/actions/actions.json @@ -1,67 +1,54 @@ [ { "name": "Boost", - "xws": "boost", - "ffg": 1 + "xws": "boost" }, { "name": "Focus", - "xws": "focus", - "ffg": 2 + "xws": "focus" }, { "name": "Evade", - "xws": "evade", - "ffg": 3 + "xws": "evade" }, { "name": "Lock", - "xws": "lock", - "ffg": 4 + "xws": "lock" }, { "name": "Barrel Roll", - "xws": "barrelroll", - "ffg": 5 + "xws": "barrelroll" }, { "name": "Reinforce", - "xws": "reinforce", - "ffg": 6 + "xws": "reinforce" }, { "name": "Cloak", - "xws": "cloak", - "ffg": 7 + "xws": "cloak" }, { "name": "Coordinate", - "xws": "coordinate", - "ffg": 8 + "xws": "coordinate" }, { "name": "Calculate", - "xws": "calculate", - "ffg": 9 + "xws": "calculate" }, { "name": "Jam", - "xws": "jam", - "ffg": 10 + "xws": "jam" }, { "name": "Reload", - "xws": "reload", - "ffg": 12 + "xws": "reload" }, { "name": "Slam", - "xws": "slam", - "ffg": 13 + "xws": "slam" }, { "name": "Rotate Arc", - "xws": "rotatearc", - "ffg": 14 + "xws": "rotatearc" } ] diff --git a/data/conditions/conditions.json b/data/conditions/conditions.json index 9102d8f5b..f4c8666b6 100644 --- a/data/conditions/conditions.json +++ b/data/conditions/conditions.json @@ -1,64 +1,149 @@ [ + { + "name": "Liberated", + "limited": 1, + "ability": "While a friendly Tarfful at range 0-2 defends, after the Neutralize Results step, if there are 2 or more [Hit]/[Critical Hit] results, you may suffer 1 [Hit]/[Critical Hit] damage to cancel 1 matching result. After you are destroyed, you must choose another friendly Wookiee or non-limited ship and assign this condition to it, if able. Tarfful cannot be assigned this condition.", + "xws": "liberated-wat1", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/Condition/liberated-wat1.png" + }, { "name": "Hunted", + "limited": 1, "ability": "After you are destroyed, you must choose another friendly ship and assign this condition to it, if able.", - "xws": "hunted" + "xws": "hunted", + "image": "https://infinitearenas.com/xw2/images/conditions/hunted.png" }, { "name": "I'll Show You the Dark Side", + "limited": 1, "ability": "When this card is assigned, if there is no faceup damage card on it, the player who assigned it searches the damage deck for 1 Pilot damage card and places it faceup on this card. Then shuffle the damage deck. When you would suffer 1 [Critical Hit] damage, you are instead dealt the faceup damage card on this card. Then, remove this card.", "xws": "illshowyouthedarkside", - "image": "https://images-cdn.fantasyflightgames.com/filer_public/d1/43/d143413b-c3ee-4eca-b489-9ca1f463980a/swz18_ill-show-you_a3.png" + "image": "https://infinitearenas.com/xw2/images/conditions/illshowyouthedarkside.png" }, { "name": "Listening Device", + "limited": 1, "ability": "During the System Phase, if an enemy ship with the Informant upgrade is at range 0-2, flip your dial faceup.", - "xws": "listeningdevice" + "xws": "listeningdevice", + "image": "https://infinitearenas.com/xw2/images/conditions/listeningdevice.png" }, { "name": "Optimized Prototype", + "limited": 1, "ability": "While you perform a [Front Arc] primary attack against a ship locked by a friendly ship with the Director Krennic upgrade, you may spend 1 [Hit], [Critical Hit], or [Focus] result. If you do, choose one: the defender loses 1 shield, or the defender flips 1 of its facedown damage cards.", "xws": "optimizedprototype", - "image": "https://images-cdn.fantasyflightgames.com/filer_public/0d/94/0d94dd35-08eb-493c-b4bd-c077be0e2292/swx75_card2_optimized-prototype.png" + "image": "https://infinitearenas.com/xw2/images/conditions/optimizedprototype.png" }, { "name": "Rattled", + "limited": 1, "ability": "After a bomb or mine at range 0-1 detonates, suffer 1 [Critical Hit] damage. Then, remove this card. ACTION: If there are no bombs or mines at range 0-1, remove this card.", - "xws": "rattled" + "xws": "rattled", + "image": "https://infinitearenas.com/xw2/images/conditions/rattled.png" }, { "name": "Suppressive Fire", + "limited": 1, "ability": "While you perform an attack against a ship other than Captain Rex, roll 1 fewer attack die. After Captain Rex defends, remove this card. At the end of the Combat phase, if Captain Rex did not perform an attack this phase, remove this card. After Captain Rex is destroyed, remove this card.", - "xws": "suppressivefire" + "xws": "suppressivefire", + "image": "https://infinitearenas.com/xw2/images/conditions/suppressivefire.png" }, { "name": "Decoyed", + "limited": 1, "ability": "While you defend, each friendly Naboo Handmaiden in the attack arc may spend 1 evade token to change one of your results to an [Evade] result. If you are a Naboo Royal N-1 Starfighter, each friendly Naboo Handmaiden in the attack may spend 1 evade token to add 1 [Evade] result instead.", - "xws": "decoyed" + "xws": "decoyed", + "image": "https://infinitearenas.com/xw2/images/conditions/decoyed.png" }, { "name": "Compromising Intel", + "limited": 1, "ability": "During the System Phase, if the enemy Vi Moradi is at range 0-3, flip your dial faceup. While you defend or perform an attack against the enemy Vi Moradi, you cannot spend focus tokens.", - "xws": "compromisingintel" + "xws": "compromisingintel", + "image": "https://infinitearenas.com/xw2/images/conditions/compromisingintel.png" }, { "name": "It's the Resistance", + "limited": 1, "ability": "Setup: Start in reserve. When you deploy, you are placed within range 1 of any table edge and beyond range 3 of any enemy ship. At the start of the round, if all of the friendly GA-97's [Charge] are active, you must deploy. Then remove this card. After the friendly GA-97 is destroyed, you must deploy. Then gain 1 disarm token and remove this card.", - "xws": "itstheresistance" + "xws": "itstheresistance", + "image": "https://infinitearenas.com/xw2/images/conditions/itstheresistance.png" }, { "name": "Fearful Prey", + "limited": 1, "ability": "After you defend against an enemy Fearsome Predator, if you did not spend at least 1 green token during the attack, gain 1 strain token.", - "xws": "fearfulprey" + "xws": "fearfulprey", + "image": "https://infinitearenas.com/xw2/images/conditions/fearfulprey.png" }, { "name": "You'd Better Mean Business", + "limited": 1, "ability": "This condition is assigned facedown. Reveal it after you defend. After you defend, you may spend 2 [Charge] from Zam Wesell. If you do, perform a bonus attack against the attacker. At the end of the Engagement Phase, if this card is facedown and you are in an enemy ship's firing arc, you may reveal this card. If you do, Zam Wesell recovers 2 [Charge]. At the start of the System Phase, remove this condition.", - "xws": "youdbettermeanbusiness" + "xws": "youdbettermeanbusiness", + "image": "https://infinitearenas.com/xw2/images/conditions/youdbettermeanbusiness.png" }, { "name": "You Should Thank Me", + "limited": 1, "ability": "This condition is assigned facedown. Reveal it after you defend. After you defend, Zam Wesell recovers 1 [Charge]. Then, you may acquire a lock on the attacker. At the end of the Engagement Phase, if this card is facedown and you are in an enemy's firing arc, you may reveal this card and spend 2 [Charge] from Zam Wesell. If you do, you may perform a bonus attack. At the start of the System Phase, remove this condition.", - "xws": "youshouldthankme" + "xws": "youshouldthankme", + "image": "https://infinitearenas.com/xw2/images/conditions/youshouldthankme.png" + }, + { + "name": "False Friend", + "limited": 1, + "ability": "During the System Phase, if an enemy ship with the Tal Merrik upgrade is at range 0-2 or an enemy remote is at range 0-2, flip your dial faceup. Action: Gain 1 deplete token and 1 stress token to discard this condition.", + "xws": "falsefriend", + "image": "https://infinitearenas.com/xw2/images/conditions/falsefriend.png" + }, + { + "name": "Merciless Pursuit", + "limited": 2, + "ability": "After you perform an attack, if the defender is equipped with The Child, you may acquire a lock on the defender.", + "xws": "mercilesspursuit", + "image": "https://infinitearenas.com/xw2/images/conditions/mercilesspursuit.png" + }, + { + "name": "Marked for Elimination", + "limited": 1, + "ability": "While you defend, if the attacker is equipped with Tracking Fob and has a lock on you, you cannot spend green tokens.", + "xws": "markedforelimination", + "image": "https://infinitearenas.com/xw2/images/conditions/markedforelimination.png" + }, + { + "name": "Guarded", + "limited": 1, + "ability": "While you defend, if you are not in the attacker's [Bullseye Arc], roll 1 additional defense die for each friendly calculating or evading MagnaGuard Protector in the attack arc.", + "xws": "guarded", + "image": "https://infinitearenas.com/xw2/images/conditions/guarded.png" + }, + { + "name": "Trials of the Darksaber", + "limited": 1, + "ability": "While you perform an attack at attack range 0-2, you may spend 1 [Critical Hit] result. If you do, if the defending ship's player has more scored [Victory] than you, they lose 1 scored [Victory]. Place that [Victory] on this card. After you defend, if you are destroyed by an enemy ship at attack range 0-2, assign the Trials Of The Darksaber condition to the attacker (all [Victory] remain on this card). At the end of the game, this ship scores all [Victory] on this card.", + "xws": "trialsofthedarksaber", + "image": "https://infinitearenas.com/xw2/images/conditions/trialsofthedarksaber.png" + }, + { + "name": "Primed for Speed", + "limited": 3, + "ability": "Add a white [SLAM] action to your action bar. After you perform a [SLAM] action, you must suffer 1 [Hit] damage to remove 1 disarm token.", + "xws": "primedforspeed", + "image": "https://infinitearenas.com/xw2/images/conditions/primedforspeed.png" + }, + { + "name": "Broken Trust", + "limited": 1, + "ability": "Treat friendly ships as allied. Non-enemy ships treat you as allied. While performing an attack, before declaring the defender, each allied ship in the attack arc that is not stressed gains 1 stress token. After you defend or perform an attack, if the defender was dealt at least 1 faceup damage card, or was destroyed, remove this condition.", + "xws": "brokentrust", + "image": "https://infinitearenas.com/xw2/images/conditions/brokentrust.png" + }, + { + "name": "Sickening Maneuver", + "limited": 1, + "ability": "You can execute red maneuvers even while stressed. After you reveal a bank [[Bank Left] or [Bank Right]] or turn [[Turn Left] or [Turn Right]] maneuver, you must gain 1 strain and execute the maneuver as a slideslip. After you reveal a straight [[Straight]] maneuver, you must execute that maneuver as a red koiogran turn [[Koiogran Turn]]. After you execute a maneuver, remove this condition.", + "xws": "sickeningmaneuver", + "image": "https://infinitearenas.com/xw2/images/conditions/sickeningmaneuver.png" } ] diff --git a/data/factions/factions.json b/data/factions/factions.json index cce3f8cc2..abd93427c 100644 --- a/data/factions/factions.json +++ b/data/factions/factions.json @@ -2,43 +2,36 @@ { "name": "Rebel Alliance", "xws": "rebelalliance", - "ffg": 1, - "icon": "https://sb-cdn.fantasyflightgames.com/factions/Rebel.png" + "icon": "https://infinitearenas.com/xw2/images/artwork/faction-icons/Rebel.png" }, { "name": "Galactic Empire", "xws": "galacticempire", - "ffg": 2, - "icon": "https://sb-cdn.fantasyflightgames.com/factions/Imperial.png" + "icon": "https://infinitearenas.com/xw2/images/artwork/faction-icons/Imperial.png" }, { "name": "Scum and Villainy", "xws": "scumandvillainy", - "ffg": 3, - "icon": "https://sb-cdn.fantasyflightgames.com/factions/Scum.png" + "icon": "https://infinitearenas.com/xw2/images/artwork/faction-icons/Scum.png" }, { "name": "Resistance", "xws": "resistance", - "ffg": 4, - "icon": "https://sb-cdn.fantasyflightgames.com/factions/ResistanceIcon.png" + "icon": "https://infinitearenas.com/xw2/images/artwork/faction-icons/ResistanceIcon.png" }, { "name": "First Order", "xws": "firstorder", - "ffg": 5, - "icon": "https://sb-cdn.fantasyflightgames.com/factions/FirstOrderIcon.png" + "icon": "https://infinitearenas.com/xw2/images/artwork/faction-icons/FirstOrderIcon.png" }, { "name": "Galactic Republic", "xws": "galacticrepublic", - "ffg": 6, - "icon": "https://sb-cdn.fantasyflightgames.com/factions/RepublicIcon.png" + "icon": "https://infinitearenas.com/xw2/images/artwork/faction-icons/RepublicIcon.png" }, { "name": "Separatist Alliance", "xws": "separatistalliance", - "ffg": 7, - "icon": "https://sb-cdn.fantasyflightgames.com/factions/SeparatistIcon.png" + "icon": "https://infinitearenas.com/xw2/images/artwork/faction-icons/SeparatistIcon.png" } ] diff --git a/data/ffg-xws.json b/data/ffg-xws.json deleted file mode 100644 index 9c0214be9..000000000 --- a/data/ffg-xws.json +++ /dev/null @@ -1,1038 +0,0 @@ -{ - "pilots": { - "1": "wedgeantilles", - "2": "lukeskywalker", - "3": "thanekyrell", - "4": "garvendreis-t65xwing", - "5": "jekporkins", - "6": "kullbeesperado", - "7": "biggsdarklighter", - "8": "leevantenza", - "9": "edriotwotubes", - "10": "redsquadronveteran", - "11": "bluesquadronescort", - "12": "cavernangelszealot", - "13": "norrawexley-btla4ywing", - "14": "dutchvander", - "15": "hortonsalm", - "16": "evaanverlaine", - "17": "goldsquadronveteran", - "18": "graysquadronbomber", - "19": "jakefarrell", - "20": "arvelcrynyd", - "21": "greensquadronpilot", - "22": "phoenixsquadronpilot", - "23": "braylenstramm", - "24": "tennumb", - "25": "bladesquadronveteran", - "26": "bluesquadronpilot", - "27": "airencracken", - "28": "lieutenantblount", - "29": "talasquadronpilot", - "30": "banditsquadronpilot", - "31": "wullffwarro", - "32": "lowhhrick", - "33": "kashyyykdefender", - "34": "herasyndulla", - "35": "sabinewren", - "36": "ezrabridger", - "37": "zeborrelios", - "38": "fennrau-sheathipedeclassshuttle", - "39": "ezrabridger-sheathipedeclassshuttle", - "40": "zeborrelios-sheathipedeclassshuttle", - "41": "ap5", - "42": "janors", - "43": "kylekatarn", - "44": "roarkgarnet", - "45": "rebelscout", - "46": "ezrabridger-tielnfighter", - "47": "sabinewren-tielnfighter", - "48": "captainrex", - "49": "zeborrelios-tielnfighter", - "50": "corranhorn", - "51": "gavindarklighter", - "52": "roguesquadronescort", - "53": "knavesquadronescort", - "54": "bodhirook", - "55": "sawgerrera", - "56": "cassianandor", - "57": "magvayarro", - "58": "benthictwotubes", - "59": "hefftobber", - "60": "bluesquadronscout", - "61": "partisanrenegade", - "62": "mirandadoni", - "63": "esegetuketu", - "64": "wardensquadronpilot", - "65": "norrawexley", - "66": "garvendreis", - "67": "sharabey", - "68": "ibtisam", - "69": "hansolo-modifiedyt1300lightfreighter", - "70": "landocalrissian-modifiedyt1300lightfreighter", - "71": "chewbacca", - "72": "outerrimsmuggler", - "73": "herasyndulla-vcx100lightfreighter", - "74": "kananjarrus", - "75": "chopper", - "76": "lothalrebel", - "77": "dashrendar", - "78": "leebo", - "79": "wildspacefringer", - "80": "maulermithel", - "81": "howlrunner", - "82": "scourgeskutu", - "83": "idenversio", - "84": "gideonhask", - "85": "delmeeko", - "86": "seynmarana", - "87": "valenrudor", - "88": "nightbeast", - "89": "wampa", - "90": "blacksquadronace", - "91": "obsidiansquadronpilot", - "92": "academypilot", - "93": "darthvader", - "94": "maarekstele", - "95": "vedfoslo", - "96": "zertikstrom", - "97": "stormsquadronace", - "98": "tempestsquadronpilot", - "99": "grandinquisitor", - "100": "seventhsister", - "101": "baronoftheempire", - "102": "inquisitor", - "103": "soontirfel", - "104": "turrphennir", - "105": "sabersquadronace", - "106": "alphasquadronpilot", - "107": "tomaxbren", - "108": "captainjonus", - "109": "majorrhymer", - "110": "deathfire", - "111": "gammasquadronace", - "112": "scimitarsquadronpilot", - "113": "majorvermeil", - "114": "captainferoph", - "115": "vizier", - "116": "scarifbasepilot", - "117": "duchess", - "118": "countdown", - "119": "puresabacc", - "120": "blacksquadronscout", - "121": "planetarysentinel", - "122": "rexlerbrath", - "123": "colonelvessery", - "124": "countessryad", - "125": "onyxsquadronace", - "126": "deltasquadronpilot", - "127": "lieutenantkestal", - "128": "doubleedge", - "129": "onyxsquadronscout", - "130": "sienarspecialist", - "131": "whisper", - "132": "echo", - "133": "sigmasquadronace", - "134": "imdaartestpilot", - "135": "majorvynder", - "136": "lieutenantkarsabi", - "137": "rhosquadronpilot", - "138": "nusquadronpilot", - "139": "redline", - "140": "deathrain", - "141": "cutlasssquadronpilot", - "142": "captainkagi", - "143": "coloneljendon", - "144": "lieutenantsai", - "145": "omicrongrouppilot", - "146": "captainoicunn", - "147": "rearadmiralchiraneau", - "148": "patrolleader", - "149": "bobafett", - "150": "emonazzameen", - "151": "kathscarlet", - "152": "koshkafrost", - "153": "krassistrelix", - "154": "bountyhunter", - "155": "fennrau", - "156": "oldteroch", - "157": "joyrekkoff", - "158": "kadsolus", - "159": "skullsquadronpilot", - "160": "zealousrecruit", - "161": "constablezuvio", - "162": "sarcoplank", - "163": "unkarplutt", - "164": "jakkugunrunner", - "165": "kavil", - "166": "drearenthal", - "167": "hiredgun", - "168": "crymorahgoon", - "169": "ndrusuhlak", - "170": "kaatoleeachos", - "171": "nashtahpup", - "172": "blacksunsoldier", - "173": "binayrepirate", - "174": "dacebonearm", - "175": "palobgodalhi", - "176": "torkilmux", - "177": "spicerunner", - "178": "guri", - "179": "dalanoberos-starviperclassattackplatform", - "180": "princexizor", - "181": "blacksunassassin", - "182": "blacksunenforcer", - "183": "serissu", - "184": "genesisred", - "185": "laetinashera", - "186": "quinnjast", - "187": "inaldra", - "188": "sunnybounder", - "189": "tansariipointveteran", - "190": "cartelspacer", - "191": "talonbanecobra", - "192": "graz", - "193": "viktorhel", - "194": "captainjostero", - "195": "blacksunace", - "196": "cartelmarauder", - "197": "ig88a", - "198": "ig88b", - "199": "ig88c", - "200": "ig88d", - "201": "4lom", - "202": "zuckuss", - "203": "gandfindsman", - "204": "captainnym", - "205": "solsixxa", - "206": "lokrevenant", - "207": "toranikulda", - "208": "dalanoberos", - "209": "cartelexecutioner", - "210": "bossk", - "211": "moraloeval", - "212": "lattsrazzi", - "213": "trandoshanslaver", - "214": "dengar", - "215": "manaroo", - "216": "teltrevura", - "217": "contractedscout", - "218": "ketsuonyo", - "219": "asajjventress", - "220": "sabinewren-lancerclasspursuitcraft", - "221": "shadowporthunter", - "222": "hansolo", - "223": "landocalrissian", - "224": "l337", - "225": "freightercaptain", - "226": "landocalrissian-escapecraft", - "227": "outerrimpioneer", - "228": "l337-escapecraft", - "229": "autopilotdrone", - "397": "midnight", - "398": "scorch", - "399": "static", - "400": "longshot", - "401": "muse", - "402": "null", - "403": "omegasquadronace", - "404": "zetasquadronpilot", - "405": "epsilonsquadroncadet", - "406": "quickdraw", - "407": "backdraft", - "408": "omegasquadronexpert", - "409": "zetasquadronsurvivor", - "410": "majorstridan", - "411": "lieutenanttavson", - "412": "lieutenantdormitz", - "413": "starkillerbasepilot", - "414": "kyloren", - "415": "blackout", - "416": "firstordertestpilot", - "417": "sienarjaemusengineer", - "418": "poedameron", - "419": "elloasty", - "420": "niennunb", - "421": "karekun", - "422": "temminwexley", - "423": "jessikapava", - "424": "jophseastriker", - "425": "redsquadronexpert", - "426": "bluesquadronrookie", - "427": "hansolo-scavengedyt1300", - "428": "rey", - "429": "chewbacca-scavengedyt1300", - "430": "resistancesympathizer", - "431": "finchdallow", - "432": "benteene", - "433": "cat", - "434": "cobaltsquadronbomber", - "435": "lulolampar", - "436": "tallissanlintra", - "437": "greersonnel", - "438": "zaribangel", - "439": "greensquadronexpert", - "440": "bluesquadronrecruit", - "441": "foremanproach", - "442": "ahhav", - "443": "captainseevor", - "444": "overseeryushyn", - "445": "miningguildsurveyor", - "446": "miningguildsentry", - "447": "edonkappehl", - "448": "vennie", - "449": "lieutenantbastian", - "450": "jaycristubbs", - "451": "blacksquadronace-t70xwing", - "452": "commandermalarus", - "453": "tn3465", - "454": "lieutenantrivas", - "455": "recoil", - "456": "avenger", - "457": "captaincardinal", - "458": "pettyofficerthanisson", - "492": "generalgrievous", - "493": "wattambor", - "494": "captainsear", - "495": "skakoanace", - "496": "feethanottrawautopilot", - "497": "separatistdrone", - "498": "tradefederationdrone", - "499": "dfs081", - "500": "precisehunter", - "501": "dfs311", - "502": "haorchallprototype", - "503": "darthmaul", - "504": "countdooku", - "505": "066", - "506": "darkcourier", - "507": "anakinskywalker", - "508": "luminaraunduli", - "509": "barrissoffee", - "510": "ahsokatano", - "511": "obiwankenobi", - "512": "macewindu", - "513": "plokoon", - "514": "saeseetiin", - "515": "jediknight", - "516": "oddball", - "517": "kickback", - "518": "axe", - "519": "swoop", - "520": "tucker", - "521": "bluesquadronprotector", - "522": "goldsquadrontrooper", - "523": "oddball-arc170starfighter", - "524": "wolffe", - "525": "jag", - "526": "sinker", - "527": "squadsevenveteran", - "528": "104thbattalionpilot", - "557": "ricolie", - "558": "anakinskywalker-nabooroyaln1starfighter", - "559": "padmeamidala", - "560": "dineeellberger", - "561": "naboohandmaiden", - "562": "bravoflightofficer", - "563": "dbs404", - "564": "dbs32c", - "565": "bombardmentdrone", - "566": "baktoidprototype", - "567": "separatistbomber", - "568": "technounionbomber", - "569": "covanell", - "570": "pammichnerrogoode", - "571": "nodinchavdri", - "572": "logisticsdivisionpilot", - "573": "bb8", - "574": "rosetico", - "575": "finn", - "576": "vimoradi", - "596": "anakinskywalker-btlbywing", - "597": "oddball-btlbywing", - "598": "matchstick", - "599": "broadside", - "600": "r2d2", - "601": "goji", - "602": "shadowsquadronveteran", - "603": "redsquadronbomber", - "604": "sunfac", - "605": "berwerkret", - "606": "chertek", - "607": "gorgol", - "608": "petranakiarenaace", - "609": "stalgasinhiveguard", - "620": "jarekyeager", - "621": "kazudaxiono", - "622": "r1j5", - "623": "colossusstationmechanic", - "624": "majorvonreg", - "625": "holo", - "626": "ember", - "627": "firstorderprovocateur", - "628": "ginamoonsong", - "629": "k2so", - "630": "leiaorgana", - "631": "alexsandrkallus", - "632": "fifthbrother", - "633": "vagabond", - "634": "mornakee", - "635": "bossk-z95af4headhunter", - "636": "g4rgorvm", - "637": "nomlumb", - "638": "zizitlo", - "639": "ronithblario", - "640": "paigetico", - "641": "lieutenantlehuse", - "642": "captainphasma", - "643": "rush", - "656": "commandermalarus-xiclasslightshuttle", - "657": "gideonhask-xiclasslightshuttle", - "658": "agentterex", - "659": "firstordercourier", - "660": "hawk", - "661": "warthog", - "662": "hound", - "663": "212thbattalionpilot", - "664": "dgs286", - "665": "onderonoppressor", - "666": "dgs047", - "667": "separatistpredator", - "668": "geonosianprototype", - "669": "baktoiddrone", - "693": "rampage", - "694": "lyttandree", - "695": "onyxsquadronsentry", - "696": "caridaacademycadet", - "697": "poedameron-swz68", - "698": "temminwexley-swz68", - "699": "caithrenalli", - "700": "nimichireen", - "701": "seftinvanik", - "702": "wrobietyce", - "703": "suralindajavos", - "704": "merlcobben", - "705": "republicjudiciary", - "706": "alderaanianguard", - "707": "outerrimpatrol", - "708": "firstordercollaborators", - "709": "echobaseevacuees", - "710": "newrepublicvolunteers", - "711": "outerrimgarrison", - "712": "firstordersympathizers", - "713": "syndicatesmugglers", - "714": "separatistprivateers", - "781": "anakinskywalker-eta2actis", - "782": "obiwankenobi-eta2actis", - "783": "aaylasecura", - "784": "shaakti", - "785": "yoda", - "786": "jedigeneral", - "788": "oddball-nimbusclassvwing", - "789": "contrail", - "790": "klick", - "791": "wilhufftarkin", - "792": "shadowsquadronescort", - "793": "loyalistvolunteer", - "794": "dist81", - "795": "dis347", - "796": "phlacarphoccprototype", - "797": "fearsomepredator", - "798": "separatistinterceptor", - "799": "colicoidinterceptor", - "800": "jangofett", - "801": "zamwesell", - "802": "bobafett-separatistalliance", - "803": "separatistracketeer", - "878": "herasyndulla-asf01bwing", - "879": "netrempollard", - "880": "herasyndulla-rz1awing", - "881": "ahsokatano-rz1awing", - "882": "sharabey-rz1awing", - "883": "wedgeantilles-rz1awing", - "884": "derekklivian", - "885": "sabinewren-rz1awing", - "886": "darthvader-tieddefender", - "887": "vultskerris", - "888": "captaindobbs", - "889": "cienaree", - "890": "vultskerris-tieininterceptor", - "891": "commandantgoran", - "892": "gideonhask-tieininterceptor", - "893": "lieutenantlorrir", - "894": "nashwindrider", - "895": "tapusk", - "896": "gamutkey", - "897": "kananjarrus-hwk290lightfreighter", - "898": "leemakai", - "899": "arlizhadrassian", - "900": "padric", - "901": "amaxinewarrior", - "902": "jinatasecurityofficer", - "903": "zoriibliss", - "904": "tezanasz", - "905": "wilsateshlo", - "906": "shasazaro", - "907": "legafossang", - "908": "aftabackbar", - "909": "coruskapellim", - "910": "caithrenalli-btanr2ywing", - "911": "newrepublicpatrol", - "912": "kijimispicerunner", - "913": "breach", - "914": "scorch-tiesebomber", - "915": "dread", - "916": "grudge", - "917": "firstordercadet", - "918": "sienarjaemustestpilot", - "919": "kyloren-tiewiwhispermodifiedinterceptor", - "920": "wrath", - "921": "nightfall", - "922": "whirlwind", - "923": "709thlegionace", - "924": "redfuryzealot" - }, - "upgrades": { - "230": "crackshot", - "231": "daredevil", - "232": "debrisgambit", - "233": "elusive", - "234": "experthandling", - "235": "fearless", - "236": "intimidation", - "237": "juke", - "238": "lonewolf", - "239": "marksmanship", - "240": "outmaneuver", - "241": "predator", - "242": "ruthless", - "243": "saturationsalvo", - "244": "selfless", - "245": "squadleader", - "246": "swarmtactics", - "247": "trickshot", - "248": "heightenedperception", - "249": "instinctiveaim", - "250": "sense", - "251": "supernaturalreflexes", - "252": "advancedsensors", - "253": "collisiondetector", - "254": "firecontrolsystem", - "255": "trajectorysimulator", - "256": "heavylasercannon", - "257": "ioncannon", - "258": "jammingbeam", - "259": "tractorbeam", - "260": "dorsalturret", - "261": "ioncannonturret", - "262": "advprotontorpedoes", - "263": "iontorpedoes", - "264": "protontorpedoes", - "265": "barragerockets", - "266": "clustermissiles", - "267": "concussionmissiles", - "268": "homingmissiles", - "269": "ionmissiles", - "270": "protonrockets", - "271": "freelanceslicer", - "272": "gnkgonkdroid", - "273": "informant", - "274": "novicetechnician", - "275": "perceptivecopilot", - "276": "seasonednavigator", - "277": "tacticalofficer", - "278": "hotshotgunner", - "279": "skilledbombardier", - "280": "veterantailgunner", - "281": "veteranturretgunner", - "282": "r2astromech", - "283": "r3astromech", - "284": "r4astromech", - "285": "r5astromech", - "286": "cloakingdevice", - "287": "contrabandcybernetics", - "288": "deadmansswitch", - "289": "feedbackarray", - "290": "inertialdampeners", - "291": "riggedcargochute", - "292": "ablativeplating", - "293": "advancedslam", - "294": "afterburners", - "295": "electronicbaffle", - "296": "engineupgrade", - "297": "hullupgrade", - "298": "munitionsfailsafe", - "299": "shieldupgrade", - "300": "staticdischargevanes", - "301": "stealthdevice", - "302": "tacticalscrambler", - "303": "bazemalbus", - "304": "c3po", - "305": "cassianandor", - "306": "chewbacca", - "307": "chopper-crew", - "308": "herasyndulla", - "309": "jynerso", - "310": "kananjarrus", - "311": "landocalrissian", - "312": "leiaorgana", - "313": "magvayarro", - "314": "niennunb", - "315": "r2d2-crew", - "316": "sabinewren", - "317": "sawgerrera", - "318": "zeborrelios", - "319": "bistan", - "320": "ezrabridger", - "321": "hansolo", - "322": "lukeskywalker", - "323": "chopper", - "324": "r2d2", - "325": "r5d8", - "326": "ghost", - "327": "millenniumfalcon", - "328": "moldycrow", - "329": "outrider", - "330": "phantom", - "331": "pivotwing", - "332": "pivotwing", - "333": "servomotorsfoils", - "334": "servomotorsfoils", - "335": "admiralsloane", - "336": "agentkallus", - "337": "cienaree", - "338": "darthvader", - "339": "deathtroopers", - "340": "directorkrennic", - "341": "emperorpalpatine", - "342": "grandinquisitor", - "343": "grandmofftarkin", - "344": "isbslicer", - "345": "ministertua", - "346": "moffjerjerrod", - "347": "seventhsister", - "348": "fifthbrother", - "349": "dauntless", - "350": "os1arsenalloadout", - "351": "xg1assaultconfiguration", - "352": "000", - "353": "4lom", - "354": "bobafett", - "355": "cadbane", - "356": "cikatrovizago", - "357": "ig88d", - "358": "jabbathehutt", - "359": "ketsuonyo", - "360": "lattsrazzi", - "361": "maul", - "362": "unkarplutt", - "363": "zuckuss", - "364": "bossk", - "365": "bt1", - "366": "dengar", - "367": "greedo", - "368": "genius", - "369": "r5p8", - "370": "r5tk", - "371": "andrasta", - "372": "havoc", - "373": "houndstooth", - "374": "ig2000", - "375": "marauder", - "376": "misthunter", - "377": "punishingone", - "378": "shadowcaster", - "379": "slavei", - "380": "virago", - "381": "composure", - "382": "chewbacca-crew", - "383": "l337", - "384": "l337", - "385": "landocalrissian-crew", - "386": "tobiasbeckett", - "387": "qira", - "388": "agilegunner", - "389": "hansolo-gunner", - "390": "landosmillenniumfalcon", - "391": "st321", - "392": "bombletgenerator", - "393": "connernets", - "394": "protonbombs", - "395": "proximitymines", - "396": "seismiccharges", - "459": "fanatical", - "460": "advancedoptics", - "461": "hyperspacetrackingdata", - "462": "patternanalyzer", - "463": "primedthrusters", - "464": "targetingsynchronizer", - "465": "captainphasma", - "466": "generalhux", - "467": "kyloren", - "468": "pettyofficerthanisson", - "469": "supremeleadersnoke", - "470": "specialforcesgunner", - "471": "heroic", - "472": "c3po-crew", - "473": "chewbacca-crew-swz19", - "474": "hansolo-crew", - "475": "rosetico", - "476": "finn", - "477": "paigetico", - "478": "rey-gunner", - "479": "bb8", - "480": "bbastromech", - "481": "m9g8", - "482": "r2ha", - "483": "r5x3", - "484": "blackone", - "485": "reysmillenniumfalcon", - "486": "integratedsfoils", - "487": "integratedsfoils", - "488": "ferrospherepaint", - "489": "hate", - "490": "predictiveshot", - "491": "biohexacryptcodes", - "529": "treacherous", - "530": "tv94", - "531": "kraken", - "532": "energyshellcharges", - "533": "soullessone", - "534": "imperviumplating", - "535": "grapplingstruts", - "536": "brilliantevasion", - "537": "k2b4", - "538": "chancellorpalpatine", - "539": "countdooku", - "540": "generalgrievous", - "541": "drk1probedroids", - "542": "scimitar", - "543": "discordmissiles", - "544": "dedicated", - "545": "battlemeditation", - "546": "r4pastromech", - "547": "r4p17", - "548": "delta7b", - "549": "calibratedlasertargeting", - "550": "sparepartscanisters", - "551": "r4p44", - "552": "clonecommandercody", - "553": "seventhfleetgunner", - "554": "synchronizedconsole", - "555": "grapplingstruts", - "556": "chancellorpalpatine", - "577": "passivesensors", - "578": "autoblasters", - "579": "plasmatorpedoes", - "580": "diamondboronmissiles", - "581": "amilynholdo", - "582": "ga97", - "583": "kaydelconnix", - "584": "korrsella", - "585": "larmadacy", - "586": "leiaorgana-resistance", - "587": "pz4co", - "588": "r2a6", - "589": "r2c4", - "590": "ta175", - "591": "electroprotonbomb", - "592": "delayedfuses", - "593": "angleddeflectors", - "594": "landingstruts", - "595": "landingstruts", - "610": "ensnare", - "611": "graviticdeflection", - "612": "snapshot", - "613": "foresight", - "614": "precognitivereflexes", - "615": "ahsokatano", - "616": "c3po-republic", - "617": "c110p", - "618": "c110p", - "619": "targetingcomputer", - "644": "r1j5", - "645": "stabilizedsfoils", - "646": "stabilizedsfoils", - "647": "k2so", - "648": "clustermines", - "649": "ionbombs", - "650": "coaxiumhyperfuel", - "651": "magpulsewarheads", - "652": "proudtradition", - "653": "proudtradition", - "654": "deuteriumpowercells", - "655": "kazsfireball", - "670": "deadeyeshot", - "671": "automatedtargetpriority", - "672": "sensorbuoysuite", - "673": "multimissilepods", - "674": "syncedlasercannons", - "675": "aaylasecura", - "676": "kitfisto", - "677": "plokoon", - "678": "yoda", - "679": "fives", - "680": "wolfpack", - "681": "ghostcompany", - "682": "kalani", - "683": "commandermalarus", - "684": "commandermalarus", - "685": "agentterex", - "686": "agentterex", - "687": "commanderpyre", - "688": "clonecaptainrex", - "689": "suppressivegunner", - "690": "concussionbombs", - "691": "repulsorliftstabilizers", - "692": "repulsorliftstabilizers", - "715": "backwardstailslide", - "716": "starbirdslash", - "717": "ionlimiteroverride", - "718": "underslungblastercannon", - "719": "r6d8", - "720": "r2d2-resistance", - "721": "overdrivethruster", - "722": "maneuverassistmgk300", - "723": "targetassistmgk300", - "724": "admiralozzel", - "725": "azmorigan", - "726": "captainneeda", - "727": "strategiccommander", - "728": "carlistrieekan", - "729": "jandodonna", - "730": "raymusantilles", - "731": "stalwartcaptain", - "732": "agentoftheempire", - "733": "firstorderelite", - "734": "veteranwingleader", - "735": "dreadnoughthunter", - "736": "ioncannonbattery", - "737": "ioncannonbattery", - "738": "targetingbattery", - "739": "targetingbattery", - "740": "ordnancetubes", - "741": "ordnancetubes", - "742": "pointdefensebattery", - "743": "pointdefensebattery", - "744": "turbolaserbattery", - "745": "turbolaserbattery", - "746": "bombardmentspecialists", - "747": "commsteam", - "748": "igrmdroids", - "749": "gunneryspecialists", - "750": "damagecontrolteam", - "751": "ordnanceteam", - "752": "sensorexperts", - "753": "quickreleaselocks", - "754": "saboteursmap", - "755": "scannerbaffler", - "756": "adaptiveshields", - "757": "boostedscanners", - "758": "optimizedpowercore", - "759": "tibannareserves", - "760": "torynfarr", - "761": "dodonnaspride", - "762": "jainaslight", - "763": "liberator", - "764": "tantiveiv", - "765": "thunderstrike", - "766": "brighthope", - "767": "luminous", - "768": "quantumstorm", - "769": "assailer", - "770": "corvus", - "771": "impetuous", - "772": "instigator", - "773": "bloodcrow", - "774": "requiem", - "775": "suppressor", - "776": "vector", - "777": "brokenhorn", - "778": "merchantone", - "779": "insatiableworrt", - "780": "corsairrefit", - "834": "jedicommander", - "835": "jedicommander", - "846": "margsablclosure", - "848": "extrememaneuvers", - "849": "patience", - "851": "xx23sthreadtracers", - "853": "hondoohnaka", - "854": "jangofett", - "856": "zamwesell", - "857": "bobafett-gunner", - "859": "weaponssystemsofficer", - "860": "r2d2-republic", - "862": "r7a7", - "863": "q7astromech", - "864": "thermaldetonators", - "866": "independentcalculations", - "867": "precisionionengines", - "869": "slavei-swz82", - "870": "alpha3bbesh", - "871": "alpha3eesk", - "872": "interceptbooster", - "873": "interceptbooster", - "877": "falsetranspondercodes", - "903": "b6bladewingprototype-command", - "904": "bounty", - "905": "bounty", - "906": "initforthemoneyrebellion", - "907": "initforthemoneyrebellion", - "908": "phoenixsquadron", - "909": "phoenixsquadron", - "910": "shadowwing", - "911": "shadowwing", - "912": "skystrikeacademyclass", - "913": "skystrikeacademyclass", - "914": "cutthroat", - "915": "disciplined", - "916": "hopeful", - "917": "interloperturn", - "918": "tierfonbellyrun", - "919": "gamutkey", - "920": "protectorategleb", - "921": "sabinewren-gunner", - "922": "r4b11", - "923": "b6bladewingprototype", - "924": "sensitivecontrols", - "925": "tiedefenderelite", - "926": "vectoredcannonsrz1", - "927": "l4er5", - "928": "watchfulastromech", - "929": "wartimeloadout", - "930": "babufrik", - "931": "overtunedmodulators", - "932": "electrochaffmissiles", - "933": "enhancedjammingsuite", - "934": "compassion", - "935": "malice", - "936": "shatteringshot", - "937": "firstorderordnancetech", - "938": "feedbackping", - "939": "sensorscramblers", - "940": "dt798" - }, - "factions": { - "1": "rebelalliance", - "2": "galacticempire", - "3": "scumandvillainy", - "4": "resistance", - "5": "firstorder", - "6": "galacticrepublic", - "7": "separatistalliance" - }, - "ships": { - "1": "modifiedyt1300lightfreighter", - "3": "starviperclassattackplatform", - "4": "scurrgh6bomber", - "5": "yt2400lightfreighter", - "6": "auzituckgunship", - "7": "kihraxzfighter", - "8": "sheathipedeclassshuttle", - "9": "quadrijettransferspacetug", - "10": "firesprayclasspatrolcraft", - "11": "tielnfighter", - "12": "btla4ywing", - "13": "tieadvancedx1", - "14": "alphaclassstarwing", - "15": "ut60duwing", - "16": "tieskstriker", - "17": "asf01bwing", - "18": "tieddefender", - "19": "tiesabomber", - "20": "tiecapunisher", - "21": "aggressorassaultfighter", - "22": "g1astarfighter", - "23": "vcx100lightfreighter", - "24": "yv666lightfreighter", - "25": "tieadvancedv1", - "26": "lambdaclasst4ashuttle", - "27": "tiephphantom", - "28": "vt49decimator", - "29": "tieagaggressor", - "30": "btls8kwing", - "31": "arc170starfighter", - "32": "attackshuttle", - "33": "t65xwing", - "34": "hwk290lightfreighter", - "35": "rz1awing", - "36": "fangfighter", - "38": "z95af4headhunter", - "39": "m12lkimogilafighter", - "40": "ewing", - "41": "tieininterceptor", - "42": "lancerclasspursuitcraft", - "43": "tiereaper", - "44": "m3ainterceptor", - "45": "jumpmaster5000", - "47": "customizedyt1300lightfreighter", - "49": "tiefofighter", - "50": "tiesffighter", - "51": "upsilonclassshuttle", - "52": "tievnsilencer", - "53": "t70xwing", - "54": "rz2awing", - "55": "mg100starfortress", - "56": "modifiedtielnfighter", - "57": "scavengedyt1300", - "58": "belbullab22starfighter", - "59": "vultureclassdroidfighter", - "60": "sithinfiltrator", - "61": "delta7aethersprite", - "62": "v19torrentstarfighter", - "63": "resistancetransport", - "64": "hyenaclassdroidbomber", - "65": "resistancetransportpod", - "66": "nabooroyaln1starfighter", - "67": "nantexclassstarfighter", - "68": "btlbywing", - "69": "fireball", - "70": "tiebainterceptor", - "71": "nimbusclassvwing", - "72": "tierbheavy", - "73": "xiclasslightshuttle", - "74": "laatigunship", - "75": "hmpdroidgunship", - "76": "eta2actis", - "77": "droidtrifighter", - "78": "cr90corelliancorvette", - "79": "raiderclasscorvette", - "80": "gr75mediumtransport", - "81": "gozanticlasscruiser", - "82": "croccruiser", - "85": "escapecraft", - "86": "btanr2ywing", - "87": "tiesebomber", - "88": "tiewiwhispermodifiedinterceptor" - }, - "actions": { - "1": "boost", - "2": "focus", - "3": "evade", - "4": "lock", - "5": "barrelroll", - "6": "reinforce", - "7": "cloak", - "8": "coordinate", - "9": "calculate", - "10": "jam", - "12": "reload", - "13": "slam", - "14": "rotatearc" - }, - "stats": { - "1": "agility", - "2": "hull", - "3": "shields", - "4": "force", - "7": "charge", - "8": "doubleturretarc", - "9": "fullfrontarc", - "10": "frontarc", - "11": "bullseyearc", - "12": "singleturretarc", - "14": "reararc", - "20": "weaponrangenobonus" - } -} diff --git a/data/localization.pilots.json b/data/localization.pilots.json index 6cac29828..72429b74b 100644 --- a/data/localization.pilots.json +++ b/data/localization.pilots.json @@ -1,13 +1,13 @@ { "jpn": { "firstorder": { - "faction": "First Order", + "faction": "firstorder", "ships": { "tiebainterceptor": { "pilots": { "ember": { "ability": "\u541b\u304c\u653b\u6483\u3092\u5b9f\u884c\u3059\u308b\u969b\u3001\u3082\u3057\u9632\u5fa1\u8005\u306e\u30ec\u30f3\u30b80-1\u306b\u9632\u5fa1\u8005\u306e\u53cb\u8ecd\u3067\u3042\u308b\u30c0\u30e1\u30fc\u30b8\u72b6\u614b\u306e\u5b87\u5b99\u8239\u304c\u3044\u308b\u306a\u3089\u3001\u305d\u306e\u5b87\u5b99\u8239\u306f\u30d5\u30a9\u30fc\u30ab\u30b9\u3042\u308b\u3044\u306f\u30ab\u30ea\u30ad\u30e5\u30ec\u30fc\u30c8\u30fb\u30c8\u30fc\u30af\u30f3\u3092\u6d88\u8cbb\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u306a\u3044\u3002", - "name": "\"Ember\"", + "name": "“Ember”", "shipAbility": { "name": "Fine-Tuned Thrusters", "text": "\u541b\u304c\u30de\u30cb\u30e5\u30fc\u30d0\u3092\u5b8c\u5168\u306b\u5b9f\u884c\u3057\u305f\u5f8c\u3001\u541b\u304c\u30c7\u30d7\u30ea\u30fc\u30c8\u72b6\u614b\u3067\u3082\u30b9\u30c8\u30ec\u30a4\u30f3\u72b6\u614b\u3067\u3082\u306a\u3051\u308c\u3070\u3001\u3010\u30ed\u30c3\u30af\u3011\u3042\u308b\u3044\u306f\u3010\u30d0\u30ec\u30eb\u30fb\u30ed\u30fc\u30eb\u3011\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3059\u308b\u305f\u3081\u306b\u30c7\u30d7\u30ea\u30fc\u30c8\u3042\u308b\u3044\u306f\u30b9\u30c8\u30ec\u30a4\u30f3\u30fb\u30c8\u30fc\u30af\u30f3\u30921\u3064\u5f97\u3066\u3082\u826f\u3044\u3002" @@ -23,7 +23,7 @@ }, "holo": { "ability": "\u30a8\u30f3\u30b2\u30fc\u30b8\u30e1\u30f3\u30c8\u30fb\u30d5\u30a7\u30a4\u30ba\u306e\u958b\u59cb\u6642\u3001\u541b\u306f\u30ec\u30f3\u30b80-2\u306e\u4ed6\u306e\u53cb\u8ecd\u5b87\u5b99\u82391\u6a5f\u306b\u541b\u306e\u30c8\u30fc\u30af\u30f3\u306e\u3046\u30611\u3064\u3092\u8ee2\u9001\u3057\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u3002", - "name": "\"Holo\"", + "name": "“Holo”", "shipAbility": { "name": "Fine-Tuned Thrusters", "text": "\u541b\u304c\u30de\u30cb\u30e5\u30fc\u30d0\u3092\u5b8c\u5168\u306b\u5b9f\u884c\u3057\u305f\u5f8c\u3001\u541b\u304c\u30c7\u30d7\u30ea\u30fc\u30c8\u72b6\u614b\u3067\u3082\u30b9\u30c8\u30ec\u30a4\u30f3\u72b6\u614b\u3067\u3082\u306a\u3051\u308c\u3070\u3001\u3010\u30ed\u30c3\u30af\u3011\u3042\u308b\u3044\u306f\u3010\u30d0\u30ec\u30eb\u30fb\u30ed\u30fc\u30eb\u3011\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3059\u308b\u305f\u3081\u306b\u30c7\u30d7\u30ea\u30fc\u30c8\u3042\u308b\u3044\u306f\u30b9\u30c8\u30ec\u30a4\u30f3\u30fb\u30c8\u30fc\u30af\u30f3\u30921\u3064\u5f97\u3066\u3082\u826f\u3044\u3002" @@ -56,19 +56,19 @@ }, "longshot": { "ability": "\u541b\u304c\u653b\u6483\u30ec\u30f3\u30b83\u306e\u4e3b\u6b66\u88c5\u653b\u6483\u3092\u884c\u3046\u969b\u3001\u8ffd\u52a0\u3067\u653b\u6483\u30c0\u30a4\u30b9\u30921\u3064\u632f\u308b\u3002", - "name": "\"Longshot\"" + "name": "“Longshot”" }, "midnight": { "ability": "\u541b\u306e\u9632\u5fa1\u3042\u308b\u3044\u306f\u653b\u6483\u5b9f\u884c\u6642\u3001\u3082\u3057\u541b\u304c\u305d\u306e\u5b87\u5b99\u8239\u306e\u30ed\u30c3\u30af\u3092\u6301\u3063\u3066\u3044\u308b\u306a\u3089\u3001\u305d\u306e\u5b87\u5b99\u8239\u306e\u30c0\u30a4\u30b9\u306f\u4fee\u6b63\u3067\u304d\u306a\u3044\u3002", - "name": "\"Midnight\"" + "name": "“Midnight”" }, "muse": { "ability": "\u30a8\u30f3\u30b2\u30fc\u30b8\u30e1\u30f3\u30c8\u30fb\u30d5\u30a7\u30a4\u30ba\u306e\u958b\u59cb\u6642\u3001\u541b\u306f\u30ec\u30f3\u30b80-1\u306e\u53cb\u8ecd\u5b87\u5b99\u8239\u30921\u6a5f\u9078\u3093\u3067\u3082\u826f\u3044\u3002\u305d\u3046\u3059\u308b\u306a\u3089\u3001\u305d\u306e\u5b87\u5b99\u8239\u306f\u30b9\u30c8\u30ec\u30b9\u30fb\u30c8\u30fc\u30af\u30f3\u30921\u3064\u53d6\u308a\u9664\u304f\u3002", - "name": "\"Muse\"" + "name": "“Muse”" }, "null": { "ability": "\u541b\u304c\u30c0\u30e1\u30fc\u30b8\u72b6\u614b\u3067\u306a\u3044\u9593\u3001\u541b\u306e\u30a4\u30cb\u30b7\u30a2\u30c1\u30d6\u5024\u30927\u3068\u3057\u3066\u6271\u3046\u3002", - "name": "\"Null\"" + "name": "“Null”" }, "omegasquadronace": { "ability": "", @@ -76,11 +76,11 @@ }, "scorch": { "ability": "\u541b\u304c\u4e3b\u6b66\u88c5\u653b\u6483\u3092\u5b9f\u884c\u3059\u308b\u969b\u3001\u3082\u3057\u541b\u304c\u30b9\u30c8\u30ec\u30b9\u72b6\u614b\u3067\u306a\u3051\u308c\u3070\u3001\u541b\u306f\u30b9\u30c8\u30ec\u30b9\u30fb\u30c8\u30fc\u30af\u30f3\u30921\u3064\u5f97\u3066\u653b\u6483\u30c0\u30a4\u30b9\u30921\u3064\u8ffd\u52a0\u3067\u632f\u3063\u3066\u3082\u826f\u3044\u3002", - "name": "\"Scorch\"" + "name": "“Scorch”" }, "static": { "ability": "\u541b\u304c\u4e3b\u6b66\u88c5\u653b\u6483\u3092\u5b9f\u884c\u3059\u308b\u969b\u3001\u541b\u306f\u541b\u306e\u5168\u3066\u306e\u7d50\u679c\u3092\u3010\u30af\u30ea\u30c6\u30a3\u30ab\u30eb\u3011\u306e\u7d50\u679c\u306b\u5909\u66f4\u3059\u308b\u305f\u3081\u306b\u3001\u541b\u306e\u9632\u5fa1\u8005\u306e\u30ed\u30c3\u30af\u3068\u30d5\u30a9\u30fc\u30ab\u30b9\u30fb\u30c8\u30fc\u30af\u30f3\u3092\u6d88\u8cbb\u3057\u3066\u3082\u826f\u3044\u3002", - "name": "\"Static\"" + "name": "“Static”" }, "tn3465": { "ability": "\u53cb\u8ecd\u5b87\u5b99\u8239\u304c\u653b\u6483\u3092\u5b9f\u884c\u3059\u308b\u969b\u3001\u541b\u304c\u9632\u5fa1\u8005\u306e\u30ec\u30f3\u30b80-1\u306b\u3044\u308b\u306a\u3089\u3001\u541b\u306f1\u3010\u30af\u30ea\u30c6\u30a3\u30ab\u30eb\u3011\u30c0\u30e1\u30fc\u30b8\u3092\u53d7\u3051\u3001\u653b\u6483\u8005\u306e\u7d50\u679c\u30921\u3064\u3010\u30af\u30ea\u30c6\u30a3\u30ab\u30eb\u3011\u306e\u7d50\u679c\u306b\u5909\u66f4\u3057\u3066\u3082\u826f\u3044\u3002", @@ -97,7 +97,7 @@ "pilots": { "backdraft": { "ability": "\u541b\u304c\u3010\u30bf\u30ec\u30c3\u30c8\u5c04\u754c\u3011\u306e\u4e3b\u653b\u6483\u3092\u5b9f\u884c\u3059\u308b\u969b\u3001\u3082\u3057\u9632\u5fa1\u8005\u304c\u541b\u306e\u3010\u5f8c\u5c04\u754c\u3011\u306b\u3044\u308b\u306a\u3089\u3001\u653b\u6483\u30c0\u30a4\u30b9\u30921\u3064\u8ffd\u52a0\u3067\u632f\u308b\u3002", - "name": "\"Backdraft\"", + "name": "“Backdraft”", "shipAbility": { "name": "Heavy Weapon Turret", "text": "\u541b\u306f\u3010\u30bf\u30ec\u30c3\u30c8\u30a2\u30fc\u30af\u3011\u30a4\u30f3\u30b8\u30b1\u30fc\u30bf\u30fc\u3092\u3010\u524d\u30a2\u30fc\u30af\u3011\u304b\u3010\u5f8c\u30a2\u30fc\u30af\u3011\u306b\u3060\u3051\u30ed\u30fc\u30c6\u30fc\u30c8\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002\u541b\u306f\u88c5\u5099\u3057\u305f\u3010\u30df\u30b5\u30a4\u30eb\u3011\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u306e\u3010\u524d\u30a2\u30fc\u30af\u3011\u5fc5\u8981\u6761\u4ef6\u3092\u3010\u30bf\u30ec\u30c3\u30c8\u30a2\u30fc\u30af\u3011\u3068\u3057\u3066\u6271\u308f\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u3002" @@ -129,7 +129,7 @@ }, "quickdraw": { "ability": "\u541b\u304c\u30b7\u30fc\u30eb\u30c9\u3092\u5931\u3063\u305f\u5f8c\u3001\u541b\u306f\u3010\u30c1\u30e3\u30fc\u30b8\u3011\u30921\u3064\u6d88\u8cbb\u3057\u3066\u3082\u826f\u3044\u3002\u3082\u3057\u305d\u3046\u3059\u308b\u306a\u3089\u3001\u541b\u306f\u30dc\u30fc\u30ca\u30b9\u306e\u4e3b\u653b\u6483\u3092\u884c\u3063\u3066\u3082\u826f\u3044\u3002", - "name": "\"Quickdraw\"", + "name": "“Quickdraw”", "shipAbility": { "name": "Heavy Weapon Turret", "text": "\u541b\u306f\u3010\u30bf\u30ec\u30c3\u30c8\u30a2\u30fc\u30af\u3011\u30a4\u30f3\u30b8\u30b1\u30fc\u30bf\u30fc\u3092\u3010\u524d\u30a2\u30fc\u30af\u3011\u304b\u3010\u5f8c\u30a2\u30fc\u30af\u3011\u306b\u3060\u3051\u30ed\u30fc\u30c6\u30fc\u30c8\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002\u541b\u306f\u88c5\u5099\u3057\u305f\u3010\u30df\u30b5\u30a4\u30eb\u3011\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u306e\u3010\u524d\u30a2\u30fc\u30af\u3011\u5fc5\u8981\u6761\u4ef6\u3092\u3010\u30bf\u30ec\u30c3\u30c8\u30a2\u30fc\u30af\u3011\u3068\u3057\u3066\u6271\u308f\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u3002" @@ -150,7 +150,7 @@ "pilots": { "avenger": { "ability": "\u4ed6\u306e\u53cb\u8ecd\u5b87\u5b99\u8239\u304c\u7834\u58ca\u3055\u308c\u305f\u5f8c\u3001\u541b\u306f\u305f\u3068\u3048\u30b9\u30c8\u30ec\u30b9\u72b6\u614b\u3067\u3082\u3001\u30a2\u30af\u30b7\u30e7\u30f3\u30921\u3064\u5b9f\u884c\u3057\u3066\u3082\u826f\u3044\u3002", - "name": "\"Avenger\"", + "name": "“Avenger”", "shipAbility": { "name": "Autothrusters", "text": "\u541b\u304c\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3057\u305f\u5f8c\u3001\u541b\u306f\u8d64\u306e\u3010\u30d0\u30ec\u30eb\u30fb\u30ed\u30fc\u30eb\u3011\u3042\u308b\u3044\u306f\u8d64\u306e\u3010\u30d6\u30fc\u30b9\u30c8\u3011\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3057\u3066\u3082\u826f\u3044\u3002" @@ -158,7 +158,7 @@ }, "blackout": { "ability": "\u541b\u304c\u653b\u6483\u3092\u5b9f\u884c\u3059\u308b\u969b\u3001\u3082\u3057\u653b\u6483\u304c\u969c\u5bb3\u7269\u306b\u3088\u3063\u3066\u59a8\u5bb3\u3055\u308c\u305f\u306a\u3089\u3001\u9632\u5fa1\u8005\u306f\u9632\u5fa1\u30c0\u30a4\u30b9\u30922\u3064\u5c11\u306a\u304f\u632f\u308b\u3002", - "name": "\"Blackout\"", + "name": "“Blackout”", "shipAbility": { "name": "Autothrusters", "text": "\u541b\u304c\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3057\u305f\u5f8c\u3001\u541b\u306f\u8d64\u306e\u3010\u30d0\u30ec\u30eb\u30fb\u30ed\u30fc\u30eb\u3011\u3042\u308b\u3044\u306f\u8d64\u306e\u3010\u30d6\u30fc\u30b9\u30c8\u3011\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3057\u3066\u3082\u826f\u3044\u3002" @@ -182,7 +182,7 @@ }, "recoil": { "ability": "\u541b\u304c\u30b9\u30c8\u30ec\u30b9\u72b6\u614b\u306e\u9593\u3001\u541b\u306f\u30ec\u30f3\u30b80-1\u306e\u3010\u524d\u5c04\u754c\u3011\u5185\u306e\u6575\u5b87\u5b99\u8239\u3092\u541b\u306e\u3010\u30d6\u30eb\u30ba\u30a2\u30a4\u5c04\u754c\u3011\u5185\u306b\u3044\u308b\u3068\u3057\u3066\u6271\u3063\u3066\u3082\u826f\u3044\u3002", - "name": "\"Recoil\"", + "name": "“Recoil”", "shipAbility": { "name": "Autothrusters", "text": "\u541b\u304c\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3057\u305f\u5f8c\u3001\u541b\u306f\u8d64\u306e\u3010\u30d0\u30ec\u30eb\u30fb\u30ed\u30fc\u30eb\u3011\u3042\u308b\u3044\u306f\u8d64\u306e\u3010\u30d6\u30fc\u30b9\u30c8\u3011\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3057\u3066\u3082\u826f\u3044\u3002" @@ -190,7 +190,7 @@ }, "rush": { "ability": "\u541b\u304c\u30c0\u30e1\u30fc\u30b8\u72b6\u614b\u306e\u9593\u3001\u541b\u306e\u30a4\u30cb\u30b7\u30a2\u30c1\u30d6\u30926\u3068\u3057\u3066\u6271\u3046\u3002", - "name": "\"Rush\"", + "name": "“Rush”", "shipAbility": { "name": "Autothrusters", "text": "\u541b\u304c\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3057\u305f\u5f8c\u3001\u541b\u306f\u8d64\u306e\u3010\u30d0\u30ec\u30eb\u30fb\u30ed\u30fc\u30eb\u3011\u3042\u308b\u3044\u306f\u8d64\u306e\u3010\u30d6\u30fc\u30b9\u30c8\u3011\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3057\u3066\u3082\u826f\u3044\u3002" @@ -284,7 +284,7 @@ } }, "galacticempire": { - "faction": "Galactic Empire", + "faction": "galacticempire", "ships": { "alphaclassstarwing": { "pilots": { @@ -410,7 +410,7 @@ "pilots": { "doubleedge": { "ability": "\u541b\u304c\u3010\u30bf\u30ec\u30c3\u30c8\u3011\u3042\u308b\u3044\u306f\u3010\u30df\u30b5\u30a4\u30eb\u3011\u306b\u3088\u308b\u653b\u6483\u3092\u5b9f\u884c\u3057\u305d\u308c\u304c\u30df\u30b9\u3057\u305f\u5f8c\u3001\u541b\u306f\u9055\u3046\u6b66\u5668\u3092\u4f7f\u7528\u3059\u308b\u30dc\u30fc\u30ca\u30b9\u306e\u653b\u6483\u3092\u5b9f\u884c\u3057\u3066\u3082\u826f\u3044\u3002", - "name": "\"Double Edge\"" + "name": "“Double Edge”" }, "lieutenantkestal": { "ability": "\u541b\u304c\u653b\u6483\u3092\u5b9f\u884c\u3059\u308b\u969b\u3001\u9632\u5fa1\u8005\u304c\u9632\u5fa1\u30c0\u30a4\u30b9\u3092\u632f\u3063\u305f\u5f8c\u3001\u541b\u306f\u30d5\u30a9\u30fc\u30ab\u30b9\u30fb\u30c8\u30fc\u30af\u30f3\u30921\u3064\u6d88\u8cbb\u3057\u3001\u9632\u5fa1\u8005\u306e\u5168\u3066\u306e\u7a7a\u767d/\u3010\u30d5\u30a9\u30fc\u30ab\u30b9\u3011\u306e\u7d50\u679c\u3092\u30ad\u30e3\u30f3\u30bb\u30eb\u3057\u3066\u3082\u826f\u3044\u3002", @@ -435,11 +435,11 @@ }, "deathrain": { "ability": "\u541b\u304c\u30c7\u30d0\u30a4\u30b9\u3092\u6295\u4e0b\u304b\u5c04\u51fa\u3057\u305f\u5f8c\u3001\u541b\u306f\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u884c\u3063\u3066\u3082\u826f\u3044\u3002", - "name": "\"Deathrain\"" + "name": "“Deathrain”" }, "readline": { "ability": "\u541b\u306f\u30ed\u30c3\u30af\u30922\u3064\u307e\u3067\u4fdd\u6301\u3067\u304d\u308b\u3002\u541b\u304c\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3057\u305f\u5f8c\u3001\u541b\u306f\u30ed\u30c3\u30af\u3092\u5f97\u308b\u3002", - "name": "\"Readline\"" + "name": "“Readline”" } }, "ship_name": "TIE/ca Punisher" @@ -554,11 +554,11 @@ }, "maulermithel": { "ability": "\u541b\u304c\u30ec\u30f3\u30b81\u3067\u653b\u6483\u3092\u5b9f\u884c\u3059\u308b\u969b\u3001\u8ffd\u52a0\u3067\u653b\u6483\u30c0\u30a4\u30b9\u30921\u3064\u632f\u308b\u3002", - "name": "\"Mauler\" Mithel" + "name": "“Mauler” Mithel" }, "nightbeast": { "ability": "\u541b\u304c\u9752\u306e\u30de\u30cb\u30e5\u30fc\u30d0\u3092\u5b8c\u5168\u306b\u5b9f\u884c\u3057\u305f\u5f8c\u3001\u541b\u306f\u3010\u30d5\u30a9\u30fc\u30ab\u30b9\u3011\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u884c\u3063\u3066\u3082\u826f\u3044\u3002", - "name": "\"Night Beast\"" + "name": "“Night Beast”" }, "obsidiansquadronpilot": { "ability": "", @@ -566,7 +566,7 @@ }, "scourgeskutu": { "ability": "\u541b\u304c\u541b\u306e\u3010\u30d6\u30eb\u30ba\u30a2\u30a4\u30a2\u30fc\u30af\u3011\u5185\u306e\u9632\u5fa1\u8005\u306b\u653b\u6483\u3092\u5b9f\u884c\u3059\u308b\u969b\u3001\u8ffd\u52a0\u3067\u653b\u6483\u30c0\u30a4\u30b9\u30921\u3064\u632f\u308b\u3002", - "name": "\"Scourge\" Skutu" + "name": "“Scourge” Skutu" }, "seynmarana": { "ability": "\u541b\u304c\u653b\u6483\u3092\u5b9f\u884c\u3059\u308b\u969b\u3001\u541b\u306f\u3010\u30af\u30ea\u30c6\u30a3\u30ab\u30eb\u3011\u306e\u7d50\u679c\u30921\u3064\u6d88\u8cbb\u3057\u3066\u3082\u826f\u3044\u3002\u3082\u3057\u305d\u3046\u3059\u308b\u306a\u3089\u3001\u9632\u5fa1\u8005\u306f\u8868\u5411\u304d\u306e\u30c0\u30e1\u30fc\u30b8\u30fb\u30ab\u30fc\u30c9\u30921\u679a\u53d7\u3051\u53d6\u308a\u3001\u305d\u306e\u5f8c\u541b\u306e\u6b8b\u3063\u305f\u7d50\u679c\u3092\u3059\u3079\u3066\u30ad\u30e3\u30f3\u30bb\u30eb\u3059\u308b\u3002", @@ -578,7 +578,7 @@ }, "wampa": { "ability": "\u541b\u304c\u653b\u6483\u3092\u5b9f\u884c\u3059\u308b\u969b\u3001\u541b\u306f\u3010\u30c1\u30e3\u30fc\u30b8\u3011\u30921\u3064\u6d88\u8cbb\u3057\u3066\u653b\u6483\u30c0\u30a4\u30b9\u30921\u3064\u591a\u304f\u632f\u3063\u3066\u3082\u826f\u3044\u3002\u541b\u304c\u9632\u5fa1\u3057\u305f\u5f8c\u3001\u3010\u30c1\u30e3\u30fc\u30b8\u3011\u30921\u3064\u5931\u3046\u3002", - "name": "\"Wampa\"" + "name": "“Wampa”" } }, "ship_name": "TIE/ln Fighter" @@ -587,7 +587,7 @@ "pilots": { "echo": { "ability": "\u541b\u304c\u30c7\u30af\u30ed\u30fc\u30af\u3059\u308b\u969b\u3001\u541b\u306f[\u3010\u76f4\u9032\u30112]\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u4ee3\u308f\u308a\u306b[\u3010\u5de6\u30d0\u30f3\u30af\u30112]\u3042\u308b\u3044\u306f[\u3010\u53f3\u30d0\u30f3\u30af\u30112]\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u4f7f\u7528\u3057\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u3002", - "name": "\"Echo\"", + "name": "“Echo”", "shipAbility": { "name": "Stygium Array", "text": "\u541b\u304c\u30c7\u30af\u30ed\u30fc\u30af\u3057\u305f\u5f8c\u3001\u541b\u306f\u3010\u56de\u907f\u3011\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u884c\u3063\u3066\u3082\u826f\u3044\u3002\u7d42\u4e86\u30d5\u30a7\u30a4\u30ba\u306e\u958b\u59cb\u6642\u3001\u541b\u306f\u56de\u907f\u30c8\u30fc\u30af\u30f3\u30921\u3064\u6d88\u8cbb\u3057\u3066\u30af\u30ed\u30fc\u30af\u30fb\u30c8\u30fc\u30af\u30f3\u30921\u3064\u5f97\u3066\u3082\u826f\u3044\u3002" @@ -611,7 +611,7 @@ }, "whisper": { "ability": "\u541b\u306e\u653b\u6483\u304c\u547d\u4e2d\u3057\u305f\u5f8c\u3001\u56de\u907f\u30c8\u30fc\u30af\u30f3\u30921\u3064\u5f97\u308b\u3002", - "name": "\"Whisper\"", + "name": "“Whisper”", "shipAbility": { "name": "Stygium Array", "text": "\u541b\u304c\u30c7\u30af\u30ed\u30fc\u30af\u3057\u305f\u5f8c\u3001\u541b\u306f\u3010\u56de\u907f\u3011\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u884c\u3063\u3066\u3082\u826f\u3044\u3002\u7d42\u4e86\u30d5\u30a7\u30a4\u30ba\u306e\u958b\u59cb\u6642\u3001\u541b\u306f\u56de\u907f\u30c8\u30fc\u30af\u30f3\u30921\u3064\u6d88\u8cbb\u3057\u3066\u30af\u30ed\u30fc\u30af\u30fb\u30c8\u30fc\u30af\u30f3\u30921\u3064\u5f97\u3066\u3082\u826f\u3044\u3002" @@ -636,7 +636,7 @@ }, "rampage": { "ability": "\u541b\u304c\u901f\u5ea63-4\u306e\u30de\u30cb\u30e5\u30fc\u30d0\u3092\u5b9f\u884c\u3057\u305f\u5f8c\u3001\u541b\u306f\u541b\u306e\u3010\u30bf\u30ec\u30c3\u30c8\u30a2\u30fc\u30af\u3011\u5185\u30ec\u30f3\u30b80-1\u306e\u5b87\u5b99\u82391\u6a5f\u3092\u9078\u3093\u3067\u3082\u826f\u3044\u3002\u3082\u3057\u305d\u3046\u3059\u308b\u306a\u3089\u3001\u305d\u306e\u5b87\u5b99\u8239\u306f\u30b9\u30c8\u30ec\u30a4\u30f3\u30fb\u30c8\u30fc\u30af\u30f3\u30921\u3064\u5f97\u308b\u304b\u3001\u3082\u3057\u541b\u304c\u30c0\u30e1\u30fc\u30b8\u72b6\u614b\u306a\u30892\u3064\u5f97\u308b\u3002", - "name": "\"Rampage\"" + "name": "“Rampage”" } }, "ship_name": "TIE/rb Heavy" @@ -669,7 +669,7 @@ }, "vizier": { "ability": "\u541b\u304c\u541b\u306eAdaptive Ailerons\u5b87\u5b99\u8239\u80fd\u529b\u3092\u4f7f\u3063\u305f\u901f\u5ea61\u306e\u30de\u30cb\u30e5\u30fc\u30d0\u3092\u5b8c\u5168\u306b\u5b9f\u884c\u3057\u305f\u5f8c\u3001\u541b\u306f\u3010\u30b3\u30fc\u30c7\u30a3\u30cd\u30fc\u30c8\u3011\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u884c\u3063\u3066\u3082\u826f\u3044\u3002\u3082\u3057\u305d\u3046\u3059\u308b\u306a\u3089\u3001\u541b\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u5b9f\u884c\u30b9\u30c6\u30c3\u30d7\u3092\u98db\u3070\u3059\u3002", - "name": "\"Vizier\"", + "name": "“Vizier”", "shipAbility": { "name": "Full Throttle", "text": "\u541b\u304c\u901f\u5ea63-5\u306e\u30de\u30cb\u30e5\u30fc\u30d0\u3092\u5b8c\u5168\u306b\u5b9f\u884c\u3057\u305f\u5f8c\u3001\u541b\u306f\u3010\u56de\u907f\u3011\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3057\u3066\u3082\u826f\u3044\u3002" @@ -743,7 +743,7 @@ }, "countdown": { "ability": "\u541b\u304c\u9632\u5fa1\u3059\u308b\u969b\u3001\u7d50\u679c\u306e\u76f8\u6bba\u30b9\u30c6\u30c3\u30d7\u306e\u5f8c\u306b\u3001\u3082\u3057\u541b\u304c\u30b9\u30c8\u30ec\u30b9\u72b6\u614b\u3067\u306a\u3051\u308c\u3070\u3001\u541b\u306f\u3010\u547d\u4e2d\u3011\u30c0\u30e1\u30fc\u30b8\u30921\u3064\u53d7\u3051\u3001\u30b9\u30c8\u30ec\u30b9\u30fb\u30c8\u30fc\u30af\u30f31\u3064\u3092\u53d7\u3051\u53d6\u3063\u3066\u3082\u826f\u3044\u3002\u3082\u3057\u305d\u3046\u3059\u308b\u306a\u3089\u3001\u5168\u3066\u306e\u30c0\u30a4\u30b9\u306e\u7d50\u679c\u3092\u30ad\u30e3\u30f3\u30bb\u30eb\u3059\u308b\u3002", - "name": "\"Countdown\"", + "name": "“Countdown”", "shipAbility": { "name": "Adaptive Ailerons", "text": "\u541b\u304c\u541b\u306e\u30c0\u30a4\u30e4\u30eb\u3092\u516c\u958b\u3059\u308b\u524d\u306b\u3001\u3082\u3057\u541b\u304c\u30b9\u30c8\u30ec\u30b9\u72b6\u614b\u3067\u306a\u3051\u308c\u3070\u3001\u541b\u306f\u767d\u306e[1\u3010\u5de6\u30d0\u30f3\u30af\u3011][1\u3010\u76f4\u9032\u3011]\u3042\u308b\u3044\u306f[1\u3010\u53f3\u30d0\u30f3\u30af\u3011]\u3092\u884c\u308f\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u3002" @@ -751,7 +751,7 @@ }, "duchess": { "ability": "\u541b\u306f\u541b\u306eAdaptive Ailerons\u3092\u4f7f\u308f\u306a\u3044\u3053\u3068\u3092\u9078\u3093\u3067\u3082\u826f\u3044\u3002\u541b\u306f\u541b\u306eAdaptive Ailerons\u3092\u30b9\u30c8\u30ec\u30b9\u72b6\u614b\u3067\u3082\u4f7f\u3063\u3066\u3082\u826f\u3044\u3002", - "name": "\"Duchess\"", + "name": "“Duchess”", "shipAbility": { "name": "Adaptive Ailerons", "text": "\u541b\u304c\u541b\u306e\u30c0\u30a4\u30e4\u30eb\u3092\u516c\u958b\u3059\u308b\u524d\u306b\u3001\u3082\u3057\u541b\u304c\u30b9\u30c8\u30ec\u30b9\u72b6\u614b\u3067\u306a\u3051\u308c\u3070\u3001\u541b\u306f\u767d\u306e[1\u3010\u5de6\u30d0\u30f3\u30af\u3011][1\u3010\u76f4\u9032\u3011]\u3042\u308b\u3044\u306f[1\u3010\u53f3\u30d0\u30f3\u30af\u3011]\u3092\u884c\u308f\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u3002" @@ -767,7 +767,7 @@ }, "puresabacc": { "ability": "\u541b\u304c\u653b\u6483\u3092\u5b9f\u884c\u3059\u308b\u969b\u3001\u3082\u3057\u541b\u306e\u30c0\u30e1\u30fc\u30b8\u30fb\u30ab\u30fc\u30c9\u304c1\u679a\u4ee5\u4e0b\u306a\u3089\u3001\u541b\u306f\u653b\u6483\u30c0\u30a4\u30b9\u30921\u3064\u591a\u304f\u632f\u3063\u3066\u3082\u826f\u3044\u3002", - "name": "\"Pure Sabacc\"", + "name": "“Pure Sabacc”", "shipAbility": { "name": "Adaptive Ailerons", "text": "\u541b\u304c\u541b\u306e\u30c0\u30a4\u30e4\u30eb\u3092\u516c\u958b\u3059\u308b\u524d\u306b\u3001\u3082\u3057\u541b\u304c\u30b9\u30c8\u30ec\u30b9\u72b6\u614b\u3067\u306a\u3051\u308c\u3070\u3001\u541b\u306f\u767d\u306e[1\u3010\u5de6\u30d0\u30f3\u30af\u3011][1\u3010\u76f4\u9032\u3011]\u3042\u308b\u3044\u306f[1\u3010\u53f3\u30d0\u30f3\u30af\u3011]\u3092\u884c\u308f\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u3002" @@ -775,7 +775,7 @@ }, "vagabond": { "ability": "\u541b\u304c\u541b\u306eAdaptive Ailerons\u3092\u4f7f\u3063\u305f\u30de\u30cb\u30e5\u30fc\u30d0\u3092\u5b8c\u5168\u306b\u5b9f\u884c\u3057\u305f\u5f8c\u3001\u3082\u3057\u541b\u304c\u30b9\u30c8\u30ec\u30b9\u72b6\u614b\u3067\u306a\u3051\u308c\u3070\u3001\u541b\u306f\u30c7\u30d0\u30a4\u30b9\u30921\u3064\u6295\u4e0b\u3057\u3066\u3082\u826f\u3044\u3002", - "name": "\"Vagabond\"", + "name": "“Vagabond”", "shipAbility": { "name": "Adaptive Ailerons", "text": "\u541b\u304c\u541b\u306e\u30c0\u30a4\u30e4\u30eb\u3092\u516c\u958b\u3059\u308b\u524d\u306b\u3001\u3082\u3057\u541b\u304c\u30b9\u30c8\u30ec\u30b9\u72b6\u614b\u3067\u306a\u3051\u308c\u3070\u3001\u541b\u306f\u767d\u306e[1\u3010\u5de6\u30d0\u30f3\u30af\u3011][1\u3010\u76f4\u9032\u3011]\u3042\u308b\u3044\u306f[1\u3010\u53f3\u30d0\u30f3\u30af\u3011]\u3092\u884c\u308f\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u3002" @@ -808,7 +808,7 @@ } }, "galacticrepublic": { - "faction": "Galactic Republic", + "faction": "galacticrepublic", "ships": { "arc170starfighter": { "pilots": { @@ -818,15 +818,15 @@ }, "jag": { "ability": "\u30ec\u30f3\u30b81-2\u306e\u3010\u5de6\u30a2\u30fc\u30af\u3011\u3042\u308b\u3044\u306f\u3010\u53f3\u30a2\u30fc\u30af\u3011\u306b\u3044\u308b\u53cb\u8ecd\u5b87\u5b99\u8239\u306e\u9632\u5fa1\u5f8c\u3001\u541b\u306f\u653b\u6483\u8005\u3078\u306e\u30ed\u30c3\u30af\u3092\u5f97\u3066\u3082\u826f\u3044\u3002", - "name": "\"Jag\"" + "name": "“Jag”" }, "oddball-arc170starfighter": { "ability": "\u8d64\u306e\u30de\u30cb\u30e5\u30fc\u30d0\u3092\u5b8c\u5168\u306b\u5b9f\u884c\u3059\u308b\u304b\u3001\u8d64\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u884c\u3063\u305f\u5f8c\u3001\u541b\u306e\u3010\u30d6\u30eb\u30ba\u30a2\u30a4\u3011\u5185\u306b\u6575\u5b87\u5b99\u8239\u304c\u3044\u308b\u306a\u3089\u3001\u541b\u306f\u305d\u306e\u5b87\u5b99\u8239\u3078\u306e\u30ed\u30c3\u30af\u3092\u5f97\u3066\u3082\u826f\u3044\u3002", - "name": "\"Odd Ball\"" + "name": "“Odd Ball”" }, "sinker": { "ability": "\u30ec\u30f3\u30b81-2\u306e\u3010\u5de6\u30a2\u30fc\u30af\u3011\u3042\u308b\u3044\u306f\u3010\u53f3\u30a2\u30fc\u30af\u3011\u306b\u3044\u308b\u53cb\u8ecd\u5b87\u5b99\u8239\u304c\u4e3b\u6b66\u88c5\u653b\u6483\u3092\u5b9f\u884c\u3059\u308b\u969b\u3001\u653b\u6483\u30c0\u30a4\u30b9\u30921\u3064\u632f\u308a\u76f4\u3057\u3066\u3082\u826f\u3044\u3002", - "name": "\"Sinker\"" + "name": "“Sinker”" }, "squadsevenveteran": { "ability": "", @@ -834,7 +834,7 @@ }, "wolffe": { "ability": "\u541b\u304c\u4e3b\u3010\u524d\u30a2\u30fc\u30af\u3011\u6b66\u88c5\u306b\u3088\u308b\u653b\u6483\u3092\u884c\u3046\u9593\u3001\u541b\u306f\u3010\u30c1\u30e3\u30fc\u30b8\u3011\u30921\u3064\u6d88\u8cbb\u3057\u3066\u3001\u653b\u6483\u30c0\u30a4\u30b9\u30921\u3064\u632f\u308a\u76f4\u3057\u3066\u3082\u826f\u3044\u3002\u541b\u304c\u4e3b\u3010\u5f8c\u30a2\u30fc\u30af\u3011\u6b66\u88c5\u306b\u3088\u308b\u653b\u6483\u3092\u884c\u3046\u9593\u3001\u541b\u306f\u3010\u30c1\u30e3\u30fc\u30b8\u3011\u30921\u3064\u56de\u5fa9\u3057\u3066\u3001\u8ffd\u52a0\u306e\u653b\u6483\u30c0\u30a4\u30b9\u30921\u3064\u632f\u3063\u3066\u3082\u826f\u3044\u3002", - "name": "\"Wolffe\"" + "name": "“Wolffe”" } }, "ship_name": "ARC-170 Starfighter(Republic)" @@ -851,7 +851,7 @@ }, "broadside": { "ability": "\u541b\u304c\u3010\u30bf\u30ec\u30c3\u30c8\u3011\u653b\u6483\u3092\u5b9f\u884c\u3059\u308b\u969b\u3001\u3082\u3057\u3010\u30bf\u30ec\u30c3\u30c8\u3011\u30a4\u30f3\u30b8\u30b1\u30fc\u30bf\u30fc\u304c\u3010\u5de6\u30a2\u30fc\u30af\u3011\u3042\u308b\u3044\u306f\u3010\u53f3\u30a2\u30fc\u30af\u3011\u306b\u3042\u308b\u306a\u3089\u3001\u541b\u306f\u7a7a\u767d\u306e\u7d50\u679c\u30921\u3064\u3010\u30d5\u30a9\u30fc\u30ab\u30b9\u3011\u306b\u5909\u3048\u3066\u3082\u826f\u3044\u3002", - "name": "\"Broadside\"", + "name": "“Broadside”", "shipAbility": { "name": "Plated Hull", "text": "\u541b\u304c\u9632\u5fa1\u3059\u308b\u969b\u3001\u3082\u3057\u541b\u304c\u30af\u30ea\u30c6\u30a3\u30ab\u30eb\u30fb\u30c0\u30e1\u30fc\u30b8\u72b6\u614b\u3067\u306a\u3044\u306a\u3089\u3001\u3010\u30af\u30ea\u30c6\u30a3\u30ab\u30eb\u3011\u306e\u7d50\u679c\u30921\u3064\u3010\u547d\u4e2d\u3011\u306b\u5909\u66f4\u3059\u308b\u3002" @@ -859,7 +859,7 @@ }, "goji": { "ability": "\u30ec\u30f3\u30b80-3\u306e\u53cb\u8ecd\u5b87\u5b99\u8239\u306e\u9632\u5fa1\u6642\u3001\u305d\u308c\u306f\u305d\u308c\u306e\u30ec\u30f3\u30b80-1\u306b\u3042\u308b\u53cb\u8ecd\u7206\u5f3e\u306b\u3064\u304d\u8ffd\u52a0\u306e\u9632\u5fa1\u30c0\u30a4\u30b9\u30921\u3064\u632f\u3063\u3066\u3082\u826f\u3044\u3002", - "name": "\"Goji\"", + "name": "“Goji”", "shipAbility": { "name": "Plated Hull", "text": "\u541b\u304c\u9632\u5fa1\u3059\u308b\u969b\u3001\u3082\u3057\u541b\u304c\u30af\u30ea\u30c6\u30a3\u30ab\u30eb\u30fb\u30c0\u30e1\u30fc\u30b8\u72b6\u614b\u3067\u306a\u3044\u306a\u3089\u3001\u3010\u30af\u30ea\u30c6\u30a3\u30ab\u30eb\u3011\u306e\u7d50\u679c\u30921\u3064\u3010\u547d\u4e2d\u3011\u306b\u5909\u66f4\u3059\u308b\u3002" @@ -867,7 +867,7 @@ }, "matchstick": { "ability": "\u541b\u304c\u4e3b\u6b66\u88c5\u3042\u308b\u3044\u306f\u3010\u30bf\u30ec\u30c3\u30c8\u3011\u653b\u6483\u3092\u5b9f\u884c\u3059\u308b\u969b\u3001\u541b\u306f\u541b\u304c\u6301\u3063\u3066\u3044\u308b\u8d64\u306e\u30c8\u30fc\u30af\u30f3\u306b\u3064\u304d1\u3064\u653b\u6483\u30c0\u30a4\u30b9\u3092\u632f\u308a\u76f4\u3057\u3066\u3082\u826f\u3044\u3002", - "name": "\"Matchstick\"", + "name": "“Matchstick”", "shipAbility": { "name": "Plated Hull", "text": "\u541b\u304c\u9632\u5fa1\u3059\u308b\u969b\u3001\u3082\u3057\u541b\u304c\u30af\u30ea\u30c6\u30a3\u30ab\u30eb\u30fb\u30c0\u30e1\u30fc\u30b8\u72b6\u614b\u3067\u306a\u3044\u306a\u3089\u3001\u3010\u30af\u30ea\u30c6\u30a3\u30ab\u30eb\u3011\u306e\u7d50\u679c\u30921\u3064\u3010\u547d\u4e2d\u3011\u306b\u5909\u66f4\u3059\u308b\u3002" @@ -875,7 +875,7 @@ }, "oddball-btlbywing": { "ability": "\u541b\u304c\u8d64\u306e\u30de\u30cb\u30e5\u30fc\u30d0\u3092\u5b8c\u5168\u306b\u5b9f\u884c\u3059\u308b\u304b\u3001\u8d64\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3057\u305f\u5f8c\u3001\u3082\u3057\u6575\u5b87\u5b99\u8239\u304c\u3010\u30d6\u30eb\u30ba\u30a2\u30a4\u3011\u306b\u3044\u308b\u306a\u3089\u3001\u541b\u306f\u305d\u306e\u5b87\u5b99\u8239\u306e\u30ed\u30c3\u30af\u3092\u5f97\u3066\u3082\u826f\u3044\u3002", - "name": "\"Odd Ball\"", + "name": "“Odd Ball”", "shipAbility": { "name": "Plated Hull", "text": "\u541b\u304c\u9632\u5fa1\u3059\u308b\u969b\u3001\u3082\u3057\u541b\u304c\u30af\u30ea\u30c6\u30a3\u30ab\u30eb\u30fb\u30c0\u30e1\u30fc\u30b8\u72b6\u614b\u3067\u306a\u3044\u306a\u3089\u3001\u3010\u30af\u30ea\u30c6\u30a3\u30ab\u30eb\u3011\u306e\u7d50\u679c\u30921\u3064\u3010\u547d\u4e2d\u3011\u306b\u5909\u66f4\u3059\u308b\u3002" @@ -1050,7 +1050,7 @@ }, "hawk": { "ability": "\u7d42\u4e86\u30d5\u30a7\u30a4\u30ba\u306e\u958b\u59cb\u6642\u3001\u901f\u5ea63-5\u306e\u30de\u30cb\u30e5\u30fc\u30d0\u3092\u516c\u958b\u3057\u305f\u30ec\u30f3\u30b80-1\u306e\u5404\u53cb\u8ecd\u5b87\u5b99\u8239\u306f\u3001\u30b9\u30c8\u30ec\u30a4\u30f3\u30fb\u30c8\u30fc\u30af\u30f3\u30921\u3064\u5f97\u3066\u3010\u30d0\u30ec\u30eb\u30fb\u30ed\u30fc\u30eb\u3011\u3042\u308b\u3044\u306f\u3010\u30d6\u30fc\u30b9\u30c8\u3011\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3057\u3066\u3082\u826f\u3044\u3002", - "name": "\"Hawk\"", + "name": "“Hawk”", "shipAbility": { "name": "Fire Convergence", "text": "\u53cb\u8ecd\u5b87\u5b99\u8239\u304c\u3010\u30bf\u30ec\u30c3\u30c8\u30a2\u30fc\u30af\u3011\u3067\u306f\u306a\u3044\u653b\u6483\u3092\u5b9f\u884c\u3059\u308b\u969b\u3001\u3082\u3057\u9632\u5fa1\u8005\u304c\u541b\u306e\u3010\u30bf\u30ec\u30c3\u30c8\u30a2\u30fc\u30af\u3011\u5185\u306b\u3044\u308b\u306a\u3089\u3001\u541b\u306f\u3010\u30c1\u30e3\u30fc\u30b8\u3011\u30921\u3064\u6d88\u8cbb\u3057\u3066\u3082\u826f\u3044\u3002\u3082\u3057\u305d\u3046\u3059\u308b\u306a\u3089\u3001\u653b\u6483\u8005\u306f\u653b\u6483\u30c0\u30a4\u30b9\u30922\u500b\u307e\u3067\u632f\u308a\u76f4\u3057\u3066\u3082\u826f\u3044\u3002" @@ -1058,7 +1058,7 @@ }, "hound": { "ability": "\u541b\u306e\u3010\u30bf\u30ec\u30c3\u30c8\u30a2\u30fc\u30af\u3011\u5185\u306b\u3044\u308b\u53cb\u8ecd\u5b87\u5b99\u8239\u304c\u30c7\u30d7\u30ea\u30fc\u30c8\u3042\u308b\u3044\u306f\u30b9\u30c8\u30ec\u30a4\u30f3\u30fb\u30c8\u30fc\u30af\u30f3\u3092\u5f97\u305f\u5f8c\u3001\u3082\u3057\u541b\u304c\u305d\u306e\u30bf\u30a4\u30d7\u306e\u30c8\u30fc\u30af\u30f3\u3092\u6301\u3063\u3066\u3044\u306a\u3044\u306a\u3089\u3001\u541b\u306f\u305d\u306e\u30c8\u30fc\u30af\u30f3\u3092\u541b\u81ea\u8eab\u306b\u8ee2\u9001\u3057\u3066\u3082\u826f\u3044\u3002", - "name": "\"Hound\"", + "name": "“Hound”", "shipAbility": { "name": "Fire Convergence", "text": "\u53cb\u8ecd\u5b87\u5b99\u8239\u304c\u3010\u30bf\u30ec\u30c3\u30c8\u30a2\u30fc\u30af\u3011\u3067\u306f\u306a\u3044\u653b\u6483\u3092\u5b9f\u884c\u3059\u308b\u969b\u3001\u3082\u3057\u9632\u5fa1\u8005\u304c\u541b\u306e\u3010\u30bf\u30ec\u30c3\u30c8\u30a2\u30fc\u30af\u3011\u5185\u306b\u3044\u308b\u306a\u3089\u3001\u541b\u306f\u3010\u30c1\u30e3\u30fc\u30b8\u3011\u30921\u3064\u6d88\u8cbb\u3057\u3066\u3082\u826f\u3044\u3002\u3082\u3057\u305d\u3046\u3059\u308b\u306a\u3089\u3001\u653b\u6483\u8005\u306f\u653b\u6483\u30c0\u30a4\u30b9\u30922\u500b\u307e\u3067\u632f\u308a\u76f4\u3057\u3066\u3082\u826f\u3044\u3002" @@ -1066,7 +1066,7 @@ }, "warthog": { "ability": "\u541b\u304b\u30ec\u30f3\u30b80-2\u306e\u975e\u5236\u9650\u5b87\u5b99\u8239\u304c\u30a8\u30f3\u30b2\u30fc\u30b8\u30e1\u30f3\u30c8\u30fb\u30d5\u30a7\u30a4\u30ba\u306e\u9593\u306b\u7834\u58ca\u3055\u308c\u305f\u5f8c\u3001\u305d\u306e\u5b87\u5b99\u8239\u306f\u305d\u306e\u30d5\u30a7\u30a4\u30ba\u306e\u7d42\u4e86\u307e\u3067\u53d6\u308a\u9664\u304b\u308c\u306a\u3044\u3002", - "name": "\"Warthog\"", + "name": "“Warthog”", "shipAbility": { "name": "Fire Convergence", "text": "\u53cb\u8ecd\u5b87\u5b99\u8239\u304c\u3010\u30bf\u30ec\u30c3\u30c8\u30a2\u30fc\u30af\u3011\u3067\u306f\u306a\u3044\u653b\u6483\u3092\u5b9f\u884c\u3059\u308b\u969b\u3001\u3082\u3057\u9632\u5fa1\u8005\u304c\u541b\u306e\u3010\u30bf\u30ec\u30c3\u30c8\u30a2\u30fc\u30af\u3011\u5185\u306b\u3044\u308b\u306a\u3089\u3001\u541b\u306f\u3010\u30c1\u30e3\u30fc\u30b8\u3011\u30921\u3064\u6d88\u8cbb\u3057\u3066\u3082\u826f\u3044\u3002\u3082\u3057\u305d\u3046\u3059\u308b\u306a\u3089\u3001\u653b\u6483\u8005\u306f\u653b\u6483\u30c0\u30a4\u30b9\u30922\u500b\u307e\u3067\u632f\u308a\u76f4\u3057\u3066\u3082\u826f\u3044\u3002" @@ -1132,7 +1132,7 @@ "pilots": { "contrail": { "ability": "\u541b\u304c\u9632\u5fa1\u3042\u308b\u3044\u306f\u653b\u6483\u3092\u5b9f\u884c\u3059\u308b\u969b\u3001\u3082\u3057\u541b\u304c\u516c\u958b\u3057\u305f\u30de\u30cb\u30e5\u30fc\u30d0\u306e\u65b9\u5411\u304c\u6575\u306e\u30de\u30cb\u30e5\u30fc\u30d0\u306e\u3082\u306e\u3068\u540c\u3058\u306a\u3089\u3001\u541b\u306f\u6575\u306e\u3010\u30d5\u30a9\u30fc\u30ab\u30b9\u3011\u306e\u7d50\u679c\u306e\u3046\u30611\u3064\u3092\u7a7a\u767d\u306e\u7d50\u679c\u306b\u5909\u66f4\u3057\u3066\u3082\u826f\u3044\u3002", - "name": "\"Contrail\"", + "name": "“Contrail”", "shipAbility": { "name": "Twin Ion Engines", "text": "\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u30fb\u30ab\u30fc\u30c9\u306e\"TIE\"\u5236\u9650\u3092\u7121\u8996\u3059\u308b\u3002" @@ -1140,7 +1140,7 @@ }, "klick": { "ability": "\u541b\u304c\u30ed\u30c3\u30af\u3057\u305f\u30ec\u30f3\u30b81-3\u306e\u5b87\u5b99\u8239\u304c\u9632\u5fa1\u3042\u308b\u3044\u306f\u653b\u6483\u3092\u5b9f\u884c\u3059\u308b\u969b\u3001\u541b\u306f\u3010\u30c1\u30e3\u30fc\u30b8\u3011\u30921\u3064\u6d88\u8cbb\u3057\u3066\u30ec\u30f3\u30b8\u30fb\u30dc\u30fc\u30ca\u30b9\u304c\u9069\u7528\u3055\u308c\u308b\u306e\u3092\u59a8\u3052\u3066\u3082\u826f\u3044\u3002", - "name": "\"Klick\"", + "name": "“Klick”", "shipAbility": { "name": "Twin Ion Engines", "text": "\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u30fb\u30ab\u30fc\u30c9\u306e\"TIE\"\u5236\u9650\u3092\u7121\u8996\u3059\u308b\u3002" @@ -1156,7 +1156,7 @@ }, "oddball-nimbusclassvwing": { "ability": "\u541b\u304c\u8d64\u306e\u30de\u30cb\u30e5\u30fc\u30d0\u3092\u5b8c\u5168\u306b\u5b9f\u884c\u3059\u308b\u304b\u8d64\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3057\u305f\u5f8c\u306b\u3001\u541b\u306e\u3010\u30d6\u30eb\u30ba\u30a2\u30a4\u30a2\u30fc\u30af\u3011\u306b\u6575\u5b87\u5b99\u8239\u304c\u3044\u308b\u306a\u3089\u3001\u541b\u306f\u305d\u306e\u5b87\u5b99\u8239\u306b\u5bfe\u3059\u308b\u30ed\u30c3\u30af\u3092\u5f97\u3066\u3082\u826f\u3044\u3002", - "name": "\"Odd Ball\"", + "name": "“Odd Ball”", "shipAbility": { "name": "Twin Ion Engines", "text": "\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u30fb\u30ab\u30fc\u30c9\u306e\"TIE\"\u5236\u9650\u3092\u7121\u8996\u3059\u308b\u3002" @@ -1189,7 +1189,7 @@ "pilots": { "axe": { "ability": "\u541b\u304c\u9632\u5fa1\u3042\u308b\u3044\u306f\u653b\u6483\u3092\u5b9f\u884c\u3057\u305f\u5f8c\u3001\u541b\u306f\u3010\u5de6\u30a2\u30fc\u30af\u3011\u3042\u308b\u3044\u306f\u3010\u53f3\u30a2\u30fc\u30af\u3011\u5185\u30ec\u30f3\u30b81-2\u306e\u53cb\u8ecd\u5b87\u5b99\u8239\u3092\u9078\u3093\u3067\u3082\u826f\u3044\u3002\u305d\u3046\u3059\u308b\u306a\u3089\u3001\u7dd1\u306e\u30c8\u30fc\u30af\u30f3\u30921\u3064\u305d\u306e\u5b87\u5b99\u8239\u306b\u8ee2\u9001\u3059\u308b\u3002", - "name": "\"Axe\"" + "name": "“Axe”" }, "bluesquadronprotector": { "ability": "", @@ -1201,19 +1201,19 @@ }, "kickback": { "ability": "\u541b\u304c\u3010\u30d0\u30ec\u30eb\u30fb\u30ed\u30fc\u30eb\u3011\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u884c\u3063\u305f\u5f8c\u3001\u541b\u306f\u8d64\u306e\u3010\u30ed\u30c3\u30af\u3011\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u884c\u3063\u3066\u3082\u826f\u3044\u3002", - "name": "\"Kickback\"" + "name": "“Kickback”" }, "oddball": { "ability": "\u8d64\u306e\u30de\u30cb\u30e5\u30fc\u30d0\u3092\u5b8c\u5168\u306b\u5b9f\u884c\u3059\u308b\u304b\u3001\u8d64\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u884c\u3063\u305f\u5f8c\u3001\u541b\u306e\u3010\u30d6\u30eb\u30ba\u30a2\u30a4\u3011\u5185\u306b\u6575\u5b87\u5b99\u8239\u304c\u3044\u308b\u306a\u3089\u3001\u541b\u306f\u305d\u306e\u5b87\u5b99\u8239\u3078\u306e\u30ed\u30c3\u30af\u3092\u5f97\u3066\u3082\u826f\u3044\u3002", - "name": "\"Odd Ball\"" + "name": "“Odd Ball”" }, "swoop": { "ability": "\u5c0f\u578b\u3042\u308b\u3044\u306f\u4e2d\u578b\u8239\u304c\u901f\u5ea63-4\u306e\u30de\u30cb\u30e5\u30fc\u30d0\u3092\u5b8c\u5168\u306b\u884c\u3063\u305f\u5f8c\u3001\u3082\u3057\u305d\u308c\u304c\u30ec\u30f3\u30b80-1\u306b\u3044\u308b\u306a\u3089\u3001\u305d\u308c\u306f\u8d64\u306e\u3010\u30d6\u30fc\u30b9\u30c8\u3011\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u884c\u3063\u3066\u3082\u826f\u3044\u3002", - "name": "\"Swoop\"" + "name": "“Swoop”" }, "tucker": { "ability": "\u30ec\u30f3\u30b81-2\u306e\u53cb\u8ecd\u5b87\u5b99\u8239\u304c\u541b\u306e\u3010\u524d\u30a2\u30fc\u30af\u3011\u5185\u306e\u6575\u5b87\u5b99\u8239\u306b\u653b\u6483\u3057\u305f\u5f8c\u3001\u541b\u306f\u3010\u30d5\u30a9\u30fc\u30ab\u30b9\u3011\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u884c\u3063\u3066\u3082\u826f\u3044\u3002", - "name": "\"Tucker\"" + "name": "“Tucker”" } }, "ship_name": "V-19 Torrent Starfighter" @@ -1221,7 +1221,7 @@ } }, "rebelalliance": { - "faction": "Rebel Alliance", + "faction": "rebelalliance", "ships": { "arc170starfighter": { "pilots": { @@ -1297,7 +1297,7 @@ }, "zeborrelios": { "ability": "\u541b\u304c\u9632\u5fa1\u3059\u308b\u969b\u3001\u541b\u306f\u3010\u547d\u4e2d\u3011\u306e\u7d50\u679c\u306e\u524d\u306b\u3010\u30af\u30ea\u30c6\u30a3\u30ab\u30eb\u3011\u306e\u7d50\u679c\u3092\u76f8\u6bba\u3057\u3066\u3082\u826f\u3044\u3002", - "name": "\"Zeb\" Orrelios", + "name": "“Zeb” Orrelios", "shipAbility": { "name": "Locked and Loaded", "text": "\u541b\u304c\u30c9\u30c3\u30af\u3055\u308c\u3066\u3044\u308b\u969b\u3001\u541b\u306e\u30ad\u30e3\u30ea\u30a2\u5b87\u5b99\u8239\u304c\u4e3b\u3010\u524d\u30a2\u30fc\u30af\u3011\u3042\u308b\u3044\u306f\u3010\u30bf\u30ec\u30c3\u30c8\u30a2\u30fc\u30af\u3011\u306b\u3088\u308b\u653b\u6483\u3092\u5b9f\u884c\u3057\u305f\u5f8c\u3001\u305d\u306e\u5b87\u5b99\u8239\u306f\u30dc\u30fc\u30ca\u30b9\u306e\u4e3b\u3010\u5f8c\u30a2\u30fc\u30af\u3011\u653b\u6483\u3092\u5b9f\u884c\u3057\u3066\u3082\u826f\u3044\u3002" @@ -1327,7 +1327,7 @@ "pilots": { "dutchvander": { "ability": "\u541b\u304c\u3010\u30ed\u30c3\u30af\u3011\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3057\u305f\u5f8c\u3001\u541b\u306f\u30ec\u30f3\u30b81-3\u306e\u53cb\u8ecd\u5b87\u5b99\u8239\u3092\u9078\u3093\u3067\u3082\u826f\u3044\u3002\u305d\u306e\u5b87\u5b99\u8239\u306f\u541b\u304c\u30ed\u30c3\u30af\u3057\u305f\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3078\u306e\u30ed\u30c3\u30af\u3092\u3001\u8ddd\u96e2\u306e\u5236\u9650\u3092\u7121\u8996\u3057\u3066\u5f97\u308b\u3002", - "name": "\"Dutch\" Vander" + "name": "“Dutch” Vander" }, "evaanverlaine": { "ability": "\u30a8\u30f3\u30b2\u30fc\u30b8\u30e1\u30f3\u30c8\u30fb\u30d5\u30a7\u30a4\u30ba\u306e\u958b\u59cb\u6642\u3001\u541b\u306f\u30d5\u30a9\u30fc\u30ab\u30b9\u30fb\u30c8\u30fc\u30af\u30f3\u30921\u3064\u6d88\u8cbb\u3057\u3001\u30ec\u30f3\u30b80-1\u306e\u53cb\u8ecd\u5b87\u5b99\u8239\u30921\u3064\u9078\u3093\u3067\u3082\u826f\u3044\u3002\u305d\u3046\u3059\u308b\u306a\u3089\u3001\u305d\u306e\u5b87\u5b99\u8239\u306f\u30e9\u30a6\u30f3\u30c9\u7d42\u4e86\u307e\u3067\u3001\u9632\u5fa1\u6642\u306b\u9632\u5fa1\u30c0\u30a4\u30b9\u30921\u3064\u591a\u304f\u632f\u308b\u3002", @@ -1517,7 +1517,7 @@ }, "zeborrelios-sheathipedeclassshuttle": { "ability": "\u541b\u304c\u9632\u5fa1\u3059\u308b\u969b\u3001\u541b\u306f\u3010\u547d\u4e2d\u3011\u306e\u7d50\u679c\u306e\u524d\u306b\u3010\u30af\u30ea\u30c6\u30a3\u30ab\u30eb\u3011\u306e\u7d50\u679c\u3092\u76f8\u6bba\u3057\u3066\u3082\u826f\u3044\u3002", - "name": "\"Zeb\" Orrelios", + "name": "“Zeb” Orrelios", "shipAbility": { "name": "Comms Shuttle", "text": "\u541b\u304c\u30c9\u30c3\u30af\u3055\u308c\u3066\u3044\u308b\u969b\u3001\u541b\u306e\u30ad\u30e3\u30ea\u30a2\u5b87\u5b99\u8239\u306f\u3010\u30b3\u30fc\u30c7\u30a3\u30cd\u30fc\u30c8\u3011\u3092\u5f97\u308b\u3002\u541b\u306e\u30ad\u30e3\u30ea\u30a2\u5b87\u5b99\u8239\u306e\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30c8\u306e\u524d\u306b\u3001\u305d\u308c\u306f\u3010\u30b3\u30fc\u30c7\u30a3\u30cd\u30fc\u30c8\u3011\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u884c\u3063\u3066\u3082\u826f\u3044\u3002" @@ -1595,7 +1595,7 @@ }, "zeborrelios-tielnfighter": { "ability": "\u541b\u304c\u9632\u5fa1\u3059\u308b\u969b\u3001\u541b\u306f\u3010\u547d\u4e2d\u3011\u306e\u7d50\u679c\u306e\u524d\u306b\u3010\u30af\u30ea\u30c6\u30a3\u30ab\u30eb\u3011\u306e\u7d50\u679c\u3092\u76f8\u6bba\u3057\u3066\u3082\u826f\u3044\u3002", - "name": "\"Zeb\" Orrelios" + "name": "“Zeb” Orrelios" } }, "ship_name": "TIE/ln Fighter(Rebel)" @@ -1653,7 +1653,7 @@ }, "chopper": { "ability": "\u30a8\u30f3\u30b2\u30fc\u30b8\u30e1\u30f3\u30c8\u30fb\u30d5\u30a7\u30a4\u30ba\u306e\u958b\u59cb\u6642\u3001\u30ec\u30f3\u30b80\u306e\u5404\u6575\u5b87\u5b99\u8239\u306f\u30b8\u30e3\u30e0\u30fb\u30c8\u30fc\u30af\u30f3\u30922\u3064\u53d7\u3051\u53d6\u308b\u3002", - "name": "\"Chopper\"", + "name": "“Chopper”", "shipAbility": { "name": "Tail Gun", "text": "\u541b\u306b\u5b87\u5b99\u8239\u304c\u30c9\u30c3\u30af\u3055\u308c\u3066\u3044\u308b\u306a\u3089\u3001\u541b\u306f\u4e3b\u3010\u5f8c\u30a2\u30fc\u30af\u3011\u6b66\u88c5\u3092\u3001\u30c9\u30c3\u30af\u3055\u308c\u305f\u5b87\u5b99\u8239\u306e\u4e3b\u3010\u524d\u30a2\u30fc\u30af\u3011\u653b\u6483\u5024\u3068\u540c\u3058\u653b\u6483\u5024\u3067\u6301\u3064\u3002" @@ -1698,7 +1698,7 @@ }, "leebo": { "ability": "\u541b\u304c\u9632\u5fa1\u3042\u308b\u3044\u306f\u653b\u6483\u3092\u5b9f\u884c\u3057\u305f\u5f8c\u3001\u3082\u3057\u541b\u304c\u30ab\u30ea\u30ad\u30e5\u30ec\u30fc\u30c8\u30fb\u30c8\u30fc\u30af\u30f3\u3092\u6d88\u8cbb\u3057\u305f\u306a\u3089\u3001\u30ab\u30ea\u30ad\u30e5\u30ec\u30fc\u30c8\u30fb\u30c8\u30fc\u30af\u30f3\u30921\u3064\u5f97\u308b\u3002", - "name": "\"Leebo\"", + "name": "“Leebo”", "shipAbility": { "name": "Sensor Blindspot", "text": "\u541b\u304c\u30ec\u30f3\u30b80-1\u306e\u4e3b\u6b66\u88c5\u306b\u3088\u308b\u653b\u6483\u3092\u5b9f\u884c\u3059\u308b\u969b\u3001\u30ec\u30f3\u30b80-1\u30dc\u30fc\u30ca\u30b9\u3092\u9069\u7528\u305b\u305a\u3001\u653b\u6483\u30c0\u30a4\u30b9\u30921\u3064\u5c11\u306a\u304f\u632f\u308b\u3002" @@ -1739,7 +1739,7 @@ } }, "resistance": { - "faction": "Resistance", + "faction": "resistance", "ships": { "fireball": { "pilots": { @@ -2111,7 +2111,7 @@ } }, "scumandvillainy": { - "faction": "Scum and Villainy", + "faction": "scumandvillainy", "ships": { "aggressorassaultfighter": { "pilots": { @@ -2735,7 +2735,7 @@ } }, "separatistalliance": { - "faction": "Separatist Alliance", + "faction": "separatistalliance", "ships": { "belbullab22starfighter": { "pilots": { diff --git a/data/manifest.json b/data/manifest.json index c7c35c1a4..5a2699d6d 100644 --- a/data/manifest.json +++ b/data/manifest.json @@ -1,5 +1,5 @@ { - "version": "2.5.3", + "version": "3.9.1", "damagedecks": ["data/damage-decks/core.json"], "factions": ["data/factions/factions.json"], "stats": ["data/stats/stats.json"], @@ -16,6 +16,8 @@ "data/pilots/rebel-alliance/btl-s8-k-wing.json", "data/pilots/rebel-alliance/cr90-corellian-corvette.json", "data/pilots/rebel-alliance/e-wing.json", + "data/pilots/rebel-alliance/fang-fighter.json", + "data/pilots/rebel-alliance/gauntlet-fighter.json", "data/pilots/rebel-alliance/gr-75-medium-transport.json", "data/pilots/rebel-alliance/hwk-290-light-freighter.json", "data/pilots/rebel-alliance/modified-yt-1300-light-freighter.json", @@ -26,6 +28,7 @@ "data/pilots/rebel-alliance/ut-60d-u-wing.json", "data/pilots/rebel-alliance/vcx-100-light-freighter.json", "data/pilots/rebel-alliance/yt-2400-light-freighter.json", + "data/pilots/rebel-alliance/yt-2400-light-freighter-2023.json", "data/pilots/rebel-alliance/z-95-af4-headhunter.json" ] }, @@ -40,6 +43,7 @@ "data/pilots/scum-and-villainy/fang-fighter.json", "data/pilots/scum-and-villainy/firespray-class-patrol-craft.json", "data/pilots/scum-and-villainy/g-1a-starfighter.json", + "data/pilots/scum-and-villainy/gauntlet-fighter.json", "data/pilots/scum-and-villainy/hwk-290-light-freighter.json", "data/pilots/scum-and-villainy/jumpmaster-5000.json", "data/pilots/scum-and-villainy/kihraxz-fighter.json", @@ -48,10 +52,13 @@ "data/pilots/scum-and-villainy/m3-a-interceptor.json", "data/pilots/scum-and-villainy/modified-tie-ln-fighter.json", "data/pilots/scum-and-villainy/quadrijet-transfer-spacetug.json", + "data/pilots/scum-and-villainy/rogue-class-starfighter.json", "data/pilots/scum-and-villainy/scurrg-h-6-bomber.json", + "data/pilots/scum-and-villainy/st-70-assault-ship.json", "data/pilots/scum-and-villainy/starviper-class-attack-platform.json", "data/pilots/scum-and-villainy/trident-class-assault-ship.json", "data/pilots/scum-and-villainy/yv-666-light-freighter.json", + "data/pilots/scum-and-villainy/yt-2400-light-freighter-2023.json", "data/pilots/scum-and-villainy/z-95-af4-headhunter.json" ] }, @@ -59,6 +66,7 @@ "faction": "galacticempire", "ships": [ "data/pilots/galactic-empire/alpha-class-star-wing.json", + "data/pilots/galactic-empire/gauntlet-fighter.json", "data/pilots/galactic-empire/gozanti-class-cruiser.json", "data/pilots/galactic-empire/lambda-class-t-4a-shuttle.json", "data/pilots/galactic-empire/raider-class-corvette.json", @@ -118,7 +126,9 @@ "data/pilots/separatist-alliance/droid-tri-fighter.json", "data/pilots/separatist-alliance/hmp-droid-gunship.json", "data/pilots/separatist-alliance/trident-class-assault-ship.json", - "data/pilots/separatist-alliance/firespray-class-patrol-craft.json" + "data/pilots/separatist-alliance/firespray-class-patrol-craft.json", + "data/pilots/separatist-alliance/rogue-class-starfighter.json", + "data/pilots/separatist-alliance/gauntlet-fighter.json" ] }, { @@ -131,8 +141,11 @@ "data/pilots/galactic-republic/naboo-royal-n-1-starfighter.json", "data/pilots/galactic-republic/btl-b-y-wing.json", "data/pilots/galactic-republic/eta-2-actis.json", + "data/pilots/galactic-republic/gauntlet-fighter.json", "data/pilots/galactic-republic/laat-i-gunship.json", - "data/pilots/galactic-republic/nimbus-class-v-wing.json" + "data/pilots/galactic-republic/nimbus-class-v-wing.json", + "data/pilots/galactic-republic/syliure-class-hyperspace-ring.json", + "data/pilots/galactic-republic/clone-z-95-headhunter.json" ] } ], @@ -147,6 +160,7 @@ "data/upgrades/force-power.json", "data/upgrades/gunner.json", "data/upgrades/hardpoint.json", + "data/upgrades/hyperdrive.json", "data/upgrades/illicit.json", "data/upgrades/missile.json", "data/upgrades/modification.json", diff --git a/data/pilots/first-order/gozanti-class-cruiser.json b/data/pilots/first-order/gozanti-class-cruiser.json index e980157a4..0c75b96b5 100644 --- a/data/pilots/first-order/gozanti-class-cruiser.json +++ b/data/pilots/first-order/gozanti-class-cruiser.json @@ -1,9 +1,8 @@ { "name": "Gozanti-class Cruiser", "xws": "gozanticlasscruiser", - "ffg": 81, - "faction": "First Order", - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Gozanti.png", + "faction": "firstorder", + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-empire/I_Gozanti.png", "size": "Huge", "dial": [ "0BR", @@ -18,35 +17,72 @@ "3FB", "4FR" ], - "dialCodes": ["GOZ-FO"], + "dialCodes": [ + "GOZ-FO" + ], "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 0 }, - { "type": "hull", "value": 11 }, - { "type": "shields", "value": 5, "recovers": 1 }, - { "type": "energy", "value": 3, "recovers": 1 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 0 + }, + { + "type": "hull", + "value": 11 + }, + { + "type": "shields", + "value": 5, + "recovers": 1 + }, + { + "type": "energy", + "value": 3, + "recovers": 1 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Coordinate" }, - { "difficulty": "White", "type": "Reinforce" }, - { "difficulty": "White", "type": "Jam" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Coordinate" + }, + { + "difficulty": "White", + "type": "Reinforce" + }, + { + "difficulty": "White", + "type": "Jam" + } ], "pilots": [ { - "ffg": 712, "name": "First Order Sympathizers", "initiative": 7, - "cost": 67, + "cost": 66, "limited": 0, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/99965cf5c4a2611773c6e7f4ecb6608f.jpg", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/firstordersympathizers.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/firstordersympathizers.png", "shipAbility": { "name": "Docking Clamps", "text": "You can dock up to 4 small ships." }, "text": "The First Order's swift rise to power rests upon ruthless innovation. However, sympathizers often repurpose Imperial designs, like the venerable Gozanti-class cruiser, in surveillance and patrol operations.", - "hyperspace": false, + "standard": false, + "wildspace": false, + "epic": true, "engagement": 1, "xws": "firstordersympathizers", "slots": [ @@ -61,4 +97,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/data/pilots/first-order/raider-class-corvette.json b/data/pilots/first-order/raider-class-corvette.json index 76f178d64..357013c9f 100644 --- a/data/pilots/first-order/raider-class-corvette.json +++ b/data/pilots/first-order/raider-class-corvette.json @@ -1,9 +1,8 @@ { "name": "Raider-class Corvette", "xws": "raiderclasscorvette", - "ffg": 79, - "faction": "First Order", - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Raider.png", + "faction": "firstorder", + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-empire/I_Raider.png", "size": "Huge", "dial": [ "0BR", @@ -21,35 +20,72 @@ "4FW", "5FR" ], - "dialCodes": ["RDR-FO"], + "dialCodes": [ + "RDR-FO" + ], "stats": [ - { "arc": "Full Front Arc", "type": "attack", "value": 4 }, - { "type": "agility", "value": 0 }, - { "type": "hull", "value": 20 }, - { "type": "shields", "value": 8, "recovers": 2 }, - { "type": "energy", "value": 6, "recovers": 2 } + { + "arc": "Full Front Arc", + "type": "attack", + "value": 4 + }, + { + "type": "agility", + "value": 0 + }, + { + "type": "hull", + "value": 20 + }, + { + "type": "shields", + "value": 8, + "recovers": 2 + }, + { + "type": "energy", + "value": 6, + "recovers": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Coordinate" }, - { "difficulty": "White", "type": "Reinforce" }, - { "difficulty": "White", "type": "Jam" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Coordinate" + }, + { + "difficulty": "White", + "type": "Reinforce" + }, + { + "difficulty": "White", + "type": "Jam" + } ], "pilots": [ { - "ffg": 708, "name": "First Order Collaborators", "initiative": 8, "cost": 131, "limited": 0, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/b9a9671d88e370fd473ec5d87491ad65.jpg", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/firstordercollaborators.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/firstordercollaborators.png", "shipAbility": { "name": "Concentrated Batteries", "text": "While you perform a primary, [Torpedo], or [Missile] attack, if the defender is in your [Bullseye Arc], roll 1 additional die." }, "text": "The First Order's supporters make use of former Imperial vessels, such as the Raider-class corvette. Though it has outlived the regime that created it, this craft still spreads terror across the galaxy.", - "hyperspace": false, + "standard": false, + "wildspace": false, + "epic": true, "engagement": 0, "xws": "firstordercollaborators", "slots": [ @@ -66,4 +102,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/data/pilots/first-order/tie-ba-interceptor.json b/data/pilots/first-order/tie-ba-interceptor.json index 017ea02c4..619bad48a 100644 --- a/data/pilots/first-order/tie-ba-interceptor.json +++ b/data/pilots/first-order/tie-ba-interceptor.json @@ -1,7 +1,6 @@ { "name": "TIE/ba Interceptor", "xws": "tiebainterceptor", - "ffg": 70, "size": "Small", "dial": [ "1TB", @@ -24,79 +23,133 @@ "5FW", "5KR" ], - "dialCodes": ["VT"], - "faction": "First Order", + "dialCodes": [ + "VT" + ], + "faction": "firstorder", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 3 }, - { "type": "hull", "value": 2 }, - { "type": "shields", "value": 2 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 2 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Evade" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Barrel Roll" }, - { "difficulty": "White", "type": "Boost" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Boost" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Vonregs-First-Order-TIE-Interceptor.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/first-order/I_Vonregs-First-Order-TIE-Interceptor.png", "pilots": [ { "name": "Major Vonreg", "caption": "Red Baron", "initiative": 6, "limited": 1, - "cost": 54, + "cost": 53, "xws": "majorvonreg", "ability": "During the System Phase, you may choose 1 enemy ship in your [Bullseye Arc]. That ship gains 1 deplete or strain token of your choice.", "shipAbility": { "name": "Fine-Tuned Thrusters", "text": "After you fully execute a maneuver, if you are not depleted or strained, you may gain 1 deplete or strain token to perform a [Lock] or [Barrel Roll] action." }, - "slots": ["Talent", "Tech", "Missile", "Modification"], - "hyperspace": true, - "ffg": 624, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/4d8fdab1a5317159fcd56f722b6d73e5.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/e95d46ad3a22ad0790cfd18a7e10cf81.png", - "keywords": ["TIE"] + "slots": [ + "Talent", + "Tech", + "Missile", + "Modification" + ], + "standard": true, + "wildspace": true, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/majorvonreg.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/majorvonreg.png", + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "\"Holo\"", + "name": "“Holo”", "caption": "Trick of the Light", "initiative": 5, "limited": 1, - "cost": 53, + "cost": 52, "xws": "holo", "ability": "At the start of the Engagement Phase, you must transfer 1 of your tokens to another friendly ship at range 0-2.", "shipAbility": { "name": "Fine-Tuned Thrusters", "text": "After you fully execute a maneuver, if you are not depleted or strained, you may gain 1 deplete or strain token to perform a [Lock] or [Barrel Roll] action." }, - "slots": ["Talent", "Tech", "Missile", "Modification"], - "hyperspace": true, - "ffg": 625, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/61d81abede1ce312b0de7d16623c2e60.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/ee53482be8e59ff44f272e76c4e8123d.png", - "keywords": ["TIE"] + "slots": [ + "Talent", + "Tech", + "Missile", + "Modification" + ], + "standard": true, + "wildspace": true, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/holo.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/holo.png", + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "\"Ember\"", + "name": "“Ember”", "caption": "Dying Flame", "initiative": 4, "limited": 1, - "cost": 45, + "cost": 44, "xws": "ember", "ability": "While you perform an attack, if there is a damaged ship friendly to the defender at range 0-1 of the defender, the defender cannot spend focus or calculate tokens.", "shipAbility": { "name": "Fine-Tuned Thrusters", "text": "After you fully execute a maneuver, if you are not depleted or strained, you may gain 1 deplete or strain token to perform a [Lock] or [Barrel Roll] action." }, - "slots": ["Talent", "Tech", "Missile", "Modification"], - "hyperspace": true, - "ffg": 626, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/47fd0abc0fa4cea1508a800e75d18ebe.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/4de956edddeacb92ef3e4f94e0a63db3.png", - "keywords": ["TIE"] + "slots": [ + "Talent", + "Tech", + "Missile", + "Modification" + ], + "standard": true, + "wildspace": true, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/ember.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/ember.png", + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "First Order Provocateur", @@ -109,12 +162,20 @@ "name": "Fine-Tuned Thrusters", "text": "After you fully execute a maneuver, if you are not depleted or strained, you may gain 1 deplete or strain token to perform a [Lock] or [Barrel Roll] action." }, - "slots": ["Talent", "Tech", "Missile", "Modification"], - "hyperspace": false, - "ffg": 627, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/947aa948233f6a5fe5833dcf45cf8f01.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/c834c2c4722b60e67292130d40c7ec19.png", - "keywords": ["TIE"] + "slots": [ + "Talent", + "Tech", + "Missile", + "Modification" + ], + "standard": true, + "wildspace": true, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/firstorderprovocateur.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/firstorderprovocateur.png", + "keywords": [ + "TIE" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/first-order/tie-fo-fighter.json b/data/pilots/first-order/tie-fo-fighter.json index 4bafb5480..9f80d8527 100644 --- a/data/pilots/first-order/tie-fo-fighter.json +++ b/data/pilots/first-order/tie-fo-fighter.json @@ -1,7 +1,6 @@ { "name": "TIE/fo Fighter", "xws": "tiefofighter", - "ffg": 49, "size": "Small", "dial": [ "1TW", @@ -22,126 +21,205 @@ "4KR", "5FW" ], - "dialCodes": ["Tfo"], - "faction": "First Order", + "dialCodes": [ + "Tfo" + ], + "faction": "firstorder", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 3 }, - { "type": "hull", "value": 3 }, - { "type": "shields", "value": 1 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 3 + }, + { + "type": "shields", + "value": 1 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Evade" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Barrel Roll" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_TIEfo.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/first-order/I_TIEfo.png", "pilots": [ { - "name": "\"Midnight\"", + "name": "“Midnight”", "caption": "Omega Leader", "initiative": 6, "limited": 1, - "cost": 35, + "cost": 34, "xws": "midnight", "ability": "While you defend or perform an attack, if you have a lock on the enemy ship, that ship's dice cannot be modified.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/c7994885b38757f92bdf3a98c37b3c96.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/c6a43d25d22d4112dd7e968cab4eb3d5.jpg", - "slots": ["Talent", "Modification", "Tech"], - "ffg": 397, - "hyperspace": true, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/midnight.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/midnight.png", + "slots": [ + "Talent", + "Modification", + "Tech" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Commander Malarus", "caption": "First Order Enforcer", "initiative": 5, "limited": 1, - "cost": 33, + "cost": 34, "xws": "commandermalarus", "ability": "At the start of the Engagement Phase, you may spend 1 [Charge] and gain 1 stress token. If you do, until the end of the round, while you defend or perform an attack, you may change all of your [Focus] results to [Evade] or [Hit] results.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/f7506ec739f5580d484ff0ee49b041f3.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/d9cfa6aacc29d55a47aaa0d9f75d362e.jpg", - "slots": ["Talent", "Modification", "Tech"], - "charges": { "value": 2, "recovers": 0 }, - "ffg": 452, - "hyperspace": true, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/commandermalarus.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/commandermalarus.png", + "slots": [ + "Talent", + "Modification", + "Tech" + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "\"Scorch\"", + "name": "“Scorch”", "caption": "Zeta Leader", "initiative": 4, "limited": 1, "cost": 33, "xws": "scorch", "ability": "While you perform a primary attack, if you are not stressed, you may gain 1 stress token to roll 1 additional attack die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/9dd11d408bb869cb947663fc29622833.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/dd225b2dab46b921e622dca6d799591f.jpg", - "slots": ["Talent", "Modification", "Tech"], - "ffg": 398, - "hyperspace": true, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/scorch.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/scorch.png", + "slots": [ + "Talent", + "Modification", + "Tech" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "\"Static\"", + "name": "“Static”", "caption": "Omega Ace", "initiative": 4, "limited": 1, - "cost": 31, + "cost": 29, "xws": "static", "ability": "While you perform a primary attack, you may spend your lock on the defender and a focus token to change all of your results to [Critical Hit] results.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/2481fe5d98026e086a901d83dbe87018.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/30e0837d4877df289c220ea0ae174078.jpg", - "slots": ["Talent", "Modification", "Tech"], - "ffg": 399, - "hyperspace": true, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/static.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/static.png", + "slots": [ + "Talent", + "Modification", + "Tech" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "\"Longshot\"", + "name": "“Longshot”", "caption": "Zeta Ace", "initiative": 3, "limited": 1, "cost": 30, "xws": "longshot", "ability": "While you perform a primary attack at attack range 3, roll 1 additional attack die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/d0e698f59696c15b60d7eaa1e2d51eeb.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/31ad38b2fc0d39f37ad82e1c70f62135.jpg", - "slots": ["Talent", "Modification", "Tech"], - "ffg": 400, - "hyperspace": true, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/longshot.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/longshot.png", + "slots": [ + "Talent", + "Modification", + "Tech" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Omega Squadron Ace", "initiative": 3, "limited": 0, - "cost": 29, + "cost": 28, "xws": "omegasquadronace", "text": "Only pilots who have demonstrated both exceptional skill and unwavering dedication are rewarded with coveted positions in the First Order squadrons operating secretly against the New Republic during the Cold War.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/97e72d0f5dc8c2dd21a355e3258f37dd.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/4e5010f7b60902288dac36bf646dcde9.jpg", - "slots": ["Talent", "Modification", "Tech"], - "ffg": 403, - "hyperspace": false, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/omegasquadronace.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/omegasquadronace.png", + "slots": [ + "Talent", + "Modification", + "Tech" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "\"Muse\"", + "name": "“Muse”", "caption": "Epsilon Leader", "initiative": 2, "limited": 1, - "cost": 30, + "cost": 28, "xws": "muse", "ability": "At the start of the Engagement Phase, you may choose a friendly ship at range 0-1. If you do, that ship removes 1 stress token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/7de4e91de0906eb548bfe3a08a1b6abe.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/d3f8b9baf0bbd8a7d2b785a616dacbcf.jpg", - "slots": ["Talent", "Modification", "Tech"], - "ffg": 401, - "hyperspace": true, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/muse.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/muse.png", + "slots": [ + "Talent", + "Modification", + "Tech" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "TN-3465", @@ -151,12 +229,18 @@ "cost": 28, "xws": "tn3465", "ability": "While another friendly ship performs an attack, if you are at range 0-1 of the defender, you may suffer 1 [Critical Hit] damage to change 1 of the attacker's results to a [Critical Hit] result.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/333cbf0da8849edb38c4e93944d8fe57.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/9fce0e75539a225e9ff1536e466c3c13.jpg", - "slots": ["Modification", "Tech"], - "ffg": 453, - "hyperspace": true, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/tn3465.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/tn3465.png", + "slots": [ + "Modification", + "Tech" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Zeta Squadron Pilot", @@ -165,12 +249,18 @@ "cost": 27, "xws": "zetasquadronpilot", "text": "Unhampered by a cumbersome galactic bureaucracy, technologies originally researched by the Empire's TIE Advanced program are now mass-produced on First Order starfighters. As a result, TIE/fo pilots enjoy higher survival rates than their predecessors in the Galactic Empire.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/be1062b6a7a8e4644223146342990a02.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/d20d6cc2a052afc783d535c802874d23.jpg", - "slots": ["Modification", "Tech"], - "ffg": 404, - "hyperspace": false, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/zetasquadronpilot.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/zetasquadronpilot.png", + "slots": [ + "Modification", + "Tech" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Epsilon Squadron Cadet", @@ -179,12 +269,18 @@ "cost": 26, "xws": "epsilonsquadroncadet", "text": "Trained from childhood aboard Resurgent-class Star Destroyers in deep space, many First Order TIE pilots have never even set foot on a planet's surface.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/e911cd18f04225bbd36c48114b56f3cc.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/610cb198e4cda75aab0207841c6e4a87.jpg", - "slots": ["Modification", "Tech"], - "ffg": 405, - "hyperspace": false, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/epsilonsquadroncadet.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/epsilonsquadroncadet.png", + "slots": [ + "Modification", + "Tech" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Lieutenant Rivas", @@ -193,28 +289,130 @@ "limited": 1, "cost": 28, "xws": "lieutenantrivas", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/7188ec2eb699261dbd47a15df6164f4c.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/66f969d008fc995bd940bf1ab647109f.jpg", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lieutenantrivas.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lieutenantrivas.png", "ability": "After a ship at range 1-2 gains a red or orange token, if you do not have that ship locked, you may acquire a lock on that ship.", - "slots": ["Modification", "Tech"], - "ffg": 454, - "hyperspace": true, - "keywords": ["TIE"] + "slots": [ + "Modification", + "Tech" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "\"Null\"", + "name": "“Null”", "caption": "Epsilon Ace", "initiative": 0, "limited": 1, - "cost": 30, + "cost": 29, "xws": "null", "ability": "While you are not damaged, treat your initiative value as 7.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/79a9d780d3540647af1e057113869294.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/eb788d9622d096c6d96c96cf20dc1939.jpg", - "slots": ["Modification", "Tech"], - "ffg": 402, - "hyperspace": true, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/null.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/null.png", + "slots": [ + "Modification", + "Tech" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Lieutenant Galek", + "caption": "Harsh Instructor", + "initiative": 5, + "limited": 1, + "cost": 30, + "xws": "lieutenantgalek", + "ability": "After another friendly ship at range 0-2 is destroyed, you may perform a [Coordinate] action, even while stressed. While you coordinate, the ship you choose can perform an action only if that action is also on your action bar.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lieutenantgalek.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lieutenantgalek.png", + "slots": [ + "Talent", + "Modification", + "Tech" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "DT-798", + "caption": "Jace Rucklin", + "initiative": 4, + "limited": 1, + "cost": 34, + "xws": "dt798", + "ability": "While you perform a primary attack, if you are not strained, you may gain 1 strain token to roll 1 additional die.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dt798.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dt798.png", + "slots": [ + "Talent", + "Modification", + "Tech" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Lin Gaava", + "caption": "Impetuous Mechanic", + "initiative": 3, + "limited": 1, + "cost": 30, + "xws": "lingaava", + "ability": "Setup: After placing forces, assign the Primed for Speed condition to yourself and up to 2 other friendly TIE/fo or TIE/sf Fighters that have no equipped [Modification] upgrades.", + "conditions": [ + "primedforspeed" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lingaava.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lingaava.png", + "slots": [ + "Talent", + "Modification", + "Tech" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "FN-2187", + "caption": "Eight-Seven", + "initiative": 1, + "limited": 1, + "cost": 28, + "xws": "fn2187-wat1", + "ability": "At the start of the Engagement Phase, you may gain 1 strain token to choose an enemy ship in your [Front Arc]. If you do, that ship gains 1 deplete token.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/fn2187-wat1.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/fn2187-wat1.png", + "slots": [ + "Modification", + "Tech" + ], + "standard": false, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true } ] } diff --git a/data/pilots/first-order/tie-se-bomber.json b/data/pilots/first-order/tie-se-bomber.json index 3c2a1e489..dda63cdf7 100644 --- a/data/pilots/first-order/tie-se-bomber.json +++ b/data/pilots/first-order/tie-se-bomber.json @@ -2,7 +2,6 @@ "name": "TIE/se Bomber", "xws": "tiesebomber", "size": "Small", - "ffg": 87, "dial": [ "1TR", "1BW", @@ -23,32 +22,62 @@ "3PR", "4FW" ], - "dialCodes": ["Tse"], - "faction": "First Order", + "dialCodes": [ + "Tse" + ], + "faction": "firstorder", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 4 }, - { "type": "shields", "value": 2 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 4 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Lock" }, + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Lock" + }, "type": "Barrel Roll" }, - { "difficulty": "Red", "type": "Boost" }, + { + "difficulty": "Red", + "type": "Boost" + }, { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Evade" }, + "linked": { + "difficulty": "Red", + "type": "Evade" + }, "type": "Reload" } ], "pilots": [ { - "name": "\"Breach\"", + "name": "“Breach”", "xws": "breach", "initiative": 5, "limited": 1, @@ -56,8 +85,9 @@ "name": "Pursuit Thrusters", "text": "During the System Phase, you may perform a [Boost] action." }, - "hyperspace": true, - "cost": 36, + "standard": true, + "wildspace": true, + "cost": 37, "slots": [ "Talent", "Tech", @@ -69,14 +99,16 @@ "Modification" ], "ability": "After you fully execute a maneuver or perform a [Boost] action, if you moved through an enemy ship, you may acquire a lock on that ship.", - "ffg": 913, - "artwork": "???", - "image": "???", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/breach.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/breach.png", "caption": "Ordnance Expert", - "keywords": ["TIE"] + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "\"Scorch\"", + "name": "“Scorch”", "xws": "scorch-tiesebomber", "initiative": 4, "limited": 1, @@ -84,8 +116,9 @@ "name": "Pursuit Thrusters", "text": "During the System Phase, you may perform a [Boost] action." }, - "hyperspace": true, - "cost": 35, + "standard": true, + "wildspace": true, + "cost": 33, "slots": [ "Talent", "Tech", @@ -97,14 +130,16 @@ "Modification" ], "ability": "While a friendly ship at range 0-1 performs a primary attack, it may spend 1 [Hit] result. If it does, after defending, the defender gains 1 strain token.", - "ffg": 914, - "artwork": "???", - "image": "???", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/scorch-tiesebomber.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/scorch-tiesebomber.png", "caption": "Jad Bean", - "keywords": ["TIE"] + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "\"Dread\"", + "name": "“Dread”", "xws": "dread", "initiative": 3, "limited": 1, @@ -112,9 +147,11 @@ "name": "Pursuit Thrusters", "text": "During the System Phase, you may perform a [Boost] action." }, - "hyperspace": true, + "standard": true, + "wildspace": true, "cost": 32, "slots": [ + "Talent", "Tech", "Torpedo", "Missile", @@ -124,14 +161,16 @@ "Modification" ], "ability": "After you reload, each ship in your [Bullseye Arc] gains 1 deplete token.", - "ffg": 915, - "artwork": "???", - "image": "???", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dread.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dread.png", "caption": "Devotee of Devastation", - "keywords": ["TIE"] + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "\"Grudge\"", + "name": "“Grudge”", "xws": "grudge", "initiative": 2, "limited": 1, @@ -139,8 +178,9 @@ "name": "Pursuit Thrusters", "text": "During the System Phase, you may perform a [Boost] action." }, - "hyperspace": true, - "cost": 36, + "standard": true, + "wildspace": true, + "cost": 38, "slots": [ "Tech", "Torpedo", @@ -151,11 +191,13 @@ "Modification" ], "ability": "While a friendly bomb or mine at range 0-2 detonates, each time attack dice are rolled to resolve its effect, you may reroll up to 1 of those dice.", - "ffg": 916, - "artwork": "???", - "image": "???", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/grudge.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/grudge.png", "caption": "Hateful Harrier", - "keywords": ["TIE"] + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "First Order Cadet", @@ -166,7 +208,8 @@ "name": "Pursuit Thrusters", "text": "During the System Phase, you may perform a [Boost] action." }, - "hyperspace": true, + "standard": true, + "wildspace": true, "cost": 32, "slots": [ "Talent", @@ -179,10 +222,12 @@ "Modification" ], "text": "The live-fire exercises of the First Order are intended to root out the weak, enforcing the maxim that only the strong survive.", - "ffg": 917, - "artwork": "???", - "image": "???", - "keywords": ["TIE"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/firstordercadet.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/firstordercadet.png", + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Sienar-Jaemus Test Pilot", @@ -193,7 +238,8 @@ "name": "Pursuit Thrusters", "text": "During the System Phase, you may perform a [Boost] action." }, - "hyperspace": true, + "standard": true, + "wildspace": true, "cost": 31, "slots": [ "Tech", @@ -205,11 +251,48 @@ "Modification" ], "text": "Equipped with four laser cannons and advanced systems, the TIE/se bomber is a remarkably maneuverable craft that brings devastating ordnance to bear against any who dare to stand against the First Order.", - "ffg": 918, - "artwork": "???", - "image": "???", - "keywords": ["TIE"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sienarjaemustestpilot.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sienarjaemustestpilot.png", + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Jul Jerjerrod", + "xws": "juljerjerrod", + "initiative": 4, + "limited": 1, + "shipAbility": { + "name": "Pursuit Thrusters", + "text": "During the System Phase, you may perform a [Boost] action." + }, + "standard": true, + "wildspace": true, + "cost": 34, + "slots": [ + "Talent", + "Tech", + "Torpedo", + "Missile", + "Gunner", + "Device", + "Device", + "Modification" + ], + "ability": "After you perform a [Boost] action, you may spend 1 [Charge] to remove 1 non-lock red or orange token.", + "charges": { + "value": 2, + "recovers": 0 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/juljerjerrod.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/juljerjerrod.png", + "caption": "Security Commander", + "keywords": [ + "TIE" + ], + "epic": true } ], - "icon": "???" -} + "icon": "https://infinitearenas.com/xw2/images/shipicons/first-order/I_TIEseBomber.png" +} \ No newline at end of file diff --git a/data/pilots/first-order/tie-sf-fighter.json b/data/pilots/first-order/tie-sf-fighter.json index 9d2ba7796..3173b222e 100644 --- a/data/pilots/first-order/tie-sf-fighter.json +++ b/data/pilots/first-order/tie-sf-fighter.json @@ -1,7 +1,6 @@ { "name": "TIE/sf Fighter", "xws": "tiesffighter", - "ffg": 50, "size": "Small", "dial": [ "1TR", @@ -24,45 +23,76 @@ "4FW", "5FW" ], - "dialCodes": ["Tsf"], - "faction": "First Order", + "dialCodes": [ + "Tsf" + ], + "faction": "firstorder", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "arc": "Single Turret Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 3 }, - { "type": "shields", "value": 3 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "arc": "Single Turret Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 3 + }, + { + "type": "shields", + "value": 3 + } ], "actions": [ { "difficulty": "White", - "linked": { "difficulty": "White", "type": "Rotate Arc" }, + "linked": { + "difficulty": "White", + "type": "Rotate Arc" + }, "type": "Focus" }, { "difficulty": "White", - "linked": { "difficulty": "White", "type": "Rotate Arc" }, + "linked": { + "difficulty": "White", + "type": "Rotate Arc" + }, "type": "Evade" }, { "difficulty": "White", - "linked": { "difficulty": "White", "type": "Rotate Arc" }, + "linked": { + "difficulty": "White", + "type": "Rotate Arc" + }, "type": "Lock" }, { "difficulty": "White", - "linked": { "difficulty": "White", "type": "Rotate Arc" }, + "linked": { + "difficulty": "White", + "type": "Rotate Arc" + }, "type": "Barrel Roll" } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_TIEsf.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/first-order/I_TIEsf.png", "pilots": [ { - "name": "\"Quickdraw\"", + "name": "“Quickdraw”", "caption": "Defiant Duelist", "initiative": 6, "limited": 1, - "cost": 44, + "cost": 42, "xws": "quickdraw", "ability": "After you lose a shield, you may spend 1 [Charge]. If you do, you may perform a bonus primary attack.", "shipAbility": { @@ -77,15 +107,21 @@ "Gunner", "Tech" ], - "charges": { "value": 1, "recovers": 1 }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/d038dadd7a62bbe2de89d3866e1a3639.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/86f8ccc959081a43dc4d0dbeb921d0ba.jpg", - "ffg": 406, - "hyperspace": false, - "keywords": ["TIE"] + "charges": { + "value": 1, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/quickdraw.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/quickdraw.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "\"Backdraft\"", + "name": "“Backdraft”", "caption": "Fiery Fanatic", "initiative": 4, "limited": 1, @@ -104,11 +140,14 @@ "Gunner", "Tech" ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/317cc5350980277f1d389ed618030d85.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/6c3a06877712596601ba1cc4ec533626.jpg", - "ffg": 407, - "hyperspace": false, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/backdraft.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/backdraft.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Omega Squadron Expert", @@ -129,11 +168,14 @@ "Gunner", "Tech" ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/784d00f653ff7cd58cb634c7a59e47c1.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/2caf1312bd6aba3630ef6edc1ff81f53.jpg", - "ffg": 408, - "hyperspace": true, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/omegasquadronexpert.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/omegasquadronexpert.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Zeta Squadron Survivor", @@ -146,12 +188,21 @@ "name": "Heavy Weapon Turret", "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. You must treat the [Front Arc] requirement of your equipped [Missile] upgrades as [Single Turret Arc]." }, - "slots": ["Sensor", "Missile", "Modification", "Gunner", "Tech"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/848db1993150bda19217e2c14b3c3df6.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/55f72ce4974962db5b2ab3fac316b896.jpg", - "ffg": 409, - "hyperspace": true, - "keywords": ["TIE"] + "slots": [ + "Sensor", + "Missile", + "Modification", + "Gunner", + "Tech" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/zetasquadronsurvivor.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/zetasquadronsurvivor.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Lieutenant LeHuse", @@ -163,21 +214,24 @@ "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. You must treat the [Front Arc] requirement of your equipped [Missile] upgrades as [Single Turret Arc]." }, "caption": "Unflinching Executioner", - "hyperspace": false, + "standard": true, + "wildspace": true, "slots": [ "Talent", "Sensor", - "Tech", "Missile", + "Modification", "Gunner", - "Modification" + "Tech" ], "ability": "While you perform an attack, you may spend another friendly ship's lock on the defender to reroll any number of your results.", "cost": 37, - "ffg": 641, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/e359738e224a6b5509fe19ee0cbf253c.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/b823438eb2b32a407bf6a757a4ecb7d5.png", - "keywords": ["TIE"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lieutenantlehuse.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lieutenantlehuse.png", + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Captain Phasma", @@ -189,21 +243,53 @@ "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. You must treat the [Front Arc] requirement of your equipped [Missile] upgrades as [Single Turret Arc]." }, "caption": "Scyre Survivor", - "hyperspace": false, + "standard": true, + "wildspace": true, "slots": [ "Talent", "Sensor", - "Tech", "Missile", + "Modification", "Gunner", - "Modification" + "Tech" ], "ability": "While you defend, after the Neutralize Results step, another friendly ship at range 0-1 must suffer 1 [Hit]/[Critical Hit] damage to cancel 1 matching result.", "cost": 34, - "ffg": 642, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/c771d32332787ea1c723a78abb463cb4.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/7c0bc32446e17991aff226d0fcab7b19.png", - "keywords": ["TIE"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/captainphasma.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/captainphasma.png", + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "“Strife”", + "caption": "Committed Combatant", + "initiative": 3, + "limited": 1, + "cost": 34, + "xws": "strife-wat1", + "ability": "After an enemy ship in your [Single Turret Arc] defends, if you are not strained, you may gain 1 strain token to acquire a lock on that ship.", + "shipAbility": { + "name": "Heavy Weapon Turret", + "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. You must treat the [Front Arc] requirement of your equipped [Missile] upgrades as [Single Turret Arc]." + }, + "slots": [ + "Talent", + "Sensor", + "Missile", + "Modification", + "Gunner", + "Tech" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/strife-wat1.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/strife-wat1.png", + "standard": false, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true } ] } diff --git a/data/pilots/first-order/tie-vn-silencer.json b/data/pilots/first-order/tie-vn-silencer.json index 770d43ef0..e414f95c1 100644 --- a/data/pilots/first-order/tie-vn-silencer.json +++ b/data/pilots/first-order/tie-vn-silencer.json @@ -1,7 +1,6 @@ { "name": "TIE/vn Silencer", "xws": "tievnsilencer", - "ffg": 52, "size": "Small", "dial": [ "1TW", @@ -22,40 +21,76 @@ "4KR", "5FB" ], - "dialCodes": ["Tvn"], - "faction": "First Order", + "dialCodes": [ + "Tvn" + ], + "faction": "firstorder", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 3 }, - { "type": "hull", "value": 4 }, - { "type": "shields", "value": 2 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 4 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Barrel Roll" }, - { "difficulty": "White", "type": "Boost" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Boost" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_TIESilencer.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/first-order/I_TIESilencer.png", "pilots": [ { - "name": "\"Blackout\"", + "name": "“Blackout”", "xws": "blackout", "caption": "Ill-Fated Test Pilot", "initiative": 5, "limited": 1, - "cost": 61, + "cost": 60, "ability": "While you perform an attack, if the attack is obstructed by an obstacle, the defender rolls 2 fewer defense dice.", "shipAbility": { "name": "Autothrusters", "text": "After you perform an action, you may perform a red [Barrel Roll] or red [Boost] action." }, - "slots": ["Talent", "Torpedo", "Missile", "Tech"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/c5659b210e13b4e11fdd5f1396f2847c.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/20308b5887fb20d6b8ecdb3ede0bede3.jpg", - "ffg": 415, - "hyperspace": true, - "keywords": ["TIE"] + "slots": [ + "Talent", + "Torpedo", + "Missile", + "Tech", + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/blackout.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/blackout.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Kylo Ren", @@ -63,113 +98,174 @@ "caption": "Tormented Apprentice", "initiative": 5, "limited": 1, - "cost": 77, + "cost": 78, "ability": "After you defend, you may spend 1 [Force] to assign the I'll Show You the Dark Side condition to the attacker.", - "force": { "value": 2, "recovers": 1, "side": ["dark"] }, + "force": { + "value": 2, + "recovers": 1, + "side": [ + "dark" + ] + }, "shipAbility": { "name": "Autothrusters", "text": "After you perform an action, you may perform a red [Barrel Roll] or red [Boost] action." }, - "conditions": ["illshowyouthedarkside"], - "slots": ["Torpedo", "Missile", "Force Power", "Tech"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/71dbde337b9ff5aab897781d40d8f653.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/80b87be22656fc01742fca490193d440.jpg", - "ffg": 414, - "hyperspace": true, - "keywords": ["Dark Side", "TIE"] + "conditions": [ + "illshowyouthedarkside" + ], + "slots": [ + "Force Power", + "Torpedo", + "Missile", + "Tech", + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/kyloren.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/kyloren.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Dark Side", + "TIE" + ], + "epic": true }, { "name": "First Order Test Pilot", "xws": "firstordertestpilot", "initiative": 4, "limited": 0, - "cost": 56, + "cost": 55, "text": "Engineered for incredible speed and precise handling, the TIE Silencer is devastating in the hands of those who can unlock its full potential. Any lesser pilot could easily be overwhelmed and lose control of the nimble craft.", "shipAbility": { "name": "Autothrusters", "text": "After you perform an action, you may perform a red [Barrel Roll] or red [Boost] action." }, - "slots": ["Talent", "Torpedo", "Missile", "Tech"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/568abbcd68bb174173da4e7ee92051e3.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/86349c032fc169cb2000d3db7c9fbef4.jpg", - "ffg": 416, - "hyperspace": false, - "keywords": ["TIE"] + "slots": [ + "Talent", + "Torpedo", + "Missile", + "Tech", + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/firstordertestpilot.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/firstordertestpilot.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "\"Recoil\"", + "name": "“Recoil”", "xws": "recoil", "caption": "Quantity Over Quality", "initiative": 4, "limited": 1, - "cost": 56, + "cost": 55, "ability": "While you are stressed, you may treat enemy ships in your [Front Arc] at range 0-1 as being in your [Bullseye Arc].", "shipAbility": { "name": "Autothrusters", "text": "After you perform an action, you may perform a red [Barrel Roll] or red [Boost] action." }, - "slots": ["Talent", "Torpedo", "Missile", "Tech"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/ab11858b2b9ac5c8bbfb2dc21023ba34.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/c4590088696ecc687f5c0f004d1d97ab.jpg", - "ffg": 455, - "hyperspace": true, - "keywords": ["TIE"] + "slots": [ + "Talent", + "Torpedo", + "Missile", + "Tech", + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/recoil.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/recoil.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "\"Avenger\"", + "name": "“Avenger”", "xws": "avenger", "caption": "Wrathful Wingmate", "initiative": 3, "limited": 1, - "cost": 56, + "cost": 55, "ability": "After another friendly ship is destroyed, you may perform an action, even while stressed.", "shipAbility": { "name": "Autothrusters", "text": "After you perform an action, you may perform a red [Barrel Roll] or red [Boost] action." }, - "slots": ["Talent", "Torpedo", "Missile", "Tech"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/d90d3057ead18b5df5f6de55a199a4cd.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/3778411ec66e33951231314e909b981d.jpg", - "ffg": 456, - "hyperspace": true, - "keywords": ["TIE"] + "slots": [ + "Talent", + "Torpedo", + "Missile", + "Tech", + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/avenger.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/avenger.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Sienar-Jaemus Engineer", "xws": "sienarjaemusengineer", "initiative": 1, "limited": 0, - "cost": 50, + "cost": 49, "text": "Developed by Sienar-Jaemus Fleet Systems as a successor to the vaunted TIE Defender, the TIE/vn Silencer incorporates bleeding-edge technologies developed at research facilities hidden in the Unknown Regions.", "shipAbility": { "name": "Autothrusters", "text": "After you perform an action, you may perform a red [Barrel Roll] or red [Boost] action." }, - "slots": ["Tech", "Torpedo", "Missile"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/8f7c4680fbc001169baf6538ab259e9b.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/18b2a1b00b2f8c6669b6b1d1b278dcf2.jpg", - "ffg": 417, - "hyperspace": false, - "keywords": ["TIE"] + "slots": [ + "Torpedo", + "Missile", + "Tech", + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sienarjaemusengineer.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sienarjaemusengineer.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "\"Rush\"", + "name": "“Rush”", "xws": "rush", "initiative": 2, "limited": 1, + "cost": 57, + "ability": "While you are damaged, treat your initiative as 6.", "shipAbility": { "name": "Autothrusters", "text": "After you perform an action, you may perform a red [Barrel Roll] or red [Boost] action." }, "caption": "Adrenaline Junkie", - "hyperspace": true, - "slots": ["Tech", "Torpedo", "Missile"], - "ability": "While you are damaged, treat your initiative as 6.", - "cost": 57, - "ffg": 643, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/3b748daed26df2870694ab9dc679c5ee.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/886d715885da65bdf10ad7c68e4d0a93.png", - "keywords": ["TIE"] + "standard": true, + "wildspace": true, + "slots": [ + "Torpedo", + "Missile", + "Tech", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/rush.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/rush.png", + "keywords": [ + "TIE" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/first-order/tie-wi-whisper-modified-interceptor.json b/data/pilots/first-order/tie-wi-whisper-modified-interceptor.json index 97fa03b2f..fc9d0c3a2 100644 --- a/data/pilots/first-order/tie-wi-whisper-modified-interceptor.json +++ b/data/pilots/first-order/tie-wi-whisper-modified-interceptor.json @@ -2,7 +2,6 @@ "name": "TIE/wi Whisper Modified Interceptor", "xws": "tiewiwhispermodifiedinterceptor", "size": "Small", - "ffg": 88, "dial": [ "1TW", "1YW", @@ -23,31 +22,65 @@ "5FB", "5KR" ], - "dialCodes": ["Twi"], - "faction": "First Order", + "dialCodes": [ + "Twi" + ], + "faction": "firstorder", "stats": [ - { "arc": "Bullseye Arc", "type": "attack", "value": 3 }, - { "arc": "Single Turret Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 3 }, - { "type": "shields", "value": 2 } + { + "arc": "Bullseye Arc", + "type": "attack", + "value": 3 + }, + { + "arc": "Single Turret Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 3 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ { "difficulty": "White", - "linked": { "difficulty": "White", "type": "Rotate Arc" }, + "linked": { + "difficulty": "White", + "type": "Rotate Arc" + }, "type": "Focus" }, - { "difficulty": "White", "type": "Evade" }, - { "difficulty": "White", "type": "Lock" }, { "difficulty": "White", - "linked": { "difficulty": "White", "type": "Rotate Arc" }, + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "White", + "type": "Rotate Arc" + }, "type": "Barrel Roll" }, { "difficulty": "White", - "linked": { "difficulty": "White", "type": "Rotate Arc" }, + "linked": { + "difficulty": "White", + "type": "Rotate Arc" + }, "type": "Boost" } ], @@ -61,8 +94,9 @@ "name": "Heavy Weapon Turret", "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. You must treat the [Front Arc] requirement of your equipped [Missile] upgrades as [Single Turret Arc]." }, - "hyperspace": true, - "cost": 63, + "standard": true, + "wildspace": true, + "cost": 61, "slots": [ "Force Power", "Talent", @@ -72,15 +106,26 @@ "Configuration" ], "ability": "Before an enemy ship in your [Bullseye Arc] is dealt a facedown damage card, you may spend 1 [Force]. If you do, that damage card is dealt faceup instead.", - "ffg": 919, - "artwork": "???", - "image": "???", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/kyloren-tiewiwhispermodifiedinterceptor.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/kyloren-tiewiwhispermodifiedinterceptor.png", "caption": "Supreme Leader of the First Order", - "keywords": ["TIE", "Dark Side", "Light Side"], - "force": { "value": 3, "recovers": 1, "side": ["dark", "light"] } + "keywords": [ + "Dark Side", + "Light Side", + "TIE" + ], + "force": { + "value": 3, + "recovers": 1, + "side": [ + "dark", + "light" + ] + }, + "epic": true }, { - "name": "Wrath", + "name": "“Wrath”", "xws": "wrath", "initiative": 5, "limited": 1, @@ -88,18 +133,28 @@ "name": "Heavy Weapon Turret", "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. You must treat the [Front Arc] requirement of your equipped [Missile] upgrades as [Single Turret Arc]." }, - "hyperspace": true, - "cost": 53, - "slots": ["Talent", "Missile", "Tech", "Tech", "Configuration"], + "standard": true, + "wildspace": true, + "cost": 48, + "slots": [ + "Talent", + "Talent", + "Missile", + "Tech", + "Tech", + "Configuration" + ], "ability": "After you perform a [Bullseye Arc] attack, if you have 1 or more non-lock red or orange tokens, you may perform a bonus attack against a different target.", - "ffg": 920, - "artwork": "???", - "image": "???", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/wrath.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/wrath.png", "caption": "Herald of Destruction", - "keywords": ["TIE"] + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "Nightfall", + "name": "“Nightfall”", "xws": "nightfall", "initiative": 4, "limited": 1, @@ -107,18 +162,28 @@ "name": "Heavy Weapon Turret", "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. You must treat the [Front Arc] requirement of your equipped [Missile] upgrades as [Single Turret Arc]." }, - "hyperspace": true, - "cost": 49, - "slots": ["Talent", "Talent", "Missile", "Tech", "Tech", "Configuration"], + "standard": true, + "wildspace": true, + "cost": 44, + "slots": [ + "Talent", + "Talent", + "Missile", + "Tech", + "Tech", + "Configuration" + ], "ability": "After you fully execute a maneuver or perform a [Boost] action, each ship you moved through gains 2 jam tokens.", - "ffg": 921, - "artwork": "???", - "image": "???", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/nightfall.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/nightfall.png", "caption": "709th Legion Veteran", - "keywords": ["TIE"] + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "Whirlwind", + "name": "“Whirlwind”", "xws": "whirlwind", "initiative": 3, "limited": 1, @@ -126,15 +191,25 @@ "name": "Heavy Weapon Turret", "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. You must treat the [Front Arc] requirement of your equipped [Missile] upgrades as [Single Turret Arc]." }, - "hyperspace": true, - "cost": 47, - "slots": ["Talent", "Talent", "Missile", "Tech", "Tech", "Configuration"], + "standard": true, + "wildspace": true, + "cost": 43, + "slots": [ + "Talent", + "Talent", + "Missile", + "Tech", + "Tech", + "Configuration" + ], "ability": "Before you engage, you may remove any number of jam tokens, then you may gain 1 focus token for each enemy ship that has you in its [Front Arc].", - "ffg": 922, - "artwork": "???", - "image": "???", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/whirlwind.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/whirlwind.png", "caption": "Reap What You Sow", - "keywords": ["TIE"] + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "709th Legion Ace", @@ -146,13 +221,23 @@ "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. You must treat the [Front Arc] requirement of your equipped [Missile] upgrades as [Single Turret Arc]." }, "text": "Commanded by Supreme Leader Kylo Ren, the 709th Legion fights without mercy or remorse to crush the Resistance and bring the galaxy under the First Order's dominion.", - "hyperspace": true, - "cost": 47, - "slots": ["Talent", "Talent", "Missile", "Tech", "Tech", "Configuration"], - "ffg": 923, - "artwork": "???", - "image": "???", - "keywords": ["TIE"] + "standard": true, + "wildspace": true, + "cost": 43, + "slots": [ + "Talent", + "Talent", + "Missile", + "Tech", + "Tech", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/709thlegionace.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/709thlegionace.png", + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Red Fury Zealot", @@ -164,14 +249,23 @@ "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. You must treat the [Front Arc] requirement of your equipped [Missile] upgrades as [Single Turret Arc]." }, "text": "Also called Red Fury, the 709th Legion is charged by Supreme Leader Kylo Ren with rooting out dissenters at Black Spire Outpost.", - "hyperspace": true, - "cost": 44, - "slots": ["Talent", "Missile", "Tech", "Tech", "Configuration"], - "ffg": 924, - "artwork": "???", - "image": "???", - "keywords": ["TIE"] + "standard": true, + "wildspace": true, + "cost": 41, + "slots": [ + "Talent", + "Missile", + "Tech", + "Tech", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/redfuryzealot.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/redfuryzealot.png", + "keywords": [ + "TIE" + ], + "epic": true } ], - "icon": "???" -} + "icon": "https://infinitearenas.com/xw2/images/shipicons/first-order/I_TIEWhisper.png" +} \ No newline at end of file diff --git a/data/pilots/first-order/upsilon-class-command-shuttle.json b/data/pilots/first-order/upsilon-class-command-shuttle.json index 1c53c9f60..cfdf425dc 100644 --- a/data/pilots/first-order/upsilon-class-command-shuttle.json +++ b/data/pilots/first-order/upsilon-class-command-shuttle.json @@ -1,7 +1,6 @@ { "name": "Upsilon-class command shuttle", - "xws": "upsilonclassshuttle", - "ffg": 51, + "xws": "upsilonclasscommandshuttle", "size": "Large", "dial": [ "0OR", @@ -21,31 +20,61 @@ "3NW", "3YR" ], - "dialCodes": ["Ups"], - "faction": "First Order", + "dialCodes": [ + "Ups" + ], + "faction": "firstorder", "stats": [ - { "type": "attack", "value": 4, "arc": "Front Arc" }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 6 }, - { "type": "shields", "value": 6 } + { + "type": "attack", + "value": 4, + "arc": "Front Arc" + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 6 + }, + { + "type": "shields", + "value": 6 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Reinforce" }, - { "difficulty": "White", "type": "Coordinate" }, - { "difficulty": "White", "type": "Jam" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Reinforce" + }, + { + "difficulty": "White", + "type": "Coordinate" + }, + { + "difficulty": "White", + "type": "Jam" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_UpsilonShuttle.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/first-order/I_UpsilonShuttle.png", "pilots": [ { "name": "Lieutenant Dormitz", "caption": "Hypercomms Specialist", "initiative": 2, "limited": 1, - "cost": 73, + "cost": 64, "xws": "lieutenantdormitz", - "ability": "Setup: After you are placed, other friendly ships can be placed anywhere in the play area at range 0-2 of you.", + "ability": "Setup: After you are placed, other friendly TIE/fo Fighters and TIE/sf Fighters can be placed anywhere in the play area at range 0-2 of you.", "shipAbility": { "name": "Linked Battery", "text": "While you perform a [Cannon] attack, roll 1 additional die." @@ -60,10 +89,11 @@ "Tech", "Tech" ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/e4acd80da2c39e25d4f999cb7c314fe5.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/4505cb1930309673fe5592dbc112d733.jpg", - "ffg": 412, - "hyperspace": false + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lieutenantdormitz.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lieutenantdormitz.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Major Stridan", @@ -87,10 +117,11 @@ "Tech", "Tech" ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/8420beca035dedf1596c7c99255fb2e7.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/862f9dcc1ce9809f9a394d8f0b05f268.jpg", - "ffg": 410, - "hyperspace": false + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/majorstridan.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/majorstridan.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Petty Officer Thanisson", @@ -99,7 +130,10 @@ "initiative": 1, "limited": 1, "cost": 59, - "charges": { "value": 1, "recovers": 1 }, + "charges": { + "value": 1, + "recovers": 1 + }, "ability": "During the Activation or Engagement Phase, after a ship in your [Front Arc] at range 0-2 gains 1 stress token, you may spend 1 [Charge]. If you do, that ship gains 1 tractor token.", "shipAbility": { "name": "Linked Battery", @@ -115,10 +149,11 @@ "Tech", "Tech" ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/3a2232a5238d8bf5e7538fe1d6003dbc.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/24a40f6ec1875bfae9e7531b02252993.jpg", - "ffg": 458, - "hyperspace": false + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/pettyofficerthanisson.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/pettyofficerthanisson.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Starkiller Base Pilot", @@ -141,10 +176,11 @@ "Tech", "Tech" ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/41f6d936f14a058ed1c5e6ac12de37c2.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/1ea0266ea42691778e8ecff6a5b50e45.jpg", - "ffg": 413, - "hyperspace": false + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/starkillerbasepilot.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/starkillerbasepilot.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Lieutenant Tavson", @@ -154,7 +190,10 @@ "cost": 64, "xws": "lieutenanttavson", "ability": "After you suffer damage, you may spend 1 [Charge] to perform an action.", - "charges": { "value": 2, "recovers": 1 }, + "charges": { + "value": 2, + "recovers": 1 + }, "shipAbility": { "name": "Linked Battery", "text": "While you perform a [Cannon] attack, roll 1 additional die." @@ -169,24 +208,56 @@ "Tech", "Tech" ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/20fbf3ed79c50d2082cdb44caac26064.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/151154b50732a6dd42b411fc312137b9.jpg", - "ffg": 411, - "hyperspace": false + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lieutenanttavson.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lieutenanttavson.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Captain Cardinal", "caption": "Principled Instructor", "initiative": 4, "limited": 1, - "cost": 62, + "cost": 60, "xws": "captaincardinal", "ability": "While a friendly ship at range 1-2 with lower initiative than you defends or performs an attack, if you have at least 1 [Charge], that ship may reroll 1 [Focus] result. After an enemy ship at range 0-3 is destroyed, lose 1 [Charge].", "shipAbility": { "name": "Linked Battery", "text": "While you perform a [Cannon] attack, roll 1 additional die." }, - "charges": { "value": 2, "recovers": 0 }, + "charges": { + "value": 2, + "recovers": 0 + }, + "slots": [ + "Sensor", + "Cannon", + "Crew", + "Crew", + "Crew", + "Modification", + "Tech", + "Tech" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/captaincardinal.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/captaincardinal.png", + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Enric Pryde", + "caption": "Steadfast", + "initiative": 2, + "limited": 1, + "cost": 62, + "xws": "enricpryde-wat1", + "ability": "After you perform an attack, you may choose a friendly ship at range 0-3. If you do, you and the chosen ship may perform a bonus attack. Then, the chosen ship is destroyed.", + "shipAbility": { + "name": "Linked Battery", + "text": "While you perform a [Cannon] attack, roll 1 additional die." + }, "slots": [ "Sensor", "Cannon", @@ -197,10 +268,11 @@ "Tech", "Tech" ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/be29a69f75726ad48f607eecca671e01.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a88822cc408323e561efd9e2acb83f2a.jpg", - "ffg": 457, - "hyperspace": false + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/enricpryde-wat1", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/enricpryde-wat1", + "standard": false, + "wildspace": true, + "epic": true } ] } diff --git a/data/pilots/first-order/xi-class-light-shuttle.json b/data/pilots/first-order/xi-class-light-shuttle.json index 739d359c9..73f5a8891 100644 --- a/data/pilots/first-order/xi-class-light-shuttle.json +++ b/data/pilots/first-order/xi-class-light-shuttle.json @@ -1,7 +1,6 @@ { "name": "Xi-class Light Shuttle", "xws": "xiclasslightshuttle", - "ffg": 73, "size": "Medium", "dial": [ "0OR", @@ -20,28 +19,54 @@ "3YR", "4FW" ], - "dialCodes": ["Xi"], - "faction": "First Order", + "dialCodes": [ + "Xi" + ], + "faction": "firstorder", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 5 }, - { "type": "shields", "value": 2 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 5 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "Red", "type": "Lock" }, - { "difficulty": "Red", "type": "Coordinate" }, - { "difficulty": "White", "type": "Jam" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "Red", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Coordinate" + }, + { + "difficulty": "White", + "type": "Jam" + } ], "pilots": [ { - "ffg": 658, "name": "Agent Terex", "caption": "Devious Provocateur", "xws": "agentterex", "initiative": 3, - "cost": 38, + "cost": 32, "slots": [ "Talent", "Crew", @@ -54,37 +79,54 @@ "Tech" ], "limited": 1, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/ee4ceab2fd34a3ccd68c74652f21b782.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/5526136f7923921bcaac3c5ee0af9b75.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/agentterex.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/agentterex.png", "ability": "Setup: After placing forces, choose any number of your equipped [Illicit] upgrades and equip them to friendly TIE/fo or TIE/sf fighters. Each ship can be assigned only 1 [Illicit] this way. End of Game: Return all [Illicit] upgrades to their original ships.", - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { - "ffg": 656, "name": "Commander Malarus", "caption": "Vindictive Taskmaster", "xws": "commandermalarus-xiclasslightshuttle", "initiative": 5, "cost": 44, - "slots": ["Talent", "Crew", "Crew", "Modification", "Tech", "Tech"], + "slots": [ + "Talent", + "Crew", + "Crew", + "Modification", + "Tech", + "Tech" + ], "limited": 1, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/9fc217ecda8e05095b2e4d5957a474ba.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/9ab5691b7e1e7761cff3c6bd71b4257e.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/commandermalarus-xiclasslightshuttle.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/commandermalarus-xiclasslightshuttle.png", "ability": "While a friendly ship at range 0-2 performs a primary attack, before the Modify Dice step, if it has 1 or more blank results, that ship must gain 1 strain token to reroll 1 blank result, if able.", - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { - "ffg": 659, "name": "First Order Courier", "xws": "firstordercourier", "initiative": 2, - "cost": 35, - "slots": ["Crew", "Crew", "Modification", "Tech", "Tech"], + "cost": 30, + "slots": [ + "Crew", + "Crew", + "Modification", + "Tech", + "Tech" + ], "limited": 0, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/85aadb1aa3100fe7e92296ca0465f58b.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/6f8c0773c75e4985a6d863256b726069.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/firstordercourier.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/firstordercourier.png", "text": "The First Order lurks in many bases hidden in shadowy corners of the galaxy, slowly spreading its insidious influence.", - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Gideon Hask", @@ -93,13 +135,46 @@ "limited": 1, "xws": "gideonhask-xiclasslightshuttle", "ability": "While you or a friendly small ship at range 0-2 performs a primary attack against a damaged defender, if the attacker rolled 2 or fewer attack dice, it may gain 1 strain token to roll 1 additional attack die.", - "hyperspace": true, - "cost": 40, - "slots": ["Talent", "Crew", "Crew", "Modification", "Tech", "Tech"], - "ffg": 657, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/f0cc7ebb6dc5f2e0d15fd681655777b3.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/21d545f09d9d98f9713b80d5551c4e0b.png" + "standard": true, + "wildspace": true, + "cost": 38, + "slots": [ + "Talent", + "Crew", + "Crew", + "Modification", + "Tech", + "Tech" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/gideonhask-xiclasslightshuttle.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/gideonhask-xiclasslightshuttle.png", + "epic": true + }, + { + "name": "Agent Tierny", + "caption": "Persuasive Recruiter", + "initiative": 3, + "limited": 1, + "xws": "agenttierny", + "ability": "Setup: After placing forces, you must assign the Broken Trust condition to an enemy ship.", + "conditions": [ + "brokentrust" + ], + "standard": true, + "wildspace": true, + "cost": 49, + "slots": [ + "Talent", + "Crew", + "Crew", + "Modification", + "Tech", + "Tech" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/agenttierny.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/agenttierny.png", + "epic": true } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Xi-class_Shuttle.png" -} + "icon": "https://infinitearenas.com/xw2/images/shipicons/first-order/I_Xi-class_Shuttle.png" +} \ No newline at end of file diff --git a/data/pilots/galactic-empire/alpha-class-star-wing.json b/data/pilots/galactic-empire/alpha-class-star-wing.json index 772108982..e69a4d863 100644 --- a/data/pilots/galactic-empire/alpha-class-star-wing.json +++ b/data/pilots/galactic-empire/alpha-class-star-wing.json @@ -1,7 +1,6 @@ { "name": "Alpha-class Star Wing", "xws": "alphaclassstarwing", - "ffg": 14, "size": "Small", "dial": [ "1BW", @@ -19,21 +18,48 @@ "3YW", "4FR" ], - "dialCodes": ["SW"], - "faction": "Galactic Empire", + "dialCodes": [ + "SW" + ], + "faction": "galacticempire", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 4 }, - { "type": "shields", "value": 3 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 4 + }, + { + "type": "shields", + "value": 3 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "SLAM" }, - { "difficulty": "White", "type": "Reload" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "SLAM" + }, + { + "difficulty": "White", + "type": "Reload" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_AlphaStarwing.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-empire/I_AlphaStarwing.png", "pilots": [ { "name": "Lieutenant Karsabi", @@ -51,17 +77,18 @@ "Modification", "Configuration" ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_136.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_136.jpg", - "ffg": 136, - "hyperspace": false + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lieutenantkarsabi.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lieutenantkarsabi.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Major Vynder", "caption": "Pragmatic Survivor", "initiative": 4, "limited": 1, - "cost": 40, + "cost": 38, "xws": "majorvynder", "ability": "While you defend, if you are disarmed, roll 1 additional defense die.", "slots": [ @@ -72,10 +99,11 @@ "Modification", "Configuration" ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_135.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_135.jpg", - "ffg": 135, - "hyperspace": false + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/majorvynder.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/majorvynder.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Nu Squadron Pilot", @@ -84,7 +112,7 @@ "cost": 32, "xws": "nusquadronpilot", "text": "With a design inspired by other Cygnus Spaceworks vessels, the Alpha-class star wing is a versatile craft assigned to Imperial Navy specialist units that need a starfighter they can outfit for multiple roles.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_138.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/nusquadronpilot.png", "slots": [ "Sensor", "Torpedo", @@ -92,9 +120,10 @@ "Modification", "Configuration" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_138.jpg", - "ffg": 138, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/nusquadronpilot.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Rho Squadron Pilot", @@ -111,10 +140,229 @@ "Modification", "Configuration" ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_137.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_137.jpg", - "ffg": 137, - "hyperspace": false + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/rhosquadronpilot.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/rhosquadronpilot.png", + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Lieutenant Karsabi", + "caption": "Payload Courier", + "initiative": 3, + "limited": 1, + "cost": 5, + "xws": "lieutenantkarsabi-pnp", + "ability": "When you perform a [Reload] action, the chosen upgrade recovers 1 additional [Charge].", + "shipAbility": { + "name": "Prioritized Weapons Systems", + "text": "Before you engage, you may gain a strain token to remove a disarm token." + }, + "shipActions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "SLAM", + "linked": { + "difficulty": "Red", + "type": "Lock" + } + }, + { + "difficulty": "White", + "type": "SLAM", + "linked": { + "difficulty": "Red", + "type": "Reload" + } + }, + { + "difficulty": "White", + "type": "Reload" + } + ], + "standardLoadout": [ + "protontorpedoes", + "saturationrockets-alphaclassstarwing", + "electronicbaffle" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lieutenantkarsabi-pnp.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lieutenantkarsabi.png", + "standard": false, + "wildspace": false, + "epic": false + }, + { + "name": "Lieutenant Karsabi", + "caption": "Payload Courier", + "initiative": 3, + "limited": 1, + "cost": 44, + "xws": "lieutenantkarsabi-pnp-lsl", + "ability": "When you perform a [Reload] action, the chosen upgrade recovers 1 additional [Charge].", + "shipAbility": { + "name": "Prioritized Weapons Systems", + "text": "Before you engage, you may gain a strain token to remove a disarm token." + }, + "slots": [ + "Talent", + "Cannon", + "Sensor", + "Torpedo", + "Missile", + "Modification" + ], + "shipActions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "SLAM", + "linked": { + "difficulty": "Red", + "type": "Lock" + } + }, + { + "difficulty": "White", + "type": "SLAM", + "linked": { + "difficulty": "Red", + "type": "Reload" + } + }, + { + "difficulty": "White", + "type": "Reload" + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lieutenantkarsabi-pnp-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lieutenantkarsabi.png", + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Major Vynder", + "caption": "Helping Hand", + "initiative": 4, + "limited": 1, + "cost": 5, + "xws": "majorvynder-ssl", + "ability": "After you perform a [Missile] attack, you may perform a bonus [Cannon] attack. While you perform this bonus attack, you may change 1 [Focus] result to a [Hit] result.", + "shipAbility": { + "name": "Prioritized Weapons Systems", + "text": "Before you engage, you may gain a strain token to remove a disarm token." + }, + "shipActions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "SLAM", + "linked": { + "difficulty": "Red", + "type": "Lock" + } + }, + { + "difficulty": "White", + "type": "SLAM", + "linked": { + "difficulty": "Red", + "type": "Reload" + } + }, + { + "difficulty": "White", + "type": "Reload" + } + ], + "standardLoadout": [ + "longrangescanners-alphaclassstarwing", + "ioncannon", + "heavyplasmamissiles-alphaclassstarwing" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/majorvynder-pnp.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/majorvynder.png", + "standard": false, + "wildspace": false, + "epic": false + }, + { + "name": "Major Vynder", + "caption": "Helping Hand", + "initiative": 4, + "limited": 1, + "cost": 49, + "xws": "majorvynder-pnp-lsl", + "ability": "After you perform a [Missile] attack, you may perform a bonus [Cannon] attack. While you perform this bonus attack, you may change 1 [Focus] result to a [Hit] result.", + "shipAbility": { + "name": "Prioritized Weapons Systems", + "text": "Before you engage, you may gain a strain token to remove a disarm token." + }, + "slots": [ + "Talent", + "Cannon", + "Sensor", + "Torpedo", + "Missile", + "Modification" + ], + "shipActions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "SLAM", + "linked": { + "difficulty": "Red", + "type": "Lock" + } + }, + { + "difficulty": "White", + "type": "SLAM", + "linked": { + "difficulty": "Red", + "type": "Reload" + } + }, + { + "difficulty": "White", + "type": "Reload" + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/majorvynder-pnp-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/majorvynder.png", + "standard": true, + "wildspace": true, + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/galactic-empire/gauntlet-fighter.json b/data/pilots/galactic-empire/gauntlet-fighter.json new file mode 100644 index 000000000..7462748e5 --- /dev/null +++ b/data/pilots/galactic-empire/gauntlet-fighter.json @@ -0,0 +1,150 @@ +{ + "name": "Gauntlet Fighter", + "xws": "gauntletfighter", + "size": "Large", + "dial": [ + "0OR", + "1BB", + "1NB", + "2TW", + "2BB", + "2FB", + "2NB", + "2YW", + "3TR", + "3BW", + "3FW", + "3NW", + "3YR", + "4FW" + ], + "dialCodes": [ + "GtF" + ], + "faction": "galacticempire", + "stats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "arc": "Rear Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 9 + }, + { + "type": "shields", + "value": 2 + } + ], + "actions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "Red", + "type": "Reinforce" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Coordinate" + } + ], + "pilots": [ + { + "name": "Captain Hark", + "caption": "Obedient Underling", + "initiative": 3, + "limited": 1, + "cost": 53, + "xws": "captainhark", + "ability": "After you reveal a [0 [Stationary]] maneuver, if you are equipped with Swivel Wings (Down), you must execute a [1 [Bank Left]] or [1 [Bank Right]] sideslip maneuver of the same difficulty instead. After you execute that maneuver, you must flip Swivel Wings (Down).", + "standard": true, + "wildspace": true, + "epic": true, + "slots": [ + "Talent", + "Crew", + "Gunner", + "Device", + "Modification", + "Title", + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/captainhark.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/captainhark.png", + "keywords": [ + "Mandalorian" + ] + }, + { + "name": "Gar Saxon", + "caption": "Treacherous Viceroy", + "charges": { + "value": 2, + "recovers": 1 + }, + "initiative": 3, + "limited": 1, + "cost": 61, + "xws": "garsaxon", + "ability": "When a friendly unit at range 0-2 performs a primary attack, if the attacker is in the defender's [Rear Arc], you may spend 1 [Charge]. If you do, the attacker rolls 1 additional die.", + "standard": true, + "wildspace": true, + "epic": true, + "slots": [ + "Talent", + "Crew", + "Gunner", + "Device", + "Modification", + "Title", + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/garsaxon.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/garsaxon.png", + "keywords": [ + "Mandalorian" + ] + }, + { + "name": "Imperial Super Commando", + "initiative": 2, + "limited": 0, + "cost": 54, + "xws": "imperialsupercommando", + "text": "Under the rule of Viceroy Gar Saxon, the ruthless warriors that once served Lord Maul have been transformed into enforcers of the new order. The Mandalorian Gauntlet Fighter continues to serve as the combat transport of choice for these Imperial Super Commandos.", + "standard": true, + "wildspace": true, + "epic": true, + "slots": [ + "Talent", + "Crew", + "Gunner", + "Device", + "Modification", + "Title", + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/imperialsupercommando.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/imperialsupercommando.png", + "keywords": [ + "Mandalorian" + ] + } + ] +} \ No newline at end of file diff --git a/data/pilots/galactic-empire/gozanti-class-cruiser.json b/data/pilots/galactic-empire/gozanti-class-cruiser.json index 54e3ee510..356bf92d9 100644 --- a/data/pilots/galactic-empire/gozanti-class-cruiser.json +++ b/data/pilots/galactic-empire/gozanti-class-cruiser.json @@ -1,9 +1,8 @@ { "name": "Gozanti-class Cruiser", "xws": "gozanticlasscruiser", - "ffg": 81, - "faction": "Galactic Empire", - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Gozanti.png", + "faction": "galacticempire", + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-empire/I_Gozanti.png", "size": "Huge", "dial": [ "0BR", @@ -18,35 +17,72 @@ "3FB", "4FR" ], - "dialCodes": ["GOZ-I"], + "dialCodes": [ + "GOZ-I" + ], "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 0 }, - { "type": "hull", "value": 11 }, - { "type": "shields", "value": 5, "recovers": 1 }, - { "type": "energy", "value": 3, "recovers": 1 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 0 + }, + { + "type": "hull", + "value": 11 + }, + { + "type": "shields", + "value": 5, + "recovers": 1 + }, + { + "type": "energy", + "value": 3, + "recovers": 1 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Coordinate" }, - { "difficulty": "White", "type": "Reinforce" }, - { "difficulty": "White", "type": "Jam" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Coordinate" + }, + { + "difficulty": "White", + "type": "Reinforce" + }, + { + "difficulty": "White", + "type": "Jam" + } ], "pilots": [ { - "ffg": 711, "name": "Outer Rim Garrison", "initiative": 7, - "cost": 67, + "cost": 66, "limited": 0, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/205015c2eb127931dbdca3e841ca8668.jpg", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/outerrimgarrison.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/outerrimgarrison.png", "shipAbility": { "name": "Docking Clamps", "text": "You can dock up to 4 small ships." }, "text": "Capable of carrying TIE fighters and operating independently for long periods of time, the Gozanti-class cruiser is a common sight in the skies of downtrodden worlds across the Outer Rim.", - "hyperspace": false, + "standard": false, + "wildspace": false, + "epic": true, "engagement": 1, "xws": "outerrimgarrison", "slots": [ @@ -62,4 +98,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/data/pilots/galactic-empire/lambda-class-t-4a-shuttle.json b/data/pilots/galactic-empire/lambda-class-t-4a-shuttle.json index 89e3bef7b..a89499219 100644 --- a/data/pilots/galactic-empire/lambda-class-t-4a-shuttle.json +++ b/data/pilots/galactic-empire/lambda-class-t-4a-shuttle.json @@ -1,7 +1,6 @@ { "name": "Lambda-class T-4a Shuttle", "xws": "lambdaclasst4ashuttle", - "ffg": 26, "size": "Large", "dial": [ "0OR", @@ -17,51 +16,101 @@ "3FW", "3NR" ], - "dialCodes": ["LS"], - "faction": "Galactic Empire", + "dialCodes": [ + "LS" + ], + "faction": "galacticempire", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "arc": "Rear Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 6 }, - { "type": "shields", "value": 4 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "arc": "Rear Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 6 + }, + { + "type": "shields", + "value": 4 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Reinforce" }, - { "difficulty": "White", "type": "Coordinate" }, - { "difficulty": "Red", "type": "Jam" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Reinforce" + }, + { + "difficulty": "White", + "type": "Coordinate" + }, + { + "difficulty": "Red", + "type": "Jam" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Lambda.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-empire/I_Lambda.png", "pilots": [ { "name": "Captain Kagi", - "caption": "The Emperor's Shuttle Pilot", + "caption": "The Emperor’s Shuttle Pilot", "initiative": 4, "limited": 1, "cost": 47, "xws": "captainkagi", "ability": "At the start of the Engagement Phase, you may choose 1 or more friendly ships at range 0-3. If you do, transfer all enemy lock tokens from the chosen ships to you.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_142.png", - "slots": ["Sensor", "Cannon", "Crew", "Crew", "Modification", "Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_142.jpg", - "ffg": 142, - "hyperspace": false + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/captainkagi.png", + "slots": [ + "Sensor", + "Cannon", + "Crew", + "Crew", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/captainkagi.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Colonel Jendon", - "caption": "Darth Vader's Shuttle Pilot", + "caption": "Darth Vader’s Shuttle Pilot", "initiative": 3, "limited": 1, "cost": 49, "xws": "coloneljendon", "ability": "At the start of the Activation Phase, you may spend 1 [Charge]. If you do, while friendly ships acquire locks this round, they must acquire locks beyond range 3 instead of at range 0-3.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_143.png", - "charges": { "value": 2, "recovers": 0 }, - "slots": ["Sensor", "Cannon", "Crew", "Crew", "Modification", "Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_143.jpg", - "ffg": 143, - "hyperspace": false + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/coloneljendon.png", + "charges": { + "value": 2, + "recovers": 0 + }, + "slots": [ + "Sensor", + "Cannon", + "Crew", + "Crew", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/coloneljendon.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Lieutenant Sai", @@ -71,11 +120,19 @@ "cost": 46, "xws": "lieutenantsai", "ability": "After you a perform a [Coordinate] action, if the ship you chose performed an action on your action bar, you may perform that action.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_144.png", - "slots": ["Sensor", "Cannon", "Crew", "Crew", "Modification", "Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_144.jpg", - "ffg": 144, - "hyperspace": false + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lieutenantsai.png", + "slots": [ + "Sensor", + "Cannon", + "Crew", + "Crew", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lieutenantsai.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Omicron Group Pilot", @@ -84,11 +141,45 @@ "cost": 41, "xws": "omicrongrouppilot", "text": "Noted for its tri-wing design and advanced sensor suite, the Lambda-class shuttle serves a critical role as a light utility craft in the Imperial Navy.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_145.png", - "slots": ["Sensor", "Cannon", "Crew", "Crew", "Modification", "Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_145.jpg", - "ffg": 145, - "hyperspace": false + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/omicrongrouppilot.png", + "slots": [ + "Sensor", + "Cannon", + "Crew", + "Crew", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/omicrongrouppilot.png", + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Captain Yorr", + "caption": "ST-321 Shuttle Pilot", + "initiative": 2, + "limited": 1, + "cost": 47, + "xws": "captainyorr-wat1", + "ability": "Before a friendly ship at range 0-3 would gain a non-lock red or orange token, if you have no tokens of that type, you may spend 2 [Charge] to gain that token instead.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/captainyorr-wat1.png", + "charges": { + "value": 2, + "recovers": 1 + }, + "slots": [ + "Sensor", + "Cannon", + "Crew", + "Crew", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/captainyorr-wat1.png", + "standard": false, + "wildspace": true, + "epic": true } ] } diff --git a/data/pilots/galactic-empire/raider-class-corvette.json b/data/pilots/galactic-empire/raider-class-corvette.json index f58a151de..b88b07b85 100644 --- a/data/pilots/galactic-empire/raider-class-corvette.json +++ b/data/pilots/galactic-empire/raider-class-corvette.json @@ -1,9 +1,8 @@ { "name": "Raider-class Corvette", "xws": "raiderclasscorvette", - "ffg": 79, - "faction": "Galactic Empire", - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Raider.png", + "faction": "galacticempire", + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-empire/I_Raider.png", "size": "Huge", "dial": [ "0BR", @@ -21,35 +20,72 @@ "4FW", "5FR" ], - "dialCodes": ["RDR-I"], + "dialCodes": [ + "RDR-I" + ], "stats": [ - { "arc": "Full Front Arc", "type": "attack", "value": 4 }, - { "type": "agility", "value": 0 }, - { "type": "hull", "value": 20 }, - { "type": "shields", "value": 8, "recovers": 2 }, - { "type": "energy", "value": 6, "recovers": 2 } + { + "arc": "Full Front Arc", + "type": "attack", + "value": 4 + }, + { + "type": "agility", + "value": 0 + }, + { + "type": "hull", + "value": 20 + }, + { + "type": "shields", + "value": 8, + "recovers": 2 + }, + { + "type": "energy", + "value": 6, + "recovers": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Coordinate" }, - { "difficulty": "White", "type": "Reinforce" }, - { "difficulty": "White", "type": "Jam" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Coordinate" + }, + { + "difficulty": "White", + "type": "Reinforce" + }, + { + "difficulty": "White", + "type": "Jam" + } ], "pilots": [ { - "ffg": 707, "name": "Outer Rim Patrol", "initiative": 8, "cost": 134, "limited": 0, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/bbcb9af1eb386d2855f34e7ffa730528.jpg", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/outerrimpatrol.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/outerrimpatrol.png", "shipAbility": { "name": "Concentrated Batteries", "text": "While you perform a primary, [Torpedo], or [Missile] attack, if the defender is in your [Bullseye Arc], roll 1 additional die." }, "text": "The Raider-class corvette is one of the Empire's smallest warships, often used for reconnaissance missions, surgical strikes, or suppressing enemy starfighters with its powerful ordnance.", - "hyperspace": false, + "standard": false, + "wildspace": false, + "epic": true, "engagement": 0, "xws": "outerrimpatrol", "slots": [ @@ -67,4 +103,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/data/pilots/galactic-empire/tie-advanced-v1.json b/data/pilots/galactic-empire/tie-advanced-v1.json index e35676fc3..5b6a98106 100644 --- a/data/pilots/galactic-empire/tie-advanced-v1.json +++ b/data/pilots/galactic-empire/tie-advanced-v1.json @@ -1,7 +1,6 @@ { "name": "TIE Advanced v1", "xws": "tieadvancedv1", - "ffg": 25, "size": "Small", "dial": [ "1TB", @@ -24,30 +23,60 @@ "4KR", "5FW" ], - "dialCodes": ["TAv"], - "faction": "Galactic Empire", + "dialCodes": [ + "TAv" + ], + "faction": "galacticempire", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 3 }, - { "type": "hull", "value": 2 }, - { "type": "shields", "value": 2 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 2 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Evade" }, - { "difficulty": "White", "type": "Lock" }, { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Focus" }, + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Focus" + }, "type": "Barrel Roll" }, { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Focus" }, + "linked": { + "difficulty": "Red", + "type": "Focus" + }, "type": "Boost" } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_TIEAdvancedPrototype.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-empire/I_TIEAdvancedPrototype.png", "pilots": [ { "name": "Baron of the Empire", @@ -56,12 +85,19 @@ "cost": 31, "xws": "baronoftheempire", "text": "Sienar Fleet System's TIE Advanced v1 is a groundbreaking starfighter design, featuring upgraded engines, a missile launcher, and folding s-foils.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_101.png", - "slots": ["Talent", "Sensor", "Missile"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_101.jpg", - "ffg": 101, - "hyperspace": true, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/baronoftheempire.png", + "slots": [ + "Talent", + "Sensor", + "Missile" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/baronoftheempire.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Grand Inquisitor", @@ -71,28 +107,56 @@ "cost": 52, "xws": "grandinquisitor", "ability": "While you defend at attack range 1, you may spend 1 [Force] to prevent the range 1 bonus. While you perform an attack against a defender at attack range 2-3, you may spend 1 [Force] to apply the range 1 bonus.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_99.png", - "force": { "value": 2, "recovers": 1, "side": ["dark"] }, - "slots": ["Sensor", "Missile", "Force Power"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_99.jpg", - "ffg": 99, - "hyperspace": false, - "keywords": ["Dark Side", "TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/grandinquisitor.png", + "force": { + "value": 2, + "recovers": 1, + "side": [ + "dark" + ] + }, + "slots": [ + "Sensor", + "Missile", + "Force Power" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/grandinquisitor.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Dark Side", + "TIE" + ], + "epic": true }, { "name": "Inquisitor", "initiative": 3, "limited": 0, - "cost": 39, + "cost": 38, "xws": "inquisitor", "text": "The fearsome Inquisitors are given a great deal of autonomy and access to the Empire's latest technology, like the prototype TIE Advanced v1.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_102.png", - "force": { "value": 1, "recovers": 1, "side": ["dark"] }, - "slots": ["Sensor", "Missile", "Force Power"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_102.jpg", - "ffg": 102, - "hyperspace": true, - "keywords": ["Dark Side", "TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/inquisitor.png", + "force": { + "value": 1, + "recovers": 1, + "side": [ + "dark" + ] + }, + "slots": [ + "Sensor", + "Missile", + "Force Power" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/inquisitor.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Dark Side", + "TIE" + ], + "epic": true }, { "name": "Seventh Sister", @@ -102,29 +166,57 @@ "cost": 43, "xws": "seventhsister", "ability": "While you perform a primary attack, before the Neutralize Results step, you may spend 2 [Force] to cancel 1 [Evade] result.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_100.png", - "force": { "value": 2, "recovers": 1, "side": ["dark"] }, - "slots": ["Sensor", "Missile", "Force Power"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_100.jpg", - "ffg": 100, - "hyperspace": false, - "keywords": ["Dark Side", "TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/seventhsister.png", + "force": { + "value": 2, + "recovers": 1, + "side": [ + "dark" + ] + }, + "slots": [ + "Sensor", + "Missile", + "Force Power" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/seventhsister.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Dark Side", + "TIE" + ], + "epic": true }, { "name": "Fifth Brother", - "xws": "fifthbrother", + "caption": "Ruthless Brute", "initiative": 4, "limited": 1, - "caption": "Ruthless Brute", - "hyperspace": false, - "force": { "value": 2, "recovers": 1, "side": ["dark"] }, - "slots": ["Force Power", "Sensor", "Missile"], - "ability": "While you perform an attack, after the Neutralize Results step, if the attack hit, you may spend 2 [Force] to add 1 [Critical Hit] result.", "cost": 44, - "ffg": 632, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/e79e45f2bdb5a2ab6ff6728b42db0b74.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/01a02a00ef5aad21bc1f0a58028136ec.png", - "keywords": ["Dark Side", "TIE"] + "xws": "fifthbrother", + "ability": "While you perform an attack, after the Neutralize Results step, if the attack hit, you may spend 2 [Force] to add 1 [Critical Hit] result.", + "force": { + "value": 2, + "recovers": 1, + "side": [ + "dark" + ] + }, + "slots": [ + "Force Power", + "Sensor", + "Missile" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/fifthbrother.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/fifthbrother.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Dark Side", + "TIE" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/galactic-empire/tie-advanced-x1.json b/data/pilots/galactic-empire/tie-advanced-x1.json index ea6a64801..aa350a23d 100644 --- a/data/pilots/galactic-empire/tie-advanced-x1.json +++ b/data/pilots/galactic-empire/tie-advanced-x1.json @@ -1,7 +1,6 @@ { "name": "TIE Advanced x1", "xws": "tieadvancedx1", - "ffg": 13, "size": "Small", "dial": [ "1BB", @@ -23,93 +22,149 @@ "4KR", "5FW" ], - "dialCodes": ["TAx"], - "faction": "Galactic Empire", + "dialCodes": [ + "TAx" + ], + "faction": "galacticempire", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 3 }, - { "type": "hull", "value": 3 }, - { "type": "shields", "value": 2 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 3 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Barrel Roll" }, + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + }, "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Barrel Roll" } + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_TIEAdvanced.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-empire/I_TIEAdvanced.png", "pilots": [ { "name": "Darth Vader", "caption": "Black Leader", "initiative": 6, "limited": 1, - "cost": 66, + "cost": 68, "xws": "darthvader", "ability": "After you perform an action, you may spend 1 [Force] to perform an action.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_93.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/darthvader.png", "alt": [ { "image": "https://images-cdn.fantasyflightgames.com/filer_public/24/0a/240a5d21-309c-4d3d-aef9-5dab25564b7b/op18xu_card_altart2.png", "source": "European and North American Championship 2018" } ], - "force": { "value": 3, "recovers": 1, "side": ["dark"] }, + "force": { + "value": 3, + "recovers": 1, + "side": [ + "dark" + ] + }, "shipAbility": { "name": "Advanced Targeting Computer", "text": "While you perform a primary attack against a defender you have locked, roll 1 additional attack die and change 1 [Hit] result to a [Critical Hit] result." }, - "slots": ["Sensor", "Missile", "Modification", "Force Power"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_93.jpg", - "ffg": 93, - "hyperspace": false, - "keywords": ["Dark Side", "Sith", "TIE"] + "slots": [ + "Sensor", + "Missile", + "Modification", + "Force Power" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/darthvader.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Dark Side", + "Sith", + "TIE" + ], + "epic": true }, { "name": "Maarek Stele", "caption": "Servant of the Empire", "initiative": 5, "limited": 1, - "cost": 44, + "cost": 43, "xws": "maarekstele", "ability": "While you perform an attack, if the defender would be dealt a faceup damage card, instead draw 3 damage cards, choose 1, and discard the rest.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_94.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/maarekstele.png", "shipAbility": { "name": "Advanced Targeting Computer", "text": "While you perform a primary attack against a defender you have locked, roll 1 additional attack die and change 1 [Hit] result to a [Critical Hit] result." }, - "slots": ["Talent", "Sensor", "Missile", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_94.jpg", - "ffg": 94, - "hyperspace": false, - "keywords": ["TIE"] + "slots": [ + "Talent", + "Sensor", + "Missile", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/maarekstele.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Storm Squadron Ace", "initiative": 3, "limited": 0, - "cost": 39, + "cost": 37, "xws": "stormsquadronace", "text": "The TIE Advanced x1 was produced in limited quantities, but Sienar engineers incorporated many of its best qualities into their next TIE model: the TIE Interceptor.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_97.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/stormsquadronace.png", "shipAbility": { "name": "Advanced Targeting Computer", "text": "While you perform a primary attack against a defender you have locked, roll 1 additional attack die and change 1 [Hit] result to a [Critical Hit] result." }, - "slots": ["Talent", "Sensor", "Missile", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_97.jpg", - "ffg": 97, - "hyperspace": true, - "keywords": ["TIE"] + "slots": [ + "Talent", + "Sensor", + "Missile", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/stormsquadronace.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Tempest Squadron Pilot", "initiative": 2, "limited": 0, - "cost": 36, + "cost": 35, "xws": "tempestsquadronpilot", "text": "The TIE Advanced improved on the popular TIE/ln design by adding shielding, better weapons systems, curved solar panels, and a hyperdrive.", "alt": [ @@ -122,50 +177,287 @@ "name": "Advanced Targeting Computer", "text": "While you perform a primary attack against a defender you have locked, roll 1 additional attack die and change 1 [Hit] result to a [Critical Hit] result." }, - "slots": ["Sensor", "Missile", "Modification"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_98.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_98.jpg", - "ffg": 98, - "hyperspace": true, - "keywords": ["TIE"] + "slots": [ + "Sensor", + "Missile", + "Modification" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/tempestsquadronpilot.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/tempestsquadronpilot.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Ved Foslo", "caption": "Ambitious Engineer", "initiative": 4, "limited": 1, - "cost": 43, + "cost": 41, "xws": "vedfoslo", "ability": "While you execute a maneuver, you may execute a maneuver of the same bearing and difficulty of a speed 1 higher or lower instead.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_95.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/vedfoslo.png", "shipAbility": { "name": "Advanced Targeting Computer", "text": "While you perform a primary attack against a defender you have locked, roll 1 additional attack die and change 1 [Hit] result to a [Critical Hit] result." }, - "slots": ["Talent", "Sensor", "Missile", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_95.jpg", - "ffg": 95, - "hyperspace": false, - "keywords": ["TIE"] + "slots": [ + "Talent", + "Sensor", + "Missile", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/vedfoslo.png", + "standard": false, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Zertik Strom", "caption": "Pitiless Administrator", "initiative": 3, "limited": 1, - "cost": 40, + "cost": 39, "xws": "zertikstrom", "ability": "During the End Phase, you may spend a lock you have on an enemy ship to expose 1 of that ship's damage cards.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_96.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/zertikstrom.png", + "shipAbility": { + "name": "Advanced Targeting Computer", + "text": "While you perform a primary attack against a defender you have locked, roll 1 additional attack die and change 1 [Hit] result to a [Critical Hit] result." + }, + "slots": [ + "Sensor", + "Missile", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/zertikstrom.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Darth Vader", + "caption": "Battle of Yavin", + "initiative": 6, + "limited": 1, + "cost": 81, + "xws": "darthvader-battleofyavin", + "ability": "While you perform an attack, you may spend 1 [Force] to change 1 blank result to a [Hit] result.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/darthvader-battleofyavin.png", + "force": { + "value": 3, + "recovers": 1, + "side": [ + "dark" + ] + }, + "shipAbility": { + "name": "Advanced Targeting Computer", + "text": "While you perform a primary attack against a defender you have locked, roll 1 additional attack die and change 1 [Hit] result to a [Critical Hit] result." + }, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 3 + }, + { + "type": "shields", + "value": 3 + } + ], + "standardLoadout": [ + "marksmanship", + "hate", + "afterburners" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/darthvader-battleofyavin.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Dark Side", + "Sith", + "TIE" + ], + "epic": true + }, + { + "name": "Darth Vader", + "caption": "Battle of Yavin", + "initiative": 6, + "limited": 1, + "cost": 73, + "xws": "darthvader-battleofyavin-lsl", + "ability": "While you perform an attack, you may spend 1 [Force] to change 1 blank result to a [Hit] result.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/darthvader-battleofyavin-lsl.png", + "force": { + "value": 3, + "recovers": 1, + "side": [ + "dark" + ] + }, "shipAbility": { "name": "Advanced Targeting Computer", "text": "While you perform a primary attack against a defender you have locked, roll 1 additional attack die and change 1 [Hit] result to a [Critical Hit] result." }, - "slots": ["Sensor", "Missile", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_96.jpg", - "ffg": 96, - "hyperspace": false, - "keywords": ["TIE"] + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 3 + }, + { + "type": "shields", + "value": 3 + } + ], + "slots": [ + "Sensor", + "Missile", + "Force Power" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/darthvader-battleofyavin-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Dark Side", + "Sith", + "TIE" + ], + "epic": true + }, + { + "name": "Juno Eclipse", + "caption": "Corulag's Finest", + "initiative": 5, + "limited": 1, + "cost": 44, + "xws": "junoeclipse", + "ability": "After you perform an action, you may perform a red [Boost] action.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/junoeclipse.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/junoeclipse.png", + "shipAbility": { + "name": "Advanced Targeting Computer", + "text": "While you perform a primary attack against a defender you have locked, roll 1 additional attack die and change 1 [Hit] result to a [Critical Hit] result." + }, + "slots": [ + "Talent", + "Sensor", + "Missile", + "Modification" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Darth Vader", + "caption": "Black Leader", + "initiative": 6, + "limited": 1, + "cost": 75, + "xws": "darthvader-swz105", + "ability": "After you perform an action, you may spend 1 [Force] to perform an action.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/darthvader-swz105.png", + "force": { + "value": 3, + "recovers": 1, + "side": [ + "dark" + ] + }, + "shipAbility": { + "name": "Advanced Targeting Computer", + "text": "While you perform a primary attack against a defender you have locked, roll 1 additional attack die and change 1 [Hit] result to a [Critical Hit] result." + }, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 3 + }, + { + "type": "shields", + "value": 3 + } + ], + "standardLoadout": [ + "hate", + "ionmissiles", + "afterburners" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/darthvader-swz105.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Dark Side", + "Sith", + "TIE" + ], + "epic": true + }, + { + "name": "Maarek Stele", + "caption": "Servant of the Empire", + "initiative": 5, + "limited": 1, + "cost": 53, + "standardLoadout": [ + "elusive", + "outmaneuver", + "afterburners" + ], + "xws": "maarekstele-swz105", + "ability": "While you perform an attack, if the defender would be dealt a faceup damage card, instead draw 3 damage cards, choose 1, and discard the rest.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/maarekstele-swz105.png", + "shipAbility": { + "name": "Advanced Targeting Computer", + "text": "While you perform a primary attack against a defender you have locked, roll 1 additional attack die and change 1 [Hit] result to a [Critical Hit] result." + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/maarekstele-swz105.png", + "standard": false, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/galactic-empire/tie-ag-aggressor.json b/data/pilots/galactic-empire/tie-ag-aggressor.json index 02615bce5..2ed8a2791 100644 --- a/data/pilots/galactic-empire/tie-ag-aggressor.json +++ b/data/pilots/galactic-empire/tie-ag-aggressor.json @@ -1,7 +1,6 @@ { "name": "TIE/ag Aggressor", "xws": "tieagaggressor", - "ffg": 29, "size": "Small", "dial": [ "1BW", @@ -20,89 +19,125 @@ "4FW", "4KR" ], - "dialCodes": ["TAg"], - "faction": "Galactic Empire", + "dialCodes": [ + "TAg" + ], + "faction": "galacticempire", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 4 }, - { "type": "shields", "value": 1 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 4 + }, + { + "type": "shields", + "value": 1 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Evade" }, + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Evade" + }, "type": "Barrel Roll" } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_TIEAggressor.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-empire/I_TIEAggressor.png", "pilots": [ { - "name": "\"Double Edge\"", + "name": "“Double Edge”", "caption": "Contingency Planner", "initiative": 2, "limited": 1, - "cost": 28, + "cost": 27, "xws": "doubleedge", "ability": "After you perform a [Turret] or [Missile] attack that misses, you may perform a bonus attack using a different weapon.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_128.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/doubleedge.png", "slots": [ "Talent", + "Sensor", "Turret", "Missile", "Missile", "Modification", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_128.jpg", - "ffg": 128, - "hyperspace": false, - "keywords": ["TIE"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/doubleedge.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Lieutenant Kestal", "caption": "Innate Deadeye", "initiative": 4, "limited": 1, - "cost": 29, + "cost": 28, "xws": "lieutenantkestal", "ability": "While you perform an attack, after the defender rolls defense dice, you may spend 1 focus token to cancel all of the defender's blank/[Focus] results.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_127.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lieutenantkestal.png", "slots": [ "Talent", + "Sensor", "Turret", "Missile", "Missile", "Modification", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_127.jpg", - "ffg": 127, - "hyperspace": false, - "keywords": ["TIE"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lieutenantkestal.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Onyx Squadron Scout", "initiative": 3, "limited": 0, - "cost": 28, + "cost": 27, "xws": "onyxsquadronscout", "text": "Designed for extended engagements, the TIE/ag is flown primarily by elite pilots trained to leverage both its unique weapons loadout and its maneuverability to full effect.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_129.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/onyxsquadronscout.png", "slots": [ "Talent", + "Sensor", "Turret", "Missile", "Missile", "Modification", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_129.jpg", - "ffg": 129, - "hyperspace": false, - "keywords": ["TIE"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/onyxsquadronscout.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Sienar Specialist", @@ -111,12 +146,22 @@ "cost": 26, "xws": "sienarspecialist", "text": "During the development of the TIE aggressor, Sienar Fleet Systems valued performance and versatility over raw cost efficiency.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_130.png", - "slots": ["Turret", "Missile", "Missile", "Modification", "Gunner"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_130.jpg", - "ffg": 130, - "hyperspace": false, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sienarspecialist.png", + "slots": [ + "Sensor", + "Turret", + "Missile", + "Missile", + "Modification", + "Gunner" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sienarspecialist.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/galactic-empire/tie-ca-punisher.json b/data/pilots/galactic-empire/tie-ca-punisher.json index cc17dfb0a..a25f47672 100644 --- a/data/pilots/galactic-empire/tie-ca-punisher.json +++ b/data/pilots/galactic-empire/tie-ca-punisher.json @@ -1,7 +1,6 @@ { "name": "TIE/ca Punisher", "xws": "tiecapunisher", - "ffg": 20, "size": "Medium", "dial": [ "0OR", @@ -20,36 +19,66 @@ "3YR", "4KR" ], - "dialCodes": ["TPu"], - "faction": "Galactic Empire", + "dialCodes": [ + "TPu" + ], + "faction": "galacticempire", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 6 }, - { "type": "shields", "value": 3 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 6 + }, + { + "type": "shields", + "value": 3 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Barrel Roll" }, { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Lock" }, + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Lock" + }, "type": "Boost" }, - { "difficulty": "White", "type": "Reload" } + { + "difficulty": "White", + "type": "Reload" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_TIEPunisher.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-empire/I_TIEPunisher.png", "pilots": [ { - "name": "\"Deathrain\"", + "name": "“Deathrain”", "caption": "Dexterous Bombardier", "initiative": 4, "limited": 1, - "cost": 43, + "cost": 44, "xws": "deathrain", "ability": "After you drop or launch a device, you may perform an action.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_140.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/deathrain.png", "slots": [ "Sensor", "Torpedo", @@ -60,17 +89,20 @@ "Modification", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_140.jpg", - "ffg": 140, - "hyperspace": false, - "keywords": ["TIE"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/deathrain.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "\"Redline\"", + "name": "“Redline”", "caption": "Adrenaline Junkie", "initiative": 5, "limited": 1, - "cost": 51, + "cost": 50, "xws": "redline", "ability": "You can maintain up to 2 locks. After you perform an action, you may acquire a lock.", "slots": [ @@ -83,20 +115,23 @@ "Modification", "Gunner" ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_139.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_139.jpg", - "ffg": 139, - "hyperspace": false, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/redline.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/redline.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Cutlass Squadron Pilot", "initiative": 2, "limited": 0, - "cost": 35, + "cost": 34, "xws": "cutlasssquadronpilot", "text": "The TIE punisher's design builds upon the success of the TIE bomber, adding shielding, a second bomb chute, and three additional ordnance pods, each equipped with a twin ion engine.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_141.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/cutlasssquadronpilot.png", "slots": [ "Sensor", "Torpedo", @@ -107,10 +142,13 @@ "Modification", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_141.jpg", - "ffg": 141, - "hyperspace": false, - "keywords": ["TIE"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/cutlasssquadronpilot.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/galactic-empire/tie-d-defender.json b/data/pilots/galactic-empire/tie-d-defender.json index 6874cdaf5..ea682a575 100644 --- a/data/pilots/galactic-empire/tie-d-defender.json +++ b/data/pilots/galactic-empire/tie-d-defender.json @@ -1,7 +1,6 @@ { "name": "TIE/D Defender", "xws": "tieddefender", - "ffg": 18, "size": "Small", "dial": [ "1TR", @@ -23,60 +22,108 @@ "4KW", "5FB" ], - "dialCodes": ["TD"], - "faction": "Galactic Empire", + "dialCodes": [ + "TD" + ], + "faction": "galacticempire", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 3 }, - { "type": "hull", "value": 3 }, - { "type": "shields", "value": 4 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 3 + }, + { + "type": "shields", + "value": 4 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Evade" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Barrel Roll" }, - { "difficulty": "White", "type": "Boost" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Boost" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_TIEDefender.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-empire/I_TIEDefender.png", "pilots": [ { "name": "Colonel Vessery", "caption": "Contemplative Commander", "initiative": 4, "limited": 1, - "cost": 81, + "cost": 78, "xws": "colonelvessery", "ability": "While you perform an attack against a locked ship, after you roll attack dice, you may acquire a lock on the defender.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_123.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/colonelvessery.png", "shipAbility": { "name": "Full Throttle", "text": "After you fully execute a speed 3-5 maneuver, you may perform an [Evade] action." }, - "slots": ["Talent", "Sensor", "Cannon", "Missile", "Configuration"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_123.jpg", - "ffg": 123, - "hyperspace": false, - "keywords": ["TIE"] + "slots": [ + "Talent", + "Sensor", + "Cannon", + "Missile", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/colonelvessery.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Countess Ryad", "caption": "Cutthroat Politico", "initiative": 4, "limited": 1, - "cost": 79, + "cost": 75, "xws": "countessryad", "ability": "While you would execute a [Straight] maneuver, you may increase the difficulty of the maneuver. If you do, execute it as a [Koiogran Turn] maneuver instead.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_124.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/countessryad.png", "shipAbility": { "name": "Full Throttle", "text": "After you fully execute a speed 3-5 maneuver, you may perform an [Evade] action." }, - "slots": ["Talent", "Sensor", "Cannon", "Missile", "Configuration"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_124.jpg", - "ffg": 124, - "hyperspace": false, - "keywords": ["TIE"] + "slots": [ + "Talent", + "Sensor", + "Cannon", + "Missile", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/countessryad.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Delta Squadron Pilot", @@ -85,109 +132,381 @@ "cost": 67, "xws": "deltasquadronpilot", "text": "In addition to its missile launchers and six wingtip laser cannons, the formidable TIE defender is equipped with deflector shields and a hyperdrive.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_126.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/deltasquadronpilot.png", "shipAbility": { "name": "Full Throttle", "text": "After you fully execute a speed 3-5 maneuver, you may perform an [Evade] action." }, - "slots": ["Sensor", "Cannon", "Missile", "Configuration"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_126.jpg", - "ffg": 126, - "hyperspace": true, - "keywords": ["TIE"] + "slots": [ + "Talent", + "Sensor", + "Cannon", + "Missile", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/deltasquadronpilot.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Onyx Squadron Ace", "initiative": 4, "limited": 0, - "cost": 73, + "cost": 71, "xws": "onyxsquadronace", "text": "The experimental TIE defender outclasses all other contemporary starfighters, though its size, speed, and array of weapons come at a tremendous cost in credits.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_125.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/onyxsquadronace.png", "shipAbility": { "name": "Full Throttle", "text": "After you fully execute a speed 3-5 maneuver, you may perform an [Evade] action." }, - "slots": ["Talent", "Sensor", "Cannon", "Missile", "Configuration"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_125.jpg", - "ffg": 125, - "hyperspace": true, - "keywords": ["TIE"] + "slots": [ + "Talent", + "Sensor", + "Cannon", + "Missile", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/onyxsquadronace.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Rexler Brath", "caption": "Onyx Leader", "initiative": 5, "limited": 1, - "cost": 78, + "cost": 77, "xws": "rexlerbrath", "ability": "After you perform an attack that hits, if you are evading, expose 1 of the defender's damage cards.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_122.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/rexlerbrath.png", "shipAbility": { "name": "Full Throttle", "text": "After you fully execute a speed 3-5 maneuver, you may perform an [Evade] action." }, - "slots": ["Talent", "Sensor", "Cannon", "Missile", "Configuration"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_122.jpg", - "ffg": 122, - "hyperspace": false, - "keywords": ["TIE"] + "slots": [ + "Talent", + "Sensor", + "Cannon", + "Missile", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/rexlerbrath.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Vult Skerris", - "xws": "vultskerris", + "caption": "Arrogant Ace", "initiative": 5, "limited": 1, + "cost": 75, + "xws": "vultskerris", + "ability": "Action: Gain 1 strain token to recover 1 [Charge]. Before you engage, you may spend 1 [Charge] to perform an action.", "shipAbility": { "name": "Full Throttle", "text": "After you fully execute a speed 3-5 maneuver, you may perform an [Evade] action." }, - "caption": "Arrogant Ace", - "hyperspace": false, - "cost": 77, - "slots": ["Talent", "Sensor", "Cannon", "Missile", "Configuration"], - "ability": "Action: Gain 1 strain token to recover 1 [Charge]. Before you engage, you may spend 1 [Charge] to perform an action.", - "charges": { "value": 1, "recovers": -1 }, - "keywords": ["TIE"], - "ffg": 887, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/b515e5eda1c2df774f598afc4091af09.jpg" + "charges": { + "value": 1, + "recovers": -1 + }, + "slots": [ + "Talent", + "Sensor", + "Cannon", + "Missile", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/vultskerris.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/vultskerris.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Darth Vader", - "xws": "darthvader-tieddefender", + "caption": "Dark Lord of the Sith", "initiative": 6, "limited": 1, + "cost": 115, + "xws": "darthvader-tieddefender", + "ability": "You cannot spend [Force] except while attacking. While you perform an attack, you may spend 1 [Force] to change 1 blank result to a [Hit] result.", "shipAbility": { "name": "Full Throttle", "text": "After you fully execute a speed 3-5 maneuver, you may perform an [Evade] action." }, - "caption": "Dark Lord of the Sith", - "hyperspace": false, - "force": { "value": 3, "recovers": 1 }, - "cost": 112, - "slots": ["Force Power", "Cannon", "Missile", "Configuration"], - "ability": "You cannot spend [Force] except while attacking. While you perform an attack, you may spend 1 [Force] to change 1 blank result to a [Hit] result.", - "keywords": ["Dark Side", "Sith", "TIE"], - "ffg": 886, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/9c2cfc58582671a7073c6b5339ed3004.jpg" + "force": { + "value": 3, + "recovers": 1 + }, + "slots": [ + "Force Power", + "Cannon", + "Missile", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/darthvader-tieddefender.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/darthvader-tieddefender.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Dark Side", + "Sith", + "TIE" + ], + "epic": true }, { "name": "Captain Dobbs", - "xws": "captaindobbs", + "caption": "Reliable Replacement", "initiative": 3, "limited": 1, + "cost": 70, + "xws": "captaindobbs", + "ability": "While another friendly ship at range 0-1 defends, before the Neutralize Results step, if you are in the attack arc and are not ionized, you may gain 1 ion token to cancel 1 [Hit] result.", "shipAbility": { "name": "Full Throttle", "text": "After you fully execute a speed 3-5 maneuver, you may perform an [Evade] action." }, - "caption": "Reliable Replacement", - "hyperspace": false, - "cost": 73, - "slots": ["Talent", "Sensor", "Cannon", "Missile", "Configuration"], - "ability": "While another friendly ship at range 0-1 defends, before the Neutralize Results step, if you are in the attack arc and are not ionized, you may gain 1 ion token to cancel 1 [Hit] result.", - "keywords": ["TIE"], - "ffg": 888, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/1dde041cd0f46fb1ca2afe15264a3ad4.jpg" + "slots": [ + "Talent", + "Sensor", + "Cannon", + "Missile", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/captaindobbs.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/captaindobbs.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Captain Yorr", + "caption": "Battle Over Endor", + "initiative": 4, + "limited": 1, + "cost": 85, + "xws": "captainyorr-battleoverendor", + "ability": "After you perform a primary attack that hits, you may spend 1 [Charge] to perform a bonus [Cannon] attack.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/captainyorr-battleoverendor.png", + "charges": { + "value": 2, + "recovers": 0 + }, + "shipAbility": { + "name": "Chiss Engineering", + "text": "After you fully execute a speed 3-5 maneuver, you may perform a [Lock] action. While attacking, if you are not stressed, you may spend 1 [Shield] to apply the range 1 bonus." + }, + "shipActions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade", + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + } + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Boost" + } + ], + "standardLoadout": [ + "noescape-battleoverendor", + "predator", + "ioncannon", + "computerassistedhandling-battleoverendor" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/captainyorr-battleoverendor.png", + "standard": false, + "wildspace": true, + "epic": true + }, + { + "name": "Captain Yorr", + "caption": "Battle Over Endor", + "initiative": 4, + "limited": 1, + "cost": 72, + "xws": "captainyorr-battleoverendor-lsl", + "ability": "After you perform a primary attack that hits, you may spend 1 [Charge] to perform a bonus [Cannon] attack.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/captainyorr-battleoverendor-lsl.png", + "charges": { + "value": 2, + "recovers": 0 + }, + "shipAbility": { + "name": "Chiss Engineering", + "text": "After you fully execute a speed 3-5 maneuver, you may perform a [Lock] action. While attacking, if you are not stressed, you may spend 1 [Shield] to apply the range 1 bonus." + }, + "shipActions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade", + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + } + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Boost" + } + ], + "slots": [ + "Talent", + "Sensor", + "Cannon", + "Missile" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/captainyorr-battleoverendor-lsl.png", + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Colonel Jendon", + "caption": "Battle Over Endor", + "initiative": 6, + "limited": 1, + "cost": 87, + "xws": "coloneljendon-battleoverendor", + "ability": "While you defend, if you are not shielded, you may change 1 of your blank results to a [Focus] result.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/coloneljendon-battleoverendor.png", + "shipAbility": { + "name": "Chiss Engineering", + "text": "After you fully execute a speed 3-5 maneuver, you may perform a [Lock] action. While attacking, if you are not stressed, you may spend 1 [Shield] to apply the range 1 bonus." + }, + "shipActions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade", + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + } + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Boost" + } + ], + "standardLoadout": [ + "noescape-battleoverendor", + "pushthelimit-battleoverendor", + "protoncannons", + "computerassistedhandling-battleoverendor" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/coloneljendon-battleoverendor.png", + "standard": false, + "wildspace": true, + "epic": true + }, + { + "name": "Colonel Jendon", + "caption": "Battle Over Endor", + "initiative": 6, + "limited": 1, + "cost": 80, + "xws": "coloneljendon-battleoverendor-lsl", + "ability": "While you defend, if you are not shielded, you may change 1 of your blank results to a [Focus] result.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/coloneljendon-battleoverendor-lsl.png", + "shipAbility": { + "name": "Chiss Engineering", + "text": "After you fully execute a speed 3-5 maneuver, you may perform a [Lock] action. While attacking, if you are not stressed, you may spend 1 [Shield] to apply the range 1 bonus." + }, + "shipActions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade", + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + } + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Boost" + } + ], + "slots": [ + "Talent", + "Sensor", + "Cannon", + "Missile" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/coloneljendon-battleoverendor-lsl.png", + "standard": true, + "wildspace": true, + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/galactic-empire/tie-in-interceptor.json b/data/pilots/galactic-empire/tie-in-interceptor.json index ba087dc23..fc2737f10 100644 --- a/data/pilots/galactic-empire/tie-in-interceptor.json +++ b/data/pilots/galactic-empire/tie-in-interceptor.json @@ -1,7 +1,6 @@ { "name": "TIE/in Interceptor", "xws": "tieininterceptor", - "ffg": 41, "size": "Small", "dial": [ "1TW", @@ -22,20 +21,44 @@ "4KR", "5FW" ], - "dialCodes": ["TI"], - "faction": "Galactic Empire", + "dialCodes": [ + "TI" + ], + "faction": "galacticempire", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 3 }, - { "type": "hull", "value": 3 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 3 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Evade" }, - { "difficulty": "White", "type": "Barrel Roll" }, - { "difficulty": "White", "type": "Boost" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Boost" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_TIEInterceptor.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-empire/I_TIEInterceptor.png", "pilots": [ { "name": "Alpha Squadron Pilot", @@ -44,72 +67,103 @@ "cost": 32, "xws": "alphasquadronpilot", "text": "Sienar Fleet Systems designed the TIE interceptor with four wing-mounted laser cannons, a dramatic increase in firepower over its predecessors.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_106.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/alphasquadronpilot.png", "shipAbility": { "name": "Autothrusters", "text": "After you perform an action, you may perform a red [Barrel Roll] or red [Boost] action." }, - "slots": ["Modification", "Modification", "Configuration"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_106.jpg", - "ffg": 106, - "hyperspace": false, - "keywords": ["TIE"] + "slots": [ + "Modification", + "Modification", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/alphasquadronpilot.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Saber Squadron Ace", "initiative": 4, "limited": 0, - "cost": 36, + "cost": 37, "xws": "sabersquadronace", "text": "Led by Baron Soontir Fel, the pilots of Saber Squadron are among the Empire's best. Their TIE interceptors are marked with red stripes to designate pilots with at least ten confirmed kills.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_105.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sabersquadronace.png", "shipAbility": { "name": "Autothrusters", "text": "After you perform an action, you may perform a red [Barrel Roll] or red [Boost] action." }, - "slots": ["Talent", "Modification", "Modification", "Configuration"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_105.jpg", - "ffg": 105, - "hyperspace": false, - "keywords": ["TIE"] + "slots": [ + "Talent", + "Modification", + "Modification", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sabersquadronace.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Soontir Fel", "caption": "Ace of Legend", "initiative": 6, "limited": 1, - "cost": 53, + "cost": 54, "xws": "soontirfel", "ability": "At the start of the Engagement Phase, if there is an enemy ship in your [Bullseye Arc], gain 1 focus token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_103.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/soontirfel.png", "shipAbility": { "name": "Autothrusters", "text": "After you perform an action, you may perform a red [Barrel Roll] or red [Boost] action." }, - "slots": ["Talent", "Modification", "Modification", "Configuration"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_103.jpg", - "ffg": 103, - "hyperspace": true, - "keywords": ["TIE"] + "slots": [ + "Talent", + "Modification", + "Modification", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/soontirfel.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Turr Phennir", "caption": "Ambitious Ace", "initiative": 4, "limited": 1, - "cost": 42, + "cost": 39, "xws": "turrphennir", "ability": "After you perform an attack, you may perform a [Barrel Roll] or [Boost] action, even if you are stressed.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_104.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/turrphennir.png", "shipAbility": { "name": "Autothrusters", "text": "After you perform an action, you may perform a red [Barrel Roll] or red [Boost] action." }, - "slots": ["Talent", "Modification", "Modification", "Configuration"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_104.jpg", - "ffg": 104, - "hyperspace": true, - "keywords": ["TIE"] + "slots": [ + "Talent", + "Modification", + "Modification", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/turrphennir.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Ciena Ree", @@ -120,14 +174,23 @@ "name": "Autothrusters", "text": "After you perform an action, you may perform a red [Barrel Roll] or red [Boost] action." }, - "hyperspace": true, - "keywords": ["TIE"], - "cost": 48, - "slots": ["Talent", "Modification", "Modification", "Configuration"], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "cost": 47, + "slots": [ + "Talent", + "Modification", + "Modification", + "Configuration" + ], "ability": "After you perform an attack, if the defender was destroyed, gain 1 stress token. After a friendly ship at range 0-3 is destroyed, remove 1 stress token.", "caption": "Look Through My Eyes", - "ffg": 889, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/1e8066a3e41db4df36bbb155feac4c20.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/cienaree.png", + "epic": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/cienaree.png" }, { "name": "Gideon Hask", @@ -139,13 +202,22 @@ "text": "After you perform an action, you may perform a red [Barrel Roll] or red [Boost] action." }, "caption": "Inferno Two", - "hyperspace": true, - "keywords": ["TIE"], - "cost": 48, - "slots": ["Talent", "Modification", "Modification", "Configuration"], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "cost": 46, + "slots": [ + "Talent", + "Modification", + "Modification", + "Configuration" + ], "ability": "While you perform an attack against a damaged defender, roll 1 additional attack die.", - "ffg": 892, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/f97eca9b805c2e0f8bb833ffce44b033.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/gideonhask-tieininterceptor.png", + "epic": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/gideonhask-tieininterceptor.png" }, { "name": "Vult Skerris", @@ -157,32 +229,53 @@ "text": "After you perform an action, you may perform a red [Barrel Roll] or red [Boost] action." }, "caption": "Arrogant Ace", - "hyperspace": true, + "standard": true, + "wildspace": true, "cost": 43, - "slots": ["Talent", "Modification", "Modification", "Configuration"], + "slots": [ + "Talent", + "Modification", + "Modification", + "Configuration" + ], "ability": "Action: Gain 1 strain token to recover 1 [Charge]. Before you engage, you may spend 1 [Charge] to perform an action.", - "charges": { "value": 1, "recovers": -1 }, - "keywords": ["TIE"], - "ffg": 890, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/528647fa86b7a42c3e48992185e422b5.jpg" + "charges": { + "value": 1, + "recovers": -1 + }, + "keywords": [ + "TIE" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/vultskerris-tieininterceptor.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/vultskerris-tieininterceptor.png", + "epic": true }, { "name": "Commandant Goran", "xws": "commandantgoran", "initiative": 4, "limited": 1, + "ability": "After a friendly ship at range 0-3 with a lower initiative than yours partially executes a revealed maneuver, it may perform a red [Focus] action.", "shipAbility": { "name": "Autothrusters", "text": "After you perform an action, you may perform a red [Barrel Roll] or red [Boost] action." }, "caption": "Skystrike Superintendent", - "hyperspace": true, + "standard": true, + "wildspace": true, "cost": 43, - "slots": ["Talent", "Modification", "Modification", "Configuration"], - "ability": "After a friendly ship at range 0-3 with a lower initiative than yours partially executes a maneuver, it may perform a red [Focus] action.", - "keywords": ["TIE"], - "ffg": 891, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/cf15fb0b36550e1066381dbd38eba259.jpg" + "slots": [ + "Talent", + "Modification", + "Modification", + "Configuration" + ], + "keywords": [ + "TIE" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/commandantgoran.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/commandantgoran.png", + "epic": true }, { "name": "Lieutenant Lorrir", @@ -194,13 +287,22 @@ "text": "After you perform an action, you may perform a red [Barrel Roll] or red [Boost] action." }, "caption": "Requiem for Brentaal", - "hyperspace": true, - "cost": 39, - "slots": ["Talent", "Modification", "Modification", "Configuration"], + "standard": true, + "wildspace": true, + "cost": 37, + "slots": [ + "Talent", + "Modification", + "Modification", + "Configuration" + ], "ability": "While you barrel roll, you must use the [[Bank Left] or [Bank Right]] template instead of the [[Straight]] template.", - "keywords": ["TIE"], - "ffg": 893, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/0dc2601a5cdde23815e1d0fc54e7817b.jpg" + "keywords": [ + "TIE" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lieutenantlorrir.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lieutenantlorrir.png", + "epic": true }, { "name": "Nash Windrider", @@ -212,14 +314,779 @@ "text": "After you perform an action, you may perform a red [Barrel Roll] or red [Boost] action." }, "caption": "Alderaanian Zealot", - "hyperspace": true, + "standard": true, + "wildspace": true, "cost": 41, - "charges": { "value": 1, "recovers": 1 }, - "slots": ["Talent", "Modification", "Modification", "Configuration"], + "charges": { + "value": 1, + "recovers": 1 + }, + "slots": [ + "Talent", + "Modification", + "Modification", + "Configuration" + ], "ability": "During the Engagement Phase, after a friendly small ship at range 0-3 is destroyed, if that ship has not engaged this phase, you may spend 1 [Charge]. If you do, that ship engages at the current initiative.", - "keywords": ["TIE"], - "ffg": 894, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/1470ad9f77f0c8ac14d9fa291895ec9a.jpg" + "keywords": [ + "TIE" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/nashwindrider.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/nashwindrider.png", + "epic": true + }, + { + "name": "Iden Versio", + "caption": "Battle of Yavin", + "xws": "idenversio-battleofyavin", + "initiative": 4, + "limited": 1, + "shipAbility": { + "name": "Sensitive Controls", + "text": "During the System Phase, you may perform a red [Barrel Roll] or red [Boost] action." + }, + "standard": false, + "wildspace": true, + "cost": 67, + "charges": { + "value": 2, + "recovers": 1 + }, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 3 + }, + { + "type": "shields", + "value": 1 + } + ], + "standardLoadout": [ + "predator", + "fanatic-battleofyavin" + ], + "ability": "Before a friendly TIE at range 0-1 would suffer damage, you may spend 2 [Charge]. If you do, prevent 1 damage.", + "keywords": [ + "TIE" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/idenversio-battleofyavin.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/idenversio-battleofyavin.png", + "epic": true + }, + { + "name": "Iden Versio", + "caption": "Battle of Yavin", + "xws": "idenversio-battleofyavin-lsl", + "initiative": 4, + "limited": 1, + "shipAbility": { + "name": "Sensitive Controls", + "text": "During the System Phase, you may perform a red [Barrel Roll] or red [Boost] action." + }, + "standard": true, + "wildspace": true, + "cost": 64, + "charges": { + "value": 2, + "recovers": 1 + }, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 3 + }, + { + "type": "shields", + "value": 1 + } + ], + "slots": [ + "Talent", + "Modification" + ], + "ability": "Before a friendly TIE at range 0-1 would suffer damage, you may spend 2 [Charge]. If you do, prevent 1 damage.", + "keywords": [ + "TIE" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/idenversio-battleofyavin-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/idenversio-battleofyavin-lsl.png", + "epic": true + }, + { + "name": "Sigma 4", + "caption": "Battle of Yavin", + "xws": "sigma4-battleofyavin", + "initiative": 4, + "limited": 1, + "shipAbility": { + "name": "Sensitive Controls", + "text": "During the System Phase, you may perform a red [Barrel Roll] or red [Boost] action." + }, + "standard": false, + "wildspace": true, + "cost": 52, + "charges": { + "value": 2, + "recovers": 0 + }, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 4 + } + ], + "standardLoadout": [ + "disciplined", + "primedthrusters" + ], + "ability": "After you perform a [Barrel Roll] action, you may spend 1 [Charge] to perform a [Boost] action.", + "keywords": [ + "TIE" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sigma4-battleofyavin.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sigma4-battleofyavin.png", + "epic": true + }, + { + "name": "Sigma 4", + "caption": "Battle of Yavin", + "xws": "sigma4-battleofyavin-lsl", + "initiative": 4, + "limited": 1, + "shipAbility": { + "name": "Sensitive Controls", + "text": "During the System Phase, you may perform a red [Barrel Roll] or red [Boost] action." + }, + "standard": true, + "wildspace": true, + "cost": 40, + "charges": { + "value": 2, + "recovers": 0 + }, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 4 + } + ], + "slots": [ + "Talent", + "Modification" + ], + "ability": "After you perform a [Barrel Roll] action, you may spend 1 [Charge] to perform a [Boost] action.", + "keywords": [ + "TIE" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sigma4-battleofyavin-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sigma4-battleofyavin-lsl.png", + "epic": true + }, + { + "name": "Sigma 5", + "caption": "Battle of Yavin", + "xws": "sigma5-battleofyavin", + "initiative": 4, + "limited": 1, + "shipAbility": { + "name": "Sensitive Controls", + "text": "During the System Phase, you may perform a red [Barrel Roll] or red [Boost] action." + }, + "standard": false, + "wildspace": true, + "cost": 50, + "charges": { + "value": 2, + "recovers": 0 + }, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 4 + } + ], + "standardLoadout": [ + "sensorjammer-battleofyavin", + "elusive" + ], + "ability": "After you perform an attack that hits, you may spend 1 [Charge] to perform an [Evade] action.", + "keywords": [ + "TIE" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sigma5-battleofyavin.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sigma5-battleofyavin.png", + "epic": true + }, + { + "name": "Sigma 5", + "caption": "Battle of Yavin", + "xws": "sigma5-battleofyavin-lsl", + "initiative": 4, + "limited": 1, + "shipAbility": { + "name": "Sensitive Controls", + "text": "During the System Phase, you may perform a red [Barrel Roll] or red [Boost] action." + }, + "standard": true, + "wildspace": true, + "cost": 41, + "charges": { + "value": 2, + "recovers": 0 + }, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 4 + } + ], + "slots": [ + "Talent", + "Modification" + ], + "ability": "After you perform an attack that hits, you may spend 1 [Charge] to perform an [Evade] action.", + "keywords": [ + "TIE" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sigma5-battleofyavin-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sigma5-battleofyavin-lsl.png", + "epic": true + }, + { + "name": "Sigma 6", + "caption": "Battle of Yavin", + "xws": "sigma6-battleofyavin", + "initiative": 4, + "limited": 1, + "shipAbility": { + "name": "Sensitive Controls", + "text": "During the System Phase, you may perform a red [Barrel Roll] or red [Boost] action." + }, + "standard": false, + "wildspace": true, + "cost": 48, + "charges": { + "value": 2, + "recovers": 0 + }, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 4 + } + ], + "standardLoadout": [ + "daredevil", + "afterburners" + ], + "ability": "After you fully execute a speed 3-5 maneuver, you may spend 1 [Charge] to perform a [SLAM] action.", + "keywords": [ + "TIE" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sigma6-battleofyavin.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sigma6-battleofyavin.png", + "epic": true + }, + { + "name": "Sigma 6", + "caption": "Battle of Yavin", + "xws": "sigma6-battleofyavin-lsl", + "initiative": 4, + "limited": 1, + "shipAbility": { + "name": "Sensitive Controls", + "text": "During the System Phase, you may perform a red [Barrel Roll] or red [Boost] action." + }, + "standard": true, + "wildspace": true, + "cost": 41, + "charges": { + "value": 2, + "recovers": 0 + }, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 4 + } + ], + "slots": [ + "Talent", + "Modification" + ], + "ability": "After you fully execute a speed 3-5 maneuver, you may spend 1 [Charge] to perform a [SLAM] action.", + "keywords": [ + "TIE" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sigma6-battleofyavin-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sigma6-battleofyavin-lsl.png", + "epic": true + }, + { + "name": "Sigma 7", + "caption": "Battle of Yavin", + "xws": "sigma7-battleofyavin", + "initiative": 4, + "limited": 1, + "shipAbility": { + "name": "Sensitive Controls", + "text": "During the System Phase, you may perform a red [Barrel Roll] or red [Boost] action." + }, + "standard": false, + "wildspace": true, + "cost": 48, + "charges": { + "value": 2, + "recovers": 0 + }, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 4 + } + ], + "shipActions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Boost" + }, + { + "difficulty": "White", + "type": "Lock" + } + ], + "standardLoadout": [ + "marksmanship", + "firecontrolsystem" + ], + "ability": "During the System Phase, you may spend 1 [Charge] to acquire a lock on an enemy ship at range 0-1.", + "keywords": [ + "TIE" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sigma7-battleofyavin.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sigma7-battleofyavin.png", + "epic": true + }, + { + "name": "Sigma 7", + "caption": "Battle of Yavin", + "xws": "sigma7-battleofyavin-lsl", + "initiative": 4, + "limited": 1, + "shipAbility": { + "name": "Sensitive Controls", + "text": "During the System Phase, you may perform a red [Barrel Roll] or red [Boost] action." + }, + "standard": true, + "wildspace": true, + "cost": 43, + "charges": { + "value": 2, + "recovers": 0 + }, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 4 + } + ], + "shipActions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Boost" + }, + { + "difficulty": "White", + "type": "Lock" + } + ], + "slots": [ + "Talent" + ], + "ability": "During the System Phase, you may spend 1 [Charge] to acquire a lock on an enemy ship at range 0-1.", + "keywords": [ + "TIE" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sigma7-battleofyavin-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sigma7-battleofyavin-lsl.png", + "epic": true + }, + { + "name": "Second Sister", + "xws": "secondsister", + "initiative": 4, + "limited": 1, + "shipAbility": { + "name": "Autothrusters", + "text": "After you perform an action, you may perform a red [Barrel Roll] or red [Boost] action." + }, + "caption": "Manipulative Monster", + "standard": true, + "wildspace": true, + "cost": 47, + "slots": [ + "Force Power", + "Modification", + "Modification", + "Configuration" + ], + "ability": "While you perform an attack, after the Neutralize Results step, if the attack hit, you may spend 2 [Force]. If you do, change all of your [Hit] results to [Critical Hit] results.", + "force": { + "value": 2, + "recovers": 1 + }, + "keywords": [ + "Dark Side", + "TIE" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/secondsister.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/secondsister.png", + "epic": true + }, + { + "name": "Sapphire 2", + "caption": "Battle Over Endor", + "xws": "sapphire2-battleoverendor", + "initiative": 1, + "limited": 1, + "shipAbility": { + "name": "Sensitive Controls", + "text": "During the System Phase, you may perform a red [Barrel Roll] or red [Boost] action." + }, + "cost": 53, + "standardLoadout": [ + "noescape-battleoverendor", + "reckless-battleoverendor", + "primedthrusters", + "targetingmatrix-battleoverendor" + ], + "ability": "While you defend, if you are focused, roll 1 additional defense die.", + "keywords": [ + "TIE" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sapphire2-battleoverendor.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sapphire2-battleoverendor.png", + "standard": false, + "wildspace": true, + "epic": true + }, + { + "name": "Sapphire 2", + "caption": "Battle Over Endor", + "xws": "sapphire2-battleoverendor-lsl", + "initiative": 1, + "limited": 1, + "shipAbility": { + "name": "Sensitive Controls", + "text": "During the System Phase, you may perform a red [Barrel Roll] or red [Boost] action." + }, + "cost": 38, + "slots": [ + "Modification", + "Modification" + ], + "ability": "While you defend, if you are focused, roll 1 additional defense die.", + "keywords": [ + "TIE" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sapphire2-battleoverendor-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sapphire2-battleoverendor-lsl.png", + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Soontir Fel", + "caption": "Battle Over Endor", + "xws": "soontirfel-battleoverendor", + "initiative": 6, + "limited": 1, + "shipAbility": { + "name": "Sensitive Controls", + "text": "During the System Phase, you may perform a red [Barrel Roll] or red [Boost] action." + }, + "charges": { + "value": 2, + "recovers": 0 + }, + "cost": 68, + "standardLoadout": [ + "apexpredator-battleoverendor", + "noescape-battleoverendor", + "blanksignature-battleoverendor", + "feedbackemitter-battleoverendor" + ], + "ability": "After you perform an attack, you may spend 1 [Charge] and gain 1 deplete token to boost or barrel roll.", + "keywords": [ + "TIE" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/soontirfel-battleoverendor.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/soontirfel-battleoverendor.png", + "standard": false, + "wildspace": true, + "epic": true + }, + { + "name": "Soontir Fel", + "caption": "Battle Over Endor", + "xws": "soontirfel-battleoverendor-lsl", + "initiative": 6, + "limited": 1, + "shipAbility": { + "name": "Sensitive Controls", + "text": "During the System Phase, you may perform a red [Barrel Roll] or red [Boost] action." + }, + "charges": { + "value": 2, + "recovers": 0 + }, + "cost": 49, + "slots": [ + "Talent", + "Modification", + "Modification" + ], + "ability": "After you perform an attack, you may spend 1 [Charge] and gain 1 deplete token to boost or barrel roll.", + "keywords": [ + "TIE" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/soontirfel-battleoverendor-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/soontirfel-battleoverendor-lsl.png", + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Maus Monare", + "caption": "Battle Over Endor", + "xws": "mausmonare-battleoverendor", + "initiative": 3, + "limited": 1, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 3 + }, + { + "type": "shields", + "value": 1 + } + ], + "shipAbility": { + "name": "Sensitive Controls", + "text": "During the System Phase, you may perform a red [Barrel Roll] or red [Boost] action." + }, + "cost": 56, + "standardLoadout": [ + "noescape-battleoverendor", + "outmaneuver", + "fuelinjectionoverride-battleoverendor" + ], + "ability": "After you perform an [Evade] action, gain a calculate token", + "keywords": [ + "TIE" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/mausmonare-battleoverendor.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/mausmonare-battleoverendor.png", + "standard": false, + "wildspace": true, + "epic": true + }, + { + "name": "Maus Monare", + "caption": "Battle Over Endor", + "xws": "mausmonare-battleoverendor-lsl", + "initiative": 3, + "limited": 1, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 3 + }, + { + "type": "shields", + "value": 1 + } + ], + "shipAbility": { + "name": "Sensitive Controls", + "text": "During the System Phase, you may perform a red [Barrel Roll] or red [Boost] action." + }, + "cost": 42, + "slots": [ + "Talent", + "Modification", + "Modification" + ], + "ability": "After you perform an [Evade] action, gain a calculate token", + "keywords": [ + "TIE" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/mausmonare-battleoverendor-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/mausmonare-battleoverendor-lsl.png", + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Carnor Jax", + "caption": "Emperor's Revenge", + "initiative": 5, + "limited": 1, + "cost": 50, + "xws": "carnorjax-wat1", + "ability": "At the start of the Engagement Phase, you may choose 1 ship in your [Front Arc] at range 0-1 . If you do so, that ship gains 1 jam token.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/carnorjax-wat1.png", + "shipAbility": { + "name": "Autothrusters", + "text": "After you perform an action, you may perform a red [Barrel Roll] or red [Boost] action." + }, + "slots": [ + "Talent", + "Modification", + "Modification", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/carnorjax-wat1.png", + "standard": false, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true } ] } diff --git a/data/pilots/galactic-empire/tie-ln-fighter.json b/data/pilots/galactic-empire/tie-ln-fighter.json index 82e56117a..06b97568a 100644 --- a/data/pilots/galactic-empire/tie-ln-fighter.json +++ b/data/pilots/galactic-empire/tie-ln-fighter.json @@ -1,7 +1,6 @@ { "name": "TIE/ln Fighter", "xws": "tielnfighter", - "ffg": 11, "size": "Small", "dial": [ "1TW", @@ -21,95 +20,147 @@ "4KR", "5FW" ], - "dialCodes": ["TF"], - "faction": "Galactic Empire", + "dialCodes": [ + "TF" + ], + "faction": "galacticempire", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 3 }, - { "type": "hull", "value": 3 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 3 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Evade" }, - { "difficulty": "White", "type": "Barrel Roll" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_TIEFighter.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-empire/I_TIEFighter.png", "pilots": [ { - "name": "\"Howlrunner\"", + "name": "“Howlrunner”", "caption": "Obsidian Leader", "initiative": 5, "limited": 1, - "cost": 41, + "cost": 39, "xws": "howlrunner", "ability": "While a friendly ship at range 0-1 performs a primary attack, that ship may reroll 1 attack die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_81.png", - "slots": ["Talent", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_81.jpg", - "ffg": 81, - "hyperspace": true, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/howlrunner.png", + "slots": [ + "Talent", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/howlrunner.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "\"Mauler\" Mithel", + "name": "“Mauler” Mithel", "caption": "Black Two", "initiative": 5, "limited": 1, - "cost": 28, + "cost": 29, "xws": "maulermithel", "ability": "While you perform an attack at attack range 1, roll 1 additional attack die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_80.png", - "slots": ["Talent", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_80.jpg", - "ffg": 80, - "hyperspace": true, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/maulermithel.png", + "slots": [ + "Talent", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/maulermithel.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "\"Night Beast\"", + "name": "“Night Beast”", "caption": "Obsidian Two", "initiative": 2, "limited": 1, - "cost": 23, + "cost": 22, "xws": "nightbeast", "ability": "After you fully execute a blue maneuver, you may perform a [Focus] action.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_88.png", - "slots": ["Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_88.jpg", - "ffg": 88, - "hyperspace": true, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/nightbeast.png", + "slots": [ + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/nightbeast.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "\"Scourge\" Skutu", + "name": "“Scourge” Skutu", "caption": "Seasoned Veteran", "initiative": 5, "limited": 1, "cost": 28, "xws": "scourgeskutu", "ability": "While you perform an attack against a defender in your [Bullseye Arc], roll 1 additional attack die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_82.png", - "slots": ["Talent", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_82.jpg", - "ffg": 82, - "hyperspace": true, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/scourgeskutu.png", + "slots": [ + "Talent", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/scourgeskutu.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "\"Wampa\"", + "name": "“Wampa”", "caption": "Black Eleven", "initiative": 1, "limited": 1, - "cost": 28, + "cost": 27, "xws": "wampa", "ability": "While you perform an attack, you may spend 1 [Charge] to roll 1 additional attack die. After defending, lose 1 [Charge].", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_89.png", - "charges": { "value": 1, "recovers": 1 }, - "slots": ["Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_89.jpg", - "ffg": 89, - "hyperspace": true, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/wampa.png", + "charges": { + "value": 1, + "recovers": 1 + }, + "slots": [ + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/wampa.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Academy Pilot", @@ -118,38 +169,49 @@ "cost": 22, "xws": "academypilot", "text": "The Galactic Empire uses the fast and agile TIE/ln, developed by Sienar Fleet Systems and produced in staggering quantity, as its primary starfighter.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_92.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/academypilot.png", "alt": [ { "image": "https://images-cdn.fantasyflightgames.com/filer_public/c9/4e/c94efa45-9cf7-4167-8e41-50d27d300f12/op066-academy-pilot.png", "source": "X-Wing Second Edition Launch Party" } ], - "slots": ["Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_92.jpg", - "ffg": 92, - "hyperspace": false, - "keywords": ["TIE"] + "slots": [ + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/academypilot.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Black Squadron Ace", "initiative": 3, "limited": 0, - "cost": 25, + "cost": 24, "xws": "blacksquadronace", "text": "The elite TIE/ln pilots of Black Squadron accompanied Darth Vader on a devastating strike against the Rebel forces at the Battle of Yavin.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_90.png", - "slots": ["Talent", "Modification"], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/blacksquadronace.png", + "slots": [ + "Talent", + "Modification" + ], "alt": [ { "image": "https://images-cdn.fantasyflightgames.com/filer_public/fe/2b/fe2b0b19-b983-4665-aa8a-769fc2e03f64/op086-obsidian-squadron-pilot.png", "source": "Gen Con Indy 2018" } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_90.jpg", - "ffg": 90, - "hyperspace": false, - "keywords": ["TIE"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/blacksquadronace.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Del Meeko", @@ -159,12 +221,18 @@ "cost": 27, "xws": "delmeeko", "ability": "While a friendly ship at range 0-2 defends against a damaged attacker, the defender may reroll 1 defense die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_85.png", - "slots": ["Talent", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_85.jpg", - "ffg": 85, - "hyperspace": true, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/delmeeko.png", + "slots": [ + "Talent", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/delmeeko.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Gideon Hask", @@ -174,28 +242,43 @@ "cost": 27, "xws": "gideonhask", "ability": "While you perform an attack against a damaged defender, roll 1 additional attack die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_84.png", - "slots": ["Talent", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_84.jpg", - "ffg": 84, - "hyperspace": true, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/gideonhask.png", + "slots": [ + "Talent", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/gideonhask.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Iden Versio", "caption": "Inferno Leader", "initiative": 4, "limited": 1, - "cost": 40, + "cost": 42, "xws": "idenversio", "ability": "Before a friendly TIE/ln fighter at range 0-1 would suffer 1 or more damage, you may spend 1 [Charge]. If you do, prevent that damage.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_83.png", - "charges": { "value": 1, "recovers": 0 }, - "slots": ["Talent", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_83.jpg", - "ffg": 83, - "hyperspace": true, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/idenversio.png", + "charges": { + "value": 1, + "recovers": 0 + }, + "slots": [ + "Talent", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/idenversio.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Obsidian Squadron Pilot", @@ -204,18 +287,23 @@ "cost": 23, "xws": "obsidiansquadronpilot", "text": "The TIE fighter's Twin Ion Engine system was designed for speed, making the TIE/ln one of the most maneuverable starships ever mass-produced.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_91.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/obsidiansquadronpilot.png", "alt": [ { "image": "https://images-cdn.fantasyflightgames.com/filer_public/12/55/12552f53-decc-49ff-8fe2-e4285d4ff31e/op066-obsidian-squadron-pilot.png", "source": "X-Wing Second Edition Launch Party" } ], - "slots": ["Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_91.jpg", - "ffg": 91, - "hyperspace": false, - "keywords": ["TIE"] + "slots": [ + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/obsidiansquadronpilot.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Seyn Marana", @@ -225,54 +313,858 @@ "cost": 27, "xws": "seynmarana", "ability": "While you perform an attack, you may spend 1 [Critical Hit] result. If you do, deal 1 facedown damage card to the defender, then cancel your remaining results.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_86.png", - "slots": ["Talent", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_86.jpg", - "ffg": 86, - "hyperspace": true, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/seynmarana.png", + "slots": [ + "Talent", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/seynmarana.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Valen Rudor", "caption": "Braggadocious Baron", "initiative": 3, "limited": 1, - "cost": 24, + "cost": 23, "xws": "valenrudor", "ability": "After a friendly ship at range 0-1 defends (after damage is resolved, if any), you may perform an action.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_87.png", - "slots": ["Talent", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_87.jpg", - "ffg": 87, - "hyperspace": true, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/valenrudor.png", + "slots": [ + "Talent", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/valenrudor.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "ISB Jingoist", "caption": "Heartless Enforcer", "initiative": 4, "limited": 2, + "cost": 28, "xws": "isbjingoist", "ability": "Before you engage, you may choose 1 enemy ship in your [Front Arc] at range 0-1. If you do, that ship gains 1 deplete or strain token of your choice unless it chooses to remove 1 green token.", - "image": "https://infinitearenas.com/xw2/images/pilots/isbjingoist.png", - "slots": ["Talent", "Modification"], - "artwork": "https://infinitearenas.com/xw2/images/artwork/pilots/isbjingoist.png", - "hyperspace": false, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/isbjingoist.png", + "slots": [ + "Talent", + "Illicit", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/isbjingoist.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Moff Gideon", "caption": "Ruthless Remnant Leader", "initiative": 4, "limited": 1, + "cost": 31, "xws": "moffgideon", - "charges": { "value": 2, "recovers": 1 }, + "charges": { + "value": 2, + "recovers": 1 + }, "ability": "While an enemy ship at range 1-3 defends, before attack dice are rolled, you may spend 1 [Charge] and choose a friendly ship at range 0-1 of the defender. If you do, defense dice cannot be modified during this attack and the chosen friendly ship gains 1 strain token.", - "image": "https://infinitearenas.com/xw2/images/pilots/moffgideon.png", - "slots": ["Talent", "Modification"], - "artwork": "https://infinitearenas.com/xw2/images/artwork/pilots/moffgideon.png", - "hyperspace": false, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/moffgideon.png", + "slots": [ + "Talent", + "Talent", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/moffgideon.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "“Backstabber”", + "caption": "Battle of Yavin", + "initiative": 5, + "limited": 1, + "cost": 38, + "xws": "backstabber-battleofyavin", + "ability": "While you perform a primary attack, if a friendly Darth Vader or “Mauler” Mithel is in your [Left Arc] or [Right Arc] at range 0-1, roll 1 additional attack die.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/backstabber-battleofyavin.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/backstabber-battleofyavin.png", + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 4 + } + ], + "standardLoadout": [ + "crackshot", + "disciplined", + "afterburners" + ], + "standard": false, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "“Backstabber”", + "caption": "Battle of Yavin", + "initiative": 5, + "limited": 1, + "cost": 36, + "xws": "backstabber-battleofyavin-lsl", + "ability": "While you perform a primary attack, if a friendly Darth Vader or “Mauler” Mithel is in your [Left Arc] or [Right Arc] at range 0-1, roll 1 additional attack die.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/backstabber-battleofyavin-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/backstabber-battleofyavin-lsl.png", + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 4 + } + ], + "slots": [ + "Talent" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "“Dark Curse”", + "caption": "Battle of Yavin", + "initiative": 6, + "limited": 1, + "cost": 37, + "xws": "darkcurse-battleofyavin", + "ability": "While you defend, the attacker's dice cannot be modified.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/darkcurse-battleofyavin.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/darkcurse-battleofyavin.png", + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 4 + } + ], + "standardLoadout": [ + "ruthless", + "precisionionengines" + ], + "standard": false, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "“Dark Curse”", + "caption": "Battle of Yavin", + "initiative": 6, + "limited": 1, + "cost": 34, + "xws": "darkcurse-battleofyavin-lsl", + "ability": "While you defend, the attacker's dice cannot be modified.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/darkcurse-battleofyavin-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/darkcurse-battleofyavin-lsl.png", + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 4 + } + ], + "slots": [ + "Talent" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "“Mauler” Mithel", + "caption": "Battle of Yavin", + "initiative": 5, + "limited": 1, + "cost": 37, + "xws": "maulermithel-battleofyavin", + "ability": "While you perform a primary attack, if a friendly Darth Vader or “Backstabber” is in your [Left Arc] or [Right Arc] at range 0-1, roll 1 additional attack die.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/maulermithel-battleofyavin.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/maulermithel-battleofyavin.png", + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 4 + } + ], + "standardLoadout": [ + "predator", + "afterburners" + ], + "standard": false, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "“Mauler” Mithel", + "caption": "Battle of Yavin", + "initiative": 5, + "limited": 1, + "cost": 36, + "xws": "maulermithel-battleofyavin-lsl", + "ability": "While you perform a primary attack, if a friendly Darth Vader or “Backstabber” is in your [Left Arc] or [Right Arc] at range 0-1, roll 1 additional attack die.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/maulermithel-battleofyavin-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/maulermithel-battleofyavin-lsl.png", + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 4 + } + ], + "slots": [ + "Talent" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "“Wampa”", + "caption": "Battle of Yavin", + "initiative": 1, + "limited": 1, + "cost": 39, + "xws": "wampa-battleofyavin", + "ability": "While you perform an attack, you may spend 1 [Charge] to roll 1 additional attack die. After defending, lose 1 [Charge].", + "charges": { + "value": 1, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/wampa-battleofyavin.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/wampa-battleofyavin.png", + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 4 + } + ], + "standardLoadout": [ + "elusive", + "vengeful-battleofyavin" + ], + "standard": false, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "“Wampa”", + "caption": "Battle of Yavin", + "initiative": 1, + "limited": 1, + "cost": 31, + "xws": "wampa-battleofyavin-lsl", + "ability": "While you perform an attack, you may spend 1 [Charge] to roll 1 additional attack die. After defending, lose 1 [Charge].", + "charges": { + "value": 1, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/wampa-battleofyavin-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/wampa-battleofyavin-lsl.png", + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 4 + } + ], + "slots": [], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Magna Tolvan", + "caption": "Cold Tyrant", + "initiative": 3, + "limited": 1, + "cost": 24, + "xws": "magnatolvan", + "ability": "While you have 2 or fewer stress tokens, you can perform white actions, even while stressed. After you gain a stress token, you may perform a white action, if able.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/magnatolvan.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/magnatolvan.png", + "slots": [ + "Talent", + "Modification" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Yrica Quell", + "caption": "Consumed by Duty", + "initiative": 3, + "limited": 1, + "cost": 24, + "xws": "yricaquell", + "ability": "After you fully execute a maneuver, you may acquire a lock on an enemy ship in your [Bullseye Arc].", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/yricaquell.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/yricaquell.png", + "slots": [ + "Talent", + "Modification" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Iden Versio", + "caption": "Inferno Leader", + "initiative": 4, + "limited": 1, + "cost": 45, + "standardLoadout": [ + "disciplined", + "elusive" + ], + "xws": "idenversio-swz105", + "ability": "Before a friendly TIE/ln fighter at range 0-1 would suffer 1 or more damage, you may spend 1 [Charge]. If you do, prevent that damage.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/idenversio-swz105.png", + "charges": { + "value": 1, + "recovers": 0 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/idenversio-swz105.png", + "standard": false, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "“Night Beast”", + "caption": "Obsidian Two", + "initiative": 2, + "limited": 1, + "cost": 26, + "xws": "nightbeast-swz105", + "ability": "After you fully execute a blue maneuver, you may perform a [Focus] action.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/nightbeast-swz105.png", + "standardLoadout": [ + "disciplined", + "predator" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/nightbeast-swz105.png", + "standard": false, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Valen Rudor", + "caption": "Braggadocious Baron", + "initiative": 3, + "limited": 1, + "cost": 27, + "xws": "valenrudor-swz105", + "ability": "After a friendly ship at range 0-1 defends (after damage is resolved, if any), you may perform an action.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/valenrudor-swz105.png", + "standardLoadout": [ + "disciplined", + "precisionionengines" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/valenrudor-swz105.png", + "standard": false, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Lieutenant Hebsly", + "caption": "Battle Over Endor", + "xws": "lieutenanthebsly-battleoverendor", + "initiative": 3, + "limited": 1, + "shipAbility": { + "name": "Formed Up", + "text": "At the end of the End Phase, if there is another friendly TIE/ln Fighter at range 0-1, you may remove 1 stress token." + }, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 4 + } + ], + "shipActions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Barrel Roll", + "linked": { + "difficulty": "Red", + "type": "Evade" + } + }, + { + "difficulty": "Red", + "type": "Boost" + } + ], + "cost": 51, + "standardLoadout": [ + "collected-battleoverendor", + "elusive", + "noescape-battleoverendor" + ], + "ability": "After you defend, you may perform a red [Boost] action, even while stressed.", + "keywords": [ + "TIE" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lieutenanthebsly-battleoverendor.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lieutenanthebsly-battleoverendor.png", + "standard": false, + "wildspace": true, + "epic": true + }, + { + "name": "Lieutenant Hebsly", + "caption": "Battle Over Endor", + "xws": "lieutenanthebsly-battleoverendor-lsl", + "initiative": 3, + "limited": 1, + "shipAbility": { + "name": "Formed Up", + "text": "At the end of the End Phase, if there is another friendly TIE/ln Fighter at range 0-1, you may remove 1 stress token." + }, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 4 + } + ], + "shipActions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Barrel Roll", + "linked": { + "difficulty": "Red", + "type": "Evade" + } + }, + { + "difficulty": "Red", + "type": "Boost" + } + ], + "cost": 38, + "slots": [ + "Talent" + ], + "ability": "After you defend, you may perform a red [Boost] action, even while stressed.", + "keywords": [ + "TIE" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lieutenanthebsly-battleoverendor-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lieutenanthebsly-battleoverendor-lsl.png", + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Scythe 6", + "caption": "Battle Over Endor", + "xws": "scythe6-battleoverendor", + "initiative": 2, + "limited": 1, + "shipAbility": { + "name": "Formed Up", + "text": "At the end of the End Phase, if there is another friendly TIE/ln Fighter at range 0-1, you may remove 1 stress token." + }, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 4 + } + ], + "shipActions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Barrel Roll", + "linked": { + "difficulty": "Red", + "type": "Evade" + } + } + ], + "cost": 53, + "standardLoadout": [ + "noescape-battleoverendor", + "predator", + "ionmaneuveringjet-battleoverendor", + "targetingmatrix-battleoverendor" + ], + "ability": "While you perform an attack at attack range 1-2, roll 1 additional attack die.", + "keywords": [ + "TIE" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/scythe6-battleoverendor.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/scythe6-battleoverendor.png", + "standard": false, + "wildspace": true, + "epic": true + }, + { + "name": "Scythe 6", + "caption": "Battle Over Endor", + "xws": "scythe6-battleoverendor-lsl", + "initiative": 2, + "limited": 1, + "shipAbility": { + "name": "Formed Up", + "text": "At the end of the End Phase, if there is another friendly TIE/ln Fighter at range 0-1, you may remove 1 stress token." + }, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 4 + } + ], + "shipActions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Barrel Roll", + "linked": { + "difficulty": "Red", + "type": "Evade" + } + } + ], + "cost": 42, + "slots": [], + "ability": "While you perform an attack at attack range 1-2, roll 1 additional attack die.", + "keywords": [ + "TIE" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/scythe6-battleoverendor-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/scythe6-battleoverendor-lsl.png", + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Major Mianda", + "caption": "Battle Over Endor", + "xws": "majormianda-battleoverendor", + "initiative": 5, + "limited": 1, + "shipAbility": { + "name": "Formed Up", + "text": "At the end of the End Phase, if there is another friendly TIE/ln Fighter at range 0-1, you may remove 1 stress token." + }, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 3 + }, + { + "type": "shields", + "value": 1 + } + ], + "shipActions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Barrel Roll", + "linked": { + "difficulty": "Red", + "type": "Evade" + } + }, + { + "difficulty": "Red", + "type": "Coordinate" + } + ], + "cost": 48, + "standardLoadout": [ + "noescape-battleoverendor", + "ruthless", + "swarmtactics" + ], + "ability": "During the End Phase, you may choose up to 2 friendly small ships at range 0-2. You and the chosen ships may perform a red [Barrel Roll] or red [Boost] action.", + "keywords": [ + "TIE" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/majormianda-battleoverendor.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/majormianda-battleoverendor.png", + "standard": false, + "wildspace": true, + "epic": true + }, + { + "name": "Major Mianda", + "caption": "Battle Over Endor", + "xws": "majormianda-battleoverendor-lsl", + "initiative": 5, + "limited": 1, + "shipAbility": { + "name": "Formed Up", + "text": "At the end of the End Phase, if there is another friendly TIE/ln Fighter at range 0-1, you may remove 1 stress token." + }, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 3 + }, + { + "type": "shields", + "value": 1 + } + ], + "shipActions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Barrel Roll", + "linked": { + "difficulty": "Red", + "type": "Evade" + } + }, + { + "difficulty": "Red", + "type": "Coordinate" + } + ], + "cost": 41, + "slots": [ + "Talent" + ], + "ability": "During the End Phase, you may choose up to 2 friendly small ships at range 0-2. You and the chosen ships may perform a red [Barrel Roll] or red [Boost] action.", + "keywords": [ + "TIE" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/majormianda-battleoverendor-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/majormianda-battleoverendor-lsl.png", + "standard": true, + "wildspace": true, + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/galactic-empire/tie-ph-phantom.json b/data/pilots/galactic-empire/tie-ph-phantom.json index 22d6431b0..c0cbdd5e7 100644 --- a/data/pilots/galactic-empire/tie-ph-phantom.json +++ b/data/pilots/galactic-empire/tie-ph-phantom.json @@ -1,7 +1,6 @@ { "name": "TIE/ph Phantom", "xws": "tiephphantom", - "ffg": 27, "size": "Small", "dial": [ "1TW", @@ -22,59 +21,102 @@ "4FW", "4KR" ], - "dialCodes": ["TPh"], - "faction": "Galactic Empire", + "dialCodes": [ + "TPh" + ], + "faction": "galacticempire", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 3 }, - { "type": "shields", "value": 2 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 3 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Evade" }, - { "difficulty": "White", "type": "Barrel Roll" }, - { "difficulty": "White", "type": "Cloak" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Cloak" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_TIEPhantom.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-empire/I_TIEPhantom.png", "pilots": [ { - "name": "\"Echo\"", + "name": "“Echo”", "caption": "Slippery Trickster", "initiative": 4, "limited": 1, "cost": 51, "xws": "echo", "ability": "While you decloak, you must use the [2 [Bank Left]] or [2 [Bank Right]] template instead of the [2 [Straight]] template.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_132.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/echo.png", "shipAbility": { "name": "Stygium Array", "text": "After you decloak, you may perform an [Evade] action. At the start of the End Phase, you may spend 1 evade token to gain 1 cloak token." }, - "slots": ["Talent", "Sensor", "Modification", "Gunner"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_132.jpg", - "ffg": 132, - "hyperspace": false, - "keywords": ["TIE"] + "slots": [ + "Talent", + "Sensor", + "Modification", + "Gunner" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/echo.png" }, { - "name": "\"Whisper\"", + "name": "“Whisper”", "caption": "Soft-Spoken Slayer", "initiative": 5, "limited": 1, - "cost": 60, + "cost": 59, "xws": "whisper", "ability": "After you perform an attack that hits, gain 1 evade token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_131.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/whisper.png", "shipAbility": { "name": "Stygium Array", "text": "After you decloak, you may perform an [Evade] action. At the start of the End Phase, you may spend 1 evade token to gain 1 cloak token." }, - "slots": ["Talent", "Sensor", "Modification", "Gunner"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_131.jpg", - "ffg": 131, - "hyperspace": false, - "keywords": ["TIE"] + "slots": [ + "Talent", + "Sensor", + "Modification", + "Gunner" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/whisper.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Imdaar Test Pilot", @@ -83,34 +125,190 @@ "cost": 43, "xws": "imdaartestpilot", "text": "The primary result of a hidden research facility on Imdaar Alpha, the TIE phantom achieves what many thought was impossible: a small starfighter equipped with an advanced cloaking device.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_134.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/imdaartestpilot.png", "shipAbility": { "name": "Stygium Array", "text": "After you decloak, you may perform an [Evade] action. At the start of the End Phase, you may spend 1 evade token to gain 1 cloak token." }, - "slots": ["Sensor", "Modification", "Gunner"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_134.jpg", - "ffg": 134, - "hyperspace": false, - "keywords": ["TIE"] + "slots": [ + "Sensor", + "Modification", + "Gunner" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/imdaartestpilot.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Sigma Squadron Ace", "initiative": 4, "limited": 0, - "cost": 49, + "cost": 48, "xws": "sigmasquadronace", "text": "Featuring a hyperdrive and shields, the TIE phantom is also equipped with five laser cannons, giving it substantial firepower for an Imperial fighter.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_133.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sigmasquadronace.png", + "shipAbility": { + "name": "Stygium Array", + "text": "After you decloak, you may perform an [Evade] action. At the start of the End Phase, you may spend 1 evade token to gain 1 cloak token." + }, + "slots": [ + "Talent", + "Sensor", + "Modification", + "Gunner" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sigmasquadronace.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Captain Saxton", + "caption": "Unpredictable Menace", + "initiative": 3, + "limited": 1, + "cost": 45, + "xws": "captainsaxton-wat1", + "ability": "While a friendly ship at range 0-2 decloaks, you may spend 2 [Charge]. If you do, that ship may use a template of speed 1 higher or lower.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/captainsaxton-wat1.png", + "charges": { + "value": 2, + "recovers": 1 + }, + "shipAbility": { + "name": "Stygium Array", + "text": "After you decloak, you may perform an [Evade] action. At the start of the End Phase, you may spend 1 evade token to gain 1 cloak token." + }, + "slots": [ + "Talent", + "Sensor", + "Modification", + "Gunner" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/captainsaxton-wat1.png", + "standard": false, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "“Whisper”", + "caption": "Unseen Assailant", + "initiative": 5, + "limited": 1, + "cost": 5, + "charges": { + "value": 2, + "recovers": 0 + }, + "xws": "whisper-pnp", + "ability": "After you perform an attack, you may spend 1 [Charge] to perform a [Cloak] action.", + "shipAbility": { + "name": "Stygium Array", + "text": "After you decloak, you may perform an [Evade] action. At the start of the End Phase, you may spend 1 evade token to gain 1 cloak token." + }, + "standardLoadout": [ + "withoutatrace-tiephphantom", + "relaysystem-tiephphantom", + "stygiumreserve-tiephphantom" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/whisper-pnp-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/whisper.png", + "standard": false, + "wildspace": false, + "epic": false + }, + { + "name": "“Whisper”", + "caption": "Unseen Assailant", + "initiative": 5, + "limited": 1, + "cost": 61, + "charges": { + "value": 2, + "recovers": 0 + }, + "xws": "whisper-pnp-ls", + "ability": "After you perform an attack, you may spend 1 [Charge] to perform a [Cloak] action.", + "shipAbility": { + "name": "Stygium Array", + "text": "After you decloak, you may perform an [Evade] action. At the start of the End Phase, you may spend 1 evade token to gain 1 cloak token." + }, + "slots": [ + "Talent", + "Sensor", + "Modification", + "Gunner" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/whisper-pnp.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/whisper.png", + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "“Echo”", + "caption": "Copycat", + "initiative": 4, + "limited": 1, + "cost": 5, + "charges": { + "value": 1, + "recovers": 1 + }, + "xws": "echo-pnp", + "ability": "After an enemy ship at range 0-1 performs an action on its action bar, you may spend 1 [Charge] to perform the same action, treating it as white.", + "shipAbility": { + "name": "Stygium Array", + "text": "After you decloak, you may perform an [Evade] action. At the start of the End Phase, you may spend 1 evade token to gain 1 cloak token." + }, + "standardLoadout": [ + "silenthunter-tiephphantom", + "stealthgambit-tiephphantom", + "manualailerons-tiephphantom" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/echo-pnp.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/echo.png", + "standard": false, + "wildspace": false, + "epic": false + }, + { + "name": "“Echo”", + "caption": "Copycat", + "initiative": 4, + "limited": 1, + "cost": 53, + "charges": { + "value": 1, + "recovers": 1 + }, + "xws": "echo-pnp-lsl", + "ability": "After an enemy ship at range 0-1 performs an action on its action bar, you may spend 1 [Charge] to perform the same action, treating it as white.", "shipAbility": { "name": "Stygium Array", "text": "After you decloak, you may perform an [Evade] action. At the start of the End Phase, you may spend 1 evade token to gain 1 cloak token." }, - "slots": ["Talent", "Sensor", "Modification", "Gunner"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_133.jpg", - "ffg": 133, - "hyperspace": false, - "keywords": ["TIE"] + "slots": [ + "Talent", + "Sensor", + "Modification", + "Gunner" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/echo-pnp-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/echo.png", + "standard": true, + "wildspace": true, + "epic": true } ] } diff --git a/data/pilots/galactic-empire/tie-rb-heavy.json b/data/pilots/galactic-empire/tie-rb-heavy.json index de1c15794..4fd191b78 100644 --- a/data/pilots/galactic-empire/tie-rb-heavy.json +++ b/data/pilots/galactic-empire/tie-rb-heavy.json @@ -2,7 +2,6 @@ "name": "TIE/rb Heavy", "xws": "tierbheavy", "size": "Medium", - "ffg": 72, "dial": [ "1TR", "1BW", @@ -23,28 +22,55 @@ "3RR", "4FW" ], - "dialCodes": ["Trb"], - "faction": "Galactic Empire", + "dialCodes": [ + "Trb" + ], + "faction": "galacticempire", "stats": [ - { "arc": "Single Turret Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 8 } + { + "arc": "Single Turret Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 8 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Reinforce" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Barrel Roll" }, { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Calculate" }, + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Reinforce" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Calculate" + }, "type": "Rotate Arc" } ], "pilots": [ { "name": "Carida Academy Cadet", - "cost": 34, + "cost": 32, "initiative": 1, "slots": [ "Cannon", @@ -58,13 +84,16 @@ "name": "Rotating Cannons", "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. You must treat the [Front Arc] requirement of your equipped [Cannon] upgrades as [Single Turret Arc]." }, - "hyperspace": true, + "standard": true, + "wildspace": true, "text": "At Carida Academy, Imperial Navy cadets are taught to be ruthless and loyal, prioritizing victory over the lives of their comrades.", - "ffg": 696, "limited": 0, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/43/2d/432db246-0a8d-42de-9711-a893c825b9b3/swz67_carida-cadet.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/89c60dc2a00750df2606c5b6e24f60c3.jpg", - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/caridaacademycadet.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/caridaacademycadet.png", + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Onyx Squadron Sentry", @@ -83,18 +112,21 @@ "name": "Rotating Cannons", "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. You must treat the [Front Arc] requirement of your equipped [Cannon] upgrades as [Single Turret Arc]." }, - "hyperspace": true, - "text": "The TIE/rb heavy, sometimes called the \"brute,\" is designed for operational flexibility. Its heavy armor and capacity to house an integrated MGK-300 droid co-pilot make it an excellent patrol craft.", - "ffg": 695, + "standard": true, + "wildspace": true, + "text": "The TIE/rb heavy, sometimes called the “brute”, is designed for operational flexibility. Its heavy armor and capacity to house an integrated MGK-300 droid co-pilot make it an excellent patrol craft.", "limited": 0, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/3d/7c/3d7ca1c1-9e57-4085-a9a6-e82a3d92c6df/swz67_onyx-sentry.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/9431b36aeec89d1dbf988375a3ce8a5b.jpg", - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/onyxsquadronsentry.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/onyxsquadronsentry.png", + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "\"Rampage\"", + "name": "“Rampage”", "caption": "Implacable Pursuer", - "cost": 38, + "cost": 36, "initiative": 4, "limited": 1, "slots": [ @@ -111,11 +143,14 @@ "name": "Rotating Cannons", "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. You must treat the [Front Arc] requirement of your equipped [Cannon] upgrades as [Single Turret Arc]." }, - "hyperspace": false, - "ffg": 693, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/ee/88/ee888bad-fa08-42e2-a558-cbf9a6f2da62/swz67_rampage.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/af083fe92dc1b51c2602dad42301d033.jpg", - "keywords": ["TIE"] + "standard": true, + "wildspace": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/rampage.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/rampage.png", + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Lyttan Dree", @@ -136,12 +171,44 @@ "name": "Rotating Cannons", "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. You must treat the [Front Arc] requirement of your equipped [Cannon] upgrades as [Single Turret Arc]." }, - "hyperspace": false, - "ffg": 694, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/6f/37/6f375dcd-61b2-407d-bb3f-0c01cf9491ae/swz67_lyttan-dree.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/d8bce1a532475fe05a10f9d219a67969.jpg", - "keywords": ["TIE"] + "standard": true, + "wildspace": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lyttandree.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lyttandree.png", + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Flight Leader Ubbel", + "caption": "Onyx Leader", + "cost": 42, + "initiative": 5, + "limited": 1, + "slots": [ + "Talent", + "Cannon", + "Cannon", + "Modification", + "Modification", + "Configuration" + ], + "xws": "flightleaderubbel", + "ability": "After a friendly ship at range 0-2 defends, if it was dealt a damage card, you may perform a bonus attack against the attacker.", + "shipAbility": { + "name": "Rotating Cannons", + "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. You must treat the [Front Arc] requirement of your equipped [Cannon] upgrades as [Single Turret Arc]." + }, + "standard": true, + "wildspace": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/flightleaderubbel.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/flightleaderubbel.png", + "keywords": [ + "TIE" + ], + "epic": true } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_TIE_Brute.png" -} + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-empire/I_TIE_Brute.png" +} \ No newline at end of file diff --git a/data/pilots/galactic-empire/tie-reaper.json b/data/pilots/galactic-empire/tie-reaper.json index d2295cd00..31a51df3b 100644 --- a/data/pilots/galactic-empire/tie-reaper.json +++ b/data/pilots/galactic-empire/tie-reaper.json @@ -1,7 +1,6 @@ { "name": "TIE Reaper", "xws": "tiereaper", - "ffg": 43, "size": "Medium", "dial": [ "0OR", @@ -21,87 +20,137 @@ "3FB", "3NW" ], - "dialCodes": ["TR"], - "faction": "Galactic Empire", + "dialCodes": [ + "TR" + ], + "faction": "galacticempire", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 6 }, - { "type": "shields", "value": 2 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 6 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Evade" }, - { "difficulty": "Red", "type": "Coordinate" }, - { "difficulty": "White", "type": "Jam" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "Red", + "type": "Coordinate" + }, + { + "difficulty": "White", + "type": "Jam" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_TIEReaper.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-empire/I_TIEReaper.png", "pilots": [ { - "name": "\"Vizier\"", + "name": "“Vizier”", "caption": "Ruthless Tactician", "initiative": 2, "limited": 1, - "cost": 42, + "cost": 41, "xws": "vizier", "ability": "After you fully execute a speed 1 maneuver using your Adaptive Ailerons ship ability, you may perform a [Coordinate] action. If you do, skip your Perform Action step.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_115.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/vizier.png", "shipAbility": { "name": "Adaptive Ailerons", "text": "Before you reveal your dial, if you are not stressed, you must execute a white [1 [Bank Left]], [1 [Straight]], or [1 [Bank Right]] maneuver." }, - "slots": ["Crew", "Crew", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_115.jpg", - "ffg": 115, - "hyperspace": true, - "keywords": ["TIE"] + "slots": [ + "Crew", + "Crew", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/vizier.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Captain Feroph", "caption": "Imperial Courier", "initiative": 3, "limited": 1, - "cost": 47, + "cost": 46, "xws": "captainferoph", "ability": "While you defend, if the attacker does not have any green tokens, you may change 1 of your blank or [Focus] results to an [Evade] result.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_114.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/captainferoph.png", "shipAbility": { "name": "Adaptive Ailerons", "text": "Before you reveal your dial, if you are not stressed, you must execute a white [1 [Bank Left]], [1 [Straight]], or [1 [Bank Right]] maneuver." }, - "slots": ["Talent", "Crew", "Crew", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_114.jpg", - "ffg": 114, - "hyperspace": true, - "keywords": ["TIE"] + "slots": [ + "Talent", + "Crew", + "Crew", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/captainferoph.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Major Vermeil", "caption": "Veteran of Scarif", "initiative": 4, "limited": 1, - "cost": 49, + "cost": 48, "xws": "majorvermeil", "ability": "While you perform an attack, if the defender does not have any green tokens, you may change 1 of your blank or [Focus] results to a [Hit] result.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_113.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/majorvermeil.png", "shipAbility": { "name": "Adaptive Ailerons", "text": "Before you reveal your dial, if you are not stressed, you must execute a white [1 [Bank Left]], [1 [Straight]], or [1 [Bank Right]] maneuver." }, - "slots": ["Talent", "Crew", "Crew", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_113.jpg", - "ffg": 113, - "hyperspace": true, - "keywords": ["TIE"] + "slots": [ + "Talent", + "Crew", + "Crew", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/majorvermeil.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Scarif Base Pilot", "initiative": 1, "limited": 0, - "cost": 39, + "cost": 38, "xws": "scarifbasepilot", "text": "The TIE reaper was designed to ferry elite troops to flashpoints on the battlefield, notably carrying Director Krennic's dreaded death troopers at the Battle of Scarif.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_116.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/scarifbasepilot.png", "alt": [ { "image": "https://images-cdn.fantasyflightgames.com/filer_public/d3/22/d3220543-7735-44fc-80a8-90507ca363c8/g18x2-scarif-base-pilot-2.png", @@ -112,11 +161,17 @@ "name": "Adaptive Ailerons", "text": "Before you reveal your dial, if you are not stressed, you must execute a white [1 [Bank Left]], [1 [Straight]], or [1 [Bank Right]] maneuver." }, - "slots": ["Crew", "Crew", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_116.jpg", - "ffg": 116, - "hyperspace": false, - "keywords": ["TIE"] + "slots": [ + "Crew", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/scarifbasepilot.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/galactic-empire/tie-sa-bomber.json b/data/pilots/galactic-empire/tie-sa-bomber.json index 1865bcf14..0fc74c56a 100644 --- a/data/pilots/galactic-empire/tie-sa-bomber.json +++ b/data/pilots/galactic-empire/tie-sa-bomber.json @@ -1,7 +1,6 @@ { "name": "TIE/sa Bomber", "xws": "tiesabomber", - "ffg": 19, "size": "Small", "dial": [ "1BW", @@ -21,34 +20,58 @@ "4FW", "5KR" ], - "dialCodes": ["TB"], - "faction": "Galactic Empire", + "dialCodes": [ + "TB" + ], + "faction": "galacticempire", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 6 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 6 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Lock" }, + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Lock" + }, "type": "Barrel Roll" }, - { "difficulty": "Red", "type": "Reload" } + { + "difficulty": "Red", + "type": "Reload" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_TIEBomber.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-empire/I_TIEBomber.png", "pilots": [ { - "name": "\"Deathfire\"", + "name": "“Deathfire”", "caption": "Unflinching Diehard", "initiative": 2, "limited": 1, - "cost": 32, + "cost": 29, "xws": "deathfire", "ability": "After you are destroyed, before you are removed, you may perform an attack and drop or launch 1 device.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_110.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/deathfire.png", "shipAbility": { "name": "Nimble Bomber", "text": "If you would drop a device using a [Straight] template, you may use a [Bank Left] or [Bank Right] template of the same speed instead." @@ -62,20 +85,23 @@ "Modification", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_110.jpg", - "ffg": 110, - "hyperspace": false, - "keywords": ["TIE"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/deathfire.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Captain Jonus", "caption": "Disciplined Instructor", "initiative": 4, "limited": 1, - "cost": 45, + "cost": 44, "xws": "captainjonus", "ability": "While a friendly ship at range 0-1 performs a [Torpedo] or [Missile] attack, that ship may reroll up to 2 attack dice.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_108.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/captainjonus.png", "shipAbility": { "name": "Nimble Bomber", "text": "If you would drop a device using a [Straight] template, you may use a [Bank Left] or [Bank Right] template of the same speed instead." @@ -90,19 +116,22 @@ "Modification", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_108.jpg", - "ffg": 108, - "hyperspace": false, - "keywords": ["TIE"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/captainjonus.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Gamma Squadron Ace", "initiative": 3, "limited": 0, - "cost": 30, + "cost": 29, "xws": "gammasquadronace", "text": "Though it sacrifices a degree of speed and maneuverability compared to a TIE/ln, the TIE bomber's increased payload can carry enough firepower to destroy virtually any enemy target.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_111.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/gammasquadronace.png", "shipAbility": { "name": "Nimble Bomber", "text": "If you would drop a device using a [Straight] template, you may use a [Bank Left] or [Bank Right] template of the same speed instead." @@ -117,20 +146,23 @@ "Modification", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_111.jpg", - "ffg": 111, - "hyperspace": false, - "keywords": ["TIE"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/gammasquadronace.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Major Rhymer", "caption": "Scimitar Leader", "initiative": 4, "limited": 1, - "cost": 37, + "cost": 35, "xws": "majorrhymer", "ability": "While you perform a [Torpedo] or [Missile] attack, you may increase or decrease the range requirement by 1, to a limit of 0-3.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_109.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/majorrhymer.png", "shipAbility": { "name": "Nimble Bomber", "text": "If you would drop a device using a [Straight] template, you may use a [Bank Left] or [Bank Right] template of the same speed instead." @@ -145,10 +177,13 @@ "Modification", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_109.jpg", - "ffg": 109, - "hyperspace": false, - "keywords": ["TIE"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/majorrhymer.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Scimitar Squadron Pilot", @@ -157,7 +192,7 @@ "cost": 27, "xws": "scimitarsquadronpilot", "text": "The TIE/sa is exceptionally nimble for a bomber, allowing it to pinpoint its target while avoiding excessive collateral damage to the surrounding area.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_112.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/scimitarsquadronpilot.png", "shipAbility": { "name": "Nimble Bomber", "text": "If you would drop a device using a [Straight] template, you may use a [Bank Left] or [Bank Right] template of the same speed instead." @@ -171,20 +206,196 @@ "Modification", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_112.jpg", - "ffg": 112, - "hyperspace": false, - "keywords": ["TIE"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/scimitarsquadronpilot.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Tomax Bren", "caption": "Brash Maverick", "initiative": 5, "limited": 1, - "cost": 35, + "cost": 34, "xws": "tomaxbren", "ability": "After you perform a [Reload] action, you may recover 1 [Charge] token on 1 of your equipped [Talent] upgrade cards.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_107.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/tomaxbren.png", + "shipAbility": { + "name": "Nimble Bomber", + "text": "If you would drop a device using a [Straight] template, you may use a [Bank Left] or [Bank Right] template of the same speed instead." + }, + "slots": [ + "Talent", + "Torpedo", + "Missile", + "Missile", + "Device", + "Device", + "Modification", + "Gunner" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/tomaxbren.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Captain Jonus", + "caption": "Disciplined Instructor", + "initiative": 4, + "limited": 1, + "cost": 54, + "xws": "captainjonus-swz105", + "ability": "While a friendly ship at range 0-1 performs a [Torpedo] or [Missile] attack, that ship may reroll up to 2 attack dice.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/captainjonus-swz105.png", + "shipAbility": { + "name": "Nimble Bomber", + "text": "If you would drop a device using a [Straight] template, you may use a [Bank Left] or [Bank Right] template of the same speed instead." + }, + "standardLoadout": [ + "feedbackping", + "plasmatorpedoes", + "protonbombs" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/captainjonus-swz105.png", + "standard": false, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Tomax Bren", + "caption": "Brash Maverick", + "initiative": 5, + "limited": 1, + "cost": 48, + "xws": "tomaxbren-swz105", + "ability": "After you perform a [Reload] action, you may recover 1 [Charge] token on 1 of your equipped [Talent] upgrade cards.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/tomaxbren-swz105.png", + "shipAbility": { + "name": "Nimble Bomber", + "text": "If you would drop a device using a [Straight] template, you may use a [Bank Left] or [Bank Right] template of the same speed instead." + }, + "standardLoadout": [ + "elusive", + "barragerockets", + "proximitymines" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/tomaxbren-swz105.png", + "standard": false, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "“Deathfire”", + "caption": "Obstinate Bombardier", + "initiative": 2, + "limited": 1, + "cost": 45, + "xws": "deathfire-swz98", + "ability": "After you fully execute a speed 3-5 maneuver, if you have not dropped or launched a device this round, you may spend 2 [Charge] to drop or launch a bomb using the (3 [Straight]) template.", + "charges": { + "value": 2, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/deathfire-swz98.png", + "shipAbility": { + "name": "Nimble Bomber", + "text": "If you would drop a device using a [Straight] template, you may use a [Bank Left] or [Bank Right] template of the same speed instead." + }, + "standardLoadout": [ + "swiftapproach-swz98", + "connernets", + "protonbombs" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/deathfire-swz98.png", + "standard": false, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "“Deathfire”", + "caption": "Obstinate Bombardier", + "initiative": 2, + "limited": 1, + "cost": 33, + "xws": "deathfire-swz98-lsl", + "ability": "After you fully execute a speed 3-5 maneuver, if you have not dropped or launched a device this round, you may spend 2 [Charge] to drop or launch a bomb using the (3 [Straight]) template.", + "charges": { + "value": 2, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/deathfire-swz98-lsl.png", + "shipAbility": { + "name": "Nimble Bomber", + "text": "If you would drop a device using a [Straight] template, you may use a [Bank Left] or [Bank Right] template of the same speed instead." + }, + "slots": [ + "Torpedo", + "Missile", + "Missile", + "Device", + "Device", + "Modification", + "Gunner" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/deathfire-swz98-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Captain Jonus", + "caption": "Top Cover", + "initiative": 4, + "limited": 1, + "cost": 51, + "xws": "captainjonus-swz98", + "ability": "After you drop or launch a device, gain an evade token.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/captainjonus-swz98.png", + "shipAbility": { + "name": "Nimble Bomber", + "text": "If you would drop a device using a [Straight] template, you may use a [Bank Left] or [Bank Right] template of the same speed instead." + }, + "standardLoadout": [ + "topcover-swz98", + "barragerockets", + "protonbombs" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/captainjonus-swz98.png", + "standard": false, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Captain Jonus", + "caption": "Top Cover", + "initiative": 4, + "limited": 1, + "cost": 36, + "xws": "captainjonus-swz98-lsl", + "ability": "After you drop or launch a device, gain an evade token.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/captainjonus-swz98-lsl.png", "shipAbility": { "name": "Nimble Bomber", "text": "If you would drop a device using a [Straight] template, you may use a [Bank Left] or [Bank Right] template of the same speed instead." @@ -199,10 +410,267 @@ "Modification", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_107.jpg", - "ffg": 107, - "hyperspace": false, - "keywords": ["TIE"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/captainjonus-swz98-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Tomax Bren", + "caption": "Scimitar Veteran", + "initiative": 5, + "limited": 1, + "cost": 53, + "xws": "tomaxbren-swz98", + "ability": "After you perform a [Barrel Roll] action, you may spend 2 [Charge]. If you do, gain a focus token.", + "charges": { + "value": 2, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/tomaxbren-swz98.png", + "shipAbility": { + "name": "Nimble Bomber", + "text": "If you would drop a device using a [Straight] template, you may use a [Bank Left] or [Bank Right] template of the same speed instead." + }, + "standardLoadout": [ + "truegrit-swz98", + "plasmatorpedoes", + "ionbombs" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/tomaxbren-swz98.png", + "standard": false, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Tomax Bren", + "caption": "Scimitar Veteran", + "initiative": 5, + "limited": 1, + "cost": 38, + "xws": "tomaxbren-swz98-lsl", + "ability": "After you perform a [Barrel Roll] action, you may spend 2 [Charge]. If you do, gain a focus token.", + "charges": { + "value": 2, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/tomaxbren-swz98-lsl.png", + "shipAbility": { + "name": "Nimble Bomber", + "text": "If you would drop a device using a [Straight] template, you may use a [Bank Left] or [Bank Right] template of the same speed instead." + }, + "slots": [ + "Talent", + "Torpedo", + "Missile", + "Missile", + "Device", + "Device", + "Modification", + "Gunner" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/tomaxbren-swz98-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Major Rhymer", + "caption": "Precision Destruction", + "initiative": 4, + "limited": 1, + "cost": 41, + "xws": "majorrhymer-swz98", + "ability": "While you perform a [Torpedo] attack, if the defender is in your [Bullseye Arc], change 1 [Focus] result to a [Critical Hit] result.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/majorrhymer-swz98.png", + "shipAbility": { + "name": "Nimble Bomber", + "text": "If you would drop a device using a [Straight] template, you may use a [Bank Left] or [Bank Right] template of the same speed instead." + }, + "standardLoadout": [ + "advprotontorpedoes", + "automatedloaders-swz98", + "afterburners" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/majorrhymer-swz98.png", + "standard": false, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Major Rhymer", + "caption": "Precision Destruction", + "initiative": 4, + "limited": 1, + "cost": 33, + "xws": "majorrhymer-swz98-lsl", + "ability": "While you perform a [Torpedo] attack, if the defender is in your [Bullseye Arc], change 1 [Focus] result to a [Critical Hit] result.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/majorrhymer-swz98-lsl.png", + "shipAbility": { + "name": "Nimble Bomber", + "text": "If you would drop a device using a [Straight] template, you may use a [Bank Left] or [Bank Right] template of the same speed instead." + }, + "slots": [ + "Talent", + "Torpedo", + "Missile", + "Missile", + "Device", + "Device", + "Modification", + "Gunner" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/majorrhymer-swz98-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Scimitar 1", + "caption": "Battle Over Endor", + "initiative": 3, + "limited": 1, + "cost": 56, + "xws": "scimitar1-battleoverendor", + "ability": "After a friendly ship at range 0-3 performs an attack, you may spend 1 [Charge] to acquire a lock on the defender.", + "charges": { + "value": 2, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/scimitar1-battleoverendor.png", + "shipAbility": { + "name": "Nimble Bomber", + "text": "If you would drop a device using a [Straight] template, you may use a [Bank Left] or [Bank Right] template of the same speed instead." + }, + "standardLoadout": [ + "marksmanship", + "noescape-battleoverendor", + "protontorpedoes", + "ionbombs" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/scimitar1-battleoverendor.png", + "standard": false, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Scimitar 1", + "caption": "Battle Over Endor", + "initiative": 3, + "limited": 1, + "cost": 36, + "xws": "scimitar1-battleoverendor-lsl", + "ability": "After a friendly ship at range 0-3 performs an attack, you may spend 1 [Charge] to acquire a lock on the defender.", + "charges": { + "value": 2, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/scimitar1-battleoverendor-lsl.png", + "shipAbility": { + "name": "Nimble Bomber", + "text": "If you would drop a device using a [Straight] template, you may use a [Bank Left] or [Bank Right] template of the same speed instead." + }, + "slots": [ + "Talent", + "Torpedo", + "Missile", + "Missile", + "Device", + "Device", + "Modification", + "Gunner" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/scimitar1-battleoverendor-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Scimitar 3", + "caption": "Battle Over Endor", + "initiative": 4, + "limited": 1, + "cost": 57, + "xws": "scimitar3-battleoverendor", + "ability": "After you drop a bomb, you may spend 1 [Charge] to perform a [Boost] action.", + "charges": { + "value": 2, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/scimitar3-battleoverendor.png", + "shipAbility": { + "name": "Nimble Bomber", + "text": "If you would drop a device using a [Straight] template, you may use a [Bank Left] or [Bank Right] template of the same speed instead." + }, + "standardLoadout": [ + "noescape-battleoverendor", + "partinggift-battleoverendor", + "protontorpedoes", + "protonbombs" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/scimitar3-battleoverendor.png", + "standard": false, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Scimitar 3", + "caption": "Battle Over Endor", + "initiative": 4, + "limited": 1, + "cost": 34, + "xws": "scimitar3-battleoverendor-lsl", + "ability": "After you drop a bomb, you may spend 1 [Charge] to perform a [Boost] action.", + "charges": { + "value": 2, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/scimitar3-battleoverendor-lsl.png", + "shipAbility": { + "name": "Nimble Bomber", + "text": "If you would drop a device using a [Straight] template, you may use a [Bank Left] or [Bank Right] template of the same speed instead." + }, + "slots": [ + "Talent", + "Torpedo", + "Missile", + "Missile", + "Device", + "Device", + "Modification", + "Gunner" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/scimitar3-battleoverendor-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/galactic-empire/tie-sk-striker.json b/data/pilots/galactic-empire/tie-sk-striker.json index 7a01b4a9b..ec1cfd47b 100644 --- a/data/pilots/galactic-empire/tie-sk-striker.json +++ b/data/pilots/galactic-empire/tie-sk-striker.json @@ -1,7 +1,6 @@ { "name": "TIE/sk Striker", "xws": "tieskstriker", - "ffg": 16, "size": "Small", "dial": [ "1TW", @@ -21,94 +20,147 @@ "3FB", "3NW" ], - "dialCodes": ["TS"], - "faction": "Galactic Empire", + "dialCodes": [ + "TS" + ], + "faction": "galacticempire", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 4 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 4 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Evade" }, - { "difficulty": "White", "type": "Barrel Roll" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_TIEStriker.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-empire/I_TIEStriker.png", "pilots": [ { - "name": "\"Countdown\"", + "name": "“Countdown”", "caption": "Death Defier", "initiative": 4, "limited": 1, - "cost": 41, + "cost": 39, "xws": "countdown", "ability": "While you defend, after the Neutralize Results step, if you are not stressed, you may suffer 1 [Hit] damage and gain 1 stress token. If you do, cancel all dice results.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_118.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/countdown.png", "shipAbility": { "name": "Adaptive Ailerons", "text": "Before you reveal your dial, if you are not stressed, you must execute a white [1 [Bank Left]], [1 [Straight]], or [1 [Bank Right]] maneuver." }, - "slots": ["Talent", "Device", "Modification", "Gunner"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_118.jpg", - "ffg": 118, - "hyperspace": false, - "keywords": ["TIE"] + "slots": [ + "Talent", + "Device", + "Modification", + "Gunner" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/countdown.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "\"Duchess\"", + "name": "“Duchess”", "caption": "Urbane Ace", "initiative": 5, "limited": 1, - "cost": 44, + "cost": 43, "xws": "duchess", "ability": "You may choose not to use your Adaptive Ailerons. You may use your Adaptive Ailerons even while stressed.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_117.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/duchess.png", "shipAbility": { "name": "Adaptive Ailerons", "text": "Before you reveal your dial, if you are not stressed, you must execute a white [1 [Bank Left]], [1 [Straight]], or [1 [Bank Right]] maneuver." }, - "slots": ["Talent", "Device", "Modification", "Gunner"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_117.jpg", - "ffg": 117, - "hyperspace": false, - "keywords": ["TIE"] + "slots": [ + "Talent", + "Device", + "Modification", + "Gunner" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/duchess.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "\"Pure Sabacc\"", + "name": "“Pure Sabacc”", "caption": "Confident Gambler", "initiative": 4, "limited": 1, - "cost": 42, + "cost": 40, "xws": "puresabacc", "ability": "While you perform an attack, if you have 1 or fewer damage cards, you may roll 1 additional attack die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_119.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/puresabacc.png", "shipAbility": { "name": "Adaptive Ailerons", "text": "Before you reveal your dial, if you are not stressed, you must execute a white [1 [Bank Left]], [1 [Straight]], or [1 [Bank Right]] maneuver." }, - "slots": ["Talent", "Device", "Modification", "Gunner"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_119.jpg", - "ffg": 119, - "hyperspace": false, - "keywords": ["TIE"] + "slots": [ + "Talent", + "Device", + "Modification", + "Gunner" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/puresabacc.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Black Squadron Scout", "initiative": 3, "limited": 0, - "cost": 34, + "cost": 33, "xws": "blacksquadronscout", "text": "These heavily armed atmospheric craft employ their specialized moveable wings to gain additional speed and maneuverability.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_120.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/blacksquadronscout.png", "shipAbility": { "name": "Adaptive Ailerons", "text": "Before you reveal your dial, if you are not stressed, you must execute a white [1 [Bank Left]], [1 [Straight]], or [1 [Bank Right]] maneuver." }, - "slots": ["Talent", "Device", "Modification", "Gunner"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_120.jpg", - "ffg": 120, - "hyperspace": true, - "keywords": ["TIE"] + "slots": [ + "Talent", + "Device", + "Modification", + "Gunner" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/blacksquadronscout.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Planetary Sentinel", @@ -117,19 +169,26 @@ "cost": 32, "xws": "planetarysentinel", "text": "To protect its many military installations, the Empire requires a swift and vigilant defense force.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_121.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/planetarysentinel.png", "shipAbility": { "name": "Adaptive Ailerons", "text": "Before you reveal your dial, if you are not stressed, you must execute a white [1 [Bank Left]], [1 [Straight]], or [1 [Bank Right]] maneuver." }, - "slots": ["Device", "Modification", "Gunner"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_121.jpg", - "ffg": 121, - "hyperspace": true, - "keywords": ["TIE"] + "slots": [ + "Device", + "Modification", + "Gunner" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/planetarysentinel.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "\"Vagabond\"", + "name": "“Vagabond”", "xws": "vagabond", "initiative": 2, "limited": 1, @@ -138,14 +197,22 @@ "text": "Before you reveal your dial, if you are not stressed, you must execute a white [1 [Bank Left]], [1 [Straight]], or [1 [Bank Right]] maneuver." }, "caption": "Destitute Demolitionist", - "hyperspace": false, - "slots": ["Talent", "Gunner", "Device", "Modification"], + "standard": true, + "wildspace": true, + "slots": [ + "Talent", + "Gunner", + "Device", + "Modification" + ], "ability": "After you fully execute a maneuver using your Adaptive Ailerons, if you are not stressed, you may drop 1 device.", "cost": 32, - "ffg": 633, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/308e253711036e143e22857365bcb7ca.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/e1b12f8287593ebaf960561c2febffe4.png", - "keywords": ["TIE"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/vagabond.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/vagabond.png", + "keywords": [ + "TIE" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/galactic-empire/vt-49-decimator.json b/data/pilots/galactic-empire/vt-49-decimator.json index d57cb2e6a..752cb9814 100644 --- a/data/pilots/galactic-empire/vt-49-decimator.json +++ b/data/pilots/galactic-empire/vt-49-decimator.json @@ -1,7 +1,6 @@ { "name": "VT-49 Decimator", "xws": "vt49decimator", - "ffg": 28, "size": "Large", "dial": [ "1TR", @@ -21,32 +20,62 @@ "3YW", "4FW" ], - "dialCodes": ["Dec"], - "faction": "Galactic Empire", + "dialCodes": [ + "Dec" + ], + "faction": "galacticempire", "stats": [ - { "arc": "Double Turret Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 0 }, - { "type": "hull", "value": 12 }, - { "type": "shields", "value": 4 } + { + "arc": "Double Turret Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 0 + }, + { + "type": "hull", + "value": 12 + }, + { + "type": "shields", + "value": 4 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Reinforce" }, - { "difficulty": "White", "type": "Rotate Arc" }, - { "difficulty": "Red", "type": "Coordinate" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Reinforce" + }, + { + "difficulty": "White", + "type": "Rotate Arc" + }, + { + "difficulty": "Red", + "type": "Coordinate" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Decimator.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-empire/I_Decimator.png", "pilots": [ { "name": "Captain Oicunn", "caption": "Inspired Tactician", "initiative": 3, "limited": 1, - "cost": 71, + "cost": 68, "xws": "captainoicunn", "ability": "You can perform primary attacks at range 0.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_146.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/captainoicunn.png", "slots": [ "Talent", "Torpedo", @@ -58,9 +87,10 @@ "Title", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_146.jpg", - "ffg": 146, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/captainoicunn.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Patrol Leader", @@ -69,7 +99,7 @@ "cost": 67, "xws": "patrolleader", "text": "To be granted command of a VT-49 Decimator is seen as a significant promotion for a middling officer of the Imperial Navy.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_148.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/patrolleader.png", "slots": [ "Torpedo", "Crew", @@ -80,19 +110,20 @@ "Title", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_148.jpg", - "ffg": 148, - "hyperspace": true + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/patrolleader.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Rear Admiral Chiraneau", "caption": "Advisor to Admiral Piett", "initiative": 5, "limited": 1, - "cost": 75, + "cost": 77, "xws": "rearadmiralchiraneau", "ability": "While you perform an attack, if you are reinforced and the defender is in the [Full Front Arc] or [Full Rear Arc] matching your reinforce token, you may change 1 of your [Focus] results to a [Critical Hit] result.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_147.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/rearadmiralchiraneau.png", "slots": [ "Talent", "Torpedo", @@ -104,9 +135,10 @@ "Title", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_147.jpg", - "ffg": 147, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/rearadmiralchiraneau.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Morna Kee", @@ -114,7 +146,8 @@ "initiative": 4, "limited": 1, "caption": "Determined Attaché", - "hyperspace": false, + "standard": true, + "wildspace": true, "slots": [ "Talent", "Torpedo", @@ -126,12 +159,15 @@ "Modification", "Title" ], - "charges": { "value": 3, "recovers": 0 }, + "charges": { + "value": 3, + "recovers": 0 + }, "ability": "During the End Phase, you may spend 1 [Charge] to flip 1 of your reinforce tokens to your other full arc instead of removing it.", - "cost": 73, - "ffg": 634, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/296bcef6b8b45cae418c80825f6eb512.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/5a913f54447ec375ccc1403769438f81.png" + "cost": 69, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/mornakee.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/mornakee.png", + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/galactic-republic/arc-170-starfighter.json b/data/pilots/galactic-republic/arc-170-starfighter.json index 613627751..199a2aa12 100644 --- a/data/pilots/galactic-republic/arc-170-starfighter.json +++ b/data/pilots/galactic-republic/arc-170-starfighter.json @@ -2,7 +2,6 @@ "name": "ARC-170 Starfighter", "xws": "arc170starfighter", "size": "Medium", - "ffg": 31, "dial": [ "1BB", "1FB", @@ -20,54 +19,100 @@ "4FR", "4KR" ], - "dialCodes": ["AR"], - "faction": "Galactic Republic", + "dialCodes": [ + "AR" + ], + "faction": "galacticrepublic", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "arc": "Rear Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 6 }, - { "type": "shields", "value": 3 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "arc": "Rear Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 6 + }, + { + "type": "shields", + "value": 3 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Barrel Roll" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Arc-170.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-republic/I_Arc-170.png", "pilots": [ { - "name": "\"Sinker\"", + "name": "“Sinker”", "caption": "Wolfpack Veteran", "initiative": 3, "limited": 1, "xws": "sinker", "ability": "While a friendly ship at range 1-2 in your [Left Arc] or [Right Arc] performs a primary attack, it may reroll 1 attack die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/8297fc7d58ec0a5e6068f8dabbbc00f1.png", - "slots": ["Torpedo", "Crew", "Astromech", "Modification", "Gunner"], - "hyperspace": false, - "cost": 53, - "ffg": 526, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/04b3e18c19a0843f89353949c9ffcb77.jpg", - "keywords": ["Clone"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sinker.png", + "slots": [ + "Torpedo", + "Crew", + "Astromech", + "Modification", + "Gunner" + ], + "standard": true, + "wildspace": true, + "cost": 51, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sinker.png", + "keywords": [ + "Clone" + ], + "epic": true }, { - "name": "\"Jag\"", + "name": "“Jag”", "xws": "jag", "cost": 47, - "slots": ["Torpedo", "Crew", "Astromech", "Modification", "Gunner"], - "ffg": 525, + "slots": [ + "Torpedo", + "Crew", + "Astromech", + "Modification", + "Gunner" + ], "caption": "CT-55/11-9009", "initiative": 3, "limited": 1, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/124b11dde89cf986fcd8bc8e89094cf5.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/28152f1d6ee09d27a4afd2459947dc3d.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/jag.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/jag.png", "ability": "After a friendly ship at range 1-2 in your [Left Arc] or [Right Arc] defends, you may acquire a lock on the attacker.", - "hyperspace": false, - "keywords": ["Clone"] + "standard": true, + "wildspace": true, + "keywords": [ + "Clone" + ], + "epic": true }, { - "name": "\"Odd Ball\"", + "name": "“Odd Ball”", "xws": "oddball-arc170starfighter", "cost": 48, "slots": [ @@ -78,18 +123,21 @@ "Modification", "Gunner" ], - "ffg": 523, "caption": "CC-2237", "initiative": 5, "limited": 1, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/597ace7e901187c88d9ff75bb34a1301.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/b0e39e35b57982a9cdffe663ff47b2dc.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/oddball-arc170starfighter.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/oddball-arc170starfighter.png", "ability": "After you fully execute a red maneuver or perform a red action, if there is an enemy ship in your [Bullseye Arc], you may acquire a lock on that ship.", - "hyperspace": false, - "keywords": ["Clone"] + "standard": true, + "wildspace": true, + "keywords": [ + "Clone" + ], + "epic": true }, { - "name": "\"Wolffe\"", + "name": "“Wolffe”", "xws": "wolffe", "cost": 49, "slots": [ @@ -100,30 +148,45 @@ "Modification", "Gunner" ], - "ffg": 524, "caption": "CC-3636", "initiative": 4, "limited": 1, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/933ef28f6a8fda0c5741bd6a9a5f308d.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/2a15fd003a7fc1d475b562a958c6c263.png", - "charges": { "value": 1, "recovers": 0 }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/wolffe.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/wolffe.png", + "charges": { + "value": 1, + "recovers": 0 + }, "ability": "While you perform a primary [Front Arc] attack, you may spend 1 [Charge] to reroll 1 attack die. While you perform a primary [Rear Arc] attack, you may recover 1 [Charge] to roll 1 additional attack die.", - "hyperspace": false, - "keywords": ["Clone"] + "standard": true, + "wildspace": true, + "keywords": [ + "Clone" + ], + "epic": true }, { "name": "104th Battalion Pilot", "xws": "104thbattalionpilot", "cost": 42, - "slots": ["Torpedo", "Crew", "Astromech", "Modification", "Gunner"], - "ffg": 528, + "slots": [ + "Torpedo", + "Crew", + "Astromech", + "Modification", + "Gunner" + ], "initiative": 2, "limited": 0, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/5081daee997a2a55de474dad2e8e4a07.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/1798ea30f603f073200326864ef9424c.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/104thbattalionpilot.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/104thbattalionpilot.png", "text": "The ARC-170 was designed as a dominating heavy escort fighter with powerful front and rear lasers, ordnance, and an astromech for navigation. Squadrons of these mighty ships bolster the Republic Navy's presence at any battle where they are deployed.", - "hyperspace": true, - "keywords": ["Clone"] + "standard": true, + "wildspace": true, + "keywords": [ + "Clone" + ], + "epic": true }, { "name": "Squad Seven Veteran", @@ -137,14 +200,236 @@ "Modification", "Gunner" ], - "ffg": 527, "initiative": 3, "limited": 0, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/3c9cad4a6c8cdb6a7749a76e1b42ec23.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/0e0fb59b2806b41214275255986965f2.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/squadsevenveteran.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/squadsevenveteran.png", "text": "Clone Flight Seven serves as part of the Open Circle Fleet under legendary Jedi Generals such as Plo Koon and Obi-Wan Kenobi, and won glory at the battles of Coruscant and Cato Neimoidia.", - "hyperspace": true, - "keywords": ["Clone"] + "standard": true, + "wildspace": true, + "keywords": [ + "Clone" + ], + "epic": true + }, + { + "name": "“Odd Ball”", + "caption": "Siege of Coruscant", + "initiative": 5, + "limited": 1, + "shipAbility": { + "name": "Born for This", + "text": "While another friendly ship at range 0-2 defends, if you are not strained, it may spend your focus and evade tokens as if that ship has them. If it does, you gain 1 strain token." + }, + "cost": 56, + "xws": "oddball-siegeofcoruscant", + "ability": "After you fully execute a red maneuver or perform a red action, you camy choose a friendly ship at range 0-3 and an enemy at range 0-1. The chosen frendly ship gains a lock on the enemy ship.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/oddball-siegeofcoruscant.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/oddball-siegeofcoruscant.png", + "standardLoadout": [ + "selfless", + "veterantailgunner", + "r4pastromech" + ], + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "arc": "Rear Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 6 + }, + { + "type": "shields", + "value": 4 + } + ], + "standard": false, + "wildspace": true, + "keywords": [ + "Clone" + ], + "epic": true + }, + { + "name": "“Odd Ball”", + "caption": "Siege of Coruscant", + "initiative": 5, + "limited": 1, + "shipAbility": { + "name": "Born for This", + "text": "While another friendly ship at range 0-2 defends, if you are not strained, it may spend your focus and evade tokens as if that ship has them. If it does, you gain 1 strain token." + }, + "cost": 50, + "xws": "oddball-siegeofcoruscant-lsl", + "ability": "After you fully execute a red maneuver or perform a red action, you camy choose a friendly ship at range 0-3 and an enemy at range 0-1. The chosen frendly ship gains a lock on the enemy ship.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/oddball-siegeofcoruscant-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/oddball-siegeofcoruscant-lsl.png", + "slots": [ + "Talent", + "Torpedo", + "Crew", + "Astromech", + "Gunner" + ], + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "arc": "Rear Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 6 + }, + { + "type": "shields", + "value": 4 + } + ], + "standard": true, + "wildspace": true, + "keywords": [ + "Clone" + ], + "epic": true + }, + { + "name": "“Wolffe”", + "caption": "Siege of Coruscant", + "initiative": 4, + "limited": 1, + "shipAbility": { + "name": "Born for This", + "text": "While another friendly ship at range 0-2 defends, if you are not strained, it may spend your focus and evade tokens as if that ship has them. If it does, you gain 1 strain token." + }, + "cost": 56, + "xws": "wolffe-siegeofcoruscant", + "ability": "While you perform a primary [Front Arc] attack, you may spend 1 [Charge] to reroll 1 attack die. While you perform a primary [Rear Arc] attack, you may recover 1 [Charge] to roll 1 additional attack die.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/wolffe-siegeofcoruscant.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/wolffe-siegeofcoruscant.png", + "charges": { + "value": 1, + "recovers": 0 + }, + "standardLoadout": [ + "wolfpack-siegeofcoruscant", + "veterantailgunner", + "q7astromech" + ], + "standard": false, + "wildspace": true, + "keywords": [ + "Clone" + ], + "epic": true + }, + { + "name": "“Wolffe”", + "caption": "Siege of Coruscant", + "initiative": 4, + "limited": 1, + "shipAbility": { + "name": "Born for This", + "text": "While another friendly ship at range 0-2 defends, if you are not strained, it may spend your focus and evade tokens as if that ship has them. If it does, you gain 1 strain token." + }, + "cost": 50, + "xws": "wolffe-siegeofcoruscant-lsl", + "ability": "While you perform a primary [Front Arc] attack, you may spend 1 [Charge] to reroll 1 attack die. While you perform a primary [Rear Arc] attack, you may recover 1 [Charge] to roll 1 additional attack die.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/wolffe-siegeofcoruscant-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/wolffe-siegeofcoruscant-lsl.png", + "charges": { + "value": 1, + "recovers": 0 + }, + "slots": [ + "Talent", + "Torpedo", + "Crew", + "Astromech", + "Modification", + "Gunner" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "Clone" + ], + "epic": true + }, + { + "name": "“Jag”", + "caption": "Siege of Coruscant", + "initiative": 3, + "limited": 1, + "shipAbility": { + "name": "Born for This", + "text": "While another friendly ship at range 0-2 defends, if you are not strained, it may spend your focus and evade tokens as if that ship has them. If it does, you gain 1 strain token." + }, + "cost": 51, + "xws": "jag-siegeofcoruscant", + "ability": "After a friendly ship at range 0-2 in your [Left Arc] or [Right Arc] performs an attack, if you are not strained, you may acquire a lock on the defender.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/jag-siegeofcoruscant.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/jag-siegeofcoruscant.png", + "standardLoadout": [ + "veterantailgunner", + "r4pastromech", + "synchronizedconsole" + ], + "standard": false, + "wildspace": true, + "keywords": [ + "Clone" + ], + "epic": true + }, + { + "name": "“Jag”", + "caption": "Siege of Coruscant", + "initiative": 3, + "limited": 1, + "shipAbility": { + "name": "Born for This", + "text": "While another friendly ship at range 0-2 defends, if you are not strained, it may spend your focus and evade tokens as if that ship has them. If it does, you gain 1 strain token." + }, + "cost": 47, + "xws": "jag-siegeofcoruscant-lsl", + "ability": "After a friendly ship at range 0-2 in your [Left Arc] or [Right Arc] performs an attack, if you are not strained, you may acquire a lock on the defender.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/jag-siegeofcoruscant-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/jag-siegeofcoruscant-lsl.png", + "slots": [ + "Torpedo", + "Crew", + "Astromech", + "Modification", + "Gunner" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "Clone" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/galactic-republic/btl-b-y-wing.json b/data/pilots/galactic-republic/btl-b-y-wing.json index d4433e575..4ebefb265 100644 --- a/data/pilots/galactic-republic/btl-b-y-wing.json +++ b/data/pilots/galactic-republic/btl-b-y-wing.json @@ -2,7 +2,6 @@ "name": "BTL-B Y-wing", "xws": "btlbywing", "size": "Small", - "ffg": 68, "dial": [ "1BW", "1FB", @@ -20,19 +19,46 @@ "4FR", "4KR" ], - "dialCodes": ["YwB"], - "faction": "Galactic Republic", + "dialCodes": [ + "YwB" + ], + "faction": "galacticrepublic", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 5 }, - { "type": "shields", "value": 3 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 5 + }, + { + "type": "shields", + "value": 3 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Barrel Roll" }, - { "difficulty": "Red", "type": "Reload" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + }, + { + "difficulty": "Red", + "type": "Reload" + } ], "pilots": [ { @@ -41,15 +67,15 @@ "limited": 0, "xws": "shadowsquadronveteran", "text": "Shadow Squadron has served since the early days of the Clone Wars, winning victories at Kadavo and against the flagship of Grievous, Malevolence.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/fe59b8b8bd7ca5d4104030b50a30a299.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/shadowsquadronveteran.png", "shipAbility": { "name": "Plated Hull", "text": "While you defend, if you are not critically damaged, change 1 [Critical Hit] result to a [Hit] result." }, - "hyperspace": false, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/84e5bef1597b232a20e52e1aa28a4c7e.jpg", + "standard": true, + "wildspace": true, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/shadowsquadronveteran.png", "cost": 31, - "ffg": 602, "slots": [ "Talent", "Turret", @@ -59,7 +85,11 @@ "Modification", "Gunner" ], - "keywords": ["Clone", "Y-wing"] + "keywords": [ + "Clone", + "Y-wing" + ], + "epic": true }, { "name": "Anakin Skywalker", @@ -70,14 +100,20 @@ "name": "Plated Hull", "text": "While you defend, if you are not critically damaged, change 1 [Critical Hit] result to a [Hit] result." }, - "force": { "value": 3, "recovers": 1, "side": ["light"] }, - "hyperspace": true, + "force": { + "value": 3, + "recovers": 1, + "side": [ + "light" + ] + }, + "standard": true, + "wildspace": true, "caption": "Hero of the Republic", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/7fc9010418aceb84cd9fb48d34e39ec8.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/c7c979a7d90961d2e3afe377a71285df.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/anakinskywalker-btlbywing.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/anakinskywalker-btlbywing.png", "ability": "After you fully execute a maneuver, if there is an enemy ship in your [Front Arc] at range 0-1 or in your [Bullseye Arc], you may spend 1 [Force] to remove 1 stress token.", - "cost": 50, - "ffg": 596, + "cost": 48, "slots": [ "Turret", "Torpedo", @@ -87,29 +123,46 @@ "Gunner", "Force Power" ], - "keywords": ["Jedi", "Light Side", "Y-wing"] + "keywords": [ + "Jedi", + "Light Side", + "Y-wing" + ], + "epic": true }, { "name": "R2-D2", "xws": "r2d2", "caption": "Bucket of Bolts", - "cost": 31, - "ffg": 600, + "cost": 30, "limited": 1, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/90c3f9aac7f44e4a6a860c81f93aae99.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/b37b960f2e79ab5eb905bc3593de8961.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/r2d2.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/r2d2.png", "shipActions": [ - { "difficulty": "White", "type": "Calculate" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Barrel Roll" }, - { "difficulty": "Red", "type": "Reload" } + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + }, + { + "difficulty": "Red", + "type": "Reload" + } ], "shipAbility": { "name": "Plated Hull", "text": "While you defend, if you are not critically damaged, change 1 [Critical Hit] result to a [Hit] result." }, "ability": "At the start of the Engagement Phase, if there is an enemy ship in your [Rear Arc], gain 1 calculate token.", - "hyperspace": true, + "standard": true, + "wildspace": true, "slots": [ "Talent", "Turret", @@ -120,10 +173,14 @@ "Gunner" ], "initiative": 2, - "keywords": ["Droid", "Y-wing"] + "keywords": [ + "Droid", + "Y-wing" + ], + "epic": true }, { - "name": "\"Odd Ball\"", + "name": "“Odd Ball”", "xws": "oddball-btlbywing", "initiative": 5, "limited": 1, @@ -132,11 +189,11 @@ "text": "While you defend, if you are not critically damaged, change 1 [Critical Hit] result to a [Hit] result." }, "caption": "CC-2237", - "hyperspace": true, - "cost": 39, - "ffg": 597, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/5f37609150489b6d49ca659d1b1caa8a.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/8f1d65004c763b48293d1324a49c563a.png", + "standard": true, + "wildspace": true, + "cost": 37, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/oddball-btlbywing.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/oddball-btlbywing.png", "ability": "After you fully execute a red maneuver or perform a red action, if there is an enemy ship in your [Bullseye Arc], you may acquire a lock on that ship.", "slots": [ "Talent", @@ -147,10 +204,14 @@ "Modification", "Gunner" ], - "keywords": ["Clone", "Y-wing"] + "keywords": [ + "Clone", + "Y-wing" + ], + "epic": true }, { - "name": "\"Matchstick\"", + "name": "“Matchstick”", "xws": "matchstick", "initiative": 4, "limited": 1, @@ -158,13 +219,13 @@ "name": "Plated Hull", "text": "While you defend, if you are not critically damaged, change 1 [Critical Hit] result to a [Hit] result." }, - "hyperspace": true, + "standard": true, + "wildspace": true, "caption": "Shadow Two", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/8d8b63edff7a5e9969ca61ebb4456837.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/6aa658fe4082ed67500d2ac92c7731a0.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/matchstick.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/matchstick.png", "ability": "While you perform a primary or [Single Turret Arc] attack, you may reroll 1 attack die for each red token you have.", - "cost": 41, - "ffg": 598, + "cost": 39, "slots": [ "Talent", "Turret", @@ -174,10 +235,14 @@ "Modification", "Gunner" ], - "keywords": ["Clone", "Y-wing"] + "keywords": [ + "Clone", + "Y-wing" + ], + "epic": true }, { - "name": "\"Broadside\"", + "name": "“Broadside”", "xws": "broadside", "initiative": 3, "limited": 1, @@ -185,13 +250,13 @@ "name": "Plated Hull", "text": "While you defend, if you are not critically damaged, change 1 [Critical Hit] result to a [Hit] result." }, - "hyperspace": true, + "standard": true, + "wildspace": true, "caption": "Shadow Three", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/d34e3bcb51d765f9dd12a9fc266e7ad9.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/1f0842573067d73acd7bb7589707ec4e.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/broadside.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/broadside.png", "ability": "While you perform a [Single Turret Arc] attack, if your [Single Turret Arc] indicator is in your [Left Arc] or [Right Arc], you may change 1 blank result to a [Focus] result.", - "cost": 36, - "ffg": 599, + "cost": 35, "slots": [ "Talent", "Turret", @@ -201,10 +266,14 @@ "Modification", "Gunner" ], - "keywords": ["Clone", "Y-wing"] + "keywords": [ + "Clone", + "Y-wing" + ], + "epic": true }, { - "name": "\"Goji\"", + "name": "“Goji”", "xws": "goji", "initiative": 2, "limited": 1, @@ -212,13 +281,13 @@ "name": "Plated Hull", "text": "While you defend, if you are not critically damaged, change 1 [Critical Hit] result to a [Hit] result." }, - "hyperspace": true, + "standard": true, + "wildspace": true, "caption": "Payload Specialist", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/026f989543c030d7c8e6757a9aab7a68.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/3b34b6fc25db55b66654d355c7f514eb.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/goji.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/goji.png", "ability": "While a friendly ship at range 0-3 defends, it may roll 1 additional defense die for each friendly bomb at range 0-1 of it.", "cost": 29, - "ffg": 601, "slots": [ "Turret", "Torpedo", @@ -227,7 +296,11 @@ "Modification", "Gunner" ], - "keywords": ["Clone", "Y-wing"] + "keywords": [ + "Clone", + "Y-wing" + ], + "epic": true }, { "name": "Red Squadron Bomber", @@ -239,11 +312,11 @@ "text": "While you defend, if you are not critically damaged, change 1 [Critical Hit] result to a [Hit] result." }, "text": "At the battle of Geonosis, Red Squadron provided vital cover to the LAAT gunships deployed to secure the surface.", - "hyperspace": false, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/e91e0d3a30e85c878f7493360d1b668f.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/692a1f1d4b5f5370dad7cacf2f19d699.png", + "standard": true, + "wildspace": true, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/redsquadronbomber.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/redsquadronbomber.png", "cost": 30, - "ffg": 603, "slots": [ "Turret", "Torpedo", @@ -252,8 +325,12 @@ "Modification", "Gunner" ], - "keywords": ["Clone", "Y-wing"] + "keywords": [ + "Clone", + "Y-wing" + ], + "epic": true } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_BTL-B_Ywing.png" -} + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-republic/I_BTL-B_Ywing.png" +} \ No newline at end of file diff --git a/data/pilots/galactic-republic/clone-z-95-headhunter.json b/data/pilots/galactic-republic/clone-z-95-headhunter.json new file mode 100644 index 000000000..0fb83c3b1 --- /dev/null +++ b/data/pilots/galactic-republic/clone-z-95-headhunter.json @@ -0,0 +1,325 @@ +{ + "name": "Clone Z-95 Headhunter", + "xws": "clonez95headhunter", + "size": "Small", + "dial": [ + "1BW", + "1FB", + "1NW", + "2TW", + "2BB", + "2FB", + "2NB", + "2YW", + "3TW", + "3BW", + "3FB", + "3NW", + "3YW", + "3KR", + "4FW", + "4KR" + ], + "dialCodes": [ + "Z95" + ], + "faction": "galacticrepublic", + "stats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 2 + }, + { + "type": "shields", + "value": 2 + } + ], + "actions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + } + ], + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-republic/I_CloneZ95Headhunter.png", + "pilots": [ + { + "name": "“Killer”", + "caption": "Dependable Closer", + "initiative": 2, + "limited": 1, + "cost": 24, + "xws": "killer", + "ability": "While you perform an attack, if the defender has 2 or fewer hull remaining, you may roll 1 additional attack die. If you do, gain 1 deplete token after rolling attack dice.", + "shipAbility": { + "name": "Versatile Frame", + "text": "You can equip 1 [Torpedo] or [Missile] upgrade. While your revealed maneuver is blue, add white [Boost] to your action bar." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/killer.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/killer.png", + "slots": [ + "Sensor", + "Modification" + ], + "standard": true, + "wildspace": true, + "epic": true, + "keywords": [ + "Clone" + ] + }, + { + "name": "“Drift”", + "caption": "CT-1020", + "initiative": 3, + "limited": 1, + "cost": 29, + "xws": "drift", + "ability": "While a friendly ship at range 0-1 performs an attack, if you have exactly 1 non-lock red token or exactly 1 orange token, that ship may reroll 1 attack die.", + "shipAbility": { + "name": "Versatile Frame", + "text": "You can equip 1 [Torpedo] or [Missile] upgrade. While your revealed maneuver is blue, add white [Boost] to your action bar." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/drift.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/drift.png", + "slots": [ + "Talent", + "Sensor", + "Modification" + ], + "standard": true, + "wildspace": true, + "epic": true, + "keywords": [ + "Clone" + ] + }, + { + "name": "“Boost”", + "caption": "CT-4860", + "initiative": 3, + "limited": 1, + "cost": 24, + "xws": "boost", + "ability": "At the start of the Engagement Phase, if there is a friendly ship at range 0-1 whose revealed maneuver is blue, you may perform a [Boost] action.", + "shipAbility": { + "name": "Versatile Frame", + "text": "You can equip 1 [Torpedo] or [Missile] upgrade. While your revealed maneuver is blue, add white [Boost] to your action bar." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/boost.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/boost.png", + "slots": [ + "Talent", + "Sensor", + "Modification" + ], + "standard": true, + "wildspace": true, + "epic": true, + "keywords": [ + "Clone" + ] + }, + { + "name": "“Stub”", + "caption": "Scrappy Flier", + "initiative": 3, + "limited": 1, + "cost": 29, + "xws": "stub", + "ability": "While you defend, if the speed of your revealed maneuver is even, roll 1 additional defende die. While you perform a primary attack, if the speed of your revealed maneuver is odd, roll 1 additional attack die.", + "shipAbility": { + "name": "Versatile Frame", + "text": "You can equip 1 [Torpedo] or [Missile] upgrade. While your revealed maneuver is blue, add white [Boost] to your action bar." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/stub.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/stub.png", + "slots": [ + "Talent", + "Sensor", + "Modification" + ], + "standard": true, + "wildspace": true, + "epic": true, + "keywords": [ + "Clone" + ] + }, + { + "name": "“Knack”", + "caption": "Incautious Instructor", + "initiative": 5, + "limited": 1, + "cost": 26, + "xws": "knack", + "ability": "After you are destroyed, you may choose a friendly non-limited ship and assign 1 of your equipped [Talent] upgrades to it. End of Game: Return all [Talent] upgrades to their original ships.", + "shipAbility": { + "name": "Versatile Frame", + "text": "You can equip 1 [Torpedo] or [Missile] upgrade. While your revealed maneuver is blue, add white [Boost] to your action bar." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/knack.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/knack.png", + "slots": [ + "Talent", + "Talent", + "Sensor", + "Modification" + ], + "standard": true, + "wildspace": true, + "epic": true, + "keywords": [ + "Clone" + ] + }, + { + "name": "“Hawk”", + "caption": "Valkyrie 2929", + "initiative": 4, + "limited": 1, + "cost": 25, + "xws": "hawk-clonez95headhunter", + "ability": "At the start of the end phase, each friendly ship at range 0-1 that has a revealed maneuver of speed 3-5 may gain 1 strain token to perform a [Barrel Roll] or [Boost] action.", + "shipAbility": { + "name": "Versatile Frame", + "text": "You can equip 1 [Torpedo] or [Missile] upgrade. While your revealed maneuver is blue, add white [Boost] to your action bar." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/hawk-clonez95headhunter.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/hawk-clonez95headhunter.png", + "slots": [ + "Talent", + "Talent", + "Sensor", + "Modification" + ], + "standard": true, + "wildspace": true, + "epic": true, + "keywords": [ + "Clone" + ] + }, + { + "name": "7th Sky Corps Pilot", + "initiative": 2, + "limited": 0, + "cost": 23, + "xws": "7thskycorpspilot", + "text": "", + "shipAbility": { + "name": "Versatile Frame", + "text": "You can equip 1 [Torpedo] or [Missile] upgrade. While your revealed maneuver is blue, add white [Boost] to your action bar." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/7thskycorpspilot.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/7thskycorpspilot.png", + "slots": [ + "Sensor", + "Modification" + ], + "standard": true, + "wildspace": true, + "epic": true, + "keywords": [ + "Clone" + ] + }, + { + "name": "Reaper Squadron Scout", + "initiative": 3, + "limited": 0, + "cost": 24, + "xws": "reapersquadronscout", + "text": "Despite the Clone Z-95's unglamorous reputation, Reaper Squadron has become legendary for their skill with this fighter in far-flung engagements, such as the skirmish over Castilon.", + "shipAbility": { + "name": "Versatile Frame", + "text": "You can equip 1 [Torpedo] or [Missile] upgrade. While your revealed maneuver is blue, add white [Boost] to your action bar." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/reapersquadronscout.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/reapersquadronscout.png", + "slots": [ + "Talent", + "Sensor", + "Modification" + ], + "standard": true, + "wildspace": true, + "epic": true, + "keywords": [ + "Clone" + ] + }, + { + "name": "“Slider”", + "caption": "Evasive Aviator", + "initiative": 4, + "limited": 1, + "cost": 25, + "xws": "slider", + "ability": "When you reveal a [2 [Bank Left]] or [2 [Bank Right]] maneuver, you may spend 2 [Charge] to execute it as a sideslip.", + "charges": { + "value": 2, + "recovers": 1 + }, + "shipAbility": { + "name": "Versatile Frame", + "text": "You can equip 1 [Torpedo] or [Missile] upgrade. While your revealed maneuver is blue, add white [Boost] to your action bar." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/slider.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/slider.png", + "slots": [ + "Talent", + "Sensor", + "Modification" + ], + "standard": true, + "wildspace": true, + "epic": true, + "keywords": [ + "Clone" + ] + }, + { + "name": "“Warthog”", + "caption": "Veteran of Kadavo", + "initiative": 3, + "limited": 1, + "cost": 29, + "xws": "warthog-clonez95headhunter", + "ability": "After you or a friendly non-limited ship at range 0-2 are destroyed during the Engagement Phase, that ship is not removed until the end of that phase.", + "shipAbility": { + "name": "Versatile Frame", + "text": "You can equip 1 [Torpedo] or [Missile] upgrade. While your revealed maneuver is blue, add white [Boost] to your action bar." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/warthog-clonez95headhunter.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/warthog-clonez95headhunter.png", + "slots": [ + "Talent", + "Sensor", + "Modification" + ], + "standard": true, + "wildspace": true, + "epic": true, + "keywords": [ + "Clone" + ] + } + ] +} \ No newline at end of file diff --git a/data/pilots/galactic-republic/cr90-corellian-corvette.json b/data/pilots/galactic-republic/cr90-corellian-corvette.json index ac77436c9..c419b5b20 100644 --- a/data/pilots/galactic-republic/cr90-corellian-corvette.json +++ b/data/pilots/galactic-republic/cr90-corellian-corvette.json @@ -1,9 +1,8 @@ { "name": "CR90 Corellian Corvette", "xws": "cr90corelliancorvette", - "ffg": 78, - "faction": "Galactic Republic", - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_CR90.png", + "faction": "galacticrepublic", + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-republic/I_CR90.png", "size": "Huge", "dial": [ "0BR", @@ -21,36 +20,77 @@ "4FR", "5FR" ], - "dialCodes": ["CR90-REP"], + "dialCodes": [ + "CR90-REP" + ], "stats": [ - { "arc": "Left Arc", "type": "attack", "value": 4 }, - { "arc": "Right Arc", "type": "attack", "value": 4 }, - { "type": "agility", "value": 0 }, - { "type": "hull", "value": 18 }, - { "type": "shields", "value": 7, "recovers": 2 }, - { "type": "energy", "value": 7, "recovers": 2 } + { + "arc": "Left Arc", + "type": "attack", + "value": 4 + }, + { + "arc": "Right Arc", + "type": "attack", + "value": 4 + }, + { + "type": "agility", + "value": 0 + }, + { + "type": "hull", + "value": 18 + }, + { + "type": "shields", + "value": 7, + "recovers": 2 + }, + { + "type": "energy", + "value": 7, + "recovers": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Reinforce" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Coordinate" }, - { "difficulty": "White", "type": "Jam" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Reinforce" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Coordinate" + }, + { + "difficulty": "White", + "type": "Jam" + } ], "pilots": [ { - "ffg": 705, "name": "Republic Judiciary", "initiative": 8, - "cost": 131, + "cost": 125, "limited": 0, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a04b07c3b0b3dbe1bfac935ca3a9f0d4.jpg", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/republicjudiciary.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/republicjudiciary.png", "shipAbility": { "name": "Broadside Batteries", "text": "You can acquire locks and perform primary attacks at range 1-4." }, "text": "The Galactic Republic uses small, swift warships such as the CR90 corvette to respond rapidly to Separatist incursions across the galaxy.", - "hyperspace": false, + "standard": false, + "wildspace": false, + "epic": true, "engagement": 0, "xws": "republicjudiciary", "slots": [ @@ -66,4 +106,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/data/pilots/galactic-republic/delta-7-aethersprite.json b/data/pilots/galactic-republic/delta-7-aethersprite.json index 09462d558..0fb908c29 100644 --- a/data/pilots/galactic-republic/delta-7-aethersprite.json +++ b/data/pilots/galactic-republic/delta-7-aethersprite.json @@ -22,22 +22,52 @@ "5FW", "5KR" ], - "dialCodes": ["D7A"], - "faction": "Galactic Republic", + "dialCodes": [ + "D7A" + ], + "faction": "galacticrepublic", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 3 }, - { "type": "hull", "value": 3 }, - { "type": "shields", "value": 1 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 3 + }, + { + "type": "shields", + "value": 1 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "Purple", "type": "Evade" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Barrel Roll" }, - { "difficulty": "White", "type": "Boost" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "Purple", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Boost" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Delta-7.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-republic/I_Delta-7.png", "pilots": [ { "name": "Jedi Knight", @@ -49,14 +79,29 @@ "name": "Fine-tuned Controls", "text": "After you fully execute a maneuver, you may spend 1 [Force] to perform a [Boost] or [Barrel Roll] action." }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/13d08d0d1131e7a11f6d10fd1626bff9.png", - "force": { "value": 1, "recovers": 1, "side": ["light"] }, - "hyperspace": true, - "cost": 36, - "slots": ["Astromech", "Modification", "Force Power", "Configuration"], - "ffg": 515, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/d3bf6f2f5482c2b68a4d3d02cd758a68.jpg", - "keywords": ["Jedi", "Light Side"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/jediknight.png", + "force": { + "value": 1, + "recovers": 1, + "side": [ + "light" + ] + }, + "standard": true, + "wildspace": true, + "cost": 35, + "slots": [ + "Astromech", + "Modification", + "Force Power", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/jediknight.png", + "keywords": [ + "Jedi", + "Light Side" + ], + "epic": true }, { "name": "Obi-Wan Kenobi", @@ -69,14 +114,29 @@ "name": "Fine-tuned Controls", "text": "After you fully execute a maneuver, you may spend 1 [Force] to perform a [Boost] or [Barrel Roll] action." }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/fcf515534a722b581bc2f85f36cb5c30.png", - "force": { "value": 3, "recovers": 1, "side": ["light"] }, - "hyperspace": false, - "cost": 47, - "slots": ["Astromech", "Modification", "Force Power", "Configuration"], - "ffg": 511, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/f449693ccfd6529244ea7765eed2f83f.jpg", - "keywords": ["Jedi", "Light Side"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/obiwankenobi.png", + "force": { + "value": 3, + "recovers": 1, + "side": [ + "light" + ] + }, + "standard": true, + "wildspace": true, + "cost": 48, + "slots": [ + "Astromech", + "Modification", + "Force Power", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/obiwankenobi.png", + "keywords": [ + "Jedi", + "Light Side" + ], + "epic": true }, { "name": "Plo Koon", @@ -89,14 +149,29 @@ "name": "Fine-tuned Controls", "text": "After you fully execute a maneuver, you may spend 1 [Force] to perform a [Boost] or [Barrel Roll] action." }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/c0936c57c897ea7bacadf723cfcbd0b6.png", - "force": { "value": 2, "recovers": 1, "side": ["light"] }, - "hyperspace": false, - "cost": 43, - "slots": ["Astromech", "Modification", "Force Power", "Configuration"], - "ffg": 513, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a4f58c67ecedcb9fcfa6ee45613c002e.jpg", - "keywords": ["Jedi", "Light Side"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/plokoon.png", + "force": { + "value": 2, + "recovers": 1, + "side": [ + "light" + ] + }, + "standard": true, + "wildspace": true, + "cost": 45, + "slots": [ + "Astromech", + "Modification", + "Force Power", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/plokoon.png", + "keywords": [ + "Jedi", + "Light Side" + ], + "epic": true }, { "name": "Saesee Tiin", @@ -109,14 +184,29 @@ "name": "Fine-tuned Controls", "text": "After you fully execute a maneuver, you may spend 1 [Force] to perform a [Boost] or [Barrel Roll] action." }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/e0fdedf1af8fd1e5b36c2fba17b4f6b0.png", - "force": { "value": 2, "recovers": 1, "side": ["light"] }, - "hyperspace": false, - "cost": 40, - "slots": ["Astromech", "Modification", "Force Power", "Configuration"], - "ffg": 514, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/e36d5e616e0b0135b0faa1c9f46992a1.jpg", - "keywords": ["Jedi", "Light Side"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/saeseetiin.png", + "force": { + "value": 2, + "recovers": 1, + "side": [ + "light" + ] + }, + "standard": false, + "wildspace": true, + "cost": 39, + "slots": [ + "Astromech", + "Modification", + "Force Power", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/saeseetiin.png", + "keywords": [ + "Jedi", + "Light Side" + ], + "epic": true }, { "name": "Mace Windu", @@ -129,14 +219,29 @@ "name": "Fine-tuned Controls", "text": "After you fully execute a maneuver, you may spend 1 [Force] to perform a [Boost] or [Barrel Roll] action." }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/f0c905f162de8d77dd78c3d49cca77f1.png", - "force": { "value": 3, "recovers": 1, "side": ["light"] }, - "hyperspace": false, - "cost": 44, - "slots": ["Astromech", "Modification", "Force Power", "Configuration"], - "ffg": 512, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/ba6c851af3b8f650d8dcb865a05636f2.jpg", - "keywords": ["Jedi", "Light Side"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/macewindu.png", + "force": { + "value": 3, + "recovers": 1, + "side": [ + "light" + ] + }, + "standard": true, + "wildspace": true, + "cost": 42, + "slots": [ + "Astromech", + "Modification", + "Force Power", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/macewindu.png", + "keywords": [ + "Jedi", + "Light Side" + ], + "epic": true }, { "name": "Anakin Skywalker", @@ -149,18 +254,33 @@ "name": "Fine-tuned Controls", "text": "After you fully execute a maneuver, you may spend 1 [Force] to perform a [Boost] or [Barrel Roll] action." }, - "force": { "value": 3, "recovers": 1, "side": ["light"] }, - "hyperspace": false, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/d60f4eca355471465ca3f6b99fb98e56.png", - "cost": 59, - "slots": ["Astromech", "Modification", "Force Power", "Configuration"], - "ffg": 507, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/dc121e1b285f30e4708bda6c0594b55f.jpg", - "keywords": ["Jedi", "Light Side"] + "force": { + "value": 3, + "recovers": 1, + "side": [ + "light" + ] + }, + "standard": true, + "wildspace": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/anakinskywalker.png", + "cost": 55, + "slots": [ + "Astromech", + "Modification", + "Force Power", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/anakinskywalker.png", + "keywords": [ + "Jedi", + "Light Side" + ], + "epic": true }, { "name": "Ahsoka Tano", - "caption": "\"Snips\"", + "caption": "“Snips”", "initiative": 3, "limited": 1, "xws": "ahsokatano", @@ -169,14 +289,29 @@ "name": "Fine-tuned Controls", "text": "After you fully execute a maneuver, you may spend 1 [Force] to perform a [Boost] or [Barrel Roll] action." }, - "force": { "value": 2, "recovers": 1, "side": ["light"] }, - "hyperspace": false, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/15f6bf84f63970c982dd722a5473217f.png", - "cost": 41, - "slots": ["Astromech", "Modification", "Force Power", "Configuration"], - "ffg": 510, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/0fc229b9b79c9f6c750a587614729293.jpg", - "keywords": ["Jedi", "Light Side"] + "force": { + "value": 2, + "recovers": 1, + "side": [ + "light" + ] + }, + "standard": true, + "wildspace": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/ahsokatano.png", + "cost": 38, + "slots": [ + "Astromech", + "Modification", + "Force Power", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/ahsokatano.png", + "keywords": [ + "Jedi", + "Light Side" + ], + "epic": true }, { "name": "Barriss Offee", @@ -189,14 +324,29 @@ "name": "Fine-tuned Controls", "text": "After you fully execute a maneuver, you may spend 1 [Force] to perform a [Boost] or [Barrel Roll] action." }, - "force": { "value": 1, "recovers": 1, "side": ["light"] }, - "hyperspace": false, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/f8f58005da18d7041b1ec2374701465c.png", - "cost": 36, - "slots": ["Astromech", "Modification", "Force Power", "Configuration"], - "ffg": 509, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/6eb248dfda52dc29a8aa4fda7e414eab.jpg", - "keywords": ["Jedi", "Light Side"] + "force": { + "value": 1, + "recovers": 1, + "side": [ + "light" + ] + }, + "standard": true, + "wildspace": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/barrissoffee.png", + "cost": 35, + "slots": [ + "Astromech", + "Modification", + "Force Power", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/barrissoffee.png", + "keywords": [ + "Jedi", + "Light Side" + ], + "epic": true }, { "name": "Luminara Unduli", @@ -209,15 +359,99 @@ "name": "Fine-tuned Controls", "text": "After you fully execute a maneuver, you may spend 1 [Force] to perform a [Boost] or [Barrel Roll] action." }, - "force": { "value": 2, "recovers": 1, "side": ["light"] }, - "hyperspace": false, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/7f87b6c12631687bedf75a18582af0b0.png", - "cost": 40, - "slots": ["Astromech", "Modification", "Force Power", "Configuration"], - "ffg": 508, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/22519908330c72696863815565a2beda.jpg", - "keywords": ["Jedi", "Light Side"] + "force": { + "value": 2, + "recovers": 1, + "side": [ + "light" + ] + }, + "standard": true, + "wildspace": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/luminaraunduli.png", + "cost": 39, + "slots": [ + "Astromech", + "Modification", + "Force Power", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/luminaraunduli.png", + "keywords": [ + "Jedi", + "Light Side" + ], + "epic": true + }, + { + "name": "Adi Gallia", + "caption": "Shooting Star", + "initiative": 5, + "limited": 1, + "xws": "adigallia", + "ability": "While you defend at attack range 1, you may spend 1 [Force]. If you do, the attacker cannot apply the range bonus. While you perform an attack against a defender at attack range 3, you may spend 1 [Force]. If you do, the defender cannot apply the range bonus.", + "shipAbility": { + "name": "Fine-tuned Controls", + "text": "After you fully execute a maneuver, you may spend 1 [Force] to perform a [Boost] or [Barrel Roll] action." + }, + "force": { + "value": 2, + "recovers": 1, + "side": [ + "light" + ] + }, + "standard": true, + "wildspace": true, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/adigallia.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/adigallia.png", + "cost": 46, + "slots": [ + "Astromech", + "Modification", + "Force Power", + "Configuration" + ], + "keywords": [ + "Jedi", + "Light Side" + ], + "epic": true + }, + { + "name": "Depa Billaba", + "caption": "Hazard Three", + "initiative": 3, + "limited": 1, + "xws": "depabillaba-wat1", + "ability": "While a friendly ship in your [Full Front Arc] defends or performs an attack, if that ship has more inactive [Force] than active [Force], it may spend your [Force] as if that ship has them.", + "shipAbility": { + "name": "Fine-tuned Controls", + "text": "After you fully execute a maneuver, you may spend 1 [Force] to perform a [Boost] or [Barrel Roll] action." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/depabillaba-wat1.png", + "force": { + "value": 2, + "recovers": 1, + "side": [ + "light" + ] + }, + "standard": false, + "wildspace": true, + "cost": 38, + "slots": [ + "Astromech", + "Modification", + "Force Power", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/depabillaba-wat1.png", + "keywords": [ + "Jedi", + "Light Side" + ], + "epic": true } - ], - "ffg": 61 + ] } diff --git a/data/pilots/galactic-republic/eta-2-actis.json b/data/pilots/galactic-republic/eta-2-actis.json index 0be0a3cab..0903e9aab 100644 --- a/data/pilots/galactic-republic/eta-2-actis.json +++ b/data/pilots/galactic-republic/eta-2-actis.json @@ -2,7 +2,6 @@ "name": "Eta-2 Actis", "xws": "eta2actis", "size": "Small", - "ffg": 76, "dial": [ "1TW", "1YW", @@ -22,21 +21,51 @@ "4KR", "5FW" ], - "dialCodes": ["E2A"], - "faction": "Galactic Republic", + "dialCodes": [ + "E2A" + ], + "faction": "galacticrepublic", "stats": [ - { "type": "attack", "arc": "Bullseye Arc", "value": 3 }, - { "type": "attack", "arc": "Front Arc", "value": 2 }, - { "type": "agility", "value": 3 }, - { "type": "hull", "value": 3 }, - { "type": "shields", "value": 0 } + { + "type": "attack", + "arc": "Bullseye Arc", + "value": 3 + }, + { + "type": "attack", + "arc": "Front Arc", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 3 + } ], "actions": [ - { "type": "Focus", "difficulty": "White" }, - { "type": "Evade", "difficulty": "White" }, - { "type": "Lock", "difficulty": "Purple" }, - { "type": "Barrel Roll", "difficulty": "White" }, - { "type": "Boost", "difficulty": "White" } + { + "type": "Focus", + "difficulty": "White" + }, + { + "type": "Evade", + "difficulty": "White" + }, + { + "type": "Lock", + "difficulty": "Purple" + }, + { + "type": "Barrel Roll", + "difficulty": "White" + }, + { + "type": "Boost", + "difficulty": "White" + } ], "pilots": [ { @@ -46,18 +75,34 @@ "limited": 1, "xws": "anakinskywalker-eta2actis", "ability": "After you or a friendly Obi-Wan Kenobi ship at range 0-3 executes a maneuver, if there are more enemy ships than other friendly ships at range 0-1 of that ship, you may spend 1 [Force]. If you do, that ship removes 1 red token of your choice.", - "force": { "value": 3, "recovers": 1, "side": ["light"] }, - "hyperspace": true, + "force": { + "value": 3, + "recovers": 1, + "side": [ + "light" + ] + }, + "standard": true, + "wildspace": true, "shipAbility": { "name": "Intuitive Controls", "text": "During the System Phase, you may perform a purple [Barrel Roll] or purple [Boost] action." }, "cost": 51, - "ffg": 781, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/ef/ca/efcac3d6-868a-4e99-a872-3f2265e4983e/swz79_anakin-skywalker.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/59d5bfe1c3cae085918a62ab75573032.jpg", - "slots": ["Talent", "Force Power", "Astromech", "Modification"], - "keywords": ["Dark Side", "Jedi", "Light Side"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/anakinskywalker-eta2actis.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/anakinskywalker-eta2actis.png", + "slots": [ + "Talent", + "Force Power", + "Astromech", + "Modification" + ], + "keywords": [ + "Dark Side", + "Jedi", + "Light Side" + ], + "epic": true }, { "name": "Obi-Wan Kenobi", @@ -69,15 +114,27 @@ "text": "During the System Phase, you may perform a purple [Barrel Roll] or purple [Boost] action." }, "caption": "Guardian of Democracy", - "hyperspace": true, - "force": { "value": 3, "recovers": 1 }, + "standard": true, + "wildspace": true, + "force": { + "value": 3, + "recovers": 1 + }, "ability": "After you or a friendly Anakin Skywalker ship at range 0-3 executes a maneuver, if there are more enemy ships than other friendly ships at range 0-1 of that ship, you may spend 1 [Force]. If you do, that ship gains 1 focus token.", "cost": 48, - "ffg": 782, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/2d/36/2d3610e5-ebc0-4448-8fb3-4b6dcc5f391a/swz79_obi-wan_kenobi.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/7718872b876f1cd2a508276a6b79e187.jpg", - "slots": ["Talent", "Force Power", "Astromech", "Modification"], - "keywords": ["Jedi", "Light Side"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/obiwankenobi-eta2actis.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/obiwankenobi-eta2actis.png", + "slots": [ + "Talent", + "Force Power", + "Astromech", + "Modification" + ], + "keywords": [ + "Jedi", + "Light Side" + ], + "epic": true }, { "name": "Aayla Secura", @@ -89,15 +146,27 @@ "text": "During the System Phase, you may perform a purple [Barrel Roll] or purple [Boost] action." }, "caption": "Confident Warrior", - "hyperspace": true, - "force": { "value": 2, "recovers": 1 }, + "standard": true, + "wildspace": true, + "force": { + "value": 2, + "recovers": 1 + }, "ability": "While an enemy ship in your [Front Arc] at range 0-1 performs an attack, the defender may change 1 blank result to a [Focus] result.", - "cost": 48, - "ffg": 783, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/c2/e2/c2e2ee1f-1bdd-4ff7-ad95-c442af9b510a/swz79_aayla-secura.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a2171b5544ebfd56e22775efa9b73fc4.jpg", - "slots": ["Talent", "Force Power", "Astromech", "Modification"], - "keywords": ["Jedi", "Light Side"] + "cost": 47, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/aaylasecura.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/aaylasecura.png", + "slots": [ + "Talent", + "Force Power", + "Astromech", + "Modification" + ], + "keywords": [ + "Jedi", + "Light Side" + ], + "epic": true }, { "name": "Shaak Ti", @@ -109,15 +178,27 @@ "text": "During the System Phase, you may perform a purple [Barrel Roll] or purple [Boost] action." }, "caption": "Compassionate Mentor", - "hyperspace": true, - "force": { "value": 2, "recovers": 1 }, + "standard": true, + "wildspace": true, + "force": { + "value": 2, + "recovers": 1 + }, "ability": "At the start of the End Phase, you may spend any number of [Force] to choose that many friendly ships at range 0-2. Each chosen ship does not remove 1 focus or evade token during this End Phase.", - "cost": 43, - "ffg": 784, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/fa/6a/fa6afe10-be85-46ee-93e6-0637b3ce34b0/swz79_shaak-ti.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/c6e6e480dbdf934d2a7d04f1800f5e45.jpg", - "slots": ["Talent", "Force Power", "Astromech", "Modification"], - "keywords": ["Jedi", "Light Side"] + "cost": 45, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/shaakti.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/shaakti.png", + "slots": [ + "Talent", + "Force Power", + "Astromech", + "Modification" + ], + "keywords": [ + "Jedi", + "Light Side" + ], + "epic": true }, { "name": "Jedi General", @@ -129,14 +210,26 @@ "text": "During the System Phase, you may perform a purple [Barrel Roll] or purple [Boost] action." }, "text": "As the Clone Wars take their toll on the ranks of the Jedi Order, those that remain must assume even greater responsibilities in the Grand Army of the Republic.", - "hyperspace": false, - "force": { "value": 2, "recovers": 1 }, + "standard": true, + "wildspace": true, + "force": { + "value": 2, + "recovers": 1 + }, "cost": 41, - "ffg": 786, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/b4/8d/b48d787d-96db-4955-9a58-5c8aa3ab9035/swz79_jedi-general.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/b6b83d1e5f47b832018274f35339492a.jpg", - "slots": ["Force Power", "Astromech", "Modification"], - "keywords": ["Jedi", "Light Side"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/jedigeneral.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/jedigeneral.png", + "slots": [ + "Force Power", + "Cannon", + "Astromech", + "Modification" + ], + "keywords": [ + "Jedi", + "Light Side" + ], + "epic": true }, { "name": "Yoda", @@ -148,16 +241,252 @@ "text": "During the System Phase, you may perform a purple [Barrel Roll] or purple [Boost] action." }, "caption": "Grand Master", - "hyperspace": true, - "force": { "value": 3, "recovers": 1 }, + "standard": true, + "wildspace": true, + "force": { + "value": 3, + "recovers": 1 + }, "ability": "After another friendly ship at range 0-3 spends 1 or more [Force], you may spend 1 [Force]. If you do, that ship recovers 1 [Force].", - "cost": 45, - "ffg": 785, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/5b/fb/5bfbf23b-29c5-47c9-a6ba-1a2a7ddba319/swz79_yoda.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/cbe2495ee143163b82cd7808fbb4f7cd.jpg", - "slots": ["Force Power", "Force Power", "Astromech", "Modification"], - "keywords": ["Jedi", "Light Side"] + "cost": 43, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/yoda.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/yoda.png", + "slots": [ + "Force Power", + "Force Power", + "Astromech", + "Modification" + ], + "keywords": [ + "Jedi", + "Light Side" + ], + "epic": true + }, + { + "name": "Anakin Skywalker", + "caption": "Siege of Coruscant", + "initiative": 6, + "limited": 1, + "shipAbility": { + "name": "Intuitive Controls", + "text": "During the System Phase, you may perform a purple [Barrel Roll] or purple [Boost] action." + }, + "cost": 66, + "xws": "anakinskywalker-siegeofcoruscant", + "ability": "After you or a friendly Obi-Wan Kenobi ship at range 0-3 fully executes a maneuver, if there are more enemy ships than other friendly ships at range 0-1 of that ship, you may spend 1 [Force]. If you do, that ship may perform a [Barrel Roll] action.", + "force": { + "value": 3, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/anakinskywalker-siegeofcoruscant.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/anakinskywalker-siegeofcoruscant.png", + "standardLoadout": [ + "malice", + "ancillaryionweapons-siegeofcoruscant", + "r2d2-republic" + ], + "standard": false, + "wildspace": true, + "keywords": [ + "Dark Side", + "Jedi", + "Light Side" + ], + "epic": true + }, + { + "name": "Anakin Skywalker", + "caption": "Siege of Coruscant", + "initiative": 6, + "limited": 1, + "shipAbility": { + "name": "Intuitive Controls", + "text": "During the System Phase, you may perform a purple [Barrel Roll] or purple [Boost] action." + }, + "cost": 51, + "xws": "anakinskywalker-siegeofcoruscant-lsl", + "ability": "After you or a friendly Obi-Wan Kenobi ship at range 0-3 fully executes a maneuver, if there are more enemy ships than other friendly ships at range 0-1 of that ship, you may spend 1 [Force]. If you do, that ship may perform a [Barrel Roll] action.", + "force": { + "value": 3, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/anakinskywalker-siegeofcoruscant-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/anakinskywalker-siegeofcoruscant-lsl.png", + "slots": [ + "Talent", + "Force Power", + "Astromech", + "Modification" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "Dark Side", + "Jedi", + "Light Side" + ], + "epic": true + }, + { + "name": "Obi-Wan Kenobi", + "caption": "Siege of Coruscant", + "initiative": 5, + "limited": 1, + "shipAbility": { + "name": "Intuitive Controls", + "text": "During the System Phase, you may perform a purple [Barrel Roll] or purple [Boost] action." + }, + "cost": 52, + "xws": "obiwankenobi-siegeofcoruscant", + "ability": "After you or a friendly Anakin Skywalker at range 0-3 fully executes a maneuver, if there are more enemy ships than other friendly ships at range 0-1 of that ship, you may spend 1 [Force]. If you do, that ship may perform a [Boost] action.", + "force": { + "value": 3, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/obiwankenobi-siegeofcoruscant.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/obiwankenobi-siegeofcoruscant.png", + "standardLoadout": [ + "patience", + "ancillaryionweapons-siegeofcoruscant", + "r4p17-siegeofcoruscant" + ], + "standard": false, + "wildspace": true, + "keywords": [ + "Jedi", + "Light Side" + ], + "epic": true + }, + { + "name": "Obi-Wan Kenobi", + "caption": "Siege of Coruscant", + "initiative": 5, + "limited": 1, + "shipAbility": { + "name": "Intuitive Controls", + "text": "During the System Phase, you may perform a purple [Barrel Roll] or purple [Boost] action." + }, + "cost": 47, + "xws": "obiwankenobi-siegeofcoruscant-lsl", + "ability": "After you or a friendly Anakin Skywalker at range 0-3 fully executes a maneuver, if there are more enemy ships than other friendly ships at range 0-1 of that ship, you may spend 1 [Force]. If you do, that ship may perform a [Boost] action.", + "force": { + "value": 3, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/obiwankenobi-siegeofcoruscant-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/obiwankenobi-siegeofcoruscant-lsl.png", + "slots": [ + "Talent", + "Force Power", + "Astromech", + "Modification" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "Jedi", + "Light Side" + ], + "epic": true + }, + { + "name": "Shaak Ti", + "caption": "Siege of Coruscant", + "initiative": 4, + "limited": 1, + "shipAbility": { + "name": "Intuitive Controls", + "text": "During the System Phase, you may perform a purple [Barrel Roll] or purple [Boost] action." + }, + "cost": 49, + "xws": "shaakti-siegeofcoruscant", + "ability": "At the start of the End Phase, you may perfrom a purple [Coordinate] action, even while stressed. After you perform a [Coordinate] action, if the chosen ship has the Born for This ship ability, you may coordinate 1 additional ship.", + "force": { + "value": 2, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/shaakti-siegeofcoruscant.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/shaakti-siegeofcoruscant.png", + "standardLoadout": [ + "marksmanship", + "brilliantevasion", + "ancillaryionweapons-siegeofcoruscant", + "r4pastromech" + ], + "standard": false, + "wildspace": true, + "keywords": [ + "Jedi", + "Light Side" + ], + "epic": true + }, + { + "name": "Shaak Ti", + "caption": "Siege of Coruscant", + "initiative": 4, + "limited": 1, + "shipAbility": { + "name": "Intuitive Controls", + "text": "During the System Phase, you may perform a purple [Barrel Roll] or purple [Boost] action." + }, + "cost": 42, + "xws": "shaakti-siegeofcoruscant-lsl", + "ability": "At the start of the End Phase, you may perfrom a purple [Coordinate] action, even while stressed. After you perform a [Coordinate] action, if the chosen ship has the Born for This ship ability, you may coordinate 1 additional ship.", + "force": { + "value": 2, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/shaakti-siegeofcoruscant-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/shaakti-siegeofcoruscant-lsl.png", + "slots": [ + "Talent", + "Force Power", + "Astromech", + "Modification" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "Jedi", + "Light Side" + ], + "epic": true + }, + { + "name": "Kit Fisto", + "xws": "kitfisto", + "initiative": 4, + "limited": 1, + "shipAbility": { + "name": "Intuitive Controls", + "text": "During the System Phase, you may perform a purple [Barrel Roll] or purple [Boost] action." + }, + "caption": "Enthusiastic Exemplar", + "standard": true, + "wildspace": true, + "force": { + "value": 2, + "recovers": 1 + }, + "ability": "While another friendly ship defends, if the attacker is in its [Bullseye Arc], you may spend 1 [Force] to change 1 of the defender's blank results to a [Focus] result.", + "cost": 41, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/kitfisto.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/kitfisto.png", + "slots": [ + "Talent", + "Force Power", + "Astromech", + "Modification" + ], + "keywords": [ + "Jedi", + "Light Side" + ], + "epic": true } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Eta-2_Actis.png" -} + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-republic/I_Eta-2_Actis.png" +} \ No newline at end of file diff --git a/data/pilots/galactic-republic/gauntlet-fighter.json b/data/pilots/galactic-republic/gauntlet-fighter.json new file mode 100644 index 000000000..28bc16e5e --- /dev/null +++ b/data/pilots/galactic-republic/gauntlet-fighter.json @@ -0,0 +1,123 @@ +{ + "name": "Gauntlet Fighter", + "xws": "gauntletfighter", + "size": "Large", + "dial": [ + "0OR", + "1BB", + "1NB", + "2TW", + "2BB", + "2FB", + "2NB", + "2YW", + "3TR", + "3BW", + "3FW", + "3NW", + "3YR", + "4FW" + ], + "dialCodes": [ + "GtF" + ], + "faction": "galacticrepublic", + "stats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "arc": "Rear Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 9 + }, + { + "type": "shields", + "value": 2 + } + ], + "actions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "Red", + "type": "Reinforce" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Coordinate" + } + ], + "pilots": [ + { + "name": "Bo-Katan Kryze", + "caption": "Nite Owl Commander", + "initiative": 4, + "limited": 1, + "cost": 56, + "xws": "bokatankryze", + "ability": "After you fully execute a maneuver, you may gain 1 deplete token to choose an object in your [Front Arc] at range 1-2. If you do, another friendly ship may perform a [Lock] action to lock that object.", + "slots": [ + "Talent", + "Crew", + "Gunner", + "Device", + "Illicit", + "Modification", + "Configuration", + "Title" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/bokatankryze.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/bokatankryze.png", + "keywords": [ + "Mandalorian" + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Nite Owl Liberator", + "caption": "Resolute Warrior", + "initiative": 2, + "limited": 1, + "cost": 54, + "xws": "niteowlliberator", + "text": "Following Bo-Katan Kryze, some former members of Death Watch have rejected Maul's claims to rule Mandalore and made a reluctant alliance with the Republic. The Gauntlet Fighters that the Nite Owls retain are central to mounting an invasion to free their world.", + "slots": [ + "Talent", + "Crew", + "Gunner", + "Device", + "Illicit", + "Modification", + "Configuration", + "Title" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/niteowlliberator.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/niteowlliberator.png", + "keywords": [ + "Mandalorian" + ], + "standard": true, + "wildspace": true, + "epic": true + } + ] +} \ No newline at end of file diff --git a/data/pilots/galactic-republic/laat-i-gunship.json b/data/pilots/galactic-republic/laat-i-gunship.json index aaa479eb9..ee1316376 100644 --- a/data/pilots/galactic-republic/laat-i-gunship.json +++ b/data/pilots/galactic-republic/laat-i-gunship.json @@ -1,7 +1,6 @@ { "name": "LAAT/i Gunship", "xws": "laatigunship", - "ffg": 74, "size": "Medium", "dial": [ "0OR", @@ -20,106 +19,158 @@ "3YR", "4FR" ], - "dialCodes": ["LAT"], - "faction": "Galactic Republic", + "dialCodes": [ + "LAT" + ], + "faction": "galacticrepublic", "stats": [ - { "arc": "Double Turret Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 8 }, - { "type": "shields", "value": 2 } + { + "arc": "Double Turret Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 8 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "Red", "type": "Reinforce" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Rotate Arc" }, - { "difficulty": "White", "type": "Reload" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "Red", + "type": "Reinforce" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Rotate Arc" + }, + { + "difficulty": "White", + "type": "Reload" + } ], "pilots": [ { - "ffg": 660, - "name": "\"Hawk\"", + "name": "“Hawk”", "xws": "hawk", "caption": "Valkyrie 2929", "initiative": 4, - "cost": 51, - "charges": { "value": 2, "recovers": 1 }, + "cost": 48, + "charges": { + "value": 2, + "recovers": 1 + }, "slots": [ "Talent", "Missile", "Missile", "Crew", "Crew", + "Astromech", "Modification", "Gunner", "Gunner" ], "limited": 1, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/14be5b23859dff4b6213511eb97e4e5b.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/e1fe9b6985d7c9960d634734abd9f9eb.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/hawk.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/hawk.png", "shipAbility": { "name": "Fire Convergence", "text": "While a friendly ship performs a non-[Single Turret Arc] attack, if the defender is in your [Single Turret Arc], you may spend 1 [Charge]. If you do, the attacker rerolls up to 2 attack dice." }, "ability": "At the start of the End Phase, each friendly ship at range 0-1 that has a revealed maneuver of speed 3-5 may gain 1 strain token to perform a [Barrel Roll] or [Boost] action.", - "hyperspace": true, - "keywords": ["Clone"] + "standard": true, + "wildspace": true, + "keywords": [ + "Clone" + ], + "epic": true }, { - "ffg": 662, - "name": "\"Hound\"", + "name": "“Hound”", "xws": "hound", "caption": "Vigilant Tracker", "initiative": 2, - "cost": 48, - "charges": { "value": 2, "recovers": 1 }, + "cost": 46, + "charges": { + "value": 2, + "recovers": 1 + }, "slots": [ + "Talent", "Missile", "Missile", "Crew", "Crew", + "Astromech", "Modification", "Gunner", "Gunner" ], "limited": 1, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a88730785b8495c24b1711278ed18934.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/2230c99fa815740b48c9350547e1c299.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/hound.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/hound.png", "shipAbility": { "name": "Fire Convergence", "text": "While a friendly ship performs a non-[Single Turret Arc] attack, if the defender is in your [Single Turret Arc], you may spend 1 [Charge]. If you do, the attacker rerolls up to 2 attack dice." }, "ability": "After a friendly small ship in your [Single Turret Arc] gains a deplete or strain token, if you have no tokens of that type, you may transfer that token to yourself.", - "hyperspace": true, - "keywords": ["Clone"] + "standard": true, + "wildspace": true, + "keywords": [ + "Clone" + ], + "epic": true }, { - "ffg": 661, - "name": "\"Warthog\"", + "name": "“Warthog”", "xws": "warthog", "caption": "Veteran of Kadavo", "initiative": 3, - "cost": 52, - "charges": { "value": 2, "recovers": 1 }, + "cost": 51, + "charges": { + "value": 2, + "recovers": 1 + }, "slots": [ "Missile", "Missile", "Crew", "Crew", + "Astromech", "Modification", "Gunner", "Gunner" ], "limited": 1, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/f1866068850a0c806bfbe03c8bba2d07.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/1a2d9bd52455f4da3de74de0d9a78380.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/warthog.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/warthog.png", "shipAbility": { "name": "Fire Convergence", "text": "While a friendly ship performs a non-[Single Turret Arc] attack, if the defender is in your [Single Turret Arc], you may spend 1 [Charge]. If you do, the attacker rerolls up to 2 attack dice." }, "ability": "After you or a friendly non-limited ship at range 0-2 are destroyed during the Engagement Phase, that ship is not removed until the end of that phase.", - "hyperspace": true, - "keywords": ["Clone"] + "standard": true, + "wildspace": true, + "keywords": [ + "Clone" + ], + "epic": true }, { "name": "212th Battalion Pilot", @@ -127,27 +178,72 @@ "limited": 0, "xws": "212thbattalionpilot", "text": "Capable of functioning in space assaults and atmospheric battles alike, the LAAT/i gunship transports Republic troops to battlefronts on planets besieged by the Separatists.", - "hyperspace": false, + "standard": true, + "wildspace": true, + "cost": 45, + "charges": { + "value": 2, + "recovers": 1 + }, + "slots": [ + "Missile", + "Missile", + "Crew", + "Crew", + "Astromech", + "Modification", + "Gunner", + "Gunner" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/212thbattalionpilot.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/212thbattalionpilot.png", + "shipAbility": { + "name": "Fire Convergence", + "text": "While a friendly ship performs a non-[Single Turret Arc] attack, if the defender is in your [Single Turret Arc], you may spend 1 [Charge]. If you do, the attacker rerolls up to 2 attack dice." + }, + "keywords": [ + "Clone" + ], + "epic": true + }, + { + "name": "“Sicko”", + "xws": "sicko", + "caption": "CT-1127/549", + "initiative": 2, "cost": 47, - "charges": { "value": 2, "recovers": 1 }, + "charges": { + "value": 2, + "recovers": 1 + }, "slots": [ "Missile", "Missile", "Crew", "Crew", + "Astromech", "Modification", "Gunner", "Gunner" ], - "ffg": 663, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/b8538000c5745f53f79e9b6650e6deec.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/0967a5458478435b72971f7d972a8aaf.png", + "limited": 1, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sicko.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sicko.png", "shipAbility": { "name": "Fire Convergence", "text": "While a friendly ship performs a non-[Single Turret Arc] attack, if the defender is in your [Single Turret Arc], you may spend 1 [Charge]. If you do, the attacker rerolls up to 2 attack dice." }, - "keywords": ["Clone"] + "ability": "After you execute a basic maneuver, you may assign the Sickening Maneuver condition to yourself.", + "conditions": [ + "sickeningmaneuver" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "Clone" + ], + "epic": true } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_LAAT_Republic_Gunship.png" -} + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-republic/I_LAAT_Republic_Gunship.png" +} \ No newline at end of file diff --git a/data/pilots/galactic-republic/naboo-royal-n-1-starfighter.json b/data/pilots/galactic-republic/naboo-royal-n-1-starfighter.json index ba05c6ab6..6d0eb48f8 100644 --- a/data/pilots/galactic-republic/naboo-royal-n-1-starfighter.json +++ b/data/pilots/galactic-republic/naboo-royal-n-1-starfighter.json @@ -2,7 +2,6 @@ "name": "Naboo Royal N-1 Starfighter", "xws": "nabooroyaln1starfighter", "size": "Small", - "ffg": 66, "dial": [ "1BW", "1FW", @@ -22,19 +21,46 @@ "4FW", "5FW" ], - "dialCodes": ["N1"], - "faction": "Galactic Republic", + "dialCodes": [ + "N1" + ], + "faction": "galacticrepublic", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 3 }, - { "type": "shields", "value": 2 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 3 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Barrel Roll" }, - { "difficulty": "White", "type": "Boost" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Boost" + } ], "pilots": [ { @@ -42,20 +68,34 @@ "initiative": 4, "limited": 1, "xws": "anakinskywalker-nabooroyaln1starfighter", - "hyperspace": true, - "cost": 41, - "slots": ["Talent", "Sensor", "Torpedo", "Astromech"], + "standard": true, + "wildspace": true, + "cost": 40, + "slots": [ + "Talent", + "Sensor", + "Torpedo", + "Astromech" + ], "ability": "Before you reveal your maneuver, you may spend 1 [Force] to barrel roll (this is not an action).", - "force": { "value": 1, "recovers": 1, "side": ["light"] }, + "force": { + "value": 1, + "recovers": 1, + "side": [ + "light" + ] + }, "shipAbility": { "name": "Full Throttle", "text": "After you fully execute a speed 3-5 maneuver, you may perform an [Evade] action." }, - "ffg": 558, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/d9180cc98a1a4384bb2a0e11efbf1311.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/21e28ea4e8784dce5a554a33888d8be0.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/anakinskywalker-nabooroyaln1starfighter.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/anakinskywalker-nabooroyaln1starfighter.png", "caption": "Hero of Naboo", - "keywords": ["Light Side"] + "keywords": [ + "Light Side" + ], + "epic": true }, { "name": "Ric Olié", @@ -67,13 +107,20 @@ "text": "After you fully execute a speed 3-5 maneuver, you may perform an [Evade] action." }, "caption": "Bravo Leader", - "hyperspace": true, - "cost": 44, - "slots": ["Talent", "Sensor", "Torpedo", "Astromech"], + "standard": true, + "wildspace": true, + "cost": 43, + "slots": [ + "Talent", + "Talent", + "Sensor", + "Torpedo", + "Astromech" + ], "ability": "While you defend or perform a primary attack, if the speed of your revealed maneuver is higher than the enemy ship's, roll 1 additional die.", - "ffg": 557, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/26080de6b705112c0d7d53de48484bb0.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/87829b7b808c535eb1e2c8314b04971a.png" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/ricolie.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/ricolie.png", + "epic": true }, { "name": "Padmé Amidala", @@ -85,13 +132,20 @@ "text": "After you fully execute a speed 3-5 maneuver, you may perform an [Evade] action." }, "caption": "Aggressive Negotiator", - "hyperspace": true, - "cost": 43, - "slots": ["Talent", "Sensor", "Torpedo", "Astromech"], + "standard": true, + "wildspace": true, + "cost": 35, + "slots": [ + "Talent", + "Talent", + "Sensor", + "Torpedo", + "Astromech" + ], "ability": "While an enemy ship in your [Front Arc] defends or performs an attack, that ship can modify only 1 [Focus] result (other results can still be modified).", - "ffg": 559, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/254a567fa647e783bcd3fb9c09377e3d.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/3bc6bb14d0c80011145a36c132550298.png" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/padmeamidala.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/padmeamidala.png", + "epic": true }, { "name": "Dineé Ellberger", @@ -103,13 +157,20 @@ "name": "Full Throttle", "text": "After you fully execute a speed 3-5 maneuver, you may perform an [Evade] action." }, - "hyperspace": true, - "cost": 36, - "slots": ["Talent", "Sensor", "Torpedo", "Astromech"], + "standard": true, + "wildspace": true, + "cost": 29, + "slots": [ + "Talent", + "Talent", + "Sensor", + "Torpedo", + "Astromech" + ], "ability": "While you defend or perform an attack, if the speed of your revealed maneuver is the same as the enemy ship's, that ship's dice cannot be modified.", - "ffg": 560, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/3f71de47ef3b5986a433757a00f4230b.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/06e0863851b95dba4874b211e05661cc.png" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dineeellberger.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dineeellberger.png", + "epic": true }, { "name": "Bravo Flight Officer", @@ -121,12 +182,17 @@ "text": "After you fully execute a speed 3-5 maneuver, you may perform an [Evade] action." }, "text": "The volunteer pilots of the Royal Naboo Security Force are dedicated to protecting the people and ideals of their homeworld, and trust their Queen to send them into battle only when all other options have failed.", - "hyperspace": false, - "cost": 33, - "slots": ["Sensor", "Torpedo", "Astromech"], - "ffg": 562, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/4e1a2195431b026de73c90f8ce5f7c20.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/274db1f70ed4da939b9440837a30c39a.png" + "standard": true, + "wildspace": true, + "cost": 28, + "slots": [ + "Sensor", + "Torpedo", + "Astromech" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/bravoflightofficer.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/bravoflightofficer.png", + "epic": true }, { "name": "Naboo Handmaiden", @@ -138,15 +204,98 @@ "name": "Full Throttle", "text": "After you fully execute a speed 3-5 maneuver, you may perform an [Evade] action." }, - "hyperspace": true, - "conditions": ["decoyed"], + "standard": true, + "wildspace": true, + "conditions": [ + "decoyed" + ], "ability": "Setup: After placing forces, assign the Decoyed condition to 1 friendly ship other than Naboo Handmaiden.", - "cost": 41, - "slots": ["Sensor", "Torpedo", "Astromech"], - "ffg": 561, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/afe1521a12124eeff41ed4234e7591ac.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/4493fe57050175b6a75e3a13e7553b1e.png" + "cost": 29, + "slots": [ + "Talent", + "Sensor", + "Torpedo", + "Astromech" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/naboohandmaiden.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/naboohandmaiden.png", + "epic": true + }, + { + "name": "Gavyn Sykes", + "xws": "gavynsykes", + "caption": "Bravo Three", + "initiative": 3, + "limited": 1, + "shipAbility": { + "name": "Full Throttle", + "text": "After you fully execute a speed 3-5 maneuver, you may perform an [Evade] action." + }, + "standard": true, + "wildspace": true, + "cost": 30, + "slots": [ + "Talent", + "Talent", + "Sensor", + "Torpedo", + "Astromech" + ], + "ability": "While you defend or perform an attack, if the speed of your revealed maneuver is greater than the enemy ship's, you may reroll your blank results.", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/gavynsykes.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/gavynsykes.png", + "epic": true + }, + { + "name": "Rhys Dallows", + "xws": "rhysdallows-wat1", + "initiative": 6, + "limited": 1, + "shipAbility": { + "name": "Full Throttle", + "text": "After you fully execute a speed 3-5 maneuver, you may perform an [Evade] action." + }, + "caption": "Echo Five", + "standard": false, + "wildspace": true, + "cost": 46, + "slots": [ + "Talent", + "Illicit", + "Sensor", + "Torpedo", + "Astromech" + ], + "ability": "Before you or a friendly Essara Till at range 0-3 would gain a green token, that ship may perform a [Barrel Roll] action instead.", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/rhysdallows-wat1.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/rhysdallows-wat1.png", + "epic": true + }, + { + "name": "Essara Till", + "xws": "essaratill-wat1", + "initiative": 4, + "limited": 1, + "shipAbility": { + "name": "Full Throttle", + "text": "After you fully execute a speed 3-5 maneuver, you may perform an [Evade] action." + }, + "caption": "Bravo Seven", + "standard": false, + "wildspace": true, + "cost": 38, + "slots": [ + "Talent", + "Talent", + "Sensor", + "Torpedo", + "Astromech" + ], + "ability": "Before you or a friendly Rhys Dallows at range 0-3 would gain a green token, that ship may perform a [Lock] action instead.", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/essaratill-wat1.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/essaratill-wat1.png", + "epic": true } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Royal_Naboo_N-1_Starfighter.png" + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-republic/I_Royal_Naboo_N-1_Starfighter.png" } diff --git a/data/pilots/galactic-republic/nimbus-class-v-wing.json b/data/pilots/galactic-republic/nimbus-class-v-wing.json index b26655b75..b4d461ab0 100644 --- a/data/pilots/galactic-republic/nimbus-class-v-wing.json +++ b/data/pilots/galactic-republic/nimbus-class-v-wing.json @@ -2,7 +2,6 @@ "name": "Nimbus-class V-wing", "xws": "nimbusclassvwing", "size": "Small", - "ffg": 71, "dial": [ "1TW", "1BR", @@ -23,21 +22,48 @@ "4KR", "5FW" ], - "dialCodes": ["A3N"], - "faction": "Galactic Republic", + "dialCodes": [ + "A3N" + ], + "faction": "galacticrepublic", "stats": [ - { "type": "attack", "arc": "Front Arc", "value": 2 }, - { "type": "agility", "value": 3 }, - { "type": "hull", "value": 2 }, - { "type": "shields", "value": 2 } + { + "type": "attack", + "arc": "Front Arc", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 2 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ - { "type": "Focus", "difficulty": "White" }, - { "type": "Lock", "difficulty": "White" }, - { "type": "Barrel Roll", "difficulty": "Red" }, + { + "type": "Focus", + "difficulty": "White" + }, + { + "type": "Lock", + "difficulty": "White" + }, + { + "type": "Barrel Roll", + "difficulty": "Red" + }, { "type": "Boost", - "linked": { "difficulty": "Red", "type": "Lock" }, + "linked": { + "difficulty": "Red", + "type": "Lock" + }, "difficulty": "White" } ], @@ -49,74 +75,113 @@ "limited": 1, "shipAbility": { "name": "Twin Ion Engines", - "text": "Ignore the \"TIE\" ship restriction on upgrade cards." + "text": "Ignore the “TIE” ship restriction on upgrade cards." }, "xws": "wilhufftarkin", "ability": "During the System Phase, you may choose an object that you have locked at range 1-3. Another friendly ship at range 1-3 may acquire a lock on that object.", - "hyperspace": false, - "cost": 31, - "ffg": 791, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/bf/0e/bf0e3b50-3f36-4940-953b-f0a2d9f2b9b9/swz80_ship_tarkin.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/02fb0df2a559b8bc66fd475442dbe8df.jpg", - "slots": ["Talent", "Astromech", "Modification", "Configuration"] + "standard": true, + "wildspace": true, + "cost": 29, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/wilhufftarkin.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/wilhufftarkin.png", + "slots": [ + "Talent", + "Astromech", + "Modification", + "Configuration" + ], + "keywords": [ + "TIE" + ], + "epic": true }, { - "name": "\"Odd Ball\"", + "name": "“Odd Ball”", "xws": "oddball-nimbusclassvwing", "initiative": 5, "limited": 1, "shipAbility": { "name": "Twin Ion Engines", - "text": "Ignore the \"TIE\" ship restriction on upgrade cards." + "text": "Ignore the “TIE” ship restriction on upgrade cards." }, "caption": "CC-2237", - "hyperspace": false, + "standard": true, + "wildspace": true, "ability": "After you fully execute a red maneuver or perform a red action, if there is an enemy ship in your [Bullseye Arc], you may acquire a lock on that ship.", - "cost": 31, - "ffg": 788, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/8e/70/8e70bbf1-d0ca-4367-9e3a-4ad0186af71f/swz80_ship_odd-ball.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/03ff8a220e58ba5c122bd82292447182.jpg", - "slots": ["Talent", "Astromech", "Modification", "Configuration"], - "keywords": ["Clone"] + "cost": 30, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/oddball-nimbusclassvwing.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/oddball-nimbusclassvwing.png", + "slots": [ + "Talent", + "Astromech", + "Modification", + "Configuration" + ], + "keywords": [ + "Clone", + "TIE" + ], + "epic": true }, { - "name": "\"Contrail\"", + "name": "“Contrail”", "xws": "contrail", "initiative": 5, "limited": 1, "shipAbility": { "name": "Twin Ion Engines", - "text": "Ignore the \"TIE\" ship restriction on upgrade cards." + "text": "Ignore the “TIE” ship restriction on upgrade cards." }, "caption": "CT-4981", - "hyperspace": false, + "standard": true, + "wildspace": true, "ability": "While you defend or perform an attack, if the bearing of your revealed maneuver is the same as the enemy ship's, you may change 1 of the enemy ship's [Focus] results to a blank result.", - "cost": 32, - "ffg": 789, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/b0/bc/b0bcccdb-fd02-4ab1-847b-66bae01e7ddc/swz80_ship_contrail.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a513ddef007bed78558369fd70379d15.jpg", - "slots": ["Talent", "Astromech", "Modification", "Configuration"], - "keywords": ["Clone"] + "cost": 31, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/contrail.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/contrail.png", + "slots": [ + "Talent", + "Astromech", + "Modification", + "Configuration" + ], + "keywords": [ + "Clone", + "TIE" + ], + "epic": true }, { - "name": "\"Klick\"", + "name": "“Klick”", "xws": "klick", "initiative": 4, "limited": 1, "shipAbility": { "name": "Twin Ion Engines", - "text": "Ignore the \"TIE\" ship restriction on upgrade cards." + "text": "Ignore the “TIE” ship restriction on upgrade cards." }, "caption": "GC-1000", - "hyperspace": false, - "charges": { "value": 1, "recovers": 1 }, + "standard": true, + "wildspace": true, + "charges": { + "value": 1, + "recovers": 1 + }, "ability": "While a ship that you have locked at range 1-3 defends or performs an attack, you may spend 1 [Charge] to prevent range bonuses from being applied.", - "cost": 31, - "ffg": 790, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/d6/ba/d6baed95-5960-4615-9949-faf5a5c0d96f/swz80_ship_klick.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/2331f92ad91a30e81c5c6baafc0dfe08.jpg", - "slots": ["Talent", "Astromech", "Modification", "Configuration"], - "keywords": ["Clone"] + "cost": 30, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/klick.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/klick.png", + "slots": [ + "Talent", + "Astromech", + "Modification", + "Configuration" + ], + "keywords": [ + "Clone", + "TIE" + ], + "epic": true }, { "name": "Shadow Squadron Escort", @@ -125,16 +190,25 @@ "limited": 0, "shipAbility": { "name": "Twin Ion Engines", - "text": "Ignore the \"TIE\" ship restriction on upgrade cards." + "text": "Ignore the “TIE” ship restriction on upgrade cards." }, "text": "In the waning months of the Clone Wars, elite clone formations carry out missions critical to the future of the Republic; such as the protection of Supreme Chancellor Palpatine's personal shuttle.", - "hyperspace": true, + "standard": true, + "wildspace": true, "cost": 28, - "ffg": 792, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/c0/b0/c0b03f12-cff6-43af-99df-6ddf61fd471a/swz80_ship_shadow-escort.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a9dd9a8a65facfae13018bb0d1aad602.jpg", - "slots": ["Talent", "Astromech", "Modification", "Configuration"], - "keywords": ["Clone"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/shadowsquadronescort.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/shadowsquadronescort.png", + "slots": [ + "Talent", + "Astromech", + "Modification", + "Configuration" + ], + "keywords": [ + "Clone", + "TIE" + ], + "epic": true }, { "name": "Loyalist Volunteer", @@ -143,16 +217,180 @@ "limited": 0, "shipAbility": { "name": "Twin Ion Engines", - "text": "Ignore the \"TIE\" ship restriction on upgrade cards." + "text": "Ignore the “TIE” ship restriction on upgrade cards." }, "text": "The Kuat Systems Engineering Alpha-3 Nimbus-class V-wing is the vessel of choice for clone and non-clone starfighter pilots alike. The techniques pioneered to mass-produce its precision ion engines will later be crucial in the development of the TIE series by Sienar Fleet Systems.", - "hyperspace": true, + "standard": true, + "wildspace": true, "cost": 26, - "ffg": 793, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/a1/27/a127938a-aecc-48eb-ba09-622781e84084/swz80_ship_volunteer.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/963d472b274bb777fdc9be15527e28f1.jpg", - "slots": ["Astromech", "Modification", "Configuration"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/loyalistvolunteer.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/loyalistvolunteer.png", + "slots": [ + "Astromech", + "Modification", + "Configuration" + ], + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "“Klick”", + "caption": "Siege of Coruscant", + "initiative": 4, + "limited": 1, + "shipAbility": { + "name": "Born for This", + "text": "While another friendly ship at range 0-2 defends, if you are not strained, it may spend your focus and evade tokens as if that ship has them. If it does, you gain 1 strain token." + }, + "cost": 41, + "xws": "klick-siegeofcoruscant", + "ability": "While a ship that you have locked at range 1-3 defends or performs an attack, you may spend 1 [Charge] to prevent range bonuses from being applied.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/klick-siegeofcoruscant.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/klick-siegeofcoruscant.png", + "charges": { + "value": 1, + "recovers": 1 + }, + "standardLoadout": [ + "r3astromech", + "precisionionengines", + "alpha3eesk" + ], + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 2 + }, + { + "type": "shields", + "value": 3 + } + ], + "standard": false, + "wildspace": true, + "keywords": [ + "Clone" + ], + "epic": true + }, + { + "name": "“Klick”", + "caption": "Siege of Coruscant", + "initiative": 4, + "limited": 1, + "shipAbility": { + "name": "Born for This", + "text": "While another friendly ship at range 0-2 defends, if you are not strained, it may spend your focus and evade tokens as if that ship has them. If it does, you gain 1 strain token." + }, + "cost": 36, + "xws": "klick-siegeofcoruscant-lsl", + "ability": "While a ship that you have locked at range 1-3 defends or performs an attack, you may spend 1 [Charge] to prevent range bonuses from being applied.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/klick-siegeofcoruscant-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/klick-siegeofcoruscant-lsl.png", + "charges": { + "value": 1, + "recovers": 1 + }, + "slots": [ + "Talent", + "Astromech", + "Modification", + "Configuration" + ], + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 2 + }, + { + "type": "shields", + "value": 3 + } + ], + "standard": true, + "wildspace": true, + "keywords": [ + "Clone", + "TIE" + ], + "epic": true + }, + { + "name": "“Contrail”", + "caption": "Siege of Coruscant", + "initiative": 5, + "limited": 1, + "shipAbility": { + "name": "Born for This", + "text": "While another friendly ship at range 0-2 defends, if you are not strained, it may spend your focus and evade tokens as if that ship has them. If it does, you gain 1 strain token." + }, + "cost": 46, + "xws": "contrail-siegeofcoruscant", + "ability": "While you defend or perform an attack, if the bearing of your revealed maneuver is the same as the enemy ship's, you may change 1 of the enemy ship's [Focus] results to a blank result.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/contrail-siegeofcoruscant.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/contrail-siegeofcoruscant.png", + "standardLoadout": [ + "ionlimiteroverride", + "preciseastromech-battleofyavin", + "ionbombs", + "alpha3bbesh" + ], + "standard": false, + "wildspace": true, + "keywords": [ + "Clone", + "TIE" + ], + "epic": true + }, + { + "name": "“Contrail”", + "caption": "Siege of Coruscant", + "initiative": 5, + "limited": 1, + "shipAbility": { + "name": "Born for This", + "text": "While another friendly ship at range 0-2 defends, if you are not strained, it may spend your focus and evade tokens as if that ship has them. If it does, you gain 1 strain token." + }, + "cost": 32, + "xws": "contrail-siegeofcoruscant-lsl", + "ability": "While you defend or perform an attack, if the bearing of your revealed maneuver is the same as the enemy ship's, you may change 1 of the enemy ship's [Focus] results to a blank result.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/contrail-siegeofcoruscant-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/contrail-siegeofcoruscant-lsl.png", + "slots": [ + "Talent", + "Astromech", + "Modification", + "Configuration" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "Clone", + "TIE" + ], + "epic": true } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Nimbus-class_V-wing.png" -} + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-republic/I_Nimbus-class_V-wing.png" +} \ No newline at end of file diff --git a/data/pilots/galactic-republic/syliure-class-hyperspace-ring.json b/data/pilots/galactic-republic/syliure-class-hyperspace-ring.json new file mode 100644 index 000000000..4e29b461d --- /dev/null +++ b/data/pilots/galactic-republic/syliure-class-hyperspace-ring.json @@ -0,0 +1,43 @@ +{ + "name": "Syliure-class Hyperspace Ring", + "xws": "syliureclasshyperspacering", + "size": "Small", + "faction": "galacticrepublic", + "stats": [ + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 1 + }, + { + "type": "shields", + "value": 2 + } + ], + "actions": [], + "pilots": [ + { + "name": "TransGalMeg Control Link", + "xws": "transgalmegcontrollink", + "initiative": 0, + "cost": 4, + "slots": [ + "Hyperdrive" + ], + "limited": 0, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/transgalmegcontrollink.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/transgalmegcontrollink.png", + "shipAbility": { + "name": "Hyperspace Docking Ring", + "text": "1 Delta-7 Aethersprite, Eta-2 Actis, or Nimbus-class V-wing can dock with you. While a ship is docked with you, you gain that ships initiative and are assigned that ship's dial. While you execute a maneuver, reduce its speed to 1. Before you execute an advanced maneuver, execute a white stationary maneuver [Stationary] instead, then you may rotate 90° or 180°. While no ship is docked with you, you are not assigned a maneuver dial and do not activate or engage." + }, + "standard": false, + "wildspace": false, + "epic": true + } + ], + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-republic/I_Syliure-class_Hyperspace_Ring.png" +} \ No newline at end of file diff --git a/data/pilots/galactic-republic/v-19-torrent-starfighter.json b/data/pilots/galactic-republic/v-19-torrent-starfighter.json index f9c190592..894c12cad 100644 --- a/data/pilots/galactic-republic/v-19-torrent-starfighter.json +++ b/data/pilots/galactic-republic/v-19-torrent-starfighter.json @@ -21,99 +21,156 @@ "3KR", "4FW" ], - "dialCodes": ["V19*"], - "faction": "Galactic Republic", + "dialCodes": [ + "V19*" + ], + "faction": "galacticrepublic", "stats": [ - { "type": "attack", "arc": "Front Arc", "value": 2 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 5 } + { + "type": "attack", + "arc": "Front Arc", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 5 + } ], "actions": [ - { "type": "Focus", "difficulty": "White" }, - { "type": "Evade", "difficulty": "White" }, - { "type": "Lock", "difficulty": "White" }, + { + "type": "Focus", + "difficulty": "White" + }, + { + "type": "Evade", + "difficulty": "White" + }, + { + "type": "Lock", + "difficulty": "White" + }, { "type": "Barrel Roll", "difficulty": "White", - "linked": { "type": "Evade", "difficulty": "Red" } + "linked": { + "type": "Evade", + "difficulty": "Red" + } } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_V-19Torrent.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/galactic-republic/I_V-19Torrent.png", "pilots": [ { - "name": "\"Kickback\"", + "name": "“Kickback”", "caption": "Blue Four", "xws": "kickback", "initiative": 4, "limited": 1, "ability": "After you perform a [Barrel Roll] action, you may perform a red [Lock] action.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/76c1228dd4c70dc4e56ac99284a11b0f.png", - "hyperspace": true, - "cost": 29, - "slots": ["Talent", "Missile", "Modification"], - "ffg": 517, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/50b08d380769e7127b0d3f5dbbd89d1f.jpg", - "keywords": ["Clone"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/kickback.png", + "standard": true, + "wildspace": true, + "cost": 27, + "slots": [ + "Talent", + "Missile", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/kickback.png", + "keywords": [ + "Clone" + ], + "epic": true }, { - "name": "\"Odd Ball\"", + "name": "“Odd Ball”", "caption": "CC-2237", "xws": "oddball", "initiative": 5, "limited": 1, "ability": "After you fully execute a red maneuver or perform a red action, if there is an enemy ship in your [Bullseye Arc], you may acquire a lock on that ship.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/9ecf7600f20da9a9eff5d3e244934ccb.png", - "hyperspace": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/oddball.png", + "standard": true, + "wildspace": true, "cost": 29, - "slots": ["Talent", "Missile", "Modification"], - "ffg": 516, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/2a20c8f88cf55b75df4909f74b0221a2.jpg", - "keywords": ["Clone"] + "slots": [ + "Talent", + "Missile", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/oddball.png", + "keywords": [ + "Clone" + ], + "epic": true }, { - "name": "\"Swoop\"", + "name": "“Swoop”", "caption": "Blue Six", "xws": "swoop", "initiative": 3, "limited": 1, "ability": "After a friendly small or medium ship fully executes a speed 3-4 maneuver, if it is at range 0-1, it may perform a red [Boost] action.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/8ae255235c0c1d3892344fb43fcab773.png", - "hyperspace": true, - "cost": 27, - "slots": ["Missile", "Modification"], - "ffg": 519, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/c8c96604a64fce6b953a8b4dc4ff86e6.jpg", - "keywords": ["Clone"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/swoop.png", + "standard": true, + "wildspace": true, + "cost": 26, + "slots": [ + "Missile", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/swoop.png", + "keywords": [ + "Clone" + ], + "epic": true }, { - "name": "\"Axe\"", + "name": "“Axe”", "caption": "Blue Two", "xws": "axe", "initiative": 3, "limited": 1, "ability": "After you defend or perform an attack, you may choose a friendly ship at range 1-2 in your [Left Arc] or [Right Arc]. If you do, transfer 1 green token to that ship.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/89ade203dec6b0fa5ed6360aae3b3022.png", - "hyperspace": true, - "cost": 28, - "slots": ["Talent", "Missile", "Modification"], - "ffg": 518, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/3129e7fc822115a91a04004c35ceda18.jpg", - "keywords": ["Clone"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/axe.png", + "standard": true, + "wildspace": true, + "cost": 26, + "slots": [ + "Talent", + "Missile", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/axe.png", + "keywords": [ + "Clone" + ], + "epic": true }, { - "name": "\"Tucker\"", + "name": "“Tucker”", "caption": "Blue Five", "xws": "tucker", "initiative": 2, "limited": 1, "ability": "After a friendly ship at range 1-2 performs an attack against an enemy ship in your [Front Arc], you may perform a [Focus] action.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/a457cc2ab3038736cb37541ad94b9b34.png", - "hyperspace": true, - "cost": 26, - "slots": ["Missile", "Modification"], - "ffg": 520, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/0b24c3261656d83b685ac59e6dfb1817.jpg", - "keywords": ["Clone"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/tucker.png", + "standard": true, + "wildspace": true, + "cost": 25, + "slots": [ + "Missile", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/tucker.png", + "keywords": [ + "Clone" + ], + "epic": true }, { "name": "Blue Squadron Protector", @@ -121,13 +178,20 @@ "initiative": 3, "limited": 0, "text": "Blue Squadron's elite clone pilots are trained to fly their V-19s in conjunction with Jedi and often support famous commanders such as Anakin Skywalker and Ahsoka Tano.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/77b2dfdca20865d8d667c41539a7356e.png", - "hyperspace": false, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/bluesquadronprotector.png", + "standard": true, + "wildspace": true, "cost": 26, - "slots": ["Talent", "Missile", "Modification"], - "ffg": 521, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/74667d2878cb823d14035e91c8773816.jpg", - "keywords": ["Clone"] + "slots": [ + "Talent", + "Missile", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/bluesquadronprotector.png", + "keywords": [ + "Clone" + ], + "epic": true }, { "name": "Gold Squadron Trooper", @@ -135,14 +199,204 @@ "initiative": 2, "limited": 0, "text": "The V-19 Torrent starfighter was designed to be a light escort to nimble Delta-7 interceptors flown by Jedi Knights, and has a unique flight profile to reflect this role.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/ed881318b45485a197e514b2d13e178c.png", - "hyperspace": false, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/goldsquadrontrooper.png", + "standard": true, + "wildspace": true, "cost": 25, - "slots": ["Missile", "Modification"], - "ffg": 522, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/e4ba0b540259e9026142e6fa5e837685.jpg", - "keywords": ["Clone"] + "slots": [ + "Missile", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/goldsquadrontrooper.png", + "keywords": [ + "Clone" + ], + "epic": true + }, + { + "name": "“Kickback”", + "caption": "Siege of Coruscant", + "initiative": 5, + "limited": 1, + "shipAbility": { + "name": "Born for This", + "text": "While another friendly ship at range 0-2 defends, if you are not strained, it may spend your focus and evade tokens as if that ship has them. If it does, you gain 1 strain token." + }, + "cost": 41, + "xws": "kickback-siegeofcoruscant", + "ability": "After you perform a [Barrel Roll] action, you may perform a red [Lock] action. If you do, before you perfrom the [Lock] action, you may gain 1 strain to treat it as white.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/kickback-siegeofcoruscant.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/kickback-siegeofcoruscant.png", + "standardLoadout": [ + "diamondboronmissiles", + "munitionsfailsafe" + ], + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 6 + } + ], + "standard": false, + "wildspace": true, + "keywords": [ + "Clone" + ], + "epic": true + }, + { + "name": "“Kickback”", + "caption": "Siege of Coruscant", + "initiative": 5, + "limited": 1, + "shipAbility": { + "name": "Born for This", + "text": "While another friendly ship at range 0-2 defends, if you are not strained, it may spend your focus and evade tokens as if that ship has them. If it does, you gain 1 strain token." + }, + "cost": 32, + "xws": "kickback-siegeofcoruscant-lsl", + "ability": "After you perform a [Barrel Roll] action, you may perform a red [Lock] action. If you do, before you perfrom the [Lock] action, you may gain 1 strain to treat it as white.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/kickback-siegeofcoruscant-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/kickback-siegeofcoruscant-lsl.png", + "slots": [ + "Talent", + "Missile" + ], + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 6 + } + ], + "standard": true, + "wildspace": true, + "keywords": [ + "Clone" + ], + "epic": true + }, + { + "name": "“Axe”", + "caption": "Siege of Coruscant", + "initiative": 3, + "limited": 1, + "shipAbility": { + "name": "Born for This", + "text": "While another friendly ship at range 0-2 defends, if you are not strained, it may spend your focus and evade tokens as if that ship has them. If it does, you gain 1 strain token." + }, + "cost": 40, + "xws": "axe-siegeofcoruscant", + "ability": "After you perform an attack, you may choose another friendly ship with the Born for This ability at range 0-2 in your [Left Arc] or [Right Arc]. The chosen ship gains a lock on the defender.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/axe-siegeofcoruscant.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/axe-siegeofcoruscant.png", + "standardLoadout": [ + "deadeyeshot", + "barragerockets" + ], + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 6 + } + ], + "standard": false, + "wildspace": true, + "keywords": [ + "Clone" + ], + "epic": true + }, + { + "name": "“Axe”", + "caption": "Siege of Coruscant", + "initiative": 3, + "limited": 1, + "shipAbility": { + "name": "Born for This", + "text": "While another friendly ship at range 0-2 defends, if you are not strained, it may spend your focus and evade tokens as if that ship has them. If it does, you gain 1 strain token." + }, + "cost": 30, + "xws": "axe-siegeofcoruscant-lsl", + "ability": "After you perform an attack, you may choose another friendly ship with the Born for This ability at range 0-2 in your [Left Arc] or [Right Arc]. The chosen ship gains a lock on the defender.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/axe-siegeofcoruscant-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/axe-siegeofcoruscant-lsl.png", + "slots": [ + "Talent", + "Missile" + ], + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 6 + } + ], + "standard": true, + "wildspace": true, + "keywords": [ + "Clone" + ], + "epic": true + }, + { + "name": "“Slammer”", + "caption": "Blue Three", + "xws": "slammer", + "initiative": 1, + "limited": 1, + "ability": "After you fully execute a maneuver, you may spend 2 [Charge] to peform a [SLAM] action, even while stressed.", + "charges": { + "value": 2, + "recovers": 1 + }, + "standard": true, + "wildspace": true, + "cost": 34, + "slots": [ + "Missile", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/slammer.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/slammer.png", + "keywords": [ + "Clone" + ], + "epic": true } - ], - "ffg": 62 -} + ] +} \ No newline at end of file diff --git a/data/pilots/rebel-alliance/a-sf-01-b-wing.json b/data/pilots/rebel-alliance/a-sf-01-b-wing.json index c2000f861..7820074cf 100644 --- a/data/pilots/rebel-alliance/a-sf-01-b-wing.json +++ b/data/pilots/rebel-alliance/a-sf-01-b-wing.json @@ -1,7 +1,6 @@ { "name": "A/SF-01 B-wing", "xws": "asf01bwing", - "ffg": 17, "size": "Small", "dial": [ "1ER", @@ -22,33 +21,57 @@ "3NR", "4FR" ], - "dialCodes": ["BW"], - "faction": "Rebel Alliance", + "dialCodes": [ + "BW" + ], + "faction": "rebelalliance", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 4 }, - { "type": "shields", "value": 4 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 4 + }, + { + "type": "shields", + "value": 4 + } ], "actions": [ { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Barrel Roll" }, + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + }, "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Barrel Roll" } + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_B-wing.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/rebel-alliance/I_B-wing.png", "pilots": [ { "name": "Blade Squadron Veteran", "initiative": 3, "limited": 0, - "cost": 42, + "cost": 41, "xws": "bladesquadronveteran", "text": "A unique gyrostabilization system surrounds the B-wing's cockpit, ensuring that the pilot always remains stationary during flight.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_25.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/bladesquadronveteran.png", "slots": [ "Talent", "Sensor", @@ -59,19 +82,22 @@ "Title", "Configuration" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_25.jpg", - "ffg": 25, - "hyperspace": true, - "keywords": ["B-wing"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/bladesquadronveteran.png", + "standard": true, + "wildspace": true, + "keywords": [ + "B-wing" + ], + "epic": true }, { "name": "Blue Squadron Pilot", "initiative": 2, "limited": 0, - "cost": 41, + "cost": 39, "xws": "bluesquadronpilot", "text": "Due to its heavy weapons array and resilient shielding, the B-wing has solidified itself as the Rebel Alliance's most innovative assault fighter.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_26.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/bluesquadronpilot.png", "slots": [ "Sensor", "Cannon", @@ -87,10 +113,13 @@ "source": "Season Three 2018" } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_26.jpg", - "ffg": 26, - "hyperspace": true, - "keywords": ["B-wing"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/bluesquadronpilot.png", + "standard": true, + "wildspace": true, + "keywords": [ + "B-wing" + ], + "epic": true }, { "name": "Braylen Stramm", @@ -100,7 +129,7 @@ "cost": 52, "xws": "braylenstramm", "ability": "While you defend or perform an attack, if you are stressed, you may reroll up to 2 of your dice.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_23.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/braylenstramm.png", "slots": [ "Talent", "Sensor", @@ -111,10 +140,13 @@ "Title", "Configuration" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_23.jpg", - "ffg": 23, - "hyperspace": true, - "keywords": ["B-wing"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/braylenstramm.png", + "standard": true, + "wildspace": true, + "keywords": [ + "B-wing" + ], + "epic": true }, { "name": "Ten Numb", @@ -124,7 +156,7 @@ "cost": 49, "xws": "tennumb", "ability": "While you defend or perform an attack, you may spend 1 stress token to change all of your [Focus] results to [Evade] or [Hit] results.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_24.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/tennumb.png", "slots": [ "Talent", "Sensor", @@ -135,18 +167,22 @@ "Title", "Configuration" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_24.jpg", - "ffg": 24, - "hyperspace": true, - "keywords": ["B-wing"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/tennumb.png", + "standard": true, + "wildspace": true, + "keywords": [ + "B-wing" + ], + "epic": true }, { "name": "Gina Moonsong", - "xws": "ginamoonsong", + "caption": "Insubordinate Ace", "initiative": 5, "limited": 1, - "caption": "Insubordinate Ace", - "hyperspace": true, + "xws": "ginamoonsong", + "cost": 47, + "ability": "At the start of the Engagement Phase, you must transfer 1 of your stress tokens to another friendly ship at range 0-2.", "slots": [ "Talent", "Sensor", @@ -157,22 +193,23 @@ "Title", "Configuration" ], - "ability": "At the start of the Engagement Phase, you must transfer 1 of your stress tokens to another friendly ship at range 0-2.", - "cost": 45, - "ffg": 628, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/df07f280040d4284c04c194e18c62c9e.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/0fcceeaf64f96b4870146ffbec529dc2.png", - "keywords": ["B-wing"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/ginamoonsong.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/ginamoonsong.png", + "standard": true, + "wildspace": true, + "keywords": [ + "B-wing" + ], + "epic": true }, { "name": "Hera Syndulla", - "xws": "herasyndulla-asf01bwing", + "caption": "Phoenix Leader", "initiative": 6, "limited": 1, - "caption": "Phoenix Leader", - "hyperspace": false, - "keywords": ["B-wing", "Spectre"], - "cost": 48, + "xws": "herasyndulla-asf01bwing", + "cost": 50, + "ability": "While another friendly ship at range 1-2 defends or performs an attack, during a Modify Dice step, you may transfer 1 of your focus tokens, evade tokens, or locks to that ship.", "slots": [ "Talent", "Sensor", @@ -183,18 +220,479 @@ "Title", "Configuration" ], - "ability": "While another friendly ship at range 1-2 defends or performs an attack, during a Modify Dice step, you may transfer 1 of your focus tokens, evade tokens, or locks to that ship.", - "ffg": 878, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/8a1e9cd504cde297c35d03aa728f5f40.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/herasyndulla-asf01bwing.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/herasyndulla-asf01bwing.png", + "standard": true, + "wildspace": true, + "keywords": [ + "B-wing", + "Spectre" + ], + "epic": true }, { "name": "Netrem Pollard", + "caption": "Dagger Leader", + "initiative": 3, + "limited": 1, "xws": "netrempollard", + "cost": 41, + "ability": "After you barrel roll, you may choose 1 friendly ship that is not stressed at range 0-1. That ship gains 1 stress token, then you rotate 180°.", + "slots": [ + "Talent", + "Sensor", + "Cannon", + "Cannon", + "Torpedo", + "Modification", + "Title", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/netrempollard.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/netrempollard.png", + "standard": true, + "wildspace": true, + "keywords": [ + "B-wing" + ], + "epic": true + }, + { + "name": "Adon Fox", + "caption": "Battle Over Endor", + "xws": "adonfox-battleoverendor", + "initiative": 1, + "limited": 1, + "cost": 65, + "ability": "While you defend, if you are stressed, roll 1 additional defense die.", + "shipAbility": { + "name": "Gyro-Cockpit", + "text": "After you gain a stress token, you may spend 2 [Charge] to gain an evade token. When you drop a device, you may spend 1 [Charge] to set the template with its middle line aligned with the hashmark on your ship's left or right side instead of your rear guides." + }, + "charges": { + "value": 2, + "recovers": 1 + }, + "shipActions": [ + { + "difficulty": "White", + "type": "Focus", + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + } + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll", + "linked": { + "difficulty": "Red", + "type": "Lock" + } + }, + { + "difficulty": "Red", + "type": "Reload" + } + ], + "standardLoadout": [ + "itsatrap-battleoverendor", + "partinggift-battleoverendor", + "protonrockets", + "protonbombs" + ], + "keywords": [ + "B-wing" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/adonfox-battleoverendor.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/adonfox-battleoverendor.png", + "standard": false, + "wildspace": true, + "epic": true + }, + { + "name": "Adon Fox", + "caption": "Battle Over Endor", + "xws": "adonfox-battleoverendor-lsl", + "initiative": 1, + "limited": 1, + "cost": 44, + "ability": "While you defend, if you are stressed, roll 1 additional defense die.", + "shipAbility": { + "name": "Gyro-Cockpit", + "text": "After you gain a stress token, you may spend 2 [Charge] to gain an evade token. When you drop a device, you may spend 1 [Charge] to set the template with its middle line aligned with the hashmark on your ship's left or right side instead of your rear guides." + }, + "charges": { + "value": 2, + "recovers": 1 + }, + "shipActions": [ + { + "difficulty": "White", + "type": "Focus", + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + } + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll", + "linked": { + "difficulty": "Red", + "type": "Lock" + } + }, + { + "difficulty": "Red", + "type": "Reload" + } + ], + "slots": [ + "Sensor", + "Cannon", + "Cannon", + "Torpedo", + "Modification", + "Title", + "Configuration" + ], + "keywords": [ + "B-wing" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/adonfox-battleoverendor-lsl.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/adonfox-battleoverendor-lsl.png", + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Gina Moonsong", + "caption": "Battle Over Endor", + "xws": "ginamoonsong-battleoverendor", + "initiative": 5, + "limited": 1, + "cost": 80, + "ability": "At the start of the Engagement Phase, if a friendly Braylen Stramm ship at range 0-2 is stressed, you may acquire a lock.", + "shipAbility": { + "name": "Gyro-Cockpit", + "text": "After you gain a stress token, you may spend 2 [Charge] to gain an evade token. When you drop a device, you may spend 1 [Charge] to set the template with its middle line aligned with the hashmark on your ship's left or right side instead of your rear guides." + }, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 4 + }, + { + "type": "shields", + "value": 5 + } + ], + "charges": { + "value": 2, + "recovers": 1 + }, + "shipActions": [ + { + "difficulty": "White", + "type": "Focus", + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + } + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll", + "linked": { + "difficulty": "Red", + "type": "Lock" + } + }, + { + "difficulty": "Red", + "type": "Reload" + } + ], + "standardLoadout": [ + "itsatrap-battleoverendor", + "juke", + "protontorpedoes", + "ionbombs" + ], + "keywords": [ + "B-wing" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/ginamoonsong-battleoverendor.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/ginamoonsong-battleoverendor.png", + "standard": false, + "wildspace": true, + "epic": true + }, + { + "name": "Gina Moonsong", + "caption": "Battle Over Endor", + "xws": "ginamoonsong-battleoverendor-lsl", + "initiative": 5, + "limited": 1, + "cost": 55, + "ability": "At the start of the Engagement Phase, if a friendly Braylen Stramm ship at range 0-2 is stressed, you may acquire a lock.", + "shipAbility": { + "name": "Gyro-Cockpit", + "text": "After you gain a stress token, you may spend 2 [Charge] to gain an evade token. When you drop a device, you may spend 1 [Charge] to set the template with its middle line aligned with the hashmark on your ship's left or right side instead of your rear guides." + }, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 4 + }, + { + "type": "shields", + "value": 5 + } + ], + "charges": { + "value": 2, + "recovers": 1 + }, + "shipActions": [ + { + "difficulty": "White", + "type": "Focus", + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + } + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll", + "linked": { + "difficulty": "Red", + "type": "Lock" + } + }, + { + "difficulty": "Red", + "type": "Reload" + } + ], + "slots": [ + "Talent", + "Sensor", + "Cannon", + "Cannon", + "Torpedo", + "Title", + "Configuration" + ], + "keywords": [ + "B-wing" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/ginamoonsong-battleoverendor-lsl.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/ginamoonsong-battleoverendor-lsl.png", + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Braylen Stramm", + "caption": "Battle Over Endor", + "xws": "braylenstramm-battleoverendor", + "initiative": 4, + "limited": 1, + "cost": 68, + "ability": "At the start of the Engagement Phase, if a friendly Gina Moonsong ship at range 0-2 is stressed, you may gain a focus token.", + "shipAbility": { + "name": "Gyro-Cockpit", + "text": "After you gain a stress token, you may spend 2 [Charge] to gain an evade token. When you drop a device, you may spend 1 [Charge] to set the template with its middle line aligned with the hashmark on your ship's left or right side instead of your rear guides." + }, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 4 + }, + { + "type": "shields", + "value": 5 + } + ], + "charges": { + "value": 2, + "recovers": 1 + }, + "shipActions": [ + { + "difficulty": "White", + "type": "Focus", + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + } + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll", + "linked": { + "difficulty": "Red", + "type": "Lock" + } + }, + { + "difficulty": "Red", + "type": "Reload" + } + ], + "standardLoadout": [ + "itsatrap-battleoverendor", + "homingmissiles", + "protonbombs", + "delayedfuses" + ], + "keywords": [ + "B-wing" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/braylenstramm-battleoverendor.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/braylenstramm-battleoverendor.png", + "standard": false, + "wildspace": true, + "epic": true + }, + { + "name": "Braylen Stramm", + "caption": "Battle Over Endor", + "xws": "braylenstramm-battleoverendor-lsl", + "initiative": 4, + "limited": 1, + "cost": 53, + "ability": "At the start of the Engagement Phase, if a friendly Gina Moonsong ship at range 0-2 is stressed, you may gain a focus token.", + "shipAbility": { + "name": "Gyro-Cockpit", + "text": "After you gain a stress token, you may spend 2 [Charge] to gain an evade token. When you drop a device, you may spend 1 [Charge] to set the template with its middle line aligned with the hashmark on your ship's left or right side instead of your rear guides." + }, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 4 + }, + { + "type": "shields", + "value": 5 + } + ], + "charges": { + "value": 2, + "recovers": 1 + }, + "shipActions": [ + { + "difficulty": "White", + "type": "Focus", + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + } + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll", + "linked": { + "difficulty": "Red", + "type": "Lock" + } + }, + { + "difficulty": "Red", + "type": "Reload" + } + ], + "slots": [ + "Talent", + "Sensor", + "Cannon", + "Cannon", + "Torpedo", + "Title", + "Configuration" + ], + "keywords": [ + "B-wing" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/braylenstramm-battleoverendor-lsl.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/braylenstramm-battleoverendor-lsl.png", + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Nera Dantels", + "caption": "Blue Dagger", "initiative": 3, "limited": 1, - "caption": "Dagger Leader", - "hyperspace": false, - "cost": 43, + "cost": 45, + "xws": "neradantels-wat1", + "ability": "Gain a [Single Turret Arc] indicator. You must treat the [Front Arc] requirement of your equipped [Torpedo] upgrades as [Single Turret Arc]. After you gain a stress token, you may rotate your [Single Turret Arc] indicator.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/neradantels-wat1.png", "slots": [ "Talent", "Sensor", @@ -205,10 +703,13 @@ "Title", "Configuration" ], - "ability": "After you barrel roll, you may choose 1 friendly ship that is not stressed at range 0-1. That ship gains 1 stress token, then you rotate 180°.", - "keywords": ["B-wing"], - "ffg": 879, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/8e8ea8e29324398b455ec7b01bc1622e.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/neradantels-wat1.png", + "standard": false, + "wildspace": true, + "keywords": [ + "B-wing" + ], + "epic": true } ] } diff --git a/data/pilots/rebel-alliance/arc-170-starfighter.json b/data/pilots/rebel-alliance/arc-170-starfighter.json index 58c469881..c2bb3e142 100644 --- a/data/pilots/rebel-alliance/arc-170-starfighter.json +++ b/data/pilots/rebel-alliance/arc-170-starfighter.json @@ -1,7 +1,6 @@ { "name": "ARC-170 Starfighter", "xws": "arc170starfighter", - "ffg": 31, "size": "Medium", "dial": [ "1BB", @@ -20,31 +19,59 @@ "4FR", "4KR" ], - "dialCodes": ["AR"], - "faction": "Rebel Alliance", + "dialCodes": [ + "AR" + ], + "faction": "rebelalliance", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "arc": "Rear Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 6 }, - { "type": "shields", "value": 3 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "arc": "Rear Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 6 + }, + { + "type": "shields", + "value": 3 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Barrel Roll" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Arc-170.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/rebel-alliance/I_Arc-170.png", "pilots": [ { "name": "Garven Dreis", "caption": "Red Leader", "initiative": 4, "limited": 1, - "cost": 49, + "cost": 50, "xws": "garvendreis", "ability": "After you spend a focus token, you may choose 1 friendly ship at range 1-3. That ship gains 1 focus token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_66.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/garvendreis.png", "slots": [ "Talent", "Torpedo", @@ -53,19 +80,20 @@ "Modification", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_66.jpg", - "ffg": 66, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/garvendreis.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Ibtisam", "caption": "Survivor of Endor", "initiative": 3, "limited": 1, - "cost": 45, + "cost": 43, "xws": "ibtisam", "ability": "After you fully execute a maneuver, if you are stressed, you may roll 1 attack die. On a [Hit] or [Critical Hit] result, remove 1 stress token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_68.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/ibtisam.png", "slots": [ "Talent", "Torpedo", @@ -74,9 +102,10 @@ "Modification", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_68.jpg", - "ffg": 68, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/ibtisam.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Norra Wexley", @@ -86,7 +115,7 @@ "cost": 53, "xws": "norrawexley", "ability": "While you defend, if there is an enemy ship at range 0-1, add 1 [Evade] result to your dice results.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_65.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/norrawexley.png", "slots": [ "Talent", "Torpedo", @@ -95,19 +124,20 @@ "Modification", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_65.jpg", - "ffg": 65, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/norrawexley.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Shara Bey", "caption": "Green Four", "initiative": 4, "limited": 1, - "cost": 50, + "cost": 49, "xws": "sharabey", "ability": "While you defend or perform a primary attack, you may spend 1 lock you have on the enemy ship to add 1 [Focus] result to your dice results.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_67.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sharabey.png", "slots": [ "Talent", "Torpedo", @@ -116,9 +146,10 @@ "Modification", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_67.jpg", - "ffg": 67, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sharabey.png", + "standard": true, + "wildspace": true, + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/rebel-alliance/attack-shuttle.json b/data/pilots/rebel-alliance/attack-shuttle.json index b4dbc83db..3699a5d91 100644 --- a/data/pilots/rebel-alliance/attack-shuttle.json +++ b/data/pilots/rebel-alliance/attack-shuttle.json @@ -1,7 +1,6 @@ { "name": "Attack Shuttle", "xws": "attackshuttle", - "ffg": 32, "size": "Small", "dial": [ "1TR", @@ -22,43 +21,76 @@ "4FW", "4KR" ], - "dialCodes": ["AS"], - "faction": "Rebel Alliance", + "dialCodes": [ + "AS" + ], + "faction": "rebelalliance", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 3 }, - { "type": "shields", "value": 1 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 3 + }, + { + "type": "shields", + "value": 1 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Evade" }, { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Evade" }, + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Evade" + }, "type": "Barrel Roll" } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_AttackShuttle.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/rebel-alliance/I_AttackShuttle.png", "pilots": [ { - "name": "\"Zeb\" Orrelios", + "name": "“Zeb” Orrelios", "caption": "Spectre-4", "initiative": 2, "limited": 1, "cost": 33, "xws": "zeborrelios", "ability": "While you defend, [Critical Hit] results are neutralized before [Hit] results.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_37.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/zeborrelios.png", "shipAbility": { "name": "Locked and Loaded", "text": "While you are docked, after your carrier ship performs a primary [Front Arc] or [Turret] attack, it may perform a bonus primary [Rear Arc] attack." }, - "slots": ["Talent", "Turret", "Crew", "Modification", "Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_37.jpg", - "ffg": 37, - "hyperspace": false, - "keywords": ["Spectre"] + "slots": [ + "Talent", + "Turret", + "Crew", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/zeborrelios.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Spectre" + ], + "epic": true }, { "name": "Ezra Bridger", @@ -68,17 +100,33 @@ "cost": 40, "xws": "ezrabridger", "ability": "While you defend or perform an attack, if you are stressed, you may spend 1 [Force] to change up to 2 of your [Focus] results to [Evade] or [Hit] results.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_36.png", - "force": { "value": 1, "recovers": 1, "side": ["light"] }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/ezrabridger.png", + "force": { + "value": 1, + "recovers": 1, + "side": [ + "light" + ] + }, "shipAbility": { "name": "Locked and Loaded", "text": "While you are docked, after your carrier ship performs a primary [Front Arc] or [Turret] attack, it may perform a bonus primary [Rear Arc] attack." }, - "slots": ["Turret", "Crew", "Modification", "Title", "Force Power"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_36.jpg", - "ffg": 36, - "hyperspace": false, - "keywords": ["Light Side", "Spectre"] + "slots": [ + "Turret", + "Crew", + "Modification", + "Title", + "Force Power" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/ezrabridger.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Light Side", + "Spectre" + ], + "epic": true }, { "name": "Hera Syndulla", @@ -88,16 +136,25 @@ "cost": 38, "xws": "herasyndulla", "ability": "After you reveal a red or blue maneuver, you may set your dial to another maneuver of the same difficulty.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_34.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/herasyndulla.png", "shipAbility": { "name": "Locked and Loaded", "text": "While you are docked, after your carrier ship performs a primary [Front Arc] or [Turret] attack, it may perform a bonus primary [Rear Arc] attack." }, - "slots": ["Talent", "Turret", "Crew", "Modification", "Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_34.jpg", - "ffg": 34, - "hyperspace": false, - "keywords": ["Spectre"] + "slots": [ + "Talent", + "Turret", + "Crew", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/herasyndulla.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Spectre" + ], + "epic": true }, { "name": "Sabine Wren", @@ -107,16 +164,26 @@ "cost": 41, "xws": "sabinewren", "ability": "Before you activate, you may perform a [Barrel Roll] or [Boost] action.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_35.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sabinewren.png", "shipAbility": { "name": "Locked and Loaded", "text": "While you are docked, after your carrier ship performs a primary [Front Arc] or [Turret] attack, it may perform a bonus primary [Rear Arc] attack." }, - "slots": ["Talent", "Turret", "Crew", "Modification", "Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_35.jpg", - "ffg": 35, - "hyperspace": false, - "keywords": ["Mandalorian", "Spectre"] + "slots": [ + "Talent", + "Turret", + "Crew", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sabinewren.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Mandalorian", + "Spectre" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/rebel-alliance/auzituck-gunship.json b/data/pilots/rebel-alliance/auzituck-gunship.json index 9c36f31ea..26d3ac2df 100644 --- a/data/pilots/rebel-alliance/auzituck-gunship.json +++ b/data/pilots/rebel-alliance/auzituck-gunship.json @@ -1,7 +1,6 @@ { "name": "Auzituck Gunship", "xws": "auzituckgunship", - "ffg": 6, "size": "Small", "dial": [ "0OR", @@ -20,20 +19,44 @@ "3YW", "4FW" ], - "dialCodes": ["Auz"], - "faction": "Rebel Alliance", + "dialCodes": [ + "Auz" + ], + "faction": "rebelalliance", "stats": [ - { "arc": "Full Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 6 }, - { "type": "shields", "value": 2 } + { + "arc": "Full Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 6 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Reinforce" }, - { "difficulty": "Red", "type": "Barrel Roll" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Reinforce" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Auzituck.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/rebel-alliance/I_Auzituck.png", "pilots": [ { "name": "Kashyyyk Defender", @@ -42,39 +65,91 @@ "cost": 44, "xws": "kashyyykdefender", "text": "Equipped with three wide-range Sureggi twin laser cannons, the Auzituck gunship acts as a powerful deterrent to slaver operations in the Kashyyyk system.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_33.png", - "slots": ["Crew", "Crew", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_33.jpg", - "ffg": 33, - "hyperspace": false + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/kashyyykdefender.png", + "slots": [ + "Crew", + "Crew", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/kashyyykdefender.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Wookiee" + ], + "epic": true }, { "name": "Lowhhrick", "caption": "Escaped Gladiator", "initiative": 3, "limited": 1, - "cost": 50, + "cost": 49, "xws": "lowhhrick", "ability": "After a friendly ship at range 0-1 becomes the defender, you may spend 1 reinforce token. If you do, that ship gains 1 evade token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_32.png", - "slots": ["Talent", "Crew", "Crew", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_32.jpg", - "ffg": 32, - "hyperspace": false + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lowhhrick.png", + "slots": [ + "Talent", + "Crew", + "Crew", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lowhhrick.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Wookiee" + ], + "epic": true }, { "name": "Wullffwarro", "caption": "Wookiee Chief", "initiative": 4, "limited": 1, - "cost": 53, + "cost": 54, "xws": "wullffwarro", "ability": "While you perform a primary attack, if you are damaged, you may roll 1 additional attack die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_31.png", - "slots": ["Talent", "Crew", "Crew", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_31.jpg", - "ffg": 31, - "hyperspace": false + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/wullffwarro.png", + "slots": [ + "Talent", + "Crew", + "Crew", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/wullffwarro.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Wookiee" + ], + "epic": true + }, + { + "name": "Tarfful", + "caption": "Leader of Kachirho", + "initiative": 5, + "limited": 1, + "cost": 59, + "xws": "tarfful-wat1", + "ability": "Setup: After placing forces, assign the Liberated condition to another friendly Wookiee or non-limited ship. After a friendly ship with the Liberated condition defends, you may acquire a lock on the attacker, ignoring range restrictions.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/tarfful-wat1.png", + "conditions": [ + "liberated-wat1" + ], + "slots": [ + "Talent", + "Crew", + "Crew", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/tarfful-wat1.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Wookiee" + ], + "epic": true } ] } diff --git a/data/pilots/rebel-alliance/btl-a4-y-wing.json b/data/pilots/rebel-alliance/btl-a4-y-wing.json index 49393923a..7a2556b05 100644 --- a/data/pilots/rebel-alliance/btl-a4-y-wing.json +++ b/data/pilots/rebel-alliance/btl-a4-y-wing.json @@ -1,7 +1,6 @@ { "name": "BTL-A4 Y-wing", "xws": "btla4ywing", - "ffg": 12, "size": "Small", "dial": [ "1BB", @@ -20,31 +19,58 @@ "4FR", "4KR" ], - "dialCodes": ["YW"], - "faction": "Rebel Alliance", + "dialCodes": [ + "YW" + ], + "faction": "rebelalliance", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 6 }, - { "type": "shields", "value": 2 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 6 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Barrel Roll" }, - { "difficulty": "Red", "type": "Reload" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + }, + { + "difficulty": "Red", + "type": "Reload" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Y-wing.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/rebel-alliance/I_Y-wing.png", "pilots": [ { - "name": "\"Dutch\" Vander", + "name": "“Dutch” Vander", "caption": "Gold Leader", "initiative": 4, "limited": 1, "cost": 40, "xws": "dutchvander", "ability": "After you perform the [Lock] action, you may choose 1 friendly ship at range 1-3. That ship may acquire a lock on the object you locked, ignoring range restrictions.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_14.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dutchvander.png", "slots": [ "Talent", "Turret", @@ -54,20 +80,23 @@ "Modification", "Missile" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_14.jpg", - "ffg": 14, - "hyperspace": true, - "keywords": ["Y-wing"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dutchvander.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Y-wing" + ], + "epic": true }, { "name": "Evaan Verlaine", "caption": "Gold Three", "initiative": 3, "limited": 1, - "cost": 34, + "cost": 32, "xws": "evaanverlaine", "ability": "At the start of the Engagement Phase, you may spend 1 focus token to choose a friendly ship at range 0-1. If you do, that ship rolls 1 additional defense die while defending until the end of the round.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_16.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/evaanverlaine.png", "slots": [ "Talent", "Turret", @@ -77,10 +106,13 @@ "Modification", "Missile" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_16.jpg", - "ffg": 16, - "hyperspace": true, - "keywords": ["Y-wing"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/evaanverlaine.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Y-wing" + ], + "epic": true }, { "name": "Gold Squadron Veteran", @@ -88,8 +120,8 @@ "limited": 0, "cost": 31, "xws": "goldsquadronveteran", - "text": "Commanded by Jon \"Dutch\" Vander, Gold Squadron played an instrumental role in the Battles of Scarif and Yavin.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_17.png", + "text": "Commanded by Jon “Dutch” Vander, Gold Squadron played an instrumental role in the Battles of Scarif and Yavin.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/goldsquadronveteran.png", "slots": [ "Talent", "Turret", @@ -105,10 +137,13 @@ "source": "Gen Con Indy 2018" } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_17.jpg", - "ffg": 17, - "hyperspace": true, - "keywords": ["Y-wing"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/goldsquadronveteran.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Y-wing" + ], + "epic": true }, { "name": "Gray Squadron Bomber", @@ -117,7 +152,7 @@ "cost": 29, "xws": "graysquadronbomber", "text": "Long after the Y-wing was phased out by the Galactic Empire, its durability, dependability, and heavy armament help it remain a staple in the Rebel fleet.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_18.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/graysquadronbomber.png", "slots": [ "Turret", "Torpedo", @@ -126,10 +161,13 @@ "Modification", "Missile" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_18.jpg", - "ffg": 18, - "hyperspace": true, - "keywords": ["Y-wing"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/graysquadronbomber.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Y-wing" + ], + "epic": true }, { "name": "Horton Salm", @@ -139,7 +177,7 @@ "cost": 36, "xws": "hortonsalm", "ability": "While you perform an attack, you may reroll 1 attack die for each other friendly ship at range 0-1 of the defender.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_15.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/hortonsalm.png", "slots": [ "Talent", "Turret", @@ -149,20 +187,23 @@ "Modification", "Missile" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_15.jpg", - "ffg": 15, - "hyperspace": true, - "keywords": ["Y-wing"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/hortonsalm.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Y-wing" + ], + "epic": true }, { "name": "Norra Wexley", "caption": "Gold Nine", "initiative": 5, "limited": 1, - "cost": 40, + "cost": 39, "xws": "norrawexley-btla4ywing", "ability": "While you defend, if there is an enemy ship at range 0-1, add 1 [Evade] result to your dice results.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_13.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/norrawexley-btla4ywing.png", "slots": [ "Talent", "Turret", @@ -172,10 +213,300 @@ "Modification", "Missile" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_13.jpg", - "ffg": 13, - "hyperspace": true, - "keywords": ["Y-wing"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/norrawexley-btla4ywing.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Y-wing" + ], + "epic": true + }, + { + "name": "Dex Tiree", + "caption": "Battle of Yavin", + "initiative": 2, + "limited": 1, + "cost": 38, + "xws": "dextiree-battleofyavin", + "ability": "While you defend, if there is at least 1 other friendly ship at range 0-1, you may roll 1 additional defense die.", + "shipAbility": { + "name": "Hope", + "text": "After another friendly ship at range 0-3 is destroyed, you may perform a [Focus] or [Boost] action." + }, + "standardLoadout": [ + "dorsalturret", + "advprotontorpedoes", + "r4astromech" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dextiree-battleofyavin.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dextiree-battleofyavin.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Y-wing" + ], + "epic": true + }, + { + "name": "Dex Tiree", + "caption": "Battle of Yavin", + "initiative": 2, + "limited": 1, + "cost": 31, + "xws": "dextiree-battleofyavin-lsl", + "ability": "While you defend, if there is at least 1 other friendly ship at range 0-1, you may roll 1 additional defense die.", + "shipAbility": { + "name": "Hope", + "text": "After another friendly ship at range 0-3 is destroyed, you may perform a [Focus] or [Boost] action." + }, + "slots": [ + "Turret", + "Torpedo", + "Astromech", + "Device", + "Modification", + "Missile" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dextiree-battleofyavin-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dextiree-battleofyavin-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Y-wing" + ], + "epic": true + }, + { + "name": "“Dutch” Vander", + "caption": "Battle of Yavin", + "initiative": 4, + "limited": 1, + "cost": 61, + "xws": "dutchvander-battleofyavin", + "ability": "After you spend a lock during an attack, choose a friendly ship at range 1-3. The chosen ship may acquire a lock on the defender.", + "shipAbility": { + "name": "Hope", + "text": "After another friendly ship at range 0-3 is destroyed, you may perform a [Focus] or [Boost] action." + }, + "standardLoadout": [ + "ioncannonturret", + "advprotontorpedoes", + "targetingastromech-battleofyavin" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dutchvander-battleofyavin.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dutchvander-battleofyavin.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Y-wing" + ], + "epic": true + }, + { + "name": "“Dutch” Vander", + "caption": "Battle of Yavin", + "initiative": 4, + "limited": 1, + "cost": 44, + "xws": "dutchvander-battleofyavin-lsl", + "ability": "After you spend a lock during an attack, choose a friendly ship at range 1-3. The chosen ship may acquire a lock on the defender.", + "shipAbility": { + "name": "Hope", + "text": "After another friendly ship at range 0-3 is destroyed, you may perform a [Focus] or [Boost] action." + }, + "slots": [ + "Turret", + "Torpedo", + "Astromech", + "Device", + "Modification", + "Missile" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dutchvander-battleofyavin-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dutchvander-battleofyavin-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Y-wing" + ], + "epic": true + }, + { + "name": "Hol Okand", + "caption": "Battle of Yavin", + "initiative": 4, + "limited": 1, + "cost": 49, + "xws": "holokand-battleofyavin", + "ability": "During the System Phase, if there are no enemy ships at range 1-2, you may recover 1 [Charge] on any upgrade.", + "shipAbility": { + "name": "Hope", + "text": "After another friendly ship at range 0-3 is destroyed, you may perform a [Focus] or [Boost] action." + }, + "standardLoadout": [ + "dorsalturret", + "advprotontorpedoes", + "preciseastromech-battleofyavin" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/holokand-battleofyavin.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/holokand-battleofyavin.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Y-wing" + ], + "epic": true + }, + { + "name": "Hol Okand", + "caption": "Battle of Yavin", + "initiative": 4, + "limited": 1, + "cost": 34, + "xws": "holokand-battleofyavin-lsl", + "ability": "During the System Phase, if there are no enemy ships at range 1-2, you may recover 1 [Charge] on any upgrade.", + "shipAbility": { + "name": "Hope", + "text": "After another friendly ship at range 0-3 is destroyed, you may perform a [Focus] or [Boost] action." + }, + "slots": [ + "Turret", + "Torpedo", + "Astromech", + "Device", + "Modification", + "Missile" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/holokand-battleofyavin-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/holokand-battleofyavin-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Y-wing" + ], + "epic": true + }, + { + "name": "“Pops” Krail", + "caption": "Battle of Yavin", + "initiative": 4, + "limited": 1, + "cost": 45, + "xws": "popskrail-battleofyavin", + "ability": "While you perform a [Single Turret Arc] attack, you may reroll up to 2 attack dice.", + "shipAbility": { + "name": "Hope", + "text": "After another friendly ship at range 0-3 is destroyed, you may perform a [Focus] or [Boost] action." + }, + "standardLoadout": [ + "ioncannonturret", + "advprotontorpedoes", + "r4astromech" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/popskrail-battleofyavin.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/popskrail-battleofyavin.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Y-wing" + ], + "epic": true + }, + { + "name": "“Pops” Krail", + "caption": "Battle of Yavin", + "initiative": 4, + "limited": 1, + "cost": 35, + "xws": "popskrail-battleofyavin-lsl", + "ability": "While you perform a [Single Turret Arc] attack, you may reroll up to 2 attack dice.", + "shipAbility": { + "name": "Hope", + "text": "After another friendly ship at range 0-3 is destroyed, you may perform a [Focus] or [Boost] action." + }, + "slots": [ + "Turret", + "Torpedo", + "Astromech", + "Device", + "Modification", + "Missile" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/popskrail-battleofyavin-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/popskrail-battleofyavin-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Y-wing" + ], + "epic": true + }, + { + "name": "“Pops” Krail", + "caption": "Gold Five", + "initiative": 3, + "limited": 1, + "cost": 36, + "xws": "popskrail", + "ability": "After you fully execute a white maneuver, you may choose a friendly ship at range 0-1. If you do, it may perform a [Focus] action.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/popskrail.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/popskrail.png", + "slots": [ + "Turret", + "Torpedo", + "Astromech", + "Device", + "Modification", + "Missile" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "Y-wing" + ], + "epic": true + }, + { + "name": "“Dutch” Vander", + "caption": "Gold Leader", + "initiative": 4, + "limited": 1, + "cost": 4, + "xws": "dutchvander-swz106", + "ability": "After you perform the [Lock] action, you may choose 1 friendly ship at range 1-3. That ship may acquire a lock on the object you locked, ignoring range restrictions.", + "standardLoadout": [ + "ioncannonturret", + "protonbombs" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dutchvander-swz106.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dutchvander-swz106.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Y-wing" + ], + "epic": true + }, + { + "name": "Horton Salm", + "caption": "Gray Leader", + "initiative": 4, + "limited": 1, + "cost": 4, + "xws": "hortonsalm-swz106", + "ability": "While you perform an attack, you may reroll 1 attack die for each other friendly ship at range 0-1 of the defender.", + "standardLoadout": [ + "ioncannonturret", + "proximitymines" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/hortonsalm-swz106.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/hortonsalm-swz106.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Y-wing" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/rebel-alliance/btl-s8-k-wing.json b/data/pilots/rebel-alliance/btl-s8-k-wing.json index 490df3b3d..49a63cbb6 100644 --- a/data/pilots/rebel-alliance/btl-s8-k-wing.json +++ b/data/pilots/rebel-alliance/btl-s8-k-wing.json @@ -1,7 +1,6 @@ { "name": "BTL-S8 K-wing", "xws": "btls8kwing", - "ffg": 30, "size": "Medium", "dial": [ "1BB", @@ -16,32 +15,62 @@ "3FW", "3NW" ], - "dialCodes": ["KW"], - "faction": "Rebel Alliance", + "dialCodes": [ + "KW" + ], + "faction": "rebelalliance", "stats": [ - { "arc": "Double Turret Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 6 }, - { "type": "shields", "value": 3 } + { + "arc": "Double Turret Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 6 + }, + { + "type": "shields", + "value": 3 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "SLAM" }, - { "difficulty": "White", "type": "Rotate Arc" }, - { "difficulty": "White", "type": "Reload" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "SLAM" + }, + { + "difficulty": "White", + "type": "Rotate Arc" + }, + { + "difficulty": "White", + "type": "Reload" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_K-wing.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/rebel-alliance/I_K-wing.png", "pilots": [ { "name": "Esege Tuketu", "caption": "Selfless Hero", "initiative": 3, "limited": 1, - "cost": 43, + "cost": 42, "xws": "esegetuketu", "ability": "While a friendly ship at range 0-2 defends or performs an attack, it may spend your focus tokens as if that ship has them.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_63.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/esegetuketu.png", "slots": [ "Torpedo", "Missile", @@ -52,9 +81,10 @@ "Modification", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_63.jpg", - "ffg": 63, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/esegetuketu.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Miranda Doni", @@ -64,7 +94,7 @@ "cost": 40, "xws": "mirandadoni", "ability": "While you perform a primary attack, you may either spend 1 shield to roll 1 additional attack die or, if you are not shielded, you may roll 1 fewer attack die to recover 1 shield.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_62.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/mirandadoni.png", "slots": [ "Torpedo", "Missile", @@ -75,9 +105,10 @@ "Modification", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_62.jpg", - "ffg": 62, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/mirandadoni.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Warden Squadron Pilot", @@ -86,7 +117,7 @@ "cost": 38, "xws": "wardensquadronpilot", "text": "Koensayr Manufacturing's K-wing boasts an advanced SubLight Acceleration Motor and an unprecedented 18 hard points, granting it unrivaled speed and firepower.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_64.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/wardensquadronpilot.png", "slots": [ "Torpedo", "Missile", @@ -97,9 +128,10 @@ "Modification", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_64.jpg", - "ffg": 64, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/wardensquadronpilot.png", + "standard": false, + "wildspace": true, + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/rebel-alliance/cr90-corellian-corvette.json b/data/pilots/rebel-alliance/cr90-corellian-corvette.json index f13178204..71648e8d4 100644 --- a/data/pilots/rebel-alliance/cr90-corellian-corvette.json +++ b/data/pilots/rebel-alliance/cr90-corellian-corvette.json @@ -1,9 +1,8 @@ { "name": "CR90 Corellian Corvette", "xws": "cr90corelliancorvette", - "ffg": 78, - "faction": "Rebel Alliance", - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_CR90.png", + "faction": "rebelalliance", + "icon": "https://infinitearenas.com/xw2/images/shipicons/rebel-alliance/I_CR90.png", "size": "Huge", "dial": [ "0BR", @@ -21,36 +20,77 @@ "4FR", "5FR" ], - "dialCodes": ["CR90-REB"], + "dialCodes": [ + "CR90-REB" + ], "stats": [ - { "arc": "Left Arc", "type": "attack", "value": 4 }, - { "arc": "Right Arc", "type": "attack", "value": 4 }, - { "type": "agility", "value": 0 }, - { "type": "hull", "value": 18 }, - { "type": "shields", "value": 7, "recovers": 2 }, - { "type": "energy", "value": 7, "recovers": 2 } + { + "arc": "Left Arc", + "type": "attack", + "value": 4 + }, + { + "arc": "Right Arc", + "type": "attack", + "value": 4 + }, + { + "type": "agility", + "value": 0 + }, + { + "type": "hull", + "value": 18 + }, + { + "type": "shields", + "value": 7, + "recovers": 2 + }, + { + "type": "energy", + "value": 7, + "recovers": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Reinforce" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Coordinate" }, - { "difficulty": "White", "type": "Jam" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Reinforce" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Coordinate" + }, + { + "difficulty": "White", + "type": "Jam" + } ], "pilots": [ { - "ffg": 706, "name": "Alderaanian Guard", "initiative": 8, - "cost": 134, + "cost": 128, "limited": 0, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/c029d78ab010ebb2d5a9405924efbf5a.jpg", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/alderaanianguard.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/alderaanianguard.png", "shipAbility": { "name": "Broadside Batteries", "text": "You can acquire locks and perform primary attacks at range 1-4." }, "text": "A craft used since before the Clone Wars, the CR90 corvette is favored by the Royal House of Alderaan for its versatility.", - "hyperspace": false, + "standard": false, + "wildspace": false, + "epic": true, "engagement": 0, "xws": "alderaanianguard", "slots": [ @@ -67,4 +107,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/data/pilots/rebel-alliance/e-wing.json b/data/pilots/rebel-alliance/e-wing.json index b3dbafcae..e1d5a8c05 100644 --- a/data/pilots/rebel-alliance/e-wing.json +++ b/data/pilots/rebel-alliance/e-wing.json @@ -1,7 +1,6 @@ { "name": "E-wing", "xws": "ewing", - "ffg": 40, "size": "Small", "dial": [ "1TR", @@ -25,30 +24,60 @@ "4KR", "5FW" ], - "dialCodes": ["EW"], - "faction": "Rebel Alliance", + "dialCodes": [ + "EW" + ], + "faction": "rebelalliance", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 3 }, - { "type": "hull", "value": 3 }, - { "type": "shields", "value": 3 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 3 + }, + { + "type": "shields", + "value": 3 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Evade" }, - { "difficulty": "White", "type": "Lock" }, { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Lock" }, + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Lock" + }, "type": "Barrel Roll" }, { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Lock" }, + "linked": { + "difficulty": "Red", + "type": "Lock" + }, "type": "Boost" } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_E-wing.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/rebel-alliance/I_E-wing.png", "pilots": [ { "name": "Corran Horn", @@ -58,7 +87,7 @@ "cost": 59, "xws": "corranhorn", "ability": "At initiative 0, you may perform a bonus primary attack against an enemy ship in your [Bullseye Arc]. If you do, at the start of the next Planning Phase, gain 1 disarm token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_50.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/corranhorn.png", "shipAbility": { "name": "Experimental Scanners", "text": "You can acquire locks beyond range 3. You cannot acquire locks at range 1." @@ -71,9 +100,10 @@ "Astromech", "Modification" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_50.jpg", - "ffg": 50, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/corranhorn.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Gavin Darklighter", @@ -83,7 +113,7 @@ "cost": 55, "xws": "gavindarklighter", "ability": "While a friendly ship performs an attack, if the defender is in your [Front Arc], the attacker may change 1 [Hit] result to a [Critical Hit] result.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_51.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/gavindarklighter.png", "shipAbility": { "name": "Experimental Scanners", "text": "You can acquire locks beyond range 3. You cannot acquire locks at range 1." @@ -96,9 +126,10 @@ "Astromech", "Modification" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_51.jpg", - "ffg": 51, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/gavindarklighter.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Knave Squadron Escort", @@ -107,15 +138,22 @@ "cost": 48, "xws": "knavesquadronescort", "text": "Designed to combine the best features of the X-wing series with the A-wing series, the E-wing boasts superior firepower, speed, and maneuverability.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_53.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/knavesquadronescort.png", "shipAbility": { "name": "Experimental Scanners", "text": "You can acquire locks beyond range 3. You cannot acquire locks at range 1." }, - "slots": ["Sensor", "Tech", "Torpedo", "Astromech", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_53.jpg", - "ffg": 53, - "hyperspace": false + "slots": [ + "Sensor", + "Tech", + "Torpedo", + "Astromech", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/knavesquadronescort.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Rogue Squadron Escort", @@ -124,7 +162,7 @@ "cost": 51, "xws": "roguesquadronescort", "text": "The elite pilots of Rogue Squadron are among the Rebellion's very best.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_52.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/roguesquadronescort.png", "shipAbility": { "name": "Experimental Scanners", "text": "You can acquire locks beyond range 3. You cannot acquire locks at range 1." @@ -137,9 +175,10 @@ "Astromech", "Modification" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_52.jpg", - "ffg": 52, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/roguesquadronescort.png", + "standard": true, + "wildspace": true, + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/rebel-alliance/fang-fighter.json b/data/pilots/rebel-alliance/fang-fighter.json new file mode 100644 index 000000000..33faca49e --- /dev/null +++ b/data/pilots/rebel-alliance/fang-fighter.json @@ -0,0 +1,175 @@ +{ + "name": "Fang Fighter", + "xws": "fangfighter", + "size": "Small", + "dial": [ + "1TW", + "1YW", + "2ER", + "2TB", + "2BB", + "2FB", + "2NB", + "2YB", + "2RR", + "3TW", + "3BW", + "3FB", + "3NW", + "3YW", + "4FW", + "4KR", + "5FW" + ], + "dialCodes": [ + "Fng" + ], + "faction": "rebelalliance", + "stats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 4 + } + ], + "actions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Focus" + }, + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Focus" + }, + "type": "Boost" + } + ], + "icon": "https://infinitearenas.com/xw2/images/shipicons/rebel-alliance/I_FangFighter.png", + "pilots": [ + { + "name": "Fenn Rau", + "caption": "Mandalorian Protector", + "initiative": 6, + "limited": 1, + "cost": 55, + "xws": "fennrau-fangfighter", + "ability": "Before a friendly ship at range 1-2 engages, if there is an enemy ship in its [Front Arc] at range 1, that friendly ship may remove 1 non-lock red token.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/fennrau-fangfighter.png", + "shipAbility": { + "name": "Concordia Faceoff", + "text": "While you defend, if the attack range is 1 and you are in the attacker's [Front Arc], change 1 result to an [Evade] result." + }, + "slots": [ + "Talent", + "Torpedo", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/fennrau-fangfighter.png", + "standard": true, + "wildspace": true, + "epic": true, + "keywords": [ + "Mandalorian" + ] + }, + { + "name": "Bodica Venj", + "caption": "Wrathful Warrior", + "initiative": 4, + "limited": 1, + "cost": 56, + "xws": "bodicavenj", + "ability": "After another friendly ship defends, if you are not depleted, you may perform a bonus primary attack against the attacker. If you do, after performing that attack, gain 1 deplete token.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/bodicavenj.png", + "shipAbility": { + "name": "Concordia Faceoff", + "text": "While you defend, if the attack range is 1 and you are in the attacker's [Front Arc], change 1 result to an [Evade] result." + }, + "slots": [ + "Talent", + "Torpedo", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/bodicavenj.png", + "standard": true, + "wildspace": true, + "epic": true, + "keywords": [ + "Mandalorian" + ] + }, + { + "name": "Dirk Ullodin", + "caption": "Aspiring Commando", + "initiative": 3, + "limited": 1, + "cost": 46, + "xws": "dirkullodin", + "ability": "After you fully execute a red maneuver or perform a red action, you may acquire a lock on an enemy ship in your [Front Arc] at range 1.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dirkullodin.png", + "shipAbility": { + "name": "Concordia Faceoff", + "text": "While you defend, if the attack range is 1 and you are in the attacker's [Front Arc], change 1 result to an [Evade] result." + }, + "slots": [ + "Torpedo", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dirkullodin.png", + "standard": true, + "wildspace": true, + "epic": true, + "keywords": [ + "Mandalorian" + ] + }, + { + "name": "Clan Wren Volunteer", + "caption": "Unlikely Ally", + "initiative": 3, + "limited": 2, + "cost": 44, + "xws": "clanwrenvolunteer", + "ability": "While you perform an attack at range 1, if the speed of your revealed maneuver matches that of a friendly ship at range 1, you may reroll 1 attack die.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/clanwrenvolunteer.png", + "shipAbility": { + "name": "Concordia Faceoff", + "text": "While you defend, if the attack range is 1 and you are in the attacker's [Front Arc], change 1 result to an [Evade] result." + }, + "slots": [ + "Talent", + "Torpedo", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/clanwrenvolunteer.png", + "standard": true, + "wildspace": true, + "epic": true, + "keywords": [ + "Mandalorian" + ] + } + ] +} \ No newline at end of file diff --git a/data/pilots/rebel-alliance/gauntlet-fighter.json b/data/pilots/rebel-alliance/gauntlet-fighter.json new file mode 100644 index 000000000..42531c714 --- /dev/null +++ b/data/pilots/rebel-alliance/gauntlet-fighter.json @@ -0,0 +1,156 @@ +{ + "name": "Gauntlet Fighter", + "xws": "gauntletfighter", + "size": "Large", + "dial": [ + "0OR", + "1BB", + "1NB", + "2TW", + "2BB", + "2FB", + "2NB", + "2YW", + "3TR", + "3BW", + "3FW", + "3NW", + "3YR", + "4FW" + ], + "dialCodes": [ + "GtF" + ], + "icon": "https://infinitearenas.com/xw2/images/shipicons/rebel-alliance/I_GauntletFighter.png", + "faction": "rebelalliance", + "stats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "arc": "Rear Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 9 + }, + { + "type": "shields", + "value": 2 + } + ], + "actions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "Red", + "type": "Reinforce" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Coordinate" + } + ], + "pilots": [ + { + "name": "“Chopper”", + "caption": "Spectre-3", + "initiative": 2, + "limited": 1, + "cost": 53, + "xws": "chopper-gauntletfighter", + "ability": "At the start of the Engagement Phase, each enemy ship at range 0 gains 2 jam tokens.", + "standard": true, + "wildspace": true, + "epic": true, + "slots": [ + "Crew", + "Gunner", + "Device", + "Modification", + "Configuration", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/chopper-gauntletfighter.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/chopper-gauntletfighter.png", + "keywords": [ + "Droid", + "Spectre" + ] + }, + { + "name": "Ezra Bridger", + "caption": "Spectre-6", + "initiative": 3, + "limited": 1, + "cost": 65, + "xws": "ezrabridger-gauntletfighter", + "ability": "While you defend or perform an attack, if you are stressed, you may spend 1 [Force] to change up to 2 of your [Focus] results to [Evade] or [Hit] results.", + "force": { + "side": [ + "light" + ], + "value": 1, + "recovers": 1 + }, + "standard": true, + "wildspace": true, + "epic": true, + "slots": [ + "Force Power", + "Crew", + "Gunner", + "Device", + "Modification", + "Configuration", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/ezrabridger-gauntletfighter.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/ezrabridger-gauntletfighter.png", + "keywords": [ + "Light Side", + "Spectre" + ] + }, + { + "name": "Mandalorian Resistance Pilot", + "caption": "Clan Loyalist", + "initiative": 2, + "limited": 0, + "cost": 54, + "xws": "mandalorianresistancepilot", + "text": "Some Mandalorian warriors, such as those of Clan Kryze, remain unbowed and continue to fight the collaborationist rule of Clan Saxon and its Imperial masters. The Gauntlet Fighter's mix of firepower and speed makes it an ideal transport for their raids.", + "standard": true, + "wildspace": true, + "epic": true, + "slots": [ + "Talent", + "Crew", + "Gunner", + "Device", + "Modification", + "Configuration", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/mandalorianresistancepilot.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/mandalorianresistancepilot.png", + "keywords": [ + "Mandalorian" + ] + } + ] +} diff --git a/data/pilots/rebel-alliance/gr-75-medium-transport.json b/data/pilots/rebel-alliance/gr-75-medium-transport.json index 7046a3a69..e2c3f94c2 100644 --- a/data/pilots/rebel-alliance/gr-75-medium-transport.json +++ b/data/pilots/rebel-alliance/gr-75-medium-transport.json @@ -1,9 +1,8 @@ { "name": "GR-75 Medium Transport", "xws": "gr75mediumtransport", - "ffg": 80, - "faction": "Rebel Alliance", - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_GR-75.png", + "faction": "rebelalliance", + "icon": "https://infinitearenas.com/xw2/images/shipicons/rebel-alliance/I_GR-75.png", "size": "Huge", "dial": [ "0BR", @@ -18,35 +17,72 @@ "3FR", "4FR" ], - "dialCodes": ["GR75-REB"], + "dialCodes": [ + "GR75-REB" + ], "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 0 }, - { "type": "hull", "value": 12 }, - { "type": "shields", "value": 3, "recovers": 1 }, - { "type": "energy", "value": 4, "recovers": 1 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 0 + }, + { + "type": "hull", + "value": 12 + }, + { + "type": "shields", + "value": 3, + "recovers": 1 + }, + { + "type": "energy", + "value": 4, + "recovers": 1 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "Red", "type": "Lock" }, - { "difficulty": "White", "type": "Coordinate" }, - { "difficulty": "Red", "type": "Reinforce" }, - { "difficulty": "White", "type": "Jam" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "Red", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Coordinate" + }, + { + "difficulty": "Red", + "type": "Reinforce" + }, + { + "difficulty": "White", + "type": "Jam" + } ], "pilots": [ { - "ffg": 709, "name": "Echo Base Evacuees", "initiative": 7, - "cost": 65, + "cost": 62, "limited": 0, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/4a49f20575c252f47a70d3c4da909301.jpg", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/echobaseevacuees.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/echobaseevacuees.png", "shipAbility": { "name": "Resupply Craft", "text": "After another friendly ship at range 0-1 performs an action, you may spend 1 [Energy]. If you do, it removes 1 orange or red token, or recovers 1 shield." }, "text": "The GR-75 medium transport acquitted itself well at battles such as the evacuation of Hoth, where several of these ships were pivotal to the Rebel forces' escape.", - "hyperspace": false, + "standard": false, + "wildspace": false, + "epic": true, "engagement": 1, "xws": "echobaseevacuees", "slots": [ @@ -62,4 +98,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/data/pilots/rebel-alliance/hwk-290-light-freighter.json b/data/pilots/rebel-alliance/hwk-290-light-freighter.json index ea6eaeaba..c745f4dee 100644 --- a/data/pilots/rebel-alliance/hwk-290-light-freighter.json +++ b/data/pilots/rebel-alliance/hwk-290-light-freighter.json @@ -1,7 +1,6 @@ { "name": "HWK-290 Light Freighter", "xws": "hwk290lightfreighter", - "ffg": 34, "size": "Small", "dial": [ "0OR", @@ -20,40 +19,70 @@ "3YR", "4FW" ], - "dialCodes": ["HK"], - "faction": "Rebel Alliance", + "dialCodes": [ + "HK" + ], + "faction": "rebelalliance", "stats": [ - { "arc": "Single Turret Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 3 }, - { "type": "shields", "value": 2 } + { + "arc": "Single Turret Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 3 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Rotate Arc" }, + "linked": { + "difficulty": "Red", + "type": "Rotate Arc" + }, "type": "Focus" }, { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Rotate Arc" }, + "linked": { + "difficulty": "Red", + "type": "Rotate Arc" + }, "type": "Lock" }, - { "difficulty": "Red", "type": "Boost" }, - { "difficulty": "White", "type": "Rotate Arc" }, - { "difficulty": "Red", "type": "Jam" } + { + "difficulty": "Red", + "type": "Boost" + }, + { + "difficulty": "White", + "type": "Rotate Arc" + }, + { + "difficulty": "Red", + "type": "Jam" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_HWK-290.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/rebel-alliance/I_HWK-290.png", "pilots": [ { "name": "Jan Ors", "caption": "Espionage Expert", "initiative": 5, "limited": 1, - "cost": 41, + "cost": 44, "xws": "janors", "ability": "While a friendly ship in your firing arc performs a primary attack, if you are not stressed, you may gain 1 stress token. If you do, that ship may roll 1 additional attack die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_42.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/janors.png", "slots": [ "Talent", "Crew", @@ -62,20 +91,23 @@ "Modification", "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_42.jpg", - "ffg": 42, - "hyperspace": false, - "keywords": ["Freighter"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/janors.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter" + ], + "epic": true }, { "name": "Kyle Katarn", "caption": "Relentless Operative", "initiative": 3, "limited": 1, - "cost": 31, + "cost": 32, "xws": "kylekatarn", "ability": "At the start of the Engagement Phase, you may transfer 1 of your focus tokens to a friendly ship in your firing arc.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_43.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/kylekatarn.png", "slots": [ "Talent", "Crew", @@ -84,34 +116,46 @@ "Modification", "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_43.jpg", - "ffg": 43, - "hyperspace": false, - "keywords": ["Freighter"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/kylekatarn.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter" + ], + "epic": true }, { "name": "Rebel Scout", "initiative": 2, "limited": 0, - "cost": 29, + "cost": 27, "xws": "rebelscout", - "text": "Designed to look like a bird in flight by the Corellian Engineering Corporation, \"hawk\" series ships are exemplary transport craft. Swift and rugged, the HWK-290 is often employed by Rebel agents as a mobile base of operations.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_45.png", - "slots": ["Crew", "Device", "Modification", "Modification", "Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_45.jpg", - "ffg": 45, - "hyperspace": false, - "keywords": ["Freighter"] + "text": "Designed to look like a bird in flight by the Corellian Engineering Corporation, “hawk” series ships are exemplary transport craft. Swift and rugged, the HWK-290 is often employed by Rebel agents as a mobile base of operations.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/rebelscout.png", + "slots": [ + "Crew", + "Device", + "Modification", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/rebelscout.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter" + ], + "epic": true }, { "name": "Roark Garnet", "caption": "Good-Hearted Smuggler", "initiative": 4, "limited": 1, - "cost": 38, + "cost": 37, "xws": "roarkgarnet", "ability": "At the start of the Engagement Phase, you may choose 1 ship in your firing arc. If you do, it engages at initiative 7 instead of its standard initiative value this phase.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_44.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/roarkgarnet.png", "slots": [ "Talent", "Crew", @@ -120,10 +164,13 @@ "Modification", "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_44.jpg", - "ffg": 44, - "hyperspace": false, - "keywords": ["Freighter"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/roarkgarnet.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/rebel-alliance/modified-yt-1300-light-freighter.json b/data/pilots/rebel-alliance/modified-yt-1300-light-freighter.json index 20e62c0d1..36267df2e 100644 --- a/data/pilots/rebel-alliance/modified-yt-1300-light-freighter.json +++ b/data/pilots/rebel-alliance/modified-yt-1300-light-freighter.json @@ -1,7 +1,6 @@ { "name": "Modified YT-1300 Light Freighter", "xws": "modifiedyt1300lightfreighter", - "ffg": 1, "size": "Large", "dial": [ "1BW", @@ -22,32 +21,62 @@ "4FW", "4KR" ], - "dialCodes": ["YT13"], - "faction": "Rebel Alliance", + "dialCodes": [ + "YT13" + ], + "faction": "rebelalliance", "stats": [ - { "arc": "Double Turret Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 8 }, - { "type": "shields", "value": 5 } + { + "arc": "Double Turret Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 8 + }, + { + "type": "shields", + "value": 5 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Boost" }, - { "difficulty": "White", "type": "Rotate Arc" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Boost" + }, + { + "difficulty": "White", + "type": "Rotate Arc" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Falcon.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/rebel-alliance/I_Falcon.png", "pilots": [ { "name": "Chewbacca", "caption": "The Mighty", "initiative": 4, "limited": 1, - "cost": 70, + "cost": 68, "xws": "chewbacca", "ability": "Before you would be dealt a faceup damage card, you may spend 1 [Charge] to be dealt the card facedown instead.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_71.png", - "charges": { "value": 1, "recovers": 1 }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/chewbacca.png", + "charges": { + "value": 1, + "recovers": 1 + }, "slots": [ "Talent", "Missile", @@ -58,20 +87,25 @@ "Title", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_71.jpg", - "ffg": 71, - "hyperspace": true, - "keywords": ["Freighter", "YT-1300"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/chewbacca.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter", + "YT-1300", + "Wookiee" + ], + "epic": true }, { "name": "Han Solo", "caption": "Scoundrel for Hire", "initiative": 6, "limited": 1, - "cost": 79, + "cost": 81, "xws": "hansolo-modifiedyt1300lightfreighter", "ability": "After you roll dice, if you are at range 0-1 of an obstacle, you may reroll all of your dice. This does not count as rerolling for the purpose of other effects.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_69.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/hansolo-modifiedyt1300lightfreighter.png", "slots": [ "Talent", "Missile", @@ -82,20 +116,24 @@ "Title", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_69.jpg", - "ffg": 69, - "hyperspace": true, - "keywords": ["Freighter", "YT-1300"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/hansolo-modifiedyt1300lightfreighter.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter", + "YT-1300" + ], + "epic": true }, { "name": "Lando Calrissian", "caption": "General of the Alliance", "initiative": 5, "limited": 1, - "cost": 78, + "cost": 79, "xws": "landocalrissian-modifiedyt1300lightfreighter", "ability": "After you fully execute a blue maneuver, you may choose a friendly ship at range 0-3. That ship may perform an action.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_70.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/landocalrissian-modifiedyt1300lightfreighter.png", "slots": [ "Talent", "Missile", @@ -106,10 +144,14 @@ "Title", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_70.jpg", - "ffg": 70, - "hyperspace": true, - "keywords": ["Freighter", "YT-1300"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/landocalrissian-modifiedyt1300lightfreighter.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter", + "YT-1300" + ], + "epic": true }, { "name": "Outer Rim Smuggler", @@ -118,7 +160,7 @@ "cost": 67, "xws": "outerrimsmuggler", "text": "Known for its durability and modular design, the YT-1300 is one of the most popular, widely used, and extensively customized freighters in the galaxy.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_72.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/outerrimsmuggler.png", "slots": [ "Missile", "Crew", @@ -128,35 +170,247 @@ "Title", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_72.jpg", - "ffg": 72, - "hyperspace": false, - "keywords": ["Freighter", "YT-1300"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/outerrimsmuggler.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter", + "YT-1300" + ], + "epic": true }, { "name": "Leia Organa", - "xws": "leiaorgana", + "caption": "There Is Another", "initiative": 5, "limited": 1, - "caption": "There Is Another", - "hyperspace": true, - "force": { "value": 1, "recovers": 1, "side": ["light"] }, + "cost": 74, + "xws": "leiaorgana", + "ability": "After a friendly ship fully executes a red maneuver, if it is at range 0-3, you may spend 1 [Force]. If you do, that ship gains 1 focus token or recovers 1 [Force].", + "force": { + "value": 1, + "recovers": 1, + "side": [ + "light" + ] + }, "slots": [ "Force Power", "Missile", "Crew", "Crew", - "Gunner", "Modification", "Modification", - "Title" + "Title", + "Gunner" ], - "ability": "After a friendly ship fully executes a red maneuver, if it is at range 0-3, you may spend 1 [Force]. If you do, that ship gains 1 focus token or recovers 1 [Force].", - "cost": 77, - "ffg": 630, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/dc207b5c5f00a98e0fad8dc3905373f9.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/677d75036109127dc27d524b902b35ae.png", - "keywords": ["Freighter", "YT-1300"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/leiaorgana.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/leiaorgana.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter", + "YT-1300", + "Light Side" + ], + "epic": true + }, + { + "name": "Han Solo", + "caption": "Battle of Yavin", + "initiative": 6, + "limited": 1, + "cost": 105, + "charges": { + "value": 4, + "recovers": 0 + }, + "xws": "hansolo-battleofyavin", + "ability": "After performing an attack that hits, you may spend 1 [Charge] to perform a [Coordinate] action.", + "shipAbility": { + "name": "Solo", + "text": "While you defend or perform an attack, if there are no other friendly ships at range 0-1, you may spend 1 [Charge] to reroll one of your dice." + }, + "standardLoadout": [ + "chewbacca-battleofyavin", + "riggedcargochute", + "millenniumfalcon", + "l337sprogramming-battleofyavin" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/hansolo-battleofyavin.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/hansolo-battleofyavin.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Freighter", + "YT-1300" + ], + "epic": true + }, + { + "name": "Han Solo", + "caption": "Battle of Yavin", + "initiative": 6, + "limited": 1, + "cost": 84, + "xws": "hansolo-battleofyavin-lsl", + "charges": { + "value": 4, + "recovers": 0 + }, + "ability": "After performing an attack that hits, you may spend 1 [Charge] to perform a [Coordinate] action.", + "shipAbility": { + "name": "Solo", + "text": "While you defend or perform an attack, if there are no other friendly ships at range 0-1, you may spend 1 [Charge] to reroll one of your dice." + }, + "slots": [ + "Talent", + "Missile", + "Crew", + "Crew", + "Modification", + "Modification", + "Title", + "Gunner" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/hansolo-battleofyavin-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/hansolo-battleofyavin-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter", + "YT-1300" + ], + "epic": true + }, + { + "name": "Lando Calrissian", + "caption": "Battle Over Endor", + "initiative": 5, + "limited": 1, + "cost": 101, + "xws": "landocalrissian-battleoverendor", + "ability": "At the start of the Activation Phase, you may spend 1 [Charge]. If you do, choose an initiative value from 1 to 6. You activate at that initiative this phase.", + "shipAbility": { + "name": "High Stakes", + "text": "After you perform a red action, you may roll an attack die. On a [Hit]/[Critical Hit] result, remove 1 stress." + }, + "shipActions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "Red", + "type": "Boost" + }, + { + "difficulty": "White", + "type": "Rotate Arc" + }, + { + "difficulty": "Red", + "type": "Coordinate", + "linked": { + "difficulty": "Red", + "type": "Focus" + } + } + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "standardLoadout": [ + "aceinthehole-battleoverendor", + "itsatrap-battleoverendor", + "niennunb", + "airencracken-battleoverendor", + "millenniumfalcon-battleoverendor" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/landocalrissian-battleoverendor.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/landocalrissian-battleoverendor.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Freighter", + "YT-1300" + ], + "epic": true + }, + { + "name": "Lando Calrissian", + "caption": "Battle Over Endor", + "initiative": 5, + "limited": 1, + "cost": 75, + "xws": "landocalrissian-battleoverendor-lsl", + "ability": "At the start of the Activation Phase, you may spend 1 [Charge]. If you do, choose an initiative value from 1 to 6. You activate at that initiative this phase.", + "shipAbility": { + "name": "High Stakes", + "text": "After you perform a red action, you may roll an attack die. On a [Hit]/[Critical Hit] result, remove 1 stress." + }, + "shipActions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "Red", + "type": "Boost" + }, + { + "difficulty": "White", + "type": "Rotate Arc" + }, + { + "difficulty": "Red", + "type": "Coordinate", + "linked": { + "difficulty": "Red", + "type": "Focus" + } + } + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "slots": [ + "Talent", + "Missile", + "Crew", + "Crew", + "Modification", + "Modification", + "Title", + "Gunner" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/landocalrissian-battleoverendor-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/landocalrissian-battleoverendor-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter", + "YT-1300" + ], + "epic": true } ] } diff --git a/data/pilots/rebel-alliance/rz-1-a-wing.json b/data/pilots/rebel-alliance/rz-1-a-wing.json index 3f5d86517..27187ad20 100644 --- a/data/pilots/rebel-alliance/rz-1-a-wing.json +++ b/data/pilots/rebel-alliance/rz-1-a-wing.json @@ -1,7 +1,6 @@ { "name": "RZ-1 A-wing", "xws": "rz1awing", - "ffg": 35, "size": "Small", "dial": [ "1TW", @@ -22,22 +21,52 @@ "5FB", "5KR" ], - "dialCodes": ["AW"], - "faction": "Rebel Alliance", + "dialCodes": [ + "AW" + ], + "faction": "rebelalliance", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 3 }, - { "type": "hull", "value": 2 }, - { "type": "shields", "value": 2 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 2 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Evade" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Barrel Roll" }, - { "difficulty": "White", "type": "Boost" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Boost" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_A-wing.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/rebel-alliance/I_A-wing.png", "pilots": [ { "name": "Arvel Crynyd", @@ -47,16 +76,24 @@ "cost": 32, "xws": "arvelcrynyd", "ability": "You can perform primary attacks at range 0. If you would fail a [Boost] action by overlapping another ship, resolve it as though you were partially executing a maneuver instead.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_20.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/arvelcrynyd.png", "shipAbility": { "name": "Vectored Thrusters", "text": "After you perform an action, you may perform a red [Boost] action." }, - "slots": ["Talent", "Talent", "Missile"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_20.jpg", - "ffg": 20, - "hyperspace": true, - "keywords": ["A-wing"] + "slots": [ + "Talent", + "Talent", + "Missile", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/arvelcrynyd.png", + "standard": true, + "wildspace": true, + "keywords": [ + "A-wing" + ], + "epic": true }, { "name": "Green Squadron Pilot", @@ -65,35 +102,51 @@ "cost": 30, "xws": "greensquadronpilot", "text": "Due to its sensitive controls and high maneuverability, only the most talented pilots belong in an A-wing cockpit.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_21.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/greensquadronpilot.png", "shipAbility": { "name": "Vectored Thrusters", "text": "After you perform an action, you may perform a red [Boost] action." }, - "slots": ["Talent", "Talent", "Missile"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_21.jpg", - "ffg": 21, - "hyperspace": false, - "keywords": ["A-wing"] + "slots": [ + "Talent", + "Talent", + "Missile", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/greensquadronpilot.png", + "standard": true, + "wildspace": true, + "keywords": [ + "A-wing" + ], + "epic": true }, { "name": "Jake Farrell", "caption": "Sage Instructor", "initiative": 4, "limited": 1, - "cost": 34, + "cost": 36, "xws": "jakefarrell", "ability": "After you perform a [Barrel Roll] or [Boost] action, you may choose a friendly ship at range 0-1. That ship may perform a [Focus] action.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_19.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/jakefarrell.png", "shipAbility": { "name": "Vectored Thrusters", "text": "After you perform an action, you may perform a red [Boost] action." }, - "slots": ["Talent", "Talent", "Missile"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_19.jpg", - "ffg": 19, - "hyperspace": true, - "keywords": ["A-wing"] + "slots": [ + "Talent", + "Talent", + "Missile", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/jakefarrell.png", + "standard": true, + "wildspace": true, + "keywords": [ + "A-wing" + ], + "epic": true }, { "name": "Phoenix Squadron Pilot", @@ -102,34 +155,50 @@ "cost": 28, "xws": "phoenixsquadronpilot", "text": "Led by Commander Jun Sato, the brave but inexperienced pilots of Phoenix Squadron face staggering odds in their battle against the Galactic Empire.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_22.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/phoenixsquadronpilot.png", "shipAbility": { "name": "Vectored Thrusters", "text": "After you perform an action, you may perform a red [Boost] action." }, - "slots": ["Talent", "Missile"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_22.jpg", - "ffg": 22, - "hyperspace": false, - "keywords": ["A-wing"] + "slots": [ + "Talent", + "Missile", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/phoenixsquadronpilot.png", + "standard": true, + "wildspace": true, + "keywords": [ + "A-wing" + ], + "epic": true }, { "name": "Wedge Antilles", - "xws": "wedgeantilles-rz1awing", + "caption": "Promising Pilot", "initiative": 4, "limited": 1, + "cost": 38, + "xws": "wedgeantilles-rz1awing", + "ability": "While you perform a primary attack, if the defender is in your [Front Arc], the defender rolls 1 fewer defense die.", "shipAbility": { "name": "Vectored Thrusters", "text": "After you perform an action, you may perform a red [Boost] action." }, - "hyperspace": true, - "keywords": ["A-wing"], - "cost": 35, - "slots": ["Talent", "Missile", "Configuration"], - "ability": "While you perform a primary attack, if the defender is in your [Front Arc], the defender rolls 1 fewer defense die.", - "caption": "Promising Pilot", - "ffg": 883, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/11bb21ea8f81f374ff862f86e722444f.jpg" + "keywords": [ + "A-wing" + ], + "slots": [ + "Talent", + "Talent", + "Missile", + "Configuration" + ], + "standard": true, + "wildspace": true, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/wedgeantilles-rz1awing.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/wedgeantilles-rz1awing.png", + "epic": true }, { "name": "Sabine Wren", @@ -140,14 +209,24 @@ "name": "Vectored Thrusters", "text": "After you perform an action, you may perform a red [Boost] action." }, - "hyperspace": true, - "keywords": ["A-wing", "Mandalorian"], + "standard": true, + "wildspace": true, + "keywords": [ + "A-wing", + "Mandalorian" + ], "cost": 35, - "slots": ["Talent", "Talent", "Missile", "Configuration"], + "slots": [ + "Talent", + "Talent", + "Missile", + "Configuration" + ], "ability": "While you defend or perform an attack, if the attack range is 1 and you are in the enemy ship's [Front Arc], you may change 1 of your results to an [Evade] or [Hit] result.", "caption": "Daughter of Mandalore", - "ffg": 885, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/9db76c98a8bd8bff2c4c46408d631ac0.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sabinewren-rz1awing.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sabinewren-rz1awing.png", + "epic": true }, { "name": "Hera Syndulla", @@ -159,13 +238,23 @@ "text": "After you perform an action, you may perform a red [Boost] action." }, "caption": "Phoenix Leader", - "hyperspace": true, + "standard": true, + "wildspace": true, "cost": 48, - "slots": ["Talent", "Talent", "Missile", "Configuration"], + "slots": [ + "Talent", + "Talent", + "Missile", + "Configuration" + ], "ability": "While another friendly ship at range 1-2 defends or performs an attack, during a Modify Dice step, you may transfer 1 of your focus tokens, evade tokens, or locks to that ship.", - "keywords": ["A-wing", "Spectre"], - "ffg": 880, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a50b1f5e19e9b389bf521becfa71d447.jpg" + "keywords": [ + "A-wing", + "Spectre" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/herasyndulla-rz1awing.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/herasyndulla-rz1awing.png", + "epic": true }, { "name": "Ahsoka Tano", @@ -177,14 +266,27 @@ "text": "After you perform an action, you may perform a red [Boost] action." }, "caption": "Fulcrum", - "hyperspace": true, - "force": { "value": 3, "recovers": 1 }, - "cost": 49, - "slots": ["Force Power", "Force Power", "Missile", "Configuration"], + "standard": true, + "wildspace": true, + "force": { + "value": 3, + "recovers": 1 + }, + "cost": 50, + "slots": [ + "Force Power", + "Force Power", + "Missile", + "Configuration" + ], "ability": "After you fully execute a maneuver, you may choose a friendly ship at range 1-2 and spend 2 [Force]. That ship may perform an action, even while stressed.", - "keywords": ["A-wing", "Light Side"], - "ffg": 881, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/40fe14090b12fb634888c845a8efbb1c.jpg" + "keywords": [ + "A-wing", + "Light Side" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/ahsokatano-rz1awing.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/ahsokatano-rz1awing.png", + "epic": true }, { "name": "Shara Bey", @@ -196,13 +298,22 @@ "text": "After you perform an action, you may perform a red [Boost] action." }, "caption": "Green Four", - "hyperspace": true, + "standard": true, + "wildspace": true, "cost": 32, - "slots": ["Talent", "Talent", "Missile", "Configuration"], + "slots": [ + "Talent", + "Talent", + "Missile", + "Configuration" + ], "ability": "While you defend or perform a primary attack, you may spend 1 lock you have on the enemy ship to add 1 [Focus] result to your dice results.", - "keywords": ["A-wing"], - "ffg": 882, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/c7de7d8ea5e6d4624e8541423f23f447.jpg" + "keywords": [ + "A-wing" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sharabey-rz1awing.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sharabey-rz1awing.png", + "epic": true }, { "name": "Derek Klivian", @@ -214,13 +325,546 @@ "text": "After you perform an action, you may perform a red [Boost] action." }, "caption": "Hobbie", - "hyperspace": true, + "standard": true, + "wildspace": true, "cost": 30, - "slots": ["Talent", "Missile", "Configuration"], + "slots": [ + "Talent", + "Missile", + "Configuration" + ], "ability": "After you acquire or spend a lock, you may remove 1 red token from yourself.", - "keywords": ["A-wing"], - "ffg": 884, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/ab937640d11798db7513aecc3de53a16.jpg" + "keywords": [ + "A-wing" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/derekklivian.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/derekklivian.png", + "epic": true + }, + { + "name": "Keo Venzee", + "xws": "keovenzee", + "initiative": 3, + "limited": 1, + "shipAbility": { + "name": "Vectored Thrusters", + "text": "After you perform an action, you may perform a red [Boost] action." + }, + "caption": "Auspicious Ace", + "standard": true, + "wildspace": true, + "cost": 35, + "force": { + "value": 1, + "recovers": 0 + }, + "slots": [ + "Talent", + "Talent", + "Missile", + "Configuration" + ], + "ability": "If you have no active [Force], after you reveal a bank [[Bank Left] or [Bank Right]] or turn [[Turn Left] or [Turn Right]] maneuver, you may increase the difficulty of the maneuver. If you do, perform that maneuver as a sideslip and recover 1 [Force].", + "keywords": [ + "A-wing" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/keovenzee.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/keovenzee.png", + "epic": true + }, + { + "name": "Tycho Celchu", + "xws": "tychocelchu", + "initiative": 5, + "limited": 1, + "shipAbility": { + "name": "Vectored Thrusters", + "text": "After you perform an action, you may perform a red [Boost] action." + }, + "caption": "Son of Alderaan", + "standard": true, + "wildspace": true, + "cost": 38, + "slots": [ + "Talent", + "Talent", + "Missile", + "Configuration" + ], + "ability": "While you have 2 or fewer stress tokens, you may perform actions, even while stressed.", + "keywords": [ + "A-wing" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/tychocelchu.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/tychocelchu.png", + "epic": true + }, + { + "name": "Arvel Crynyd", + "caption": "Green Leader", + "initiative": 3, + "limited": 1, + "cost": 37, + "xws": "arvelcrynyd-swz106", + "ability": "If you would fail a [Boost] action by overlapping another ship, you may resolve it as though you were partially executing a maneuver instead. While you perform an attack at attack range 0, treat it as an attack at attack range 1.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/arvelcrynyd-swz106.png", + "shipAbility": { + "name": "Vectored Thrusters", + "text": "After you perform an action, you may perform a red [Boost] action." + }, + "standardLoadout": [ + "predator", + "afterburners" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/arvelcrynyd-swz106.png", + "standard": false, + "wildspace": true, + "keywords": [ + "A-wing" + ], + "epic": true + }, + { + "name": "Jake Farrell", + "caption": "Sage Instructor", + "initiative": 4, + "limited": 1, + "cost": 43, + "xws": "jakefarrell-swz106", + "ability": "After you perform a [Barrel Roll] or [Boost] action, you may choose a friendly ship at range 0-1. That ship may perform a [Focus] action.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/jakefarrell-swz106.png", + "shipAbility": { + "name": "Vectored Thrusters", + "text": "After you perform an action, you may perform a red [Boost] action." + }, + "standardLoadout": [ + "elusive", + "outmaneuver", + "ionmissiles" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/jakefarrell-swz106.png", + "standard": false, + "wildspace": true, + "keywords": [ + "A-wing" + ], + "epic": true + }, + { + "name": "Shara Bey", + "xws": "sharabey-swz106", + "initiative": 4, + "limited": 1, + "shipAbility": { + "name": "Vectored Thrusters", + "text": "After you perform an action, you may perform a red [Boost] action." + }, + "caption": "Green Four", + "standard": false, + "wildspace": true, + "cost": 36, + "standardLoadout": [ + "hopeful", + "concussionmissiles" + ], + "ability": "While you defend or perform a primary attack, you may spend 1 lock you have on the enemy ship to add 1 [Focus] result to your dice results.", + "keywords": [ + "A-wing" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sharabey-swz106.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sharabey-swz106.png", + "epic": true + }, + { + "name": "Arvel Crynyd", + "caption": "Battle Over Endor", + "xws": "arvelcrynyd-battleoverendor", + "initiative": 3, + "limited": 1, + "cost": 51, + "shipAbility": { + "name": "Vectored Cannons", + "text": "During the System Phase, you may perform a red [Boost] or [Rotate Arc] action. You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]." + }, + "shipStats": [ + { + "arc": "Single Turret Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 2 + }, + { + "type": "shields", + "value": 3 + } + ], + "shipActions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll", + "linked": { + "difficulty": "Red", + "type": "Focus" + } + }, + { + "difficulty": "White", + "type": "Boost" + }, + { + "difficulty": "White", + "type": "SLAM" + } + ], + "standardLoadout": [ + "heroicsacrifice-battleoverendor", + "itsatrap-battleoverendor", + "protonrockets" + ], + "ability": "While defending, you may gain a strain token to change 1 [Focus] result to an [Evade] result.", + "keywords": [ + "A-wing" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/arvelcrynyd-battleoverendor.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/arvelcrynyd-battleoverendor.png", + "standard": false, + "wildspace": true, + "epic": true + }, + { + "name": "Arvel Crynyd", + "caption": "Battle Over Endor", + "xws": "arvelcrynyd-battleoverendor-lsl", + "initiative": 3, + "limited": 1, + "cost": 38, + "shipAbility": { + "name": "Vectored Cannons", + "text": "During the System Phase, you may perform a red [Boost] or [Rotate Arc] action. You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]." + }, + "shipStats": [ + { + "arc": "Single Turret Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 2 + }, + { + "type": "shields", + "value": 3 + } + ], + "shipActions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll", + "linked": { + "difficulty": "Red", + "type": "Focus" + } + }, + { + "difficulty": "White", + "type": "Boost" + }, + { + "difficulty": "White", + "type": "SLAM" + } + ], + "slots": [ + "Talent", + "Talent", + "Missile" + ], + "ability": "While defending, you may gain a strain token to change 1 [Focus] result to an [Evade] result.", + "keywords": [ + "A-wing" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/arvelcrynyd-battleoverendor-lsl.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/arvelcrynyd-battleoverendor-lsl.png", + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Tycho Celchu", + "caption": "Battle Over Endor", + "xws": "tychocelchu-battleoverendor", + "initiative": 5, + "limited": 1, + "cost": 57, + "shipAbility": { + "name": "Vectored Cannons", + "text": "During the System Phase, you may perform a red [Boost] or [Rotate Arc] action. You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]." + }, + "shipStats": [ + { + "arc": "Single Turret Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 2 + }, + { + "type": "shields", + "value": 3 + } + ], + "shipActions": [ + { + "difficulty": "White", + "type": "Focus", + "linked": { + "difficulty": "Red", + "type": "Reload" + } + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Boost", + "linked": { + "difficulty": "Red", + "type": "Evade" + } + } + ], + "standardLoadout": [ + "itsatrap-battleoverendor", + "juke", + "protonrockets", + "chaffparticles-battleoverendor" + ], + "ability": "While you are disarmed, you can still perform [Missile] attacks. When you perform a [Missile] attack while disarmed, roll a maximum of 4 dice.", + "keywords": [ + "A-wing" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/tychocelchu-battleoverendor.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/tychocelchu-battleoverendor.png", + "standard": false, + "wildspace": true, + "epic": true + }, + { + "name": "Tycho Celchu", + "caption": "Battle Over Endor", + "xws": "tychocelchu-battleoverendor-lsl", + "initiative": 5, + "limited": 1, + "cost": 41, + "shipAbility": { + "name": "Vectored Cannons", + "text": "During the System Phase, you may perform a red [Boost] or [Rotate Arc] action. You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]." + }, + "shipStats": [ + { + "arc": "Single Turret Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 2 + }, + { + "type": "shields", + "value": 3 + } + ], + "shipActions": [ + { + "difficulty": "White", + "type": "Focus", + "linked": { + "difficulty": "Red", + "type": "Reload" + } + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Boost", + "linked": { + "difficulty": "Red", + "type": "Evade" + } + } + ], + "slots": [ + "Talent", + "Talent", + "Missile" + ], + "ability": "While you are disarmed, you can still perform [Missile] attacks. When you perform a [Missile] attack while disarmed, roll a maximum of 4 dice.", + "keywords": [ + "A-wing" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/tychocelchu-battleoverendor-lsl.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/tychocelchu-battleoverendor-lsl.png", + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Gemmer Sojan", + "caption": "Battle Over Endor", + "xws": "gemmersojan-battleoverendor", + "initiative": 2, + "limited": 1, + "cost": 46, + "shipAbility": { + "name": "Vectored Cannons", + "text": "During the System Phase, you may perform a red [Boost] or [Rotate Arc] action. You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]." + }, + "shipStats": [ + { + "arc": "Single Turret Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 2 + }, + { + "type": "shields", + "value": 2 + } + ], + "standardLoadout": [ + "itsatrap-battleoverendor", + "precisiontunedcannons-battleoverendor", + "chaffparticles-battleoverendor", + "targetassistalgorithm-battleoverendor" + ], + "ability": "While defending, you may gain 1 strain token to change up to 2 of your blank results to [Focus] results.", + "keywords": [ + "A-wing" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/gemmersojan-battleoverendor.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/gemmersojan-battleoverendor.png", + "standard": false, + "wildspace": true, + "epic": true + }, + { + "name": "Gemmer Sojan", + "caption": "Battle Over Endor", + "xws": "gemmersojan-battleoverendor-lsl", + "initiative": 2, + "limited": 1, + "cost": 33, + "shipAbility": { + "name": "Vectored Cannons", + "text": "During the System Phase, you may perform a red [Boost] or [Rotate Arc] action. You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]." + }, + "shipStats": [ + { + "arc": "Single Turret Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 2 + }, + { + "type": "shields", + "value": 2 + } + ], + "slots": [ + "Talent", + "Missile" + ], + "ability": "While defending, you may gain 1 strain token to change up to 2 of your blank results to [Focus] results.", + "keywords": [ + "A-wing" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/gemmersojan-battleoverendor-lsl.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/gemmersojan-battleoverendor-lsl.png", + "standard": true, + "wildspace": true, + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/rebel-alliance/sheathipede-class-shuttle.json b/data/pilots/rebel-alliance/sheathipede-class-shuttle.json index a950c88dc..d8694d1f0 100644 --- a/data/pilots/rebel-alliance/sheathipede-class-shuttle.json +++ b/data/pilots/rebel-alliance/sheathipede-class-shuttle.json @@ -1,7 +1,6 @@ { "name": "Sheathipede-class Shuttle", "xws": "sheathipedeclassshuttle", - "ffg": 8, "size": "Small", "dial": [ "1SR", @@ -21,101 +20,177 @@ "3KR", "4FR" ], - "dialCodes": ["ShS"], - "faction": "Rebel Alliance", + "dialCodes": [ + "ShS" + ], + "faction": "rebelalliance", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "arc": "Rear Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 4 }, - { "type": "shields", "value": 1 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "arc": "Rear Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 4 + }, + { + "type": "shields", + "value": 1 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Coordinate" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Coordinate" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Sheathipede.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/rebel-alliance/I_Sheathipede.png", "pilots": [ { - "name": "\"Zeb\" Orrelios", + "name": "“Zeb” Orrelios", "caption": "Spectre-4", "initiative": 2, "limited": 1, - "cost": 33, + "cost": 30, "xws": "zeborrelios-sheathipedeclassshuttle", "ability": "While you defend, [Critical Hit] results are neutralized before [Hit] results.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_40.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/zeborrelios-sheathipedeclassshuttle.png", "shipAbility": { "name": "Comms Shuttle", "text": "While you are docked, your carrier ship gains [Coordinate]. Before your carrier ship activates, it may perform a [Coordinate] action." }, - "slots": ["Talent", "Crew", "Astromech", "Modification", "Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_40.jpg", - "ffg": 40, - "hyperspace": true, - "keywords": ["Spectre"] + "slots": [ + "Talent", + "Crew", + "Astromech", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/zeborrelios-sheathipedeclassshuttle.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Spectre" + ], + "epic": true }, { "name": "AP-5", "caption": "Escaped Analyst Droid", "initiative": 1, "limited": 1, - "cost": 32, + "cost": 31, "xws": "ap5", "ability": "While you coordinate, if you chose a ship with exactly 1 stress token, it can perform actions.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_41.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/ap5.png", "shipActions": [ - { "difficulty": "White", "type": "Calculate" }, - { "difficulty": "White", "type": "Coordinate" } + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "type": "Coordinate" + } ], "shipAbility": { "name": "Comms Shuttle", "text": "While you are docked, your carrier ship gains [Coordinate]. Before your carrier ship activates, it may perform a [Coordinate] action." }, - "slots": ["Talent", "Crew", "Astromech", "Modification", "Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_41.jpg", - "ffg": 41, - "hyperspace": false, - "keywords": ["Droid", "Spectre"] + "slots": [ + "Talent", + "Crew", + "Astromech", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/ap5.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Droid", + "Spectre" + ], + "epic": true }, { "name": "Ezra Bridger", "caption": "Spectre-6", "initiative": 3, "limited": 1, - "cost": 40, + "cost": 37, "xws": "ezrabridger-sheathipedeclassshuttle", "ability": "While you defend or perform an attack, if you are stressed, you may spend 1 [Force] to change up to 2 of your [Focus] results to [Evade]/[Hit] results.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_39.png", - "force": { "value": 1, "recovers": 1, "side": ["light"] }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/ezrabridger-sheathipedeclassshuttle.png", + "force": { + "value": 1, + "recovers": 1, + "side": [ + "light" + ] + }, "shipAbility": { "name": "Comms Shuttle", "text": "While you are docked, your carrier ship gains [Coordinate]. Before your carrier ship activates, it may perform a [Coordinate] action." }, - "slots": ["Crew", "Astromech", "Modification", "Title", "Force Power"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_39.jpg", - "ffg": 39, - "hyperspace": true, - "keywords": ["Light Side", "Spectre"] + "slots": [ + "Force Power", + "Crew", + "Astromech", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/ezrabridger-sheathipedeclassshuttle.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Light Side", + "Spectre" + ], + "epic": true }, { "name": "Fenn Rau", "caption": "Reluctant Rebel", "initiative": 6, "limited": 1, - "cost": 47, + "cost": 45, "xws": "fennrau-sheathipedeclassshuttle", "ability": "Before an enemy ship in your firing arc engages, if you are not stressed, you may gain 1 stress token. If you do, that ship cannot spend tokens to modify dice while it performs an attack during this phase.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/43140025bc61b3e64ef6831987cafb2c.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/fennrau-sheathipedeclassshuttle.png", "shipAbility": { "name": "Comms Shuttle", "text": "While you are docked, your carrier ship gains [Coordinate]. Before your carrier ship activates, it may perform a [Coordinate] action." }, - "slots": ["Talent", "Crew", "Astromech", "Modification", "Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_38.jpg", - "ffg": 38, - "hyperspace": false, - "keywords": ["Mandalorian"] + "slots": [ + "Talent", + "Crew", + "Astromech", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/fennrau-sheathipedeclassshuttle.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Mandalorian", + "Spectre" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/rebel-alliance/t-65-x-wing.json b/data/pilots/rebel-alliance/t-65-x-wing.json index 3c1625323..0b51f432a 100644 --- a/data/pilots/rebel-alliance/t-65-x-wing.json +++ b/data/pilots/rebel-alliance/t-65-x-wing.json @@ -1,7 +1,6 @@ { "name": "T-65 X-wing", "xws": "t65xwing", - "ffg": 33, "size": "Small", "dial": [ "1BB", @@ -22,35 +21,68 @@ "4FW", "4KR" ], - "dialCodes": ["XW", "T65"], - "faction": "Rebel Alliance", + "dialCodes": [ + "XW", + "T65" + ], + "faction": "rebelalliance", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 4 }, - { "type": "shields", "value": 2 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 4 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Barrel Roll" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_X-wing-T65.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/rebel-alliance/I_X-wing-T65.png", "pilots": [ { "name": "Biggs Darklighter", "caption": "Red Three", "initiative": 3, "limited": 1, - "cost": 47, + "cost": 44, "xws": "biggsdarklighter", "ability": "While another friendly ship at range 0-1 defends, before the Neutralize Results step, if you are in the attack arc, you may suffer 1 [Hit] or [Critical Hit] damage to cancel 1 matching result.", - "slots": ["Torpedo", "Astromech", "Modification", "Configuration"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_7.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_7.jpg", - "ffg": 7, - "hyperspace": false, - "keywords": ["X-wing"] + "slots": [ + "Torpedo", + "Astromech", + "Modification", + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/biggsdarklighter.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/biggsdarklighter.png", + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true }, { "name": "Blue Squadron Escort", @@ -59,18 +91,26 @@ "cost": 38, "xws": "bluesquadronescort", "text": "Designed by Incom Corporation, the T-65 X-wing quickly proved to be one of the most effective and versatile military vehicles in the galaxy and a boon to the Rebellion.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_11.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_11.jpg", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/bluesquadronescort.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/bluesquadronescort.png", "alt": [ { "image": "https://images-cdn.fantasyflightgames.com/filer_public/9c/1a/9c1ad7ef-dfb1-427c-b700-747d857f53fc/op066-blue-squadron-pilot.png", "source": "X-Wing Second Edition Launch Party" } ], - "slots": ["Torpedo", "Astromech", "Modification", "Configuration"], - "ffg": 11, - "hyperspace": true, - "keywords": ["X-wing"] + "slots": [ + "Torpedo", + "Astromech", + "Modification", + "Configuration" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true }, { "name": "Cavern Angels Zealot", @@ -86,21 +126,25 @@ "Modification", "Configuration" ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_12.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_12.jpg", - "ffg": 12, - "hyperspace": false, - "keywords": ["Partisan", "X-wing"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/cavernangelszealot.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/cavernangelszealot.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Partisan", + "X-wing" + ], + "epic": true }, { "name": "Edrio Two Tubes", "caption": "Cavern Angels Veteran", "initiative": 2, "limited": 1, - "cost": 42, + "cost": 41, "xws": "edriotwotubes", "ability": "Before you activate, if you are focused, you may perform an action.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_9.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/edriotwotubes.png", "slots": [ "Torpedo", "Astromech", @@ -108,10 +152,14 @@ "Modification", "Configuration" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_9.jpg", - "ffg": 9, - "hyperspace": true, - "keywords": ["Partisan", "X-wing"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/edriotwotubes.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Partisan", + "X-wing" + ], + "epic": true }, { "name": "Garven Dreis", @@ -121,7 +169,7 @@ "cost": 46, "xws": "garvendreis-t65xwing", "ability": "After you spend a focus token, you may choose 1 friendly ship at range 1-3. That ship gains 1 focus token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_4.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/garvendreis-t65xwing.png", "slots": [ "Talent", "Torpedo", @@ -129,17 +177,20 @@ "Modification", "Configuration" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_4.jpg", - "ffg": 4, - "hyperspace": true, - "keywords": ["X-wing"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/garvendreis-t65xwing.png", + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true }, { "name": "Jek Porkins", "caption": "Red Six", "initiative": 4, "limited": 1, - "cost": 44, + "cost": 41, "xws": "jekporkins", "ability": "After you receive a stress token, you may roll 1 attack die to remove it. On a [Hit] result, suffer 1 [Hit] damage.", "slots": [ @@ -149,21 +200,24 @@ "Modification", "Configuration" ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_5.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_5.jpg", - "ffg": 5, - "hyperspace": true, - "keywords": ["X-wing"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/jekporkins.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/jekporkins.png", + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true }, { "name": "Kullbee Sperado", "caption": "Enigmatic Gunslinger", "initiative": 4, "limited": 1, - "cost": 43, + "cost": 42, "xws": "kullbeesperado", "ability": "After you perform a [Barrel Roll] or [Boost] action, you may flip your equipped [Configuration] upgrade card.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_6.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/kullbeesperado.png", "slots": [ "Talent", "Torpedo", @@ -172,10 +226,14 @@ "Modification", "Configuration" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_6.jpg", - "ffg": 6, - "hyperspace": false, - "keywords": ["Partisan", "X-wing"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/kullbeesperado.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Partisan", + "X-wing" + ], + "epic": true }, { "name": "Leevan Tenza", @@ -185,7 +243,7 @@ "cost": 41, "xws": "leevantenza", "ability": "After you perform a [Barrel Roll] or [Boost] action, you may perform a red [Evade] action.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_8.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/leevantenza.png", "slots": [ "Talent", "Torpedo", @@ -194,21 +252,31 @@ "Modification", "Configuration" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_8.jpg", - "ffg": 8, - "hyperspace": true, - "keywords": ["Partisan", "X-wing"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/leevantenza.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Partisan", + "X-wing" + ], + "epic": true }, { "name": "Luke Skywalker", "caption": "Red Five", "initiative": 5, "limited": 1, - "cost": 60, + "cost": 59, "xws": "lukeskywalker", "ability": "After you become the defender (before dice are rolled), you may recover 1 [Force].", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_2.png", - "force": { "value": 2, "recovers": 1, "side": ["light"] }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lukeskywalker.png", + "force": { + "value": 2, + "recovers": 1, + "side": [ + "light" + ] + }, "alt": [ { "image": "https://images-cdn.fantasyflightgames.com/filer_public/5b/aa/5baa3742-b7b2-47d7-9bec-07f02fafaf1c/op066-luke-skywalker.png", @@ -220,16 +288,20 @@ } ], "slots": [ + "Force Power", "Torpedo", "Astromech", "Modification", - "Force Power", "Configuration" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_2.jpg", - "ffg": 2, - "hyperspace": true, - "keywords": ["Light Side", "X-wing"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lukeskywalker.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Light Side", + "X-wing" + ], + "epic": true }, { "name": "Red Squadron Veteran", @@ -245,21 +317,24 @@ "Modification", "Configuration" ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_10.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_10.jpg", - "ffg": 10, - "hyperspace": true, - "keywords": ["X-wing"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/redsquadronveteran.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/redsquadronveteran.png", + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true }, { "name": "Thane Kyrell", "caption": "Corona Four", "initiative": 5, "limited": 1, - "cost": 46, + "cost": 48, "xws": "thanekyrell", "ability": "While you perform an attack, you may spend 1 [Focus], [Hit], or [Critical Hit] result to look at the defender's facedown damage cards, choose 1, and expose it.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_3.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/thanekyrell.png", "slots": [ "Talent", "Torpedo", @@ -267,17 +342,20 @@ "Modification", "Configuration" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_3.jpg", - "ffg": 3, - "hyperspace": true, - "keywords": ["X-wing"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/thanekyrell.png", + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true }, { "name": "Wedge Antilles", "caption": "Red Two", "initiative": 6, "limited": 1, - "cost": 54, + "cost": 57, "xws": "wedgeantilles", "ability": "While you perform an attack, the defender rolls 1 fewer defense die.", "slots": [ @@ -287,11 +365,777 @@ "Modification", "Configuration" ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_1.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_1.jpg", - "ffg": 1, - "hyperspace": false, - "keywords": ["X-wing"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/wedgeantilles.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/wedgeantilles.png", + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true + }, + { + "name": "Biggs Darklighter", + "caption": "Battle of Yavin", + "initiative": 3, + "limited": 1, + "cost": 56, + "xws": "biggsdarklighter-battleofyavin", + "ability": "During the System Phase, you may choose 1 friendly ship at range 1. If you do, treat your initiative as equal to the chosen ship's initiative until the end of the Activation Phase.", + "shipAbility": { + "name": "Hope", + "text": "After another friendly ship at range 0-3 is destroyed, you may perform a [Focus] or [Boost] action." + }, + "standardLoadout": [ + "attackspeed-battleofyavin", + "selfless", + "protontorpedoes", + "r2f2-battleofyavin" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/biggsdarklighter-battleofyavin.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/biggsdarklighter-battleofyavin.png", + "standard": false, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true + }, + { + "name": "Biggs Darklighter", + "caption": "Battle of Yavin", + "initiative": 3, + "limited": 1, + "cost": 44, + "xws": "biggsdarklighter-battleofyavin-lsl", + "ability": "During the System Phase, you may choose 1 friendly ship at range 1. If you do, treat your initiative as equal to the chosen ship's initiative until the end of the Activation Phase.", + "shipAbility": { + "name": "Hope", + "text": "After another friendly ship at range 0-3 is destroyed, you may perform a [Focus] or [Boost] action." + }, + "slots": [ + "Torpedo", + "Astromech", + "Modification", + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/biggsdarklighter-battleofyavin-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/biggsdarklighter-battleofyavin-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true + }, + { + "name": "Garven Dreis", + "caption": "Battle of Yavin", + "initiative": 4, + "limited": 1, + "cost": 53, + "xws": "garvendreis-battleofyavin", + "ability": "After you spend a focus token, you may choose 1 friendly ship at range 1-3. That ship gains 1 focus token.", + "shipAbility": { + "name": "Hope", + "text": "After another friendly ship at range 0-3 is destroyed, you may perform a [Focus] or [Boost] action." + }, + "standardLoadout": [ + "advprotontorpedoes", + "r5k6-battleofyavin" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/garvendreis-battleofyavin.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/garvendreis-battleofyavin.png", + "standard": false, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true + }, + { + "name": "Garven Dreis", + "caption": "Battle of Yavin", + "initiative": 4, + "limited": 1, + "cost": 47, + "xws": "garvendreis-battleofyavin-lsl", + "ability": "After you spend a focus token, you may choose 1 friendly ship at range 1-3. That ship gains 1 focus token.", + "shipAbility": { + "name": "Hope", + "text": "After another friendly ship at range 0-3 is destroyed, you may perform a [Focus] or [Boost] action." + }, + "slots": [ + "Torpedo", + "Astromech", + "Modification", + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/garvendreis-battleofyavin-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/garvendreis-battleofyavin-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true + }, + { + "name": "Jek Porkins", + "caption": "Battle of Yavin", + "initiative": 4, + "limited": 1, + "cost": 54, + "xws": "jekporkins-battleofyavin", + "ability": "After you receive a stress token, you may roll 1 attack die to remove it. On a [Hit] result, suffer 1 [Hit] damage.", + "shipAbility": { + "name": "Hope", + "text": "After another friendly ship at range 0-3 is destroyed, you may perform a [Focus] or [Boost] action." + }, + "standardLoadout": [ + "advprotontorpedoes", + "r5d8-battleofyavin", + "unstablesublightengines-battleofyavin" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/jekporkins-battleofyavin.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/jekporkins-battleofyavin.png", + "standard": false, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true + }, + { + "name": "Jek Porkins", + "caption": "Battle of Yavin", + "initiative": 4, + "limited": 1, + "cost": 42, + "xws": "jekporkins-battleofyavin-lsl", + "ability": "After you receive a stress token, you may roll 1 attack die to remove it. On a [Hit] result, suffer 1 [Hit] damage.", + "shipAbility": { + "name": "Hope", + "text": "After another friendly ship at range 0-3 is destroyed, you may perform a [Focus] or [Boost] action." + }, + "slots": [ + "Torpedo", + "Astromech", + "Modification", + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/jekporkins-battleofyavin-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/jekporkins-battleofyavin-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true + }, + { + "name": "Luke Skywalker", + "caption": "Battle of Yavin", + "initiative": 5, + "limited": 1, + "cost": 79, + "xws": "lukeskywalker-battleofyavin", + "ability": "After you are declared as the defender during an attack, you may recover 1 [Force].", + "force": { + "value": 2, + "recovers": 1, + "side": [ + "light" + ] + }, + "shipAbility": { + "name": "Hope", + "text": "After another friendly ship at range 0-3 is destroyed, you may perform a [Focus] or [Boost] action." + }, + "standardLoadout": [ + "attackspeed-battleofyavin", + "instinctiveaim", + "protontorpedoes", + "r2d2-battleofyavin" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lukeskywalker-battleofyavin.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lukeskywalker-battleofyavin.png", + "standard": false, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true + }, + { + "name": "Luke Skywalker", + "caption": "Battle of Yavin", + "initiative": 5, + "limited": 1, + "cost": 60, + "xws": "lukeskywalker-battleofyavin-lsl", + "ability": "After you are declared as the defender during an attack, you may recover 1 [Force].", + "force": { + "value": 2, + "recovers": 1, + "side": [ + "light" + ] + }, + "shipAbility": { + "name": "Hope", + "text": "After another friendly ship at range 0-3 is destroyed, you may perform a [Focus] or [Boost] action." + }, + "slots": [ + "Force Power", + "Torpedo", + "Astromech", + "Modification", + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lukeskywalker-battleofyavin-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lukeskywalker-battleofyavin-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true + }, + { + "name": "Wedge Antilles", + "caption": "Battle of Yavin", + "initiative": 5, + "limited": 1, + "cost": 65, + "xws": "wedgeantilles-battleofyavin", + "ability": "While you perform a primary attack, if there is another friendly ship in the defender's firing arc, the defender rolls 1 less defense dice.", + "shipAbility": { + "name": "Hope", + "text": "After another friendly ship at range 0-3 is destroyed, you may perform a [Focus] or [Boost] action." + }, + "standardLoadout": [ + "attackspeed-battleofyavin", + "marksmanship", + "protontorpedoes", + "r2a3-battleofyavin" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/wedgeantilles-battleofyavin.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/wedgeantilles-battleofyavin.png", + "standard": false, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true + }, + { + "name": "Wedge Antilles", + "caption": "Battle of Yavin", + "initiative": 5, + "limited": 1, + "cost": 51, + "xws": "wedgeantilles-battleofyavin-lsl", + "ability": "While you perform a primary attack, if there is another friendly ship in the defender's firing arc, the defender rolls 1 less defense dice.", + "shipAbility": { + "name": "Hope", + "text": "After another friendly ship at range 0-3 is destroyed, you may perform a [Focus] or [Boost] action." + }, + "slots": [ + "Torpedo", + "Astromech", + "Modification", + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/wedgeantilles-battleofyavin-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/wedgeantilles-battleofyavin-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true + }, + { + "name": "Corran Horn", + "caption": "Rogue Nine", + "initiative": 5, + "limited": 1, + "cost": 46, + "xws": "corranhorn-t65xwing", + "ability": "After you declare the defender of an attack, if you have a lock on the defender, a friendly ship may transfer their lock token from you to the defender.", + "slots": [ + "Talent", + "Torpedo", + "Astromech", + "Modification", + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/corranhorn-t65xwing.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/corranhorn-t65xwing.png", + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true + }, + { + "name": "Wes Janson", + "caption": "Wisecracking Wingman", + "initiative": 5, + "limited": 1, + "cost": 51, + "xws": "wesjanson", + "ability": "After you perform an attack, you may spend 1 [Charge] to assign the defender 1 jam token. After you defend, you may spend 1 [Charge] to assign the attacker 1 jam token.", + "charges": { + "value": 1, + "recovers": 1 + }, + "slots": [ + "Talent", + "Torpedo", + "Astromech", + "Modification", + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/wesjanson.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/wesjanson.png", + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true + }, + { + "name": "Luke Skywalker", + "caption": "Red Five", + "initiative": 5, + "limited": 1, + "cost": 75, + "xws": "lukeskywalker-swz106", + "ability": "After you are declared as the defender during an attack, you may recover 1 [Force].", + "force": { + "value": 2, + "recovers": 1, + "side": [ + "light" + ] + }, + "standardLoadout": [ + "instinctiveaim", + "protontorpedoes", + "r2d2" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lukeskywalker-swz106.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lukeskywalker-swz106.png", + "standard": false, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true + }, + { + "name": "Jek Porkins", + "caption": "Red Six", + "initiative": 4, + "limited": 1, + "cost": 54, + "xws": "jekporkins-swz106", + "ability": "After you receive a stress token, you may roll 1 attack die to remove it. On a [Hit] result, suffer 1 [Hit] damage.", + "standardLoadout": [ + "predator", + "protontorpedoes", + "r5d8-battleofyavin" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/jekporkins-swz106.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/jekporkins-swz106.png", + "standard": false, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true + }, + { + "name": "Wedge Antilles", + "caption": "Battle Over Endor", + "initiative": 6, + "limited": 1, + "cost": 70, + "xws": "wedgeantilles-battleoverendor", + "ability": "After you perform an attack that hits, gain 1 focus token.", + "shipAbility": { + "name": "Locked S-Foils", + "text": "After you perform a [Boost] action, gain a deplete token." + }, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 4 + }, + { + "type": "shields", + "value": 3 + } + ], + "shipActions": [ + { + "difficulty": "White", + "type": "Focus", + "linked": { + "difficulty": "Red", + "type": "Boost" + } + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll", + "linked": { + "difficulty": "Red", + "type": "Focus" + } + }, + { + "difficulty": "White", + "type": "Boost" + } + ], + "standardLoadout": [ + "itsatrap-battleoverendor", + "predator", + "advprotontorpedoes", + "r2a3-battleoverendor" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/wedgeantilles-battleoverendor.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/wedgeantilles-battleoverendor.png", + "standard": false, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true + }, + { + "name": "Wedge Antilles", + "caption": "Battle Over Endor", + "initiative": 6, + "limited": 1, + "cost": 55, + "xws": "wedgeantilles-battleoverendor-lsl", + "ability": "After you perform an attack that hits, gain 1 focus token.", + "shipAbility": { + "name": "Locked S-Foils", + "text": "After you perform a [Boost] action, gain a deplete token." + }, + "shipStats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 4 + }, + { + "type": "shields", + "value": 3 + } + ], + "shipActions": [ + { + "difficulty": "White", + "type": "Focus", + "linked": { + "difficulty": "Red", + "type": "Boost" + } + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll", + "linked": { + "difficulty": "Red", + "type": "Focus" + } + }, + { + "difficulty": "White", + "type": "Boost" + } + ], + "slots": [ + "Talent", + "Torpedo", + "Astromech" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/wedgeantilles-battleoverendor-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/wedgeantilles-battleoverendor-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true + }, + { + "name": "Yendor", + "caption": "Battle Over Endor", + "initiative": 5, + "limited": 1, + "cost": 61, + "xws": "yendor-battleoverendor", + "ability": "While you perform a primary attack, you may gain a strain token to reroll 1 of your blank results.", + "shipAbility": { + "name": "Locked S-Foils", + "text": "After you perform a [Boost] action, gain a deplete token." + }, + "shipActions": [ + { + "difficulty": "White", + "type": "Focus", + "linked": { + "difficulty": "Red", + "type": "Boost" + } + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll", + "linked": { + "difficulty": "Red", + "type": "Focus" + } + }, + { + "difficulty": "White", + "type": "Boost" + } + ], + "standardLoadout": [ + "itsatrap-battleoverendor", + "plasmatorpedoes", + "stabilizingastromech-battleoverendor" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/yendor-battleoverendor.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/yendor-battleoverendor.png", + "standard": false, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true + }, + { + "name": "Yendor", + "caption": "Battle Over Endor", + "initiative": 5, + "limited": 1, + "cost": 50, + "xws": "yendor-battleoverendor-lsl", + "ability": "While you perform a primary attack, you may gain a strain token to reroll 1 of your blank results.", + "shipAbility": { + "name": "Locked S-Foils", + "text": "After you perform a [Boost] action, gain a deplete token." + }, + "shipActions": [ + { + "difficulty": "White", + "type": "Focus", + "linked": { + "difficulty": "Red", + "type": "Boost" + } + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll", + "linked": { + "difficulty": "Red", + "type": "Focus" + } + }, + { + "difficulty": "White", + "type": "Boost" + } + ], + "slots": [ + "Talent", + "Torpedo", + "Astromech", + "Modification" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/yendor-battleoverendor-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/yendor-battleoverendor-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true + }, + { + "name": "Kendy Idele", + "caption": "Battle Over Endor", + "initiative": 4, + "limited": 1, + "cost": 57, + "xws": "kendyidele-battleoverendor", + "ability": "After you spend a green token, you may choose a friendly ship at range 1-3 and gain a strain token. If you do, that ship may perform a red [Focus] or red [Evade] action.", + "shipAbility": { + "name": "Locked S-Foils", + "text": "After you perform a [Boost] action, gain a deplete token." + }, + "shipActions": [ + { + "difficulty": "White", + "type": "Focus", + "linked": { + "difficulty": "Red", + "type": "Boost" + } + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll", + "linked": { + "difficulty": "Red", + "type": "Focus" + } + }, + { + "difficulty": "White", + "type": "Boost" + } + ], + "standardLoadout": [ + "itsatrap-battleoverendor", + "ionmissiles", + "modifiedr4punit-battleoverendor", + "chaffparticles-battleoverendor" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/kendyidele-battleoverendor.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/kendyidele-battleoverendor.png", + "standard": false, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true + }, + { + "name": "Kendy Idele", + "caption": "Battle Over Endor", + "initiative": 4, + "limited": 1, + "cost": 48, + "xws": "kendyidele-battleoverendor-lsl", + "ability": "After you spend a green token, you may choose a friendly ship at range 1-3 and gain a strain token. If you do, that ship may perform a red [Focus] or red [Evade] action.", + "shipAbility": { + "name": "Locked S-Foils", + "text": "After you perform a [Boost] action, gain a deplete token." + }, + "shipActions": [ + { + "difficulty": "White", + "type": "Focus", + "linked": { + "difficulty": "Red", + "type": "Boost" + } + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll", + "linked": { + "difficulty": "Red", + "type": "Focus" + } + }, + { + "difficulty": "White", + "type": "Boost" + } + ], + "slots": [ + "Talent", + "Torpedo", + "Astromech", + "Modification" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/kendyidele-battleoverendor-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/kendyidele-battleoverendor-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true + }, + { + "name": "Antoc Merrick", + "caption": "Blue Leader", + "initiative": 4, + "limited": 1, + "cost": 45, + "xws": "antocmerrick-wat1", + "ability": "After you perform a [Boost] or [Barrel Roll] action, you may choose another friendly ship at range 0-3. If you do, that ship may perform the same action on their action bar.", + "slots": [ + "Talent", + "Torpedo", + "Astromech", + "Modification", + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/antocmerrick-wat1.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/antocmerrick-wat1.png", + "standard": false, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true } ] } diff --git a/data/pilots/rebel-alliance/tie-ln-fighter.json b/data/pilots/rebel-alliance/tie-ln-fighter.json index ec804261b..7d80692a8 100644 --- a/data/pilots/rebel-alliance/tie-ln-fighter.json +++ b/data/pilots/rebel-alliance/tie-ln-fighter.json @@ -1,7 +1,6 @@ { "name": "TIE/ln Fighter", "xws": "tielnfighter", - "ffg": 11, "size": "Small", "dial": [ "1TW", @@ -21,81 +20,138 @@ "4KR", "5FW" ], - "dialCodes": ["TF"], - "faction": "Rebel Alliance", + "dialCodes": [ + "TF" + ], + "faction": "rebelalliance", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 3 }, - { "type": "hull", "value": 3 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 3 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Evade" }, - { "difficulty": "White", "type": "Barrel Roll" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_TIEFighter.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/rebel-alliance/I_TIEFighter.png", "pilots": [ { - "name": "\"Zeb\" Orrelios", + "name": "“Zeb” Orrelios", "caption": "Spectre-4", "initiative": 2, "limited": 1, - "cost": 22, + "cost": 21, "xws": "zeborrelios-tielnfighter", "ability": "While you defend, [Critical Hit] results are neutralized before [Hit] results.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_49.png", - "slots": ["Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_49.jpg", - "ffg": 49, - "hyperspace": false, - "keywords": ["Spectre", "TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/zeborrelios-tielnfighter.png", + "slots": [ + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/zeborrelios-tielnfighter.png", + "standard": true, + "wildspace": true, + "keywords": [ + "TIE", + "Spectre" + ], + "epic": true }, { "name": "Captain Rex", "caption": "Clone Wars Veteran", "initiative": 2, "limited": 1, - "cost": 26, + "cost": 25, "xws": "captainrex", "ability": "After you perform an attack, assign the Suppressive Fire condition to the defender.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_48.png", - "conditions": ["suppressivefire"], - "slots": ["Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_48.jpg", - "ffg": 48, - "hyperspace": false, - "keywords": ["Clone", "TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/captainrex.png", + "conditions": [ + "suppressivefire" + ], + "slots": [ + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/captainrex.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Clone", + "TIE" + ], + "epic": true }, { "name": "Ezra Bridger", "caption": "Spectre-6", "initiative": 3, "limited": 1, - "cost": 26, + "cost": 25, "xws": "ezrabridger-tielnfighter", "ability": "While you defend or perform an attack, if you are stressed, you may spend 1 [Force] to change up to 2 of your [Focus] results to [Evade] or [Hit] results.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_46.png", - "force": { "value": 1, "recovers": 1, "side": ["light"] }, - "slots": ["Modification", "Force Power"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_46.jpg", - "ffg": 46, - "hyperspace": false, - "keywords": ["Light Side", "Spectre", "TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/ezrabridger-tielnfighter.png", + "force": { + "value": 1, + "recovers": 1, + "side": [ + "light" + ] + }, + "slots": [ + "Force Power", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/ezrabridger-tielnfighter.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Light Side", + "Spectre", + "TIE" + ], + "epic": true }, { "name": "Sabine Wren", "caption": "Spectre-5", "initiative": 3, "limited": 1, - "cost": 26, + "cost": 25, "xws": "sabinewren-tielnfighter", "ability": "Before you activate, you may perform a [Barrel Roll] or [Boost] action.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_47.png", - "slots": ["Talent", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_47.jpg", - "ffg": 47, - "hyperspace": false, - "keywords": ["Spectre", "TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sabinewren-tielnfighter.png", + "slots": [ + "Talent", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sabinewren-tielnfighter.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Mandalorian", + "TIE", + "Spectre" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/rebel-alliance/ut-60d-u-wing.json b/data/pilots/rebel-alliance/ut-60d-u-wing.json index c904c755f..0ecf4e8b9 100644 --- a/data/pilots/rebel-alliance/ut-60d-u-wing.json +++ b/data/pilots/rebel-alliance/ut-60d-u-wing.json @@ -1,7 +1,6 @@ { "name": "UT-60D U-wing", "xws": "ut60duwing", - "ffg": 15, "size": "Medium", "dial": [ "0OR", @@ -18,30 +17,54 @@ "3NW", "4FW" ], - "dialCodes": ["UW"], - "faction": "Rebel Alliance", + "dialCodes": [ + "UW" + ], + "faction": "rebelalliance", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 5 }, - { "type": "shields", "value": 3 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 5 + }, + { + "type": "shields", + "value": 3 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Coordinate" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Coordinate" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_U-wing.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/rebel-alliance/I_U-wing.png", "pilots": [ { "name": "Benthic Two Tubes", "caption": "Cavern Angels Marksman", "initiative": 2, "limited": 1, - "cost": 46, + "cost": 45, "xws": "benthictwotubes", "ability": "After you perform a [Focus] action, you may transfer 1 of your focus tokens to a friendly ship at range 1-2.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_58.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/benthictwotubes.png", "slots": [ "Sensor", "Crew", @@ -50,10 +73,13 @@ "Modification", "Configuration" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_58.jpg", - "ffg": 58, - "hyperspace": false, - "keywords": ["Partisan"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/benthictwotubes.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Partisan" + ], + "epic": true }, { "name": "Blue Squadron Scout", @@ -62,11 +88,18 @@ "cost": 43, "xws": "bluesquadronscout", "text": "Used for deploying troops under the cover of darkness or into the heat of battle, the UT-60D U-wing fulfills the Rebellion's need for a swift and hardy troop transport.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_60.png", - "slots": ["Sensor", "Crew", "Crew", "Modification", "Configuration"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_60.jpg", - "ffg": 60, - "hyperspace": false + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/bluesquadronscout.png", + "slots": [ + "Sensor", + "Crew", + "Crew", + "Modification", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/bluesquadronscout.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Bodhi Rook", @@ -76,7 +109,7 @@ "cost": 48, "xws": "bodhirook", "ability": "Friendly ships can acquire locks onto objects at range 0-3 of any friendly ship.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_54.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/bodhirook.png", "slots": [ "Talent", "Sensor", @@ -85,19 +118,20 @@ "Modification", "Configuration" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_54.jpg", - "ffg": 54, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/bodhirook.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Cassian Andor", "caption": "Raised by the Rebellion", "initiative": 3, "limited": 1, - "cost": 51, + "cost": 49, "xws": "cassianandor", "ability": "At the start of the Activation Phase, you may choose 1 friendly ship at range 1-3. If you do, that ship removes 1 stress token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_56.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/cassianandor.png", "slots": [ "Talent", "Sensor", @@ -106,19 +140,20 @@ "Modification", "Configuration" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_56.jpg", - "ffg": 56, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/cassianandor.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Heff Tobber", "caption": "Blue Eight", "initiative": 2, "limited": 1, - "cost": 44, + "cost": 43, "xws": "hefftobber", "ability": "After an enemy ship executes a maneuver, if it is at range 0, you may perform an action.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_59.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/hefftobber.png", "slots": [ "Talent", "Sensor", @@ -127,19 +162,20 @@ "Modification", "Configuration" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_59.jpg", - "ffg": 59, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/hefftobber.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Magva Yarro", "caption": "Cavern Angels Spotter", "initiative": 3, "limited": 1, - "cost": 50, + "cost": 46, "xws": "magvayarro", "ability": "While a friendly ship at range 0-2 defends, the attacker cannot reroll more than 1 attack die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_57.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/magvayarro.png", "slots": [ "Talent", "Sensor", @@ -149,10 +185,13 @@ "Modification", "Configuration" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_57.jpg", - "ffg": 57, - "hyperspace": false, - "keywords": ["Partisan"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/magvayarro.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Partisan" + ], + "epic": true }, { "name": "Partisan Renegade", @@ -169,21 +208,24 @@ "Modification", "Configuration" ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_61.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_61.jpg", - "ffg": 61, - "hyperspace": false, - "keywords": ["Partisan"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/partisanrenegade.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/partisanrenegade.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Partisan" + ], + "epic": true }, { "name": "Saw Gerrera", "caption": "Obsessive Outlaw", "initiative": 4, "limited": 1, - "cost": 52, + "cost": 50, "xws": "sawgerrera", "ability": "While a damaged friendly ship at range 0-3 performs an attack, it may reroll 1 attack die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_55.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sawgerrera.png", "slots": [ "Talent", "Sensor", @@ -199,10 +241,13 @@ "source": "Season Two 2018" } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_55.jpg", - "ffg": 55, - "hyperspace": false, - "keywords": ["Partisan"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sawgerrera.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Partisan" + ], + "epic": true }, { "name": "K-2SO", @@ -210,6 +255,7 @@ "initiative": 3, "limited": 1, "xws": "k2so", + "cost": 46, "ability": "After you gain a stress token, gain 1 calculate token.", "slots": [ "Talent", @@ -220,16 +266,27 @@ "Configuration" ], "shipActions": [ - { "difficulty": "White", "type": "Calculate" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Coordinate" } + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Coordinate" + } ], - "hyperspace": false, - "cost": 46, - "ffg": 629, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/eeb6e9aeefe6f988949aff17e7e7986d.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/c65da3d5378ec32bd024325dbd80b3d6.png", - "keywords": ["Droid"] + "standard": true, + "wildspace": true, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/k2so.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/k2so.png", + "keywords": [ + "Droid" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/rebel-alliance/vcx-100-light-freighter.json b/data/pilots/rebel-alliance/vcx-100-light-freighter.json index 8e7d3d2dd..133cac23f 100644 --- a/data/pilots/rebel-alliance/vcx-100-light-freighter.json +++ b/data/pilots/rebel-alliance/vcx-100-light-freighter.json @@ -1,7 +1,6 @@ { "name": "VCX-100 Light Freighter", "xws": "vcx100lightfreighter", - "ffg": 23, "size": "Large", "dial": [ "1TR", @@ -22,34 +21,67 @@ "4FW", "4KR" ], - "dialCodes": ["VCX"], - "faction": "Rebel Alliance", + "dialCodes": [ + "VCX" + ], + "faction": "rebelalliance", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 4 }, - { "type": "agility", "value": 0 }, - { "type": "hull", "value": 10 }, - { "type": "shields", "value": 4 } + { + "arc": "Front Arc", + "type": "attack", + "value": 4 + }, + { + "type": "agility", + "value": 0 + }, + { + "type": "hull", + "value": 10 + }, + { + "type": "shields", + "value": 4 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Reinforce" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Reinforce" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Ghost.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/rebel-alliance/I_Ghost.png", "pilots": [ { - "name": "\"Chopper\"", + "name": "“Chopper”", "caption": "Spectre-3", "initiative": 2, "limited": 1, "cost": 66, "xws": "chopper", "ability": "At the start of the Engagement Phase, each enemy ship at range 0 gains 2 jam tokens.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_75.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/chopper.png", "shipActions": [ - { "difficulty": "White", "type": "Calculate" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Reinforce" } + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Reinforce" + } ], "shipAbility": { "name": "Tail Gun", @@ -65,20 +97,25 @@ "Title", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_75.jpg", - "ffg": 75, - "hyperspace": false, - "keywords": ["Droid", "Freighter", "Spectre"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/chopper.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Droid", + "Freighter", + "Spectre" + ], + "epic": true }, { "name": "Hera Syndulla", "caption": "Spectre-2", "initiative": 5, "limited": 1, - "cost": 69, + "cost": 74, "xws": "herasyndulla-vcx100lightfreighter", "ability": "After you reveal a red or blue maneuver, you may set your dial to another maneuver of the same difficulty.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_73.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/herasyndulla-vcx100lightfreighter.png", "shipAbility": { "name": "Tail Gun", "text": "While you have a docked ship, you have a primary [Rear Arc] weapon with an attack value equal to your docked ship's primary [Front Arc] attack value." @@ -94,21 +131,31 @@ "Title", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_73.jpg", - "ffg": 73, - "hyperspace": true, - "keywords": ["Freighter", "Spectre"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/herasyndulla-vcx100lightfreighter.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter", + "Spectre" + ], + "epic": true }, { "name": "Kanan Jarrus", "caption": "Spectre-1", "initiative": 3, "limited": 1, - "cost": 73, + "cost": 75, "xws": "kananjarrus", "ability": "While a friendly ship in your firing arc defends, you may spend 1 [Force]. If you do, the attacker rolls 1 fewer attack die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_74.png", - "force": { "value": 2, "recovers": 1, "side": ["light"] }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/kananjarrus.png", + "force": { + "value": 2, + "recovers": 1, + "side": [ + "light" + ] + }, "shipAbility": { "name": "Tail Gun", "text": "While you have a docked ship, you have a primary [Rear Arc] weapon with an attack value equal to your docked ship's primary [Front Arc] attack value." @@ -124,10 +171,16 @@ "Gunner", "Force Power" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_74.jpg", - "ffg": 74, - "hyperspace": true, - "keywords": ["Spectre"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/kananjarrus.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter", + "Jedi", + "Light Side", + "Spectre" + ], + "epic": true }, { "name": "Lothal Rebel", @@ -136,7 +189,7 @@ "cost": 68, "xws": "lothalrebel", "text": "Another successful Corellian Engineering Corporation freighter design, the VCX-100 is larger than the ubiquitous YT-series, boasting more living space and customizability.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_76.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lothalrebel.png", "shipAbility": { "name": "Tail Gun", "text": "While you have a docked ship, you have a primary [Rear Arc] weapon with an attack value equal to your docked ship's primary [Front Arc] attack value." @@ -151,22 +204,28 @@ "Title", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_76.jpg", - "ffg": 76, - "hyperspace": false, - "keywords": ["Freighter"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lothalrebel.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter" + ], + "epic": true }, { "name": "Alexsandr Kallus", - "xws": "alexsandrkallus", + "caption": "Fulcrum", "initiative": 4, "limited": 1, + "xws": "alexsandrkallus", + "cost": 68, + "ability": "While you defend, if the attacker modified any attack dice, you may roll 1 additional defense die.", "shipAbility": { "name": "Tail Gun", "text": "While you have a docked ship, you have a primary [Rear Arc] weapon with an attack value equal to your docked ship's primary [Front Arc] attack value." }, - "caption": "Fulcrum", - "hyperspace": true, + "standard": true, + "wildspace": true, "slots": [ "Talent", "Sensor", @@ -178,12 +237,13 @@ "Modification", "Title" ], - "ability": "While you defend, if the attacker modified any attack dice, you may roll 1 additional defense die.", - "cost": 68, - "ffg": 631, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/af4c16c8955bddf75d5eb7723c7a5f2d.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/f78c33b746f35f6848708327178dec80.png", - "keywords": ["Freighter", "Spectre"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/alexsandrkallus.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/alexsandrkallus.png", + "keywords": [ + "Freighter", + "Spectre" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/rebel-alliance/yt-2400-light-freighter-2023.json b/data/pilots/rebel-alliance/yt-2400-light-freighter-2023.json new file mode 100644 index 000000000..850924e06 --- /dev/null +++ b/data/pilots/rebel-alliance/yt-2400-light-freighter-2023.json @@ -0,0 +1,306 @@ +{ + "name": "YT-2400 Light Freighter (2023)", + "xws": "yt2400lightfreighter2023", + "size": "Large", + "dial": [ + "1TW", + "1BB", + "1FB", + "1NB", + "1YW", + "2TW", + "2BW", + "2FB", + "2NW", + "2YW", + "3TW", + "3BW", + "3FW", + "3NW", + "3YW", + "4FW", + "4KR" + ], + "dialCodes": [ + "YT24" + ], + "faction": "rebelalliance", + "stats": [ + { + "arc": "Double Turret Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 6 + }, + { + "type": "shields", + "value": 4 + } + ], + "actions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Rotate Arc" + } + ], + "icon": "https://infinitearenas.com/xw2/images/shipicons/rebel-alliance/I_YT-2400.png", + "pilots": [ + { + "name": "Dash Rendar", + "caption": "Freighter for Hire", + "initiative": 5, + "limited": 1, + "cost": 77, + "xws": "dashrendar-swz103-rebelalliance", + "ability": "During the Engagement Phase, you ignore the effects of obstacles that you are overlapping.", + "shipAbility": { + "name": "Sensor Blackout", + "text": "While you perform a primary attack at attack range 0-1, you roll 1 fewer attack die. While you defend at range 1, you roll 1 fewer defense die." + }, + "slots": [ + "Talent", + "Missile", + "Crew", + "Crew", + "Illicit", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dashrendar-swz103-rebelalliance.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dashrendar-swz103-rebelalliance.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter" + ], + "epic": true + }, + { + "name": "Dash Rendar", + "caption": "In it for Himself", + "initiative": 5, + "limited": 1, + "cost": 74, + "xws": "dashrendar-swz103-lsl-rebelalliance", + "ability": "After you gain a red token as a result of moving through or overlapping an obstacle, you may transfer that red token to a friendly ship at range 0-1.", + "shipAbility": { + "name": "Sensor Blackout", + "text": "While you perform a primary attack at attack range 0-1, you roll 1 fewer die. While you defend at range 1, you roll 1 fewer defense die." + }, + "slots": [ + "Talent", + "Missile", + "Crew", + "Crew", + "Illicit", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dashrendar-swz103-lsl-rebelalliance.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dashrendar-swz103-lsl-rebelalliance.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Droid", + "Freighter" + ], + "epic": true + }, + { + "name": "Dash Rendar", + "caption": "In it for Himself", + "initiative": 5, + "limited": 1, + "cost": 90, + "xws": "dashrendar-swz103-sl-rebelalliance", + "ability": "After you gain a red token as a result of moving through or overlapping an obstacle, you may transfer that red token to a friendly ship at range 0-1.", + "shipAbility": { + "name": "Sensor Blackout", + "text": "While you perform a primary attack at attack range 0-1, you roll 1 fewer die. While you defend at range 1, you roll 1 fewer defense die." + }, + "standardLoadout": [ + "mercenary-swz103", + "seekermissiles-swz103", + "leebo-swz103", + "outrider" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dashrendar-swz103-sl-rebelalliance.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dashrendar-swz103-sl-rebelalliance.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Droid", + "Freighter" + ], + "epic": true + }, + { + "name": "“Leebo”", + "caption": "Wisdom of Ages", + "initiative": 3, + "limited": 1, + "cost": 71, + "xws": "leebo-swz103-rebelalliance", + "ability": "After you defend or perform an attack, if you spent a calculate token, gain 1 calculate token.", + "shipActions": [ + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Rotate Arc" + } + ], + "shipAbility": { + "name": "Sensor Blackout", + "text": "While you perform a primary attack at attack range 0-1, you roll 1 less attack die. While you defend at range 1, you roll 1 less defense die." + }, + "slots": [ + "Talent", + "Missile", + "Illicit", + "Illicit", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/leebo-swz103-rebelalliance.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/leebo-swz103-rebelalliance.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Droid", + "Freighter" + ], + "epic": true + }, + { + "name": "“Leebo”", + "caption": "He Thinks He's Funny", + "initiative": 3, + "limited": 1, + "cost": 69, + "xws": "leebo-swz103-lsl-rebelalliance", + "ability": "At the end of the Engagement Phase, you may spend a calculate token to acquire a lock on an enemy ship at range 2-3.", + "shipActions": [ + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Rotate Arc" + }, + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Rotate Arc" + } + ], + "shipAbility": { + "name": "Sensor Blackout", + "text": "While you perform a primary attack at attack range 0-1, you roll 1 fewer die. While you defend at range 1, you roll 1 fewer defense die." + }, + "slots": [ + "Talent", + "Crew", + "Missile", + "Illicit", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/leebo-swz103-lsl-rebelalliance.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/leebo-swz103-lsl-rebelalliance.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Droid", + "Freighter" + ], + "epic": true + }, + { + "name": "“Leebo”", + "caption": "He Thinks He's Funny", + "initiative": 3, + "limited": 1, + "cost": 83, + "xws": "leebo-swz103-sl-rebelalliance", + "ability": "At the end of the Engagement Phase, you may spend a calculate token to acquire a lock on an enemy ship at range 2-3.", + "shipActions": [ + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Rotate Arc" + }, + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Rotate Arc" + } + ], + "shipAbility": { + "name": "Sensor Blackout", + "text": "While you perform a primary attack at attack range 0-1, you roll 1 fewer die. While you defend at range 1, you roll 1 fewer defense die." + }, + "standardLoadout": [ + "efficientprocessing-swz103", + "seekermissiles-swz103", + "outrider" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/leebo-swz103-sl-rebelalliance.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/leebo-swz103-sl-rebelalliance.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Droid", + "Freighter" + ], + "epic": true + } + ] +} \ No newline at end of file diff --git a/data/pilots/rebel-alliance/yt-2400-light-freighter.json b/data/pilots/rebel-alliance/yt-2400-light-freighter.json index b9333efa8..3757381e9 100644 --- a/data/pilots/rebel-alliance/yt-2400-light-freighter.json +++ b/data/pilots/rebel-alliance/yt-2400-light-freighter.json @@ -1,7 +1,6 @@ { "name": "YT-2400 Light Freighter", "xws": "yt2400lightfreighter", - "ffg": 5, "size": "Large", "dial": [ "1TW", @@ -22,36 +21,75 @@ "4FW", "4KR" ], - "dialCodes": ["YT24"], - "faction": "Rebel Alliance", + "dialCodes": [ + "YT24" + ], + "faction": "rebelalliance", "stats": [ - { "arc": "Double Turret Arc", "type": "attack", "value": 4 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 6 }, - { "type": "shields", "value": 4 } + { + "arc": "Double Turret Arc", + "type": "attack", + "value": 4 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 6 + }, + { + "type": "shields", + "value": 4 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Barrel Roll" }, - { "difficulty": "White", "type": "Rotate Arc" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Rotate Arc" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_YT-2400.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/rebel-alliance/I_YT-2400.png", "pilots": [ { - "name": "\"Leebo\"", + "name": "“Leebo”", "caption": "Dry-Witted Droid", "initiative": 3, "limited": 1, - "cost": 72, + "cost": 75, "xws": "leebo", "ability": "After you defend or perform an attack, if you spent a calculate token, gain 1 calculate token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_78.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/leebo.png", "shipActions": [ - { "difficulty": "White", "type": "Calculate" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Barrel Roll" }, - { "difficulty": "White", "type": "Rotate Arc" } + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Rotate Arc" + } ], "shipAbility": { "name": "Sensor Blindspot", @@ -65,20 +103,24 @@ "Modification", "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_78.jpg", - "ffg": 78, - "hyperspace": false, - "keywords": ["Droid", "Freighter"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/leebo.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Droid", + "Freighter" + ], + "epic": true }, { "name": "Dash Rendar", "caption": "Hotshot Mercenary", "initiative": 5, "limited": 1, - "cost": 79, + "cost": 83, "xws": "dashrendar", "ability": "While you move, you ignore obstacles.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_77.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dashrendar.png", "shipAbility": { "name": "Sensor Blindspot", "text": "While you perform a primary attack at attack range 0-1, do not apply the range 0-1 bonus and roll 1 fewer attack die." @@ -92,28 +134,41 @@ "Modification", "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_77.jpg", - "ffg": 77, - "hyperspace": false, - "keywords": ["Freighter"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dashrendar.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter" + ], + "epic": true }, { "name": "Wild Space Fringer", "initiative": 1, "limited": 0, - "cost": 72, + "cost": 69, "xws": "wildspacefringer", "text": "Although stock YT-2400 light freighters have plenty of room for cargo, that space is often annexed to support modified weapon systems and oversized engines.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_79.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/wildspacefringer.png", "shipAbility": { "name": "Sensor Blindspot", "text": "While you perform a primary attack at attack range 0-1, do not apply the range 0-1 bonus and roll 1 fewer attack die." }, - "slots": ["Missile", "Crew", "Crew", "Illicit", "Modification", "Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_79.jpg", - "ffg": 79, - "hyperspace": false, - "keywords": ["Freighter"] + "slots": [ + "Missile", + "Crew", + "Crew", + "Illicit", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/wildspacefringer.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/rebel-alliance/z-95-af4-headhunter.json b/data/pilots/rebel-alliance/z-95-af4-headhunter.json index 7dbbb2ffc..e5c52cb96 100644 --- a/data/pilots/rebel-alliance/z-95-af4-headhunter.json +++ b/data/pilots/rebel-alliance/z-95-af4-headhunter.json @@ -1,7 +1,6 @@ { "name": "Z-95-AF4 Headhunter", "xws": "z95af4headhunter", - "ffg": 38, "size": "Small", "dial": [ "1BW", @@ -21,20 +20,44 @@ "4FW", "4KR" ], - "dialCodes": ["Z95"], - "faction": "Rebel Alliance", + "dialCodes": [ + "Z95" + ], + "faction": "rebelalliance", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 2 }, - { "type": "shields", "value": 2 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 2 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Barrel Roll" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Z-95.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/rebel-alliance/I_Z-95.png", "pilots": [ { "name": "Airen Cracken", @@ -44,11 +67,16 @@ "cost": 35, "xws": "airencracken", "ability": "After you perform an attack, you may choose 1 friendly ship at range 1. That ship may perform an action, treating it as red.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_27.png", - "slots": ["Talent", "Missile", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_27.jpg", - "ffg": 27, - "hyperspace": false + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/airencracken.png", + "slots": [ + "Talent", + "Missile", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/airencracken.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Bandit Squadron Pilot", @@ -57,25 +85,34 @@ "cost": 22, "xws": "banditsquadronpilot", "text": "The Z-95 Headhunter was the primary inspiration for Incom Corporation's exemplary T-65 X-wing starfighter. Though it is considered outdated by modern standards, it remains a versatile and potent snub fighter.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_30.png", - "slots": ["Missile", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_30.jpg", - "ffg": 30, - "hyperspace": false + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/banditsquadronpilot.png", + "slots": [ + "Missile", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/banditsquadronpilot.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Lieutenant Blount", "caption": "Team Player", "initiative": 4, "limited": 1, - "cost": 29, + "cost": 28, "xws": "lieutenantblount", "ability": "While you perform a primary attack, if there is at least 1 other friendly ship at range 0-1 of the defender, you may roll 1 additional attack die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_28.png", - "slots": ["Talent", "Missile", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_28.jpg", - "ffg": 28, - "hyperspace": false + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lieutenantblount.png", + "slots": [ + "Talent", + "Missile", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lieutenantblount.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Tala Squadron Pilot", @@ -84,11 +121,16 @@ "cost": 23, "xws": "talasquadronpilot", "text": "The AF4 series is the latest in a long line of Headhunter designs. Cheap and relatively durable, it is a favorite among independent outfits like the Rebellion.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_29.png", - "slots": ["Talent", "Missile", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_29.jpg", - "ffg": 29, - "hyperspace": false + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/talasquadronpilot.png", + "slots": [ + "Talent", + "Missile", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/talasquadronpilot.png", + "standard": true, + "wildspace": true, + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/resistance/bta-nr2-y-wing.json b/data/pilots/resistance/bta-nr2-y-wing.json index afbecf77e..abc1110e7 100644 --- a/data/pilots/resistance/bta-nr2-y-wing.json +++ b/data/pilots/resistance/bta-nr2-y-wing.json @@ -2,7 +2,6 @@ "name": "BTA-NR2 Y-Wing", "xws": "btanr2ywing", "size": "Small", - "ffg": 86, "dial": [ "1BB", "1FB", @@ -20,19 +19,46 @@ "4FR", "5KR" ], - "dialCodes": ["NR2"], - "faction": "Resistance", + "dialCodes": [ + "NR2" + ], + "faction": "resistance", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 4 }, - { "type": "shields", "value": 3 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 4 + }, + { + "type": "shields", + "value": 3 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "Red", "type": "Lock" }, - { "difficulty": "Red", "type": "Barrel Roll" }, - { "difficulty": "Red", "type": "Boost" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "Red", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + }, + { + "difficulty": "Red", + "type": "Boost" + } ], "pilots": [ { @@ -44,8 +70,9 @@ "name": "Intuitive Interface", "text": "After you perform an action added to your action bar by a [Talent], [Illicit], or [Modification] upgrade, you may perform a [Calculate] action." }, - "hyperspace": true, - "cost": 40, + "standard": true, + "wildspace": true, + "cost": 38, "slots": [ "Talent", "Tech", @@ -57,12 +84,17 @@ "Configuration" ], "ability": "After a ship at range 1 performs an action during its Perform Action step, if that action is on your action bar, you may spend 1 [Charge] to perform that action, treating it as red.", - "ffg": 903, - "artwork": "???", - "charges": { "value": 1, "recovers": 1 }, - "image": "???", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/zoriibliss.png", + "charges": { + "value": 1, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/zoriibliss.png", "caption": "Corsair of Kijimi", - "keywords": ["Y-wing"] + "keywords": [ + "Y-wing" + ], + "epic": true }, { "name": "Teza Nasz", @@ -73,8 +105,9 @@ "name": "Intuitive Interface", "text": "After you perform an action added to your action bar by a [Talent], [Illicit], or [Modification] upgrade, you may perform a [Calculate] action." }, - "hyperspace": true, - "cost": 37, + "standard": true, + "wildspace": true, + "cost": 35, "slots": [ "Talent", "Tech", @@ -86,11 +119,13 @@ "Configuration" ], "ability": "While a friendly ship at range 0-2 performs an attack, if the defender has a ship friendly to the attacker in each of its side arcs ([Left Arc] and [Right Arc]), the attacker may reroll 1 attack die.", - "ffg": 904, - "artwork": "???", - "image": "???", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/tezanasz.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/tezanasz.png", "caption": "Old Soldier", - "keywords": ["Y-wing"] + "keywords": [ + "Y-wing" + ], + "epic": true }, { "name": "Wilsa Teshlo", @@ -101,8 +136,9 @@ "name": "Intuitive Interface", "text": "After you perform an action added to your action bar by a [Talent], [Illicit], or [Modification] upgrade, you may perform a [Calculate] action." }, - "hyperspace": true, - "cost": 34, + "standard": true, + "wildspace": true, + "cost": 31, "slots": [ "Tech", "Turret", @@ -113,11 +149,13 @@ "Configuration" ], "ability": "After you perform an attack, if the defender was dealt a faceup damage card, the defender gains 1 strain token unless it chooses 1 non-recurring [Charge] from 1 of its equipped upgrades and loses that [Charge].", - "ffg": 905, - "artwork": "???", - "image": "???", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/wilsateshlo.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/wilsateshlo.png", "caption": "Veiled Sorority Privateer", - "keywords": ["Y-wing"] + "keywords": [ + "Y-wing" + ], + "epic": true }, { "name": "Shasa Zaro", @@ -128,8 +166,9 @@ "name": "Intuitive Interface", "text": "After you perform an action added to your action bar by a [Talent], [Illicit], or [Modification] upgrade, you may perform a [Calculate] action." }, - "hyperspace": false, - "cost": 33, + "standard": true, + "wildspace": true, + "cost": 32, "slots": [ "Tech", "Turret", @@ -140,11 +179,13 @@ "Configuration" ], "ability": "After you defend, you may choose a friendly ship in your [Full Rear Arc] at range 0-2 and 1 of your green tokens. If you do, that ship gains a matching token.", - "ffg": 906, - "artwork": "???", - "image": "???", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/shasazaro.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/shasazaro.png", "caption": "Artistic Ace", - "keywords": ["Y-wing"] + "keywords": [ + "Y-wing" + ], + "epic": true }, { "name": "Lega Fossang", @@ -155,8 +196,9 @@ "name": "Intuitive Interface", "text": "After you perform an action added to your action bar by a [Talent], [Illicit], or [Modification] upgrade, you may perform a [Calculate] action." }, - "hyperspace": true, - "cost": 33, + "standard": true, + "wildspace": true, + "cost": 31, "slots": [ "Talent", "Tech", @@ -168,11 +210,13 @@ "Configuration" ], "ability": "While you perform a primary or [Turret] attack, you may reroll 1 attack die for each friendly device or calculating friendly ship in the attack arc.", - "ffg": 907, - "artwork": "???", - "image": "???", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/legafossang.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/legafossang.png", "caption": "Hero of Humbarine", - "keywords": ["Y-wing"] + "keywords": [ + "Y-wing" + ], + "epic": true }, { "name": "Aftab Ackbar", @@ -183,8 +227,9 @@ "name": "Intuitive Interface", "text": "After you perform an action added to your action bar by a [Talent], [Illicit], or [Modification] upgrade, you may perform a [Calculate] action." }, - "hyperspace": true, - "cost": 34, + "standard": true, + "wildspace": true, + "cost": 32, "slots": [ "Talent", "Tech", @@ -196,11 +241,13 @@ "Configuration" ], "ability": "After you execute a red basic maneuver or perform a red action, if you have exactly 1 stress token, you may gain 1 strain token to remove that stress token.", - "ffg": 908, - "artwork": "???", - "image": "???", - "caption": "Junior", - "keywords": ["Y-wing"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/aftabackbar.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/aftabackbar.png", + "caption": "“Junior”", + "keywords": [ + "Y-wing" + ], + "epic": true }, { "name": "Corus Kapellim", @@ -211,8 +258,9 @@ "name": "Intuitive Interface", "text": "After you perform an action added to your action bar by a [Talent], [Illicit], or [Modification] upgrade, you may perform a [Calculate] action." }, - "hyperspace": true, - "cost": 33, + "standard": true, + "wildspace": true, + "cost": 31, "slots": [ "Tech", "Turret", @@ -223,14 +271,16 @@ "Configuration" ], "ability": "Before you engage, you may choose 1 ship in your firing arc at range 0-1. If you do, transfer 1 green token from that ship to yourself.", - "ffg": 909, - "artwork": "???", - "image": "???", - "caption": "Gentleman Flyer", - "keywords": ["Y-wing"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/coruskapellim.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/coruskapellim.png", + "caption": "“Gentleman Flyer”", + "keywords": [ + "Y-wing" + ], + "epic": true }, { - "name": "C'ai Threnalli", + "name": "C’ai Threnalli", "xws": "caithrenalli-btanr2ywing", "initiative": 2, "limited": 1, @@ -238,8 +288,9 @@ "name": "Intuitive Interface", "text": "After you perform an action added to your action bar by a [Talent], [Illicit], or [Modification] upgrade, you may perform a [Calculate] action." }, - "hyperspace": true, - "cost": 34, + "standard": true, + "wildspace": true, + "cost": 31, "slots": [ "Talent", "Tech", @@ -251,11 +302,13 @@ "Configuration" ], "ability": "After you fully execute a maneuver, if you moved through a friendly ship, you may perform an [Evade] action.", - "ffg": 910, - "artwork": "???", - "image": "???", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/caithrenalli-btanr2ywing.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/caithrenalli-btanr2ywing.png", "caption": "Tenacious Survivor", - "keywords": ["Y-wing"] + "keywords": [ + "Y-wing" + ], + "epic": true }, { "name": "New Republic Patrol", @@ -266,8 +319,9 @@ "name": "Intuitive Interface", "text": "After you perform an action added to your action bar by a [Talent], [Illicit], or [Modification] upgrade, you may perform a [Calculate] action." }, - "hyperspace": true, - "cost": 32, + "standard": true, + "wildspace": true, + "cost": 30, "slots": [ "Talent", "Tech", @@ -279,10 +333,12 @@ "Configuration" ], "text": "Designed for customization, the BTA-NR2 Y-wing is used by numerous military organizations across the galaxy in a variety of roles, from law enforcement craft to wartime bombers.", - "ffg": 911, - "artwork": "???", - "image": "???", - "keywords": ["Y-wing"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/newrepublicpatrol.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/newrepublicpatrol.png", + "keywords": [ + "Y-wing" + ], + "epic": true }, { "name": "Kijimi Spice Runner", @@ -293,8 +349,9 @@ "name": "Intuitive Interface", "text": "After you perform an action added to your action bar by a [Talent], [Illicit], or [Modification] upgrade, you may perform a [Calculate] action." }, - "hyperspace": true, - "cost": 31, + "standard": true, + "wildspace": true, + "cost": 29, "slots": [ "Tech", "Turret", @@ -305,11 +362,13 @@ "Configuration" ], "text": "Led by Zorii Bliss, the Kijimi Spice Runners set aside their usual mercenary ways to take the fight to the Final Order at the Battle of Exegol.", - "ffg": 912, - "artwork": "???", - "image": "???", - "keywords": ["Y-wing"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/kijimispicerunner.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/kijimispicerunner.png", + "keywords": [ + "Y-wing" + ], + "epic": true } ], - "icon": "???" -} + "icon": "https://infinitearenas.com/xw2/images/shipicons/resistance/I_Y-wing-bta-nr2.png" +} \ No newline at end of file diff --git a/data/pilots/resistance/fireball.json b/data/pilots/resistance/fireball.json index 8b76ce3fd..a9e3c6af9 100644 --- a/data/pilots/resistance/fireball.json +++ b/data/pilots/resistance/fireball.json @@ -1,7 +1,6 @@ { "name": "Fireball", "xws": "fireball", - "ffg": 69, "size": "Small", "dial": [ "1TW", @@ -23,21 +22,48 @@ "3RR", "4FR" ], - "dialCodes": ["FB"], - "faction": "Resistance", + "dialCodes": [ + "FB" + ], + "faction": "resistance", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 6 }, - { "type": "shields", "value": 0 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 6 + }, + { + "type": "shields", + "value": 0 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Evade" }, - { "difficulty": "White", "type": "Barrel Roll" }, - { "difficulty": "White", "type": "SLAM" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "SLAM" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Fireball.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/resistance/I_Fireball.png", "pilots": [ { "name": "Colossus Station Mechanic", @@ -56,12 +82,13 @@ "Modification", "Title" ], - "hyperspace": true, + "standard": true, + "wildspace": true, "cost": 26, "text": "Some ambitious and talented pilots begin their racing careers as ground crew, working around the clock to keep cobbled-together ships in the sky on far-flung worlds like Castilon.", - "ffg": 623, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a8a4a52f9ced88c0bb7b9e90e0e75a18.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/533ab83e881838eb8006c8f8dcf19145.png" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/colossusstationmechanic.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/colossusstationmechanic.png", + "epic": true }, { "name": "Jarek Yeager", @@ -72,7 +99,8 @@ "name": "Explosion with Wings", "text": "Setup: You are dealt 1 facedown damage card. After you perform a [SLAM] action, you may expose 1 damage card to remove 1 disarm token." }, - "hyperspace": false, + "standard": true, + "wildspace": true, "slots": [ "Talent", "Missile", @@ -82,12 +110,12 @@ "Modification", "Title" ], - "cost": 31, + "cost": 28, "ability": "While you have 2 or fewer stress tokens, if you are damaged, you can execute red basic maneuvers even while stressed; if you are critically damaged, you can execute red advanced maneuvers even while stressed.", "caption": "Too Old for This", - "ffg": 620, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/21bd6c9d7e36c873f88b0fad11ff8fe6.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/cc580fd073ea51094b881e37775ef1f0.png" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/jarekyeager.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/jarekyeager.png", + "epic": true }, { "name": "Kazuda Xiono", @@ -99,7 +127,8 @@ "text": "Setup: You are dealt 1 facedown damage card. After you perform a [SLAM] action, you may expose 1 damage card to remove 1 disarm token." }, "caption": "Best Pilot in the Galaxy", - "hyperspace": false, + "standard": true, + "wildspace": true, "slots": [ "Talent", "Missile", @@ -110,10 +139,10 @@ "Title" ], "ability": "While you defend or perform a primary attack, if the enemy ship's initiative is higher than the number of damage cards you have, you may roll 1 additional die.", - "cost": 38, - "ffg": 621, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/4ffdf7cc8ed023322ccf4217ff64b4d2.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/ee98b839cf64d8d5d6f4948947abd70b.png" + "cost": 37, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/kazudaxiono.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/kazudaxiono.png", + "epic": true }, { "name": "R1-J5", @@ -125,7 +154,8 @@ "text": "Setup: You are dealt 1 facedown damage card. After you perform a [SLAM] action, you may expose 1 damage card to remove 1 disarm token." }, "caption": "Bucket", - "hyperspace": false, + "standard": true, + "wildspace": true, "slots": [ "Missile", "Crew", @@ -135,17 +165,58 @@ "Title" ], "ability": "Before you expose 1 of your damage cards, you may look at your facedown damage cards, choose 1, and expose that card instead.", - "cost": 27, - "ffg": 622, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/686597246669987fe1b938f1419e598d.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/c5cfd1d89a204722ff95e9a4b134e7f1.png", + "cost": 24, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/r1j5.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/r1j5.png", "shipActions": [ - { "difficulty": "White", "type": "Calculate" }, - { "difficulty": "White", "type": "Evade" }, - { "difficulty": "White", "type": "Barrel Roll" }, - { "difficulty": "White", "type": "SLAM" } + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "SLAM" + } ], - "keywords": ["Droid"] + "keywords": [ + "Droid" + ], + "epic": true + }, + { + "name": "Torra Doza", + "xws": "torradoza-wat1", + "initiative": 3, + "limited": 1, + "shipAbility": { + "name": "Explosion with Wings", + "text": "Setup: You are dealt 1 facedown damage card. After you perform a [SLAM] action, you may expose 1 damage card to remove 1 disarm token." + }, + "standard": false, + "wildspace": true, + "slots": [ + "Talent", + "Missile", + "Astromech", + "Illicit", + "Modification", + "Modification", + "Title" + ], + "cost": 27, + "ability": "While a friendly ship at range 0-3 exposes a damage card, you may gain 1 deplete or stress token. If you do, that card is flipped facedown instead of resolving its effects. While you remove 1 or more red tokens, remove 1 additional token of the same type.", + "caption": "Daughter of the Resistance", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/torradoza-wat1.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/torradoza-wat1.png", + "epic": true } ] } diff --git a/data/pilots/resistance/gr-75-medium-transport.json b/data/pilots/resistance/gr-75-medium-transport.json index 3e792936f..baeda173d 100644 --- a/data/pilots/resistance/gr-75-medium-transport.json +++ b/data/pilots/resistance/gr-75-medium-transport.json @@ -1,9 +1,8 @@ { "name": "GR-75 Medium Transport", "xws": "gr75mediumtransport", - "ffg": 80, - "faction": "Resistance", - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_GR-75.png", + "faction": "resistance", + "icon": "https://infinitearenas.com/xw2/images/shipicons/resistance/I_GR-75.png", "size": "Huge", "dial": [ "0BR", @@ -18,35 +17,72 @@ "3FR", "4FR" ], - "dialCodes": ["GR75-RES"], + "dialCodes": [ + "GR75-RES" + ], "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 0 }, - { "type": "hull", "value": 12 }, - { "type": "shields", "value": 3, "recovers": 1 }, - { "type": "energy", "value": 4, "recovers": 1 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 0 + }, + { + "type": "hull", + "value": 12 + }, + { + "type": "shields", + "value": 3, + "recovers": 1 + }, + { + "type": "energy", + "value": 4, + "recovers": 1 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "Red", "type": "Lock" }, - { "difficulty": "White", "type": "Coordinate" }, - { "difficulty": "Red", "type": "Reinforce" }, - { "difficulty": "White", "type": "Jam" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "Red", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Coordinate" + }, + { + "difficulty": "Red", + "type": "Reinforce" + }, + { + "difficulty": "White", + "type": "Jam" + } ], "pilots": [ { - "ffg": 710, "name": "New Republic Volunteers", "initiative": 7, - "cost": 65, + "cost": 62, "limited": 0, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/5c7cf19b2300729a88d9d58ca60ef3df.jpg", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/newrepublicvolunteers.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/newrepublicvolunteers.png", "shipAbility": { "name": "Resupply Craft", "text": "After another friendly ship at range 0-1 performs an action, you may spend 1 [Energy]. If you do, it removes 1 orange or red token, or recovers 1 shield." }, "text": "In use since the Galactic Civil War, groups within the New Republic still utilize the GR-75 medium transport for supply and aid missions.", - "hyperspace": false, + "standard": false, + "wildspace": false, + "epic": true, "ability": "In use since the Galactic Civil War, groups within the New Republic still utilize the GR-75 medium transport for supply and aid missions.", "engagement": 1, "xws": "newrepublicvolunteers", @@ -62,4 +98,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/data/pilots/resistance/mg-100-starfortress-sf-17.json b/data/pilots/resistance/mg-100-starfortress-sf-17.json index c3680b07a..aac130120 100644 --- a/data/pilots/resistance/mg-100-starfortress-sf-17.json +++ b/data/pilots/resistance/mg-100-starfortress-sf-17.json @@ -1,7 +1,6 @@ { "name": "MG-100 StarFortress", "xws": "mg100starfortress", - "ffg": 55, "size": "Large", "dial": [ "0OR", @@ -19,22 +18,53 @@ "3FW", "3NR" ], - "dialCodes": ["MG1"], - "faction": "Resistance", + "dialCodes": [ + "MG1" + ], + "faction": "resistance", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "arc": "Double Turret Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 9 }, - { "type": "shields", "value": 3 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "arc": "Double Turret Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 9 + }, + { + "type": "shields", + "value": 3 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Rotate Arc" }, - { "difficulty": "White", "type": "Reload" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Rotate Arc" + }, + { + "difficulty": "White", + "type": "Reload" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_StarFortress.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/resistance/I_StarFortress.png", "pilots": [ { "name": "Cobalt Squadron Bomber", @@ -42,9 +72,9 @@ "limited": 0, "xws": "cobaltsquadronbomber", "text": "Whether the ordnance silos of their StarFortresses are loaded with proton bombs or relief supplies, the heroic crews of Cobalt Squadron dedicate their lives to making a difference in the galaxy.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/6b6a3bb8049699e2d66fe09531e8bc00.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/514351d5c41a8341ea5da5673269d917.jpg", - "cost": 51, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/cobaltsquadronbomber.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/cobaltsquadronbomber.png", + "cost": 50, "slots": [ "Sensor", "Crew", @@ -55,8 +85,9 @@ "Gunner", "Tech" ], - "ffg": 434, - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Cat", @@ -65,9 +96,9 @@ "limited": 1, "xws": "cat", "ability": "While you perform a primary attack, if the defender is at range 0-1 of at least 1 friendly device, roll 1 additional die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/b386dc25736682ebc785b15551de903b.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/d927ccf08a9444340378449fe71e9f70.jpg", - "cost": 51, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/cat.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/cat.png", + "cost": 50, "slots": [ "Sensor", "Crew", @@ -78,8 +109,9 @@ "Gunner", "Tech" ], - "ffg": 433, - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Vennie", @@ -88,9 +120,9 @@ "limited": 1, "xws": "vennie", "ability": "While you defend, if the attacker is in a friendly ship's [Single Turret Arc], you may add 1 [Focus] result to your roll.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/0d494986a24e6c55efae066a43161b0d.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/511b878f719e9fa59a50cdf980d10ead.jpg", - "cost": 53, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/vennie.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/vennie.png", + "cost": 51, "slots": [ "Sensor", "Crew", @@ -101,8 +133,9 @@ "Gunner", "Tech" ], - "ffg": 448, - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Ben Teene", @@ -111,10 +144,12 @@ "limited": 1, "xws": "benteene", "ability": "After you perform an attack, if the defender is in your [Single Turret Arc], assign the Rattled condition to the defender.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/c9189c7e510b4d734d4d78c4f595010f.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/74ca7444aec38cb0034b67b04f6aaa76.jpg", - "cost": 54, - "conditions": ["rattled"], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/benteene.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/benteene.png", + "cost": 51, + "conditions": [ + "rattled" + ], "slots": [ "Sensor", "Crew", @@ -125,8 +160,9 @@ "Gunner", "Tech" ], - "ffg": 432, - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Edon Kappehl", @@ -135,9 +171,9 @@ "limited": 1, "xws": "edonkappehl", "ability": "After you fully execute a blue or white maneuver, if you have not dropped or launched a device this round, you may drop 1 device.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/f58fe0b57dc4a9c878627f0fea9cf1ef.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/bbac51ca4ba44f26d90a53b6c5db5e2c.jpg", - "cost": 55, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/edonkappehl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/edonkappehl.png", + "cost": 52, "slots": [ "Sensor", "Crew", @@ -148,8 +184,9 @@ "Gunner", "Tech" ], - "ffg": 447, - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Finch Dallow", @@ -158,9 +195,9 @@ "limited": 1, "xws": "finchdallow", "ability": "Before you would drop a bomb, you may place it in the play area touching you instead.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/43d9a0555f719a4cbe1ffe905fd38c46.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/dafd2937accc362f766ca0da3308ccbc.jpg", - "cost": 55, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/finchdallow.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/finchdallow.png", + "cost": 52, "slots": [ "Sensor", "Crew", @@ -171,8 +208,9 @@ "Gunner", "Tech" ], - "ffg": 431, - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Paige Tico", @@ -180,8 +218,12 @@ "initiative": 5, "limited": 1, "caption": "Hero", - "hyperspace": false, - "charges": { "value": 1, "recovers": 1 }, + "standard": false, + "wildspace": true, + "charges": { + "value": 1, + "recovers": 1 + }, "slots": [ "Talent", "Sensor", @@ -194,10 +236,10 @@ "Modification" ], "ability": "After you drop a device, you may spend 1 [Charge] to drop an additional device.", - "cost": 55, - "ffg": 640, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/2bd70a86ef09e15aa93b165a56f32834.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/fab73e7af97d9d6169f0f504b60d34c2.png" + "cost": 53, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/paigetico.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/paigetico.png", + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/resistance/resistance-transport-pod.json b/data/pilots/resistance/resistance-transport-pod.json index 4e0e9259b..bfea3fd74 100644 --- a/data/pilots/resistance/resistance-transport-pod.json +++ b/data/pilots/resistance/resistance-transport-pod.json @@ -2,7 +2,6 @@ "name": "Resistance Transport Pod", "xws": "resistancetransportpod", "size": "Small", - "ffg": 65, "dial": [ "1TR", "1BB", @@ -20,19 +19,46 @@ "3KR", "4FR" ], - "dialCodes": ["RTP"], - "faction": "Resistance", + "dialCodes": [ + "RTP" + ], + "faction": "resistance", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 3 }, - { "type": "shields", "value": 1 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 3 + }, + { + "type": "shields", + "value": 1 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "Red", "type": "Lock" }, - { "difficulty": "Red", "type": "Barrel Roll" }, - { "difficulty": "Red", "type": "Jam" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "Red", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + }, + { + "difficulty": "Red", + "type": "Jam" + } ], "pilots": [ { @@ -40,21 +66,41 @@ "xws": "bb8", "initiative": 3, "limited": 1, - "hyperspace": true, - "cost": 25, - "slots": ["Talent", "Tech", "Crew", "Modification"], + "standard": true, + "wildspace": true, + "cost": 23, + "slots": [ + "Talent", + "Tech", + "Crew", + "Modification" + ], "ability": "During the System Phase, you may perform a red [Barrel Roll] or [Boost] action.", - "ffg": 573, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/bbe37aa13822e8c94d9b0950cdd9cdb0.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/4d2201d40635299aa134acd52c9587af.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/bb8.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/bb8.png", "shipActions": [ - { "difficulty": "White", "type": "Calculate" }, - { "difficulty": "Red", "type": "Lock" }, - { "difficulty": "Red", "type": "Barrel Roll" }, - { "difficulty": "Red", "type": "Jam" } + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "Red", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + }, + { + "difficulty": "Red", + "type": "Jam" + } ], "caption": "Full of Surprises", - "keywords": ["Droid"] + "keywords": [ + "Droid" + ], + "epic": true }, { "name": "Rose Tico", @@ -62,13 +108,19 @@ "initiative": 3, "limited": 1, "caption": "Earnest Engineer", - "hyperspace": true, - "cost": 28, - "slots": ["Talent", "Tech", "Crew", "Modification"], + "standard": true, + "wildspace": true, + "cost": 26, + "slots": [ + "Talent", + "Tech", + "Crew", + "Modification" + ], "ability": "While you defend or perform an attack, you may reroll up to 1 of your results for each other friendly ship in the attack arc.", - "ffg": 574, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/40cba6527802ef9afa41e4009265873c.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/1dbf7b355d60f5b3f278522eb702f99f.png" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/rosetico.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/rosetico.png", + "epic": true }, { "name": "Vi Moradi", @@ -76,14 +128,21 @@ "initiative": 1, "limited": 1, "caption": "Starling", - "hyperspace": true, - "cost": 27, - "slots": ["Tech", "Crew", "Modification"], + "standard": true, + "wildspace": true, + "cost": 24, + "slots": [ + "Tech", + "Crew", + "Modification" + ], "ability": "Setup: After placing forces, assign the Compromising Intel condition to 1 enemy ship.", - "conditions": ["compromisingintel"], - "ffg": 576, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/f13328acfd703dc5489fa2249b9f675e.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/14139a2d20ff13b01bd5810371a89064.png" + "conditions": [ + "compromisingintel" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/vimoradi.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/vimoradi.png", + "epic": true }, { "name": "Finn", @@ -91,14 +150,40 @@ "initiative": 2, "limited": 1, "caption": "Big Deal", - "hyperspace": true, - "cost": 32, - "slots": ["Talent", "Tech", "Crew", "Modification"], + "standard": true, + "wildspace": true, + "cost": 31, + "slots": [ + "Talent", + "Tech", + "Crew", + "Modification" + ], "ability": "While you defend or perform an attack, you may add 1 blank result, or you may gain 1 strain token to add 1 focus result instead.", - "ffg": 575, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/6e5fea21ac8a7ee345fd07f1c42cc81d.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/311d88e51a039b79e9a422ab3c475288.png" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/finn.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/finn.png", + "epic": true + }, + { + "name": "DJ", + "xws": "dj-wat1", + "initiative": 2, + "limited": 1, + "caption": "Don't Join", + "standard": false, + "wildspace": true, + "cost": 25, + "slots": [ + "Illicit", + "Tech", + "Crew", + "Modification" + ], + "ability": "After you perform a [Jam] action, you may gain 1 cloak token.", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dj-wat1.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dj-wat1.png", + "epic": true } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Resistance_Transport_Cockpit_Pod.png" + "icon": "https://infinitearenas.com/xw2/images/shipicons/resistance/I_Resistance_Transport_Cockpit_Pod.png" } diff --git a/data/pilots/resistance/resistance-transport.json b/data/pilots/resistance/resistance-transport.json index 9751f809c..c5963fdda 100644 --- a/data/pilots/resistance/resistance-transport.json +++ b/data/pilots/resistance/resistance-transport.json @@ -2,7 +2,6 @@ "name": "Resistance Transport", "xws": "resistancetransport", "size": "Small", - "ffg": 63, "dial": [ "0OR", "1AR", @@ -22,19 +21,46 @@ "3NR", "4FR" ], - "dialCodes": ["RT"], - "faction": "Resistance", + "dialCodes": [ + "RT" + ], + "faction": "resistance", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 5 }, - { "type": "shields", "value": 3 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 5 + }, + { + "type": "shields", + "value": 3 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Coordinate" }, - { "difficulty": "Red", "type": "Jam" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Coordinate" + }, + { + "difficulty": "Red", + "type": "Jam" + } ], "pilots": [ { @@ -42,8 +68,9 @@ "xws": "covanell", "initiative": 4, "limited": 1, - "hyperspace": false, - "cost": 38, + "standard": true, + "wildspace": true, + "cost": 37, "slots": [ "Talent", "Tech", @@ -56,20 +83,22 @@ "Modification" ], "ability": "While you defend or perform a primary attack, if your revealed maneuver is red, roll 1 additional die.", - "ffg": 569, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/27956dc3600e6e06bf26f9a981205410.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/a9ae63785f4cadaa28a74858ff1d1bc4.png", - "caption": "Evacuation Escort" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/covanell.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/covanell.png", + "caption": "Evacuation Escort", + "epic": true }, { "name": "Pammich Nerro Goode", "xws": "pammichnerrogoode", "initiative": 3, "limited": 1, - "caption": "D'Qar Dispatcher", - "hyperspace": false, - "cost": 35, + "caption": "D’Qar Dispatcher", + "standard": true, + "wildspace": true, + "cost": 31, "slots": [ + "Talent", "Tech", "Cannon", "Cannon", @@ -80,18 +109,20 @@ "Modification" ], "ability": "While you have 2 or fewer stress tokens, you may execute red maneuvers even while stressed.", - "ffg": 570, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/e5f2e692fcaf63d513cd5c7c1294283e.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/9d7dd5d0851911412dd5c86603a0ea91.png" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/pammichnerrogoode.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/pammichnerrogoode.png", + "epic": true }, { "name": "Nodin Chavdri", "xws": "nodinchavdri", "initiative": 2, "limited": 1, - "hyperspace": false, - "cost": 37, + "standard": true, + "wildspace": true, + "cost": 33, "slots": [ + "Talent", "Tech", "Cannon", "Cannon", @@ -102,10 +133,10 @@ "Modification" ], "ability": "After you coordinate or are coordinated, if you have 2 or fewer stress tokens, you may perform 1 action on your action bar as a red action, even if you are stressed.", - "ffg": 571, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/b0179494a00c2538a4467793e722db3e.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/9f41de269cb1ff091487554fb53b2374.png", - "caption": "Insubordinate Insurgent" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/nodinchavdri.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/nodinchavdri.png", + "caption": "Insubordinate Insurgent", + "epic": true }, { "name": "Logistics Division Pilot", @@ -113,8 +144,9 @@ "initiative": 1, "limited": 0, "text": "Without the support of the New Republic, members of the Resistance often pull double duty as transport pilots or mechanics, putting their skills and technical knowledge to use in the fight against the First Order.", - "hyperspace": true, - "cost": 34, + "standard": true, + "wildspace": true, + "cost": 31, "slots": [ "Tech", "Cannon", @@ -125,10 +157,59 @@ "Astromech", "Modification" ], - "ffg": 572, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/005545edf9fc1c82464f52edad236b27.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/57ea37cdb13f52ec3f3e0b745fc9d630.png" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/logisticsdivisionpilot.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/logisticsdivisionpilot.png", + "epic": true + }, + { + "name": "Taka Jamoreesa", + "caption": "Snograth Enthusiast", + "xws": "takajamoreesa", + "initiative": 2, + "limited": 1, + "ability": "After you jam, you must assign 1 jam token to another ship at range 0-1 of the jammed ship, if able.", + "standard": true, + "wildspace": true, + "cost": 31, + "slots": [ + "Tech", + "Cannon", + "Cannon", + "Torpedo", + "Crew", + "Crew", + "Astromech", + "Modification" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/takajamoreesa.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/takajamoreesa.png", + "epic": true + }, + { + "name": "Jannah", + "xws": "jannah-wat1", + "initiative": 5, + "limited": 1, + "caption": "Orbak Rider", + "standard": false, + "wildspace": true, + "cost": 42, + "slots": [ + "Talent", + "Tech", + "Cannon", + "Cannon", + "Torpedo", + "Crew", + "Crew", + "Astromech", + "Modification" + ], + "ability": "After you perform an action added to your action bar by a [Crew] upgrade, you may perform a [Reinforce] action.", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/jannah-wat1.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/jannah-wat1.png", + "epic": true } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Resistance_Transport.png" + "icon": "https://infinitearenas.com/xw2/images/shipicons/resistance/I_Resistance_Transport.png" } diff --git a/data/pilots/resistance/rz-2-a-wing.json b/data/pilots/resistance/rz-2-a-wing.json index 985104204..02376c51a 100644 --- a/data/pilots/resistance/rz-2-a-wing.json +++ b/data/pilots/resistance/rz-2-a-wing.json @@ -1,7 +1,6 @@ { "name": "RZ-2 A-wing", "xws": "rz2awing", - "ffg": 54, "size": "Small", "dial": [ "1TW", @@ -22,80 +21,137 @@ "5FB", "5KR" ], - "dialCodes": ["RZ2"], - "faction": "Resistance", + "dialCodes": [ + "RZ2" + ], + "faction": "resistance", "stats": [ - { "arc": "Single Turret Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 3 }, - { "type": "hull", "value": 2 }, - { "type": "shields", "value": 2 } + { + "arc": "Single Turret Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 2 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Evade" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Barrel Roll" }, - { "difficulty": "White", "type": "Boost" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Boost" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_RZ-2_A-wing.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/resistance/I_RZ-2_A-wing.png", "pilots": [ { - "name": "L'ulo L'ampar", + "name": "L’ulo L’ampar", "caption": "Luminous Mentor", "initiative": 5, "limited": 1, - "cost": 40, + "cost": 41, "xws": "lulolampar", "ability": "While you defend or perform a primary attack, if you are stressed, you must roll 1 fewer defense die or 1 additional attack die.", "shipAbility": { "name": "Refined Gyrostabilizers", "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. After you perform an action, you may perform a red [Boost] or red [Rotate Arc] action." }, - "slots": ["Talent", "Talent", "Missile", "Tech"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/e15d3e2a2fc082b95a64a83df0c96f7f.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/b97a025a7859f54bbc68374ff5d8116e.jpg", - "ffg": 435, - "hyperspace": true, - "keywords": ["A-wing"] + "slots": [ + "Talent", + "Talent", + "Missile", + "Tech" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lulolampar.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lulolampar.png", + "standard": true, + "wildspace": true, + "keywords": [ + "A-wing" + ], + "epic": true }, { "name": "Tallissan Lintra", "caption": "Deadly Approach", "initiative": 5, "limited": 1, - "cost": 37, + "cost": 38, "xws": "tallissanlintra", "ability": "While an enemy ship in your [Bullseye Arc] performs an attack, you may spend 1 [Charge]. If you do, the defender rolls 1 additional die.", "shipAbility": { "name": "Refined Gyrostabilizers", "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. After you perform an action, you may perform a red [Boost] or red [Rotate Arc] action." }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/72cb6c4e50b0ad24af0bb84ce0aa53f0.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/ee8c3c26ce6432d7581c5f61392597bc.jpg", - "charges": { "value": 1, "recovers": 1 }, - "slots": ["Talent", "Talent", "Missile", "Tech"], - "ffg": 436, - "hyperspace": true, - "keywords": ["A-wing"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/tallissanlintra.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/tallissanlintra.png", + "charges": { + "value": 1, + "recovers": 1 + }, + "slots": [ + "Talent", + "Talent", + "Missile", + "Tech" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "A-wing" + ], + "epic": true }, { "name": "Zari Bangel", "caption": "Aerial Exhibitionist", "initiative": 3, "limited": 1, - "cost": 35, + "cost": 34, "xws": "zaribangel", "ability": "You do not skip your Perform Action step after you partially execute a maneuver.", "shipAbility": { "name": "Refined Gyrostabilizers", "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. After you perform an action, you may perform a red [Boost] or red [Rotate Arc] action." }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/d7f37dbb86bb706dd535e9a65b69149a.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/2fe44e1e5496645c16f4d2189a1746e3.jpg", - "slots": ["Talent", "Talent", "Missile", "Tech"], - "ffg": 438, - "hyperspace": true, - "keywords": ["A-wing"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/zaribangel.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/zaribangel.png", + "slots": [ + "Talent", + "Talent", + "Missile", + "Tech" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "A-wing" + ], + "epic": true }, { "name": "Greer Sonnel", @@ -109,125 +165,181 @@ "name": "Refined Gyrostabilizers", "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. After you perform an action, you may perform a red [Boost] or red [Rotate Arc] action." }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/7fc7b194b02ad7af6adf4ef9b79108d1.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/84bf1ce21926d4500b54e122da01b162.jpg", - "slots": ["Talent", "Talent", "Missile", "Tech"], - "ffg": 437, - "hyperspace": true, - "keywords": ["A-wing"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/greersonnel.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/greersonnel.png", + "slots": [ + "Talent", + "Talent", + "Missile", + "Tech" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "A-wing" + ], + "epic": true }, { "name": "Green Squadron Expert", "initiative": 3, "limited": 0, - "cost": 34, + "cost": 33, "xws": "greensquadronexpert", "text": "Years of field-expedient modifications were standardized in the RZ-2 design, but daring pilots see the ship's improved reliability as a challenge to further push the limits of its performance.", "shipAbility": { "name": "Refined Gyrostabilizers", "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. After you perform an action, you may perform a red [Boost] or red [Rotate Arc] action." }, - "slots": ["Talent", "Talent", "Missile", "Tech"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/3f7ad9efb4c5af8b4d1f5c07a3c7538b.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/8427bdfb1cf9497a9ab797e2c955ba41.jpg", - "ffg": 439, - "hyperspace": false, - "keywords": ["A-wing"] + "slots": [ + "Talent", + "Talent", + "Missile", + "Tech" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/greensquadronexpert.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/greensquadronexpert.png", + "standard": true, + "wildspace": true, + "keywords": [ + "A-wing" + ], + "epic": true }, { "name": "Blue Squadron Recruit", "initiative": 1, "limited": 0, - "cost": 33, + "cost": 32, "xws": "bluesquadronrecruit", "text": "Young beings across the galaxy have grown up on tales of heroism in the Galactic Civil War, and many learned to fly in the same cockpits from which their parents fought the Empire.", "shipAbility": { "name": "Refined Gyrostabilizers", "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. After you perform an action, you may perform a red [Boost] or red [Rotate Arc] action." }, - "slots": ["Talent", "Missile", "Tech"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/e033b2729305ac0b678d6031ada7b2b8.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/3df643a75106a59899e5f32ef56e8a5e.jpg", - "ffg": 440, - "hyperspace": false, - "keywords": ["A-wing"] + "slots": [ + "Talent", + "Missile", + "Tech" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/bluesquadronrecruit.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/bluesquadronrecruit.png", + "standard": true, + "wildspace": true, + "keywords": [ + "A-wing" + ], + "epic": true }, { "name": "Zizi Tlo", - "xws": "zizitlo", + "caption": "Committed to the Cause", "initiative": 5, "limited": 1, + "cost": 44, + "xws": "zizitlo", + "ability": "After you defend or perform an attack, you may spend 1 [Charge] to gain 1 focus or evade token.", + "charges": { + "value": 1, + "recovers": 1 + }, "shipAbility": { "name": "Refined Gyrostabilizers", "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. After you perform an action, you may perform a red [Boost] or red [Rotate Arc] action." }, - "caption": "Committed to the Cause", - "hyperspace": true, - "slots": ["Talent", "Talent", "Tech", "Missile"], - "ability": "After you defend or perform an attack, you may spend 1 [Charge] to gain 1 focus or evade token.", - "cost": 41, - "ffg": 638, - "charges": { "value": 1, "recovers": 1 }, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/7d5b4f0691b55e9c755b1e71bd16a422.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/17b2411d61b671ebca568ca2bb55e2da.png", - "keywords": ["A-wing"] + "slots": [ + "Talent", + "Talent", + "Tech", + "Missile" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/zizitlo.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/zizitlo.png", + "standard": true, + "wildspace": true, + "keywords": [ + "A-wing" + ], + "epic": true }, { "name": "Ronith Blario", - "xws": "ronithblario", + "caption": "Reckless Rookie", "initiative": 2, "limited": 1, + "cost": 33, + "xws": "ronithblario", + "ability": "While you defend or perform an attack, if the enemy ship is in another friendly ship's [Single Turret Arc], you may spend 1 focus token from that friendly ship to change 1 of your [Focus] results to an [Evade] or [Hit] result.", "shipAbility": { "name": "Refined Gyrostabilizers", "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. After you perform an action, you may perform a red [Boost] or red [Rotate Arc] action." }, - "caption": "Reckless Rookie", - "hyperspace": true, - "slots": ["Talent", "Tech", "Missile"], - "ability": "While you defend or perform an attack, if the enemy ship is in another friendly ship's [Single Turret Arc], you may spend 1 focus token from that friendly ship to change 1 of your [Focus] results to an [Evade] or [Hit] result.", - "cost": 34, - "ffg": 639, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/0930bea45803774f4b0d863b92a64328.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/1e861cadd2291ece7a9207cddcdcba39.png", - "keywords": ["A-wing"] + "slots": [ + "Talent", + "Tech", + "Missile" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/ronithblario.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/ronithblario.png", + "standard": true, + "wildspace": true, + "keywords": [ + "A-wing" + ], + "epic": true }, { "name": "Merl Cobben", "caption": "Distracting Daredevil", "initiative": 1, "limited": 1, - "cost": 33, + "cost": 34, "xws": "merlcobben", "ability": "While a friendly ship at range 0-2 performs a primary attack, if you are in the defender's [Bullseye Arc], the defender rolls 1 fewer defense die.", "shipAbility": { "name": "Refined Gyrostabilizers", "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. After you perform an action, you may perform a red [Boost] or red [Rotate Arc] action." }, - "slots": ["Talent", "Missile", "Tech"], - "hyperspace": true, - "ffg": 704, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/18/3e/183ed99b-c562-4db5-9377-daf4661dfac9/swz68_merl-cobben.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/c51115091ff7f31d6c2da890ed303dd8.jpg", - "keywords": ["A-wing"] + "slots": [ + "Talent", + "Missile", + "Tech" + ], + "standard": true, + "wildspace": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/merlcobben.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/merlcobben.png", + "keywords": [ + "A-wing" + ], + "epic": true }, { "name": "Suralinda Javos", "caption": "Inquisitive Journalist", "initiative": 3, "limited": 1, - "cost": 35, + "cost": 34, "xws": "suralindajavos", "ability": "After you partially execute a maneuver, you may gain 1 strain token to rotate 90° or 180°.", "shipAbility": { "name": "Refined Gyrostabilizers", "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. After you perform an action, you may perform a red [Boost] or red [Rotate Arc] action." }, - "slots": ["Talent", "Talent", "Missile", "Tech"], - "hyperspace": true, - "ffg": 703, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/e1/64/e1644adc-8d8a-4408-90a1-621e0dd4b0c6/swz68_suralinda-javos.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/255fef80a9e49eb154f254405b6d4ff5.jpg", - "keywords": ["A-wing"] + "slots": [ + "Talent", + "Talent", + "Missile", + "Tech" + ], + "standard": true, + "wildspace": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/suralindajavos.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/suralindajavos.png", + "keywords": [ + "A-wing" + ], + "epic": true }, { "name": "Wrobie Tyce", @@ -241,12 +353,20 @@ "name": "Refined Gyrostabilizers", "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. After you perform an action, you may perform a red [Boost] or red [Rotate Arc] action." }, - "slots": ["Talent", "Talent", "Missile", "Tech"], - "hyperspace": true, - "ffg": 702, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/d3/66/d3669149-00da-4abf-9e08-9655e10db166/swz68_wrobie-tyce.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/cdc08804712c43ad1f8c6d0597f9d8e3.jpg", - "keywords": ["A-wing"] + "slots": [ + "Talent", + "Talent", + "Missile", + "Tech" + ], + "standard": true, + "wildspace": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/wrobietyce.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/wrobietyce.png", + "keywords": [ + "A-wing" + ], + "epic": true }, { "name": "Seftin Vanik", @@ -260,12 +380,20 @@ "name": "Refined Gyrostabilizers", "text": "You can rotate your [Single Turret Arc] indicator only to your [Front Arc] or [Rear Arc]. After you perform an action, you may perform a red [Boost] or red [Rotate Arc] action." }, - "slots": ["Talent", "Talent", "Missile", "Tech"], - "hyperspace": true, - "ffg": 701, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/73/ef/73ef0cdc-deb6-451d-a76c-0b3d9ef147ec/swz68_seftin-vanik.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/ee11a475190af6c517ca872b19cdaa62.jpg", - "keywords": ["A-wing"] + "slots": [ + "Talent", + "Talent", + "Missile", + "Tech" + ], + "standard": true, + "wildspace": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/seftinvanik.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/seftinvanik.png", + "keywords": [ + "A-wing" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/resistance/scavenged-yt-1300.json b/data/pilots/resistance/scavenged-yt-1300.json index bedadae5e..6d24ef614 100644 --- a/data/pilots/resistance/scavenged-yt-1300.json +++ b/data/pilots/resistance/scavenged-yt-1300.json @@ -1,7 +1,6 @@ { "name": "Scavenged YT-1300", "xws": "scavengedyt1300", - "ffg": 57, "size": "Large", "dial": [ "1BW", @@ -21,21 +20,48 @@ "3PR", "4FR" ], - "dialCodes": ["sYT"], - "faction": "Resistance", + "dialCodes": [ + "sYT" + ], + "faction": "resistance", "stats": [ - { "arc": "Double Turret Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 8 }, - { "type": "shields", "value": 3 } + { + "arc": "Double Turret Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 8 + }, + { + "type": "shields", + "value": 3 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Boost" }, - { "difficulty": "Red", "type": "Rotate Arc" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Boost" + }, + { + "difficulty": "Red", + "type": "Rotate Arc" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Falcon_Resistance.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/resistance/I_Falcon_Resistance.png", "pilots": [ { "name": "Resistance Sympathizer", @@ -43,9 +69,9 @@ "limited": 0, "xws": "resistancesympathizer", "text": "After witnessing the Hosnian Cataclysm, some spacers willingly aided the Resistance with whatever ships they had.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/28411b84c1b15f0bfa9928f2206e44f5.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/3e567923957881e9a4dbef46789c7fbf.jpg", - "cost": 58, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/resistancesympathizer.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/resistancesympathizer.png", + "cost": 55, "slots": [ "Missile", "Crew", @@ -55,9 +81,13 @@ "Title", "Gunner" ], - "ffg": 430, - "hyperspace": false, - "keywords": ["Freighter", "YT-1300"] + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter", + "YT-1300" + ], + "epic": true }, { "name": "Chewbacca", @@ -66,9 +96,9 @@ "limited": 1, "xws": "chewbacca-scavengedyt1300", "ability": "After a friendly ship at range 0-3 is destroyed, before that ship is removed, you may perform an action. Then you may perform a bonus attack.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/209a8dece475a265aaf1b5318ba7f08a.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/c40ec30b7df138c4510b08f4f02d54b5.jpg", - "cost": 60, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/chewbacca-scavengedyt1300.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/chewbacca-scavengedyt1300.png", + "cost": 59, "slots": [ "Talent", "Missile", @@ -79,9 +109,13 @@ "Title", "Gunner" ], - "ffg": 429, - "hyperspace": false, - "keywords": ["Freighter", "YT-1300"] + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter", + "YT-1300" + ], + "epic": true }, { "name": "Han Solo", @@ -90,9 +124,9 @@ "limited": 1, "xws": "hansolo-scavengedyt1300", "ability": "Setup: You can be placed anywhere in the play area beyond range 3 of enemy ships.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/5816bd53c272ed50096e22ae1af2b38a.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/15263defc98e4a54d76ae9224534dacf.jpg", - "cost": 62, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/hansolo-scavengedyt1300.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/hansolo-scavengedyt1300.png", + "cost": 60, "slots": [ "Talent", "Missile", @@ -103,9 +137,13 @@ "Title", "Gunner" ], - "ffg": 427, - "hyperspace": false, - "keywords": ["Freighter", "YT-1300"] + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter", + "YT-1300" + ], + "epic": true }, { "name": "Rey", @@ -114,10 +152,16 @@ "limited": 1, "xws": "rey", "ability": "While you defend or perform an attack, if the enemy ship is in your [Front Arc], you may spend 1 [Force] to change 1 of your blank results to an [Evade] or [Hit] result.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/0ee7006e6cc51d8c08b784c9b770f1b0.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/1ff06aeff0d74773e9c9f3846b38b75d.jpg", - "force": { "value": 2, "recovers": 1, "side": ["light"] }, - "cost": 68, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/rey.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/rey.png", + "force": { + "value": 2, + "recovers": 1, + "side": [ + "light" + ] + }, + "cost": 71, "slots": [ "Missile", "Crew", @@ -128,9 +172,78 @@ "Gunner", "Force Power" ], - "ffg": 428, - "hyperspace": false, - "keywords": ["Freighter", "Light Side", "YT-1300"] + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter", + "Light Side", + "YT-1300" + ], + "epic": true + }, + { + "name": "Poe Dameron", + "caption": "A Difficult Man", + "initiative": 6, + "limited": 1, + "xws": "poedameron-scavengedyt1300", + "ability": "Before you execute a maneuver, you may spend 1 [Charge]. If you do, ignore obstacles during that maneuver. After you fully execute a maneuver, you may spend 2 [Charge] to perform a white [Boost] or red [Barrel Roll] action. Then if you performed a red [Barrel Roll] action, expose 1 damage card, if able.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/poedameron-scavengedyt1300.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/poedameron-scavengedyt1300.png", + "charges": { + "value": 2, + "recovers": 1 + }, + "cost": 67, + "slots": [ + "Talent", + "Missile", + "Crew", + "Crew", + "Illicit", + "Modification", + "Title", + "Gunner" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter", + "YT-1300" + ], + "epic": true + }, + { + "name": "Lando Calrissian", + "caption": "Old General", + "initiative": 5, + "limited": 1, + "xws": "landocalrissian-scavengedyt1300", + "ability": "After you fully execute a red maneuver or perform a red action, you may spend any number of [Charge] to choose that many friendly ships at range 0-2. The chosen ships may perform an action, even while stressed.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/landocalrissian-scavengedyt1300.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/landocalrissian-scavengedyt1300.png", + "charges": { + "value": 3, + "recovers": 1 + }, + "cost": 71, + "slots": [ + "Talent", + "Missile", + "Crew", + "Crew", + "Illicit", + "Modification", + "Title", + "Gunner" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter", + "YT-1300" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/resistance/t-70-x-wing.json b/data/pilots/resistance/t-70-x-wing.json index 4115d05b2..f87623287 100644 --- a/data/pilots/resistance/t-70-x-wing.json +++ b/data/pilots/resistance/t-70-x-wing.json @@ -1,7 +1,6 @@ { "name": "T-70 X-wing", "xws": "t70xwing", - "ffg": 53, "size": "Small", "dial": [ "1BB", @@ -22,20 +21,44 @@ "4FW", "4KR" ], - "dialCodes": ["T70"], - "faction": "Resistance", + "dialCodes": [ + "T70" + ], + "faction": "resistance", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 4 }, - { "type": "shields", "value": 3 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 4 + }, + { + "type": "shields", + "value": 3 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Boost" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Boost" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_X-wing-T70.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/resistance/I_X-wing-T70.png", "pilots": [ { "name": "Poe Dameron", @@ -43,15 +66,18 @@ "initiative": 6, "limited": 1, "xws": "poedameron", + "cost": 64, "ability": "After you perform an action, you may spend 1 [Charge] to perform a white action, treating it as red.", "shipAbility": { "name": "Weapon Hardpoint", "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/14c504c0815213a66010c4013d9296ee.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/cb8efd0b723b8ceb0c35b7a64b309bf2.jpg", - "cost": 61, - "charges": { "value": 1, "recovers": 1 }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/poedameron.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/poedameron.png", + "charges": { + "value": 1, + "recovers": 1 + }, "slots": [ "Talent", "Astromech", @@ -60,9 +86,12 @@ "Configuration", "Tech" ], - "ffg": 418, - "hyperspace": true, - "keywords": ["X-wing"] + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true }, { "name": "Poe Dameron", @@ -70,13 +99,16 @@ "initiative": 6, "limited": 1, "xws": "poedameron-swz68", + "cost": 57, "ability": "After a friendly ship at range 0-2 performs an action during its activation, you may spend 2 [Charge]. If you do, that ship may perform a white action, treating it as red.", "shipAbility": { "name": "Weapon Hardpoint", "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." }, - "cost": 55, - "charges": { "value": 2, "recovers": 1 }, + "charges": { + "value": 2, + "recovers": 1 + }, "slots": [ "Talent", "Astromech", @@ -85,43 +117,55 @@ "Configuration", "Tech" ], - "ffg": 697, - "hyperspace": true, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/76/66/76668017-6298-4471-b1cc-d388d5fc11b8/swz68_poe-dameron.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/ecefa0fae78bbecdcb598ff36d323d4d.jpg", - "keywords": ["X-wing"] + "standard": true, + "wildspace": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/poedameron-swz68.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/poedameron-swz68.png", + "keywords": [ + "X-wing" + ], + "epic": true }, { "name": "Blue Squadron Rookie", "initiative": 1, "limited": 0, "xws": "bluesquadronrookie", + "cost": 42, "text": "The Incom-FreiTek T-70 X-Wing was designed to improve upon the tactical flexibility of the venerable T-65. The starfighter's advanced droid socket is compatible with a wide array of astromechs, and its modular weapons pods allow ground crews to tailor its payload for specific missions.", "shipAbility": { "name": "Weapon Hardpoint", "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/a82a39a4c9baf883fbc6ae353abdd2ec.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/8ceeaf3d985f16da8b8d5a1ebc49ea2b.jpg", - "cost": 41, - "slots": ["Astromech", "Modification", "Title", "Configuration", "Tech"], - "ffg": 426, - "hyperspace": false, - "keywords": ["X-wing"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/bluesquadronrookie.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/bluesquadronrookie.png", + "slots": [ + "Astromech", + "Modification", + "Title", + "Configuration", + "Tech" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true }, { "name": "Red Squadron Expert", "initiative": 3, "limited": 0, "xws": "redsquadronexpert", + "cost": 44, "text": "Although the bulk of the Resistance Starfighter Corps is made up of young volunteers from the New Republic, their ranks are bolstered by veterans of the Galactic Civil War determined to finish what they started decades ago.", "shipAbility": { "name": "Weapon Hardpoint", "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/58967d94cfef285c4df2fdbb77fd0502.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/0e847453270afe089ea331316f7b7731.jpg", - "cost": 43, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/redsquadronexpert.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/redsquadronexpert.png", "slots": [ "Talent", "Astromech", @@ -130,23 +174,26 @@ "Configuration", "Tech" ], - "ffg": 425, - "hyperspace": false, - "keywords": ["X-wing"] + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true }, { "name": "Black Squadron Ace", "initiative": 4, "limited": 0, "xws": "blacksquadronace-t70xwing", + "cost": 46, "text": "During the Cold War, Poe Dameron's Black Squadron conducted daring covert operations against the First Order in defiance of treaties ratified by the New Republic Senate.", "shipAbility": { "name": "Weapon Hardpoint", "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/d2b6a5166b3fd985df5d1941408b58e1.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/e75228d8174f7879c51157fdd9b26e61.jpg", - "cost": 46, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/blacksquadronace-t70xwing.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/blacksquadronace-t70xwing.png", "slots": [ "Talent", "Astromech", @@ -155,9 +202,12 @@ "Configuration", "Tech" ], - "ffg": 451, - "hyperspace": false, - "keywords": ["X-wing"] + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true }, { "name": "Ello Asty", @@ -165,12 +215,12 @@ "initiative": 5, "limited": 1, "xws": "elloasty", + "cost": 53, "ability": "After you reveal a red Tallon Roll [[Tallon Roll Left] or [Tallon Roll Right]] maneuver, if you have 2 or fewer stress tokens, treat that maneuver as white.", "shipAbility": { "name": "Weapon Hardpoint", "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." }, - "cost": 53, "slots": [ "Talent", "Astromech", @@ -179,11 +229,14 @@ "Configuration", "Tech" ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/f77180ae05fd919a0dff2225380246a6.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/ff73537d7ab2f063e7a510c05013269e.jpg", - "ffg": 419, - "hyperspace": true, - "keywords": ["X-wing"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/elloasty.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/elloasty.png", + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true }, { "name": "Joph Seastriker", @@ -191,12 +244,12 @@ "initiative": 3, "limited": 1, "xws": "jophseastriker", + "cost": 45, "ability": "After you lose 1 shield, gain 1 evade token.", "shipAbility": { "name": "Weapon Hardpoint", "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." }, - "cost": 46, "slots": [ "Talent", "Astromech", @@ -205,11 +258,14 @@ "Configuration", "Tech" ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/df85f5b77e16363a05c8f68792440166.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/b5b43d179b039649e764e6bd4f212a29.jpg", - "ffg": 424, - "hyperspace": true, - "keywords": ["X-wing"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/jophseastriker.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/jophseastriker.png", + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true }, { "name": "Kare Kun", @@ -217,12 +273,12 @@ "initiative": 4, "limited": 1, "xws": "karekun", + "cost": 47, "ability": "While you boost, you may use the [1 [Turn Left]] or [1 [Turn Right]] template instead.", "shipAbility": { "name": "Weapon Hardpoint", "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." }, - "cost": 47, "slots": [ "Talent", "Astromech", @@ -231,11 +287,14 @@ "Configuration", "Tech" ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/6edb8ed4cbf882bf6dbe7a37b5981d85.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/f121bc27f2b283258a65d348bcafe40d.jpg", - "ffg": 421, - "hyperspace": true, - "keywords": ["X-wing"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/karekun.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/karekun.png", + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true }, { "name": "Lieutenant Bastian", @@ -243,18 +302,27 @@ "initiative": 2, "limited": 1, "xws": "lieutenantbastian", + "cost": 48, "ability": "After a ship at range 1-2 is dealt a damage card, you may acquire a lock on that ship.", "shipAbility": { "name": "Weapon Hardpoint", "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/3f43d6b3c6e87bde6a681e9d4421dec8.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/52f96e7e98dc51c1280052514e303704.jpg", - "cost": 47, - "slots": ["Astromech", "Modification", "Title", "Configuration", "Tech"], - "ffg": 449, - "hyperspace": true, - "keywords": ["X-wing"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lieutenantbastian.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lieutenantbastian.png", + "slots": [ + "Astromech", + "Modification", + "Title", + "Configuration", + "Tech" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true }, { "name": "Nien Nunb", @@ -262,12 +330,12 @@ "initiative": 5, "limited": 1, "xws": "niennunb", + "cost": 56, "ability": "After you gain a stress token, if there is an enemy ship in your [Front Arc] at range 0-1, you may remove that stress token.", "shipAbility": { "name": "Weapon Hardpoint", "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." }, - "cost": 54, "slots": [ "Talent", "Astromech", @@ -276,11 +344,14 @@ "Configuration", "Tech" ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/00a3c393a33b33168bc61e47749e1474.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/5daa441317975eb576396af36e852f74.jpg", - "ffg": 420, - "hyperspace": true, - "keywords": ["X-wing"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/niennunb.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/niennunb.png", + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true }, { "name": "Jaycris Tubbs", @@ -288,18 +359,27 @@ "initiative": 1, "limited": 1, "xws": "jaycristubbs", + "cost": 43, "ability": "After you fully execute a blue maneuver, you may choose a friendly ship at range 0-1. If you do, that ship removes 1 stress token.", "shipAbility": { "name": "Weapon Hardpoint", "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/5f3abacb9a081f5a3ca42f7a30da0e6c.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/8874efb312a64da49889c66f96338f9c.jpg", - "cost": 45, - "slots": ["Astromech", "Modification", "Title", "Configuration", "Tech"], - "ffg": 450, - "hyperspace": true, - "keywords": ["X-wing"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/jaycristubbs.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/jaycristubbs.png", + "slots": [ + "Astromech", + "Modification", + "Title", + "Configuration", + "Tech" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true }, { "name": "Jessika Pava", @@ -307,19 +387,31 @@ "initiative": 3, "limited": 1, "xws": "jessikapava", + "cost": 51, "ability": "While you defend or perform an attack, you may spend 1 [Charge] or 1 non-recurring [Charge] from your equipped [Astromech] upgrade to reroll up to 1 of your dice for each other friendly ship at range 0-1.", + "charges": { + "value": 1, + "recovers": 1 + }, "shipAbility": { "name": "Weapon Hardpoint", "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/bc26d8864f421f1362473aa4982108ba.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/05c48dc381e54c6951d3ee42d3587577.jpg", - "cost": 51, - "charges": { "value": 1, "recovers": 1 }, - "slots": ["Astromech", "Modification", "Title", "Configuration", "Tech"], - "ffg": 423, - "hyperspace": true, - "keywords": ["X-wing"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/jessikapava.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/jessikapava.png", + "slots": [ + "Astromech", + "Modification", + "Title", + "Configuration", + "Tech" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true }, { "name": "Temmin Wexley", @@ -327,14 +419,14 @@ "initiative": 4, "limited": 1, "xws": "temminwexley", + "cost": 46, "ability": "After you fully execute a speed 2-4 maneuver, you may perform a [Boost] action.", "shipAbility": { "name": "Weapon Hardpoint", "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/bb98b7ea3a580542b586a9999fd352c9.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/6acd118b12a34136d4d1df6c765a0deb.jpg", - "cost": 49, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/temminwexley.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/temminwexley.png", "slots": [ "Talent", "Astromech", @@ -343,9 +435,12 @@ "Configuration", "Tech" ], - "ffg": 422, - "hyperspace": true, - "keywords": ["X-wing"] + "standard": true, + "wildspace": true, + "keywords": [ + "X-wing" + ], + "epic": true }, { "name": "Temmin Wexley", @@ -353,12 +448,12 @@ "initiative": 4, "limited": 1, "xws": "temminwexley-swz68", + "cost": 53, "ability": "At the start of the Engagement Phase, each friendly T-70 X-wing at range 0-3 may gain 1 strain token to flip its equipped [Configuration] upgrade. If it does, that ship gains 1 calculate token.", "shipAbility": { "name": "Weapon Hardpoint", "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." }, - "cost": 53, "slots": [ "Talent", "Astromech", @@ -367,24 +462,27 @@ "Configuration", "Tech" ], - "ffg": 698, - "hyperspace": true, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/2c/81/2c81e32f-8c0d-4d26-a9b5-e6bfbe9dab0e/swz68_temmin-wexley.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/9ff6521bca10294ce8413081a1068ee0.jpg", - "keywords": ["X-wing"] + "standard": true, + "wildspace": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/temminwexley-swz68.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/temminwexley-swz68.png", + "keywords": [ + "X-wing" + ], + "epic": true }, { - "name": "C'ai Threnalli", + "name": "C’ai Threnalli", "caption": "Tenacious Survivor", "initiative": 4, "limited": 1, "xws": "caithrenalli", + "cost": 47, "ability": "After you fully execute a maneuver, if you moved through a friendly ship, you may perform an [Evade] action.", "shipAbility": { "name": "Weapon Hardpoint", "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." }, - "cost": 46, "slots": [ "Talent", "Astromech", @@ -393,30 +491,100 @@ "Configuration", "Tech" ], - "hyperspace": true, - "ffg": 699, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/60/8a/608a4657-6612-417d-bd10-be587c2a208f/swz68_cai-threnalli.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/b9ec74da0f0350bdc545aa068ff3f154.jpg", - "keywords": ["X-wing"] + "standard": true, + "wildspace": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/caithrenalli.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/caithrenalli.png", + "keywords": [ + "X-wing" + ], + "epic": true }, { "name": "Nimi Chireen", - "xws": "nimichireen", + "caption": "Hopeful Hero", "initiative": 2, "limited": 1, + "xws": "nimichireen", + "cost": 48, + "ability": "While you perform an attack, if the defender's initiative is higher than yours, you may change 1 blank result to a [Focus] result.", "shipAbility": { "name": "Weapon Hardpoint", "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." }, - "caption": "Hopeful Hero", - "hyperspace": true, - "cost": 47, - "ffg": 700, - "slots": ["Tech", "Astromech", "Modification", "Configuration", "Title"], - "ability": "While you perform an attack, if the defender's initiative is higher than yours, you may change 1 blank result to a [Focus] result.", - "image": "https://images-cdn.fantasyflightgames.com/filer_public/c1/0e/c10e3900-82d8-4bba-9b2b-9ed2f8ad826b/swz68_nimi-chireen.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/8c6284a4820a6c6f83eb60111d4ba978.jpg", - "keywords": ["X-wing"] + "slots": [ + "Tech", + "Astromech", + "Modification", + "Configuration", + "Title" + ], + "standard": true, + "wildspace": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/nimichireen.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/nimichireen.png", + "keywords": [ + "X-wing" + ], + "epic": true + }, + { + "name": "Venisa Doza", + "caption": "Jade Leader", + "initiative": 4, + "limited": 1, + "xws": "venisadoza", + "cost": 48, + "ability": "While you perform a [Torpedo] or [Missile] attack, you may treat the [Front Arc] requirement as [Rear Arc] for that attack. If you do, treat the range requirement as 1-2.", + "shipAbility": { + "name": "Weapon Hardpoint", + "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." + }, + "slots": [ + "Talent", + "Astromech", + "Modification", + "Title", + "Configuration", + "Tech" + ], + "standard": true, + "wildspace": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/venisadoza.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/venisadoza.png", + "keywords": [ + "X-wing" + ], + "epic": true + }, + { + "name": "Zay Versio", + "caption": "Her Father's Daughter", + "initiative": 3, + "limited": 1, + "xws": "zayversio", + "cost": 46, + "ability": "While you defend, if the attacker is damaged, you may reroll 1 defense die.", + "shipAbility": { + "name": "Weapon Hardpoint", + "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." + }, + "slots": [ + "Talent", + "Astromech", + "Modification", + "Title", + "Configuration", + "Tech" + ], + "standard": true, + "wildspace": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/zayversio.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/zayversio.png", + "keywords": [ + "X-wing" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/scum-and-villainy/aggressor-assault-fighter.json b/data/pilots/scum-and-villainy/aggressor-assault-fighter.json index 4c366c4c9..b704d256a 100644 --- a/data/pilots/scum-and-villainy/aggressor-assault-fighter.json +++ b/data/pilots/scum-and-villainy/aggressor-assault-fighter.json @@ -1,7 +1,6 @@ { "name": "Aggressor Assault Fighter", "xws": "aggressorassaultfighter", - "ffg": 21, "size": "Medium", "dial": [ "1TW", @@ -22,31 +21,58 @@ "4FW", "4KR" ], - "dialCodes": ["AgF"], - "faction": "Scum and Villainy", + "dialCodes": [ + "AgF" + ], + "faction": "scumandvillainy", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 3 }, - { "type": "hull", "value": 5 }, - { "type": "shields", "value": 3 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 5 + }, + { + "type": "shields", + "value": 3 + } ], "actions": [ - { "difficulty": "White", "type": "Calculate" }, - { "difficulty": "White", "type": "Evade" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Boost" } + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Boost" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_IG-2000.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/scum-and-villainy/I_IG-2000.png", "pilots": [ { "name": "IG-88A", "caption": "Aggressive Automaton", "initiative": 4, "limited": 1, - "cost": 65, + "cost": 60, "xws": "ig88a", "ability": "At the start of the Engagement Phase, you may choose 1 friendly ship with [Calculate] on its action bar at range 1-3. If you do, transfer 1 of your calculate tokens to it.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_197.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/ig88a.png", "shipAbility": { "name": "Advanced Droid Brain", "text": "After you perform a [Calculate] action, gain 1 calculate token." @@ -61,20 +87,24 @@ "Modification", "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_197.jpg", - "ffg": 197, - "hyperspace": false, - "keywords": ["Bounty Hunter", "Droid"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/ig88a.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter", + "Droid" + ], + "epic": true }, { "name": "IG-88B", "caption": "Brutal Battledroid", "initiative": 4, "limited": 1, - "cost": 61, + "cost": 60, "xws": "ig88b", "ability": "After you perform an attack that misses, you may perform a bonus [Cannon] attack.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_198.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/ig88b.png", "alt": [ { "image": "https://images-cdn.fantasyflightgames.com/filer_public/26/e9/26e959b8-34a2-4d0d-93b1-2efad56cd573/op067_ig-88d.png", @@ -95,20 +125,24 @@ "Modification", "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_198.jpg", - "ffg": 198, - "hyperspace": false, - "keywords": ["Bounty Hunter", "Droid"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/ig88b.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter", + "Droid" + ], + "epic": true }, { "name": "IG-88C", "caption": "Conniving Contraption", "initiative": 4, "limited": 1, - "cost": 62, + "cost": 60, "xws": "ig88c", "ability": "After you perform a [Boost] action, you may perform an [Evade] action.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_199.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/ig88c.png", "shipAbility": { "name": "Advanced Droid Brain", "text": "After you perform a [Calculate] action, gain 1 calculate token." @@ -123,20 +157,24 @@ "Modification", "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_199.jpg", - "ffg": 199, - "hyperspace": false, - "keywords": ["Bounty Hunter", "Droid"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/ig88c.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter", + "Droid" + ], + "epic": true }, { "name": "IG-88D", "caption": "Deadly Device", "initiative": 4, "limited": 1, - "cost": 61, + "cost": 60, "xws": "ig88d", "ability": "While you execute a Segnor's Loop ([Segnor's Loop Left] or [Segnor's Loop Right]) maneuver, you may use another template of the same speed instead: either the turn ([Turn Left] or [Turn Right]) of the same direction or the straight ([Straight]) template.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_200.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/ig88d.png", "shipAbility": { "name": "Advanced Droid Brain", "text": "After you perform a [Calculate] action, gain 1 calculate token." @@ -151,10 +189,14 @@ "Modification", "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_200.jpg", - "ffg": 200, - "hyperspace": false, - "keywords": ["Bounty Hunter", "Droid"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/ig88d.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter", + "Droid" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/scum-and-villainy/btl-a4-y-wing.json b/data/pilots/scum-and-villainy/btl-a4-y-wing.json index e071ffe2f..0fad348b5 100644 --- a/data/pilots/scum-and-villainy/btl-a4-y-wing.json +++ b/data/pilots/scum-and-villainy/btl-a4-y-wing.json @@ -1,7 +1,6 @@ { "name": "BTL-A4 Y-wing", "xws": "btla4ywing", - "ffg": 12, "size": "Small", "dial": [ "1BB", @@ -20,21 +19,48 @@ "4FR", "4KR" ], - "dialCodes": ["YW"], - "faction": "Scum and Villainy", + "dialCodes": [ + "YW" + ], + "faction": "scumandvillainy", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 6 }, - { "type": "shields", "value": 2 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 6 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Barrel Roll" }, - { "difficulty": "Red", "type": "Reload" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + }, + { + "difficulty": "Red", + "type": "Reload" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Y-wing.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/scum-and-villainy/I_Y-wing.png", "pilots": [ { "name": "Crymorah Goon", @@ -43,7 +69,7 @@ "cost": 29, "xws": "crymorahgoon", "text": "Though far from nimble, the Y-wing's heavy hull, substantial shielding, and turret-mounted cannons make it an excellent patrol craft.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_168.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/crymorahgoon.png", "slots": [ "Turret", "Torpedo", @@ -53,10 +79,13 @@ "Modification", "Missile" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_168.jpg", - "ffg": 168, - "hyperspace": false, - "keywords": ["Y-wing"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/crymorahgoon.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Y-wing" + ], + "epic": true }, { "name": "Drea Renthal", @@ -76,20 +105,23 @@ "Modification", "Missile" ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_166.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_166.jpg", - "ffg": 166, - "hyperspace": false, - "keywords": ["Y-wing"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/drearenthal.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/drearenthal.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Y-wing" + ], + "epic": true }, { "name": "Hired Gun", "initiative": 2, "limited": 0, - "cost": 31, + "cost": 30, "xws": "hiredgun", "text": "Just the mention of Imperial credits can bring a host of less-than-trustworthy individuals to your side.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_167.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/hiredgun.png", "slots": [ "Talent", "Turret", @@ -100,20 +132,23 @@ "Modification", "Missile" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_167.jpg", - "ffg": 167, - "hyperspace": false, - "keywords": ["Y-wing"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/hiredgun.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Y-wing" + ], + "epic": true }, { "name": "Kavil", "caption": "Callous Corsair", "initiative": 5, "limited": 1, - "cost": 41, + "cost": 40, "xws": "kavil", "ability": "While you perform a non-[Front Arc] attack, roll 1 additional attack die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_165.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/kavil.png", "slots": [ "Talent", "Turret", @@ -124,19 +159,25 @@ "Modification", "Missile" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_165.jpg", - "ffg": 165, - "hyperspace": false, - "keywords": ["Y-wing"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/kavil.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Y-wing" + ], + "epic": true }, { "name": "Leema Kai", "xws": "leemakai", "initiative": 5, "limited": 1, - "hyperspace": false, - "keywords": ["Y-wing"], - "cost": 39, + "standard": true, + "wildspace": true, + "keywords": [ + "Y-wing" + ], + "cost": 37, "slots": [ "Talent", "Tech", @@ -148,17 +189,21 @@ ], "ability": "Before you engage, if you are not in any enemy ship's [Front Arc], you may acquire a lock on an enemy ship in your full front arc.", "caption": "Opportunity Knocks", - "ffg": 898, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/4e6423bdaa2b09478f46f795c5328c17.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/leemakai.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/leemakai.png", + "epic": true }, { "name": "Arliz Hadrassian", "xws": "arlizhadrassian", "initiative": 4, "limited": 1, - "hyperspace": false, - "keywords": ["Y-wing"], - "cost": 38, + "standard": true, + "wildspace": true, + "keywords": [ + "Y-wing" + ], + "cost": 35, "slots": [ "Talent", "Tech", @@ -170,8 +215,9 @@ ], "ability": "While you perform a [Front Arc] attack, if you are damaged, you may change 1 of your [Focus] results to a [Critical Hit] result. While you defend, if you are damaged, before the Modify Defense Dice step, you must change 1 of your [Focus] results to a blank result.", "caption": "Crimson Blade", - "ffg": 899, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/f00b0ed67b0de579c3bc4fdaceb3f3ab.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/arlizhadrassian.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/arlizhadrassian.png", + "epic": true }, { "name": "Amaxine Warrior", @@ -179,8 +225,9 @@ "initiative": 3, "limited": 0, "text": "Decades after the Battle of Endor, former Imperials remain active in the New Republic. Many have joined paramilitary organizations, such as the Amaxine Warriors, that appropriate martial traditions and cultures to spread the hateful ideology of the First Order amongst those most vulnerable to it.", - "hyperspace": true, - "cost": 33, + "standard": true, + "wildspace": true, + "cost": 31, "slots": [ "Talent", "Tech", @@ -190,9 +237,12 @@ "Astromech", "Device" ], - "keywords": ["Y-wing"], - "ffg": 901, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/1a6296a88e63a0896952e7dd4178105b.jpg" + "keywords": [ + "Y-wing" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/amaxinewarrior.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/amaxinewarrior.png", + "epic": true }, { "name": "Padric", @@ -200,8 +250,9 @@ "initiative": 3, "limited": 1, "caption": "Napkin Bomber", - "hyperspace": false, - "cost": 36, + "standard": true, + "wildspace": true, + "cost": 32, "slots": [ "Talent", "Tech", @@ -212,9 +263,12 @@ "Device" ], "ability": "After a friendly device that you have locked detonates, each enemy ship at range 0-1 of that device gains 1 strain token.", - "keywords": ["Y-wing"], - "ffg": 900, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/7d5a18e41b8e3caf1d623cdf06acafc8.jpg" + "keywords": [ + "Y-wing" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/padric.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/padric.png", + "epic": true }, { "name": "Jinata Security Officer", @@ -222,12 +276,23 @@ "initiative": 2, "limited": 0, "text": "Headquartered on the former Imperial stronghold of Vardos, Jinata Security continues its reconstruction efforts on the devastated planet, even while collaborating with the First Order's rearmament program.", - "hyperspace": true, - "cost": 30, - "slots": ["Tech", "Turret", "Torpedo", "Missile", "Astromech", "Device"], - "keywords": ["Y-wing"], - "ffg": 902, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/d1b998eff3b93d5ed05870096aa27817.jpg" + "standard": true, + "wildspace": true, + "cost": 39, + "slots": [ + "Tech", + "Turret", + "Torpedo", + "Missile", + "Astromech", + "Device" + ], + "keywords": [ + "Y-wing" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/jinatasecurityofficer.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/jinatasecurityofficer.png", + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/scum-and-villainy/c-roc-cruiser.json b/data/pilots/scum-and-villainy/c-roc-cruiser.json index a3d8fd4d4..9401ed772 100644 --- a/data/pilots/scum-and-villainy/c-roc-cruiser.json +++ b/data/pilots/scum-and-villainy/c-roc-cruiser.json @@ -1,9 +1,8 @@ { "name": "C-ROC Cruiser", "xws": "croccruiser", - "ffg": 82, - "faction": "Scum and Villainy", - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_C-ROC.png", + "faction": "scumandvillainy", + "icon": "https://infinitearenas.com/xw2/images/shipicons/scum-and-villainy/I_C-ROC.png", "size": "Huge", "dial": [ "0BR", @@ -21,35 +20,72 @@ "4FR", "5FR" ], - "dialCodes": ["CRC-SC"], + "dialCodes": [ + "CRC-SC" + ], "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 0 }, - { "type": "hull", "value": 12 }, - { "type": "shields", "value": 4, "recovers": 1 }, - { "type": "energy", "value": 4, "recovers": 1 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 0 + }, + { + "type": "hull", + "value": 12 + }, + { + "type": "shields", + "value": 4, + "recovers": 1 + }, + { + "type": "energy", + "value": 4, + "recovers": 1 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Coordinate" }, - { "difficulty": "White", "type": "Reinforce" }, - { "difficulty": "White", "type": "Jam" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Coordinate" + }, + { + "difficulty": "White", + "type": "Reinforce" + }, + { + "difficulty": "White", + "type": "Jam" + } ], "pilots": [ { - "ffg": 713, "name": "Syndicate Smugglers", "initiative": 7, "cost": 63, "limited": 0, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/17ae9e44f24e0a38ba81f4523857c4f0.jpg", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/syndicatesmugglers.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/syndicatesmugglers.png", "shipAbility": { "name": "Overdrive Burners", "text": "While you defend, if your revealed maneuver is speed 3-5, roll 1 additional defense die." }, "text": "Vessels like the C-ROC Cruiser allow criminal operations across the Outer Rim to move massive amounts of illicit materials, or project power that can bully small colonies into compliance.", - "hyperspace": false, + "standard": false, + "wildspace": false, + "epic": true, "engagement": 1, "xws": "syndicatesmugglers", "slots": [ @@ -66,4 +102,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/data/pilots/scum-and-villainy/customized-yt-1300-light-freighter.json b/data/pilots/scum-and-villainy/customized-yt-1300-light-freighter.json index 0203e6909..7c0dc6da6 100644 --- a/data/pilots/scum-and-villainy/customized-yt-1300-light-freighter.json +++ b/data/pilots/scum-and-villainy/customized-yt-1300-light-freighter.json @@ -1,7 +1,6 @@ { "name": "Customized YT-1300 Light Freighter", "xws": "customizedyt1300lightfreighter", - "ffg": 47, "size": "Large", "dial": [ "1BB", @@ -22,21 +21,48 @@ "4FW", "4KR" ], - "dialCodes": ["CY"], - "faction": "Scum and Villainy", + "dialCodes": [ + "CY" + ], + "faction": "scumandvillainy", "stats": [ - { "arc": "Double Turret Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 8 }, - { "type": "shields", "value": 3 } + { + "arc": "Double Turret Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 8 + }, + { + "type": "shields", + "value": 3 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Boost" }, - { "difficulty": "White", "type": "Rotate Arc" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Boost" + }, + { + "difficulty": "White", + "type": "Rotate Arc" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_CustomizedYT-1300.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/scum-and-villainy/I_CustomizedYT-1300.png", "pilots": [ { "name": "Freighter Captain", @@ -54,21 +80,25 @@ "Title", "Gunner" ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_225.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_225.jpg", - "ffg": 225, - "hyperspace": false, - "keywords": ["Freighter", "YT-1300"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/freightercaptain.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/freightercaptain.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter", + "YT-1300" + ], + "epic": true }, { "name": "Han Solo", "caption": "The Corellian Kid", "initiative": 6, "limited": 1, - "cost": 48, + "cost": 47, "xws": "hansolo", "ability": "While you defend or perform a primary attack, if the attack is obstructed by an obstacle, you may roll 1 additional die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_222.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/hansolo.png", "slots": [ "Talent", "Missile", @@ -79,10 +109,14 @@ "Title", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_222.jpg", - "ffg": 222, - "hyperspace": true, - "keywords": ["Freighter", "YT-1300"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/hansolo.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter", + "YT-1300" + ], + "epic": true }, { "name": "L3-37", @@ -92,12 +126,24 @@ "cost": 41, "xws": "l337", "ability": "If you are not shielded, decrease the difficulty of your bank ([Bank Left] and [Bank Right]) maneuvers.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_224.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/l337.png", "shipActions": [ - { "difficulty": "White", "type": "Calculate" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Boost" }, - { "difficulty": "White", "type": "Rotate Arc" } + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Boost" + }, + { + "difficulty": "White", + "type": "Rotate Arc" + } ], "slots": [ "Missile", @@ -108,20 +154,53 @@ "Modification", "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_224.jpg", - "ffg": 224, - "hyperspace": true, - "keywords": ["Droid", "Freighter", "YT-1300"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/l337.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Droid", + "Freighter", + "YT-1300" + ], + "epic": true }, { "name": "Lando Calrissian", "caption": "Smooth-talking Gambler", "initiative": 4, "limited": 1, - "cost": 42, + "cost": 43, "xws": "landocalrissian", "ability": "After you roll dice, if you are not stressed, you may gain 1 stress token to reroll all of your blank results.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_223.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/landocalrissian.png", + "slots": [ + "Talent", + "Missile", + "Crew", + "Crew", + "Illicit", + "Modification", + "Title", + "Gunner" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/landocalrissian.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter", + "YT-1300" + ], + "epic": true + }, + { + "name": "Rio Durant", + "caption": "Four Armed Bandit", + "initiative": 3, + "limited": 1, + "cost": 42, + "xws": "riodurant-wat1", + "ability": "After you perform an attack, you may rotate your [Single Turret Arc] indicator.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/riodurant-wat1.png", "slots": [ "Talent", "Missile", @@ -132,10 +211,14 @@ "Title", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_223.jpg", - "ffg": 223, - "hyperspace": true, - "keywords": ["Freighter", "YT-1300"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/riodurant-wat1.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Freighter", + "YT-1300" + ], + "epic": true } ] } diff --git a/data/pilots/scum-and-villainy/escape-craft.json b/data/pilots/scum-and-villainy/escape-craft.json index 2f6adc44f..85e36a7e0 100644 --- a/data/pilots/scum-and-villainy/escape-craft.json +++ b/data/pilots/scum-and-villainy/escape-craft.json @@ -1,7 +1,6 @@ { "name": "Escape Craft", "xws": "escapecraft", - "ffg": 85, "size": "Small", "dial": [ "0OR", @@ -18,105 +17,170 @@ "3NW", "3KR" ], - "dialCodes": ["ES"], - "faction": "Scum and Villainy", + "dialCodes": [ + "ES" + ], + "faction": "scumandvillainy", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 2 }, - { "type": "shields", "value": 2 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 2 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Barrel Roll" }, - { "difficulty": "Red", "type": "Coordinate" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + }, + { + "difficulty": "Red", + "type": "Coordinate" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_EscapeShuttle.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/scum-and-villainy/I_EscapeShuttle.png", "pilots": [ { "name": "Autopilot Drone", "caption": "Set to Blow", "initiative": 1, "limited": 1, - "cost": 12, + "cost": 11, "xws": "autopilotdrone", "text": "Sometimes, manufacturer's warnings are made to be broken.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_229.png", - "charges": { "value": 3, "recovers": 0 }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/autopilotdrone.png", + "charges": { + "value": 3, + "recovers": 0 + }, "shipActions": [ - { "difficulty": "White", "type": "Calculate" }, - { "difficulty": "White", "type": "Barrel Roll" }, - { "difficulty": "Red", "type": "Coordinate" } + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + }, + { + "difficulty": "Red", + "type": "Coordinate" + } ], "shipAbility": { "name": "Rigged Energy Cells", "text": "During the System Phase, if you are not docked, lose 1 [Charge]. At the end of the Activation Phase, if you have 0 [Charge], you are destroyed. Before you are removed, each ship at range 0-1 suffers 1 [Critical Hit] damage." }, "slots": [], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_229.jpg", - "ffg": 229, - "hyperspace": true, - "keywords": ["Droid"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/autopilotdrone.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true }, { "name": "L3-37", "caption": "Droid Revolutionary", "initiative": 2, "limited": 1, - "cost": 26, + "cost": 25, "xws": "l337-escapecraft", "ability": "If you are not shielded, decrease the difficulty of your bank ([Bank Left] and [Bank Right]) maneuvers.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_228.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/l337-escapecraft.png", "shipActions": [ - { "difficulty": "White", "type": "Calculate" }, - { "difficulty": "White", "type": "Barrel Roll" }, - { "difficulty": "Red", "type": "Coordinate" } + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + }, + { + "difficulty": "Red", + "type": "Coordinate" + } ], "shipAbility": { "name": "Co-Pilot", "text": "While you are docked, your carrier ship has your pilot ability in addition to its own." }, - "slots": ["Talent", "Crew", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_228.jpg", - "ffg": 228, - "hyperspace": true, - "keywords": ["Droid"] + "slots": [ + "Talent", + "Crew", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/l337-escapecraft.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true }, { "name": "Lando Calrissian", "caption": "Smooth-talking Gambler", "initiative": 4, "limited": 1, - "cost": 29, + "cost": 27, "xws": "landocalrissian-escapecraft", "ability": "After you roll dice, if you are not stressed, you may gain 1 stress token to reroll all of your blank results.", "shipAbility": { "name": "Co-Pilot", "text": "While you are docked, your carrier ship has your pilot ability in addition to its own." }, - "slots": ["Talent", "Crew", "Modification"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_226.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_226.jpg", - "ffg": 226, - "hyperspace": true + "slots": [ + "Talent", + "Crew", + "Modification" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/landocalrissian-escapecraft.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/landocalrissian-escapecraft.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Outer Rim Pioneer", "caption": "Skillful Outlaw", "initiative": 3, "limited": 1, - "cost": 28, + "cost": 26, "xws": "outerrimpioneer", "ability": "Friendly ships at range 0-1 can perform attacks at range 0 of obstacles.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_227.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/outerrimpioneer.png", "shipAbility": { "name": "Co-Pilot", "text": "While you are docked, your carrier ship has your pilot ability in addition to its own." }, - "slots": ["Talent", "Crew", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_227.jpg", - "ffg": 227, - "hyperspace": true + "slots": [ + "Talent", + "Crew", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/outerrimpioneer.png", + "standard": true, + "wildspace": true, + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/scum-and-villainy/fang-fighter.json b/data/pilots/scum-and-villainy/fang-fighter.json index 6406a5de4..de7565165 100644 --- a/data/pilots/scum-and-villainy/fang-fighter.json +++ b/data/pilots/scum-and-villainy/fang-fighter.json @@ -1,7 +1,6 @@ { "name": "Fang Fighter", "xws": "fangfighter", - "ffg": 36, "size": "Small", "dial": [ "1TW", @@ -22,122 +21,180 @@ "4KR", "5FW" ], - "dialCodes": ["Fng"], - "faction": "Scum and Villainy", + "dialCodes": [ + "Fng" + ], + "faction": "scumandvillainy", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 3 }, - { "type": "hull", "value": 4 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 4 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Focus" }, + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Focus" + }, "type": "Barrel Roll" }, { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Focus" }, + "linked": { + "difficulty": "Red", + "type": "Focus" + }, "type": "Boost" } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_FangFighter.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/scum-and-villainy/I_FangFighter.png", "pilots": [ { "name": "Fenn Rau", "caption": "Skull Leader", "initiative": 6, "limited": 1, - "cost": 68, + "cost": 69, "xws": "fennrau", "ability": "While you defend or perform an attack, if the attack range is 1, you may roll 1 additional die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_155.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/fennrau.png", "shipAbility": { "name": "Concordia Faceoff", "text": "While you defend, if the attack range is 1 and you are in the attacker's [Front Arc], change 1 result to an [Evade] result." }, - "slots": ["Talent", "Torpedo"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_155.jpg", - "ffg": 155, - "hyperspace": true, - "keywords": ["Mandalorian"] + "slots": [ + "Talent", + "Torpedo" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/fennrau.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Mandalorian" + ], + "epic": true }, { "name": "Joy Rekkoff", "caption": "Skull Squadron Ace", "initiative": 4, "limited": 1, - "cost": 47, + "cost": 45, "xws": "joyrekkoff", "ability": "While you perform an attack, you may spend 1 [Charge] from an equipped [Torpedo] upgrade. If you do, the defender rolls 1 fewer defense die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_157.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/joyrekkoff.png", "shipAbility": { "name": "Concordia Faceoff", "text": "While you defend, if the attack range is 1 and you are in the attacker's [Front Arc], change 1 result to an [Evade] result." }, - "slots": ["Talent", "Torpedo", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_157.jpg", - "ffg": 157, - "hyperspace": true, - "keywords": ["Mandalorian"] + "slots": [ + "Talent", + "Torpedo", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/joyrekkoff.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Mandalorian" + ], + "epic": true }, { "name": "Kad Solus", "caption": "Skilled Commando", "initiative": 4, "limited": 1, - "cost": 53, + "cost": 46, "xws": "kadsolus", "ability": "After you fully execute a red maneuver, gain 2 focus tokens.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_158.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/kadsolus.png", "shipAbility": { "name": "Concordia Faceoff", "text": "While you defend, if the attack range is 1 and you are in the attacker's [Front Arc], change 1 result to an [Evade] result." }, - "slots": ["Talent", "Torpedo", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_158.jpg", - "ffg": 158, - "hyperspace": true, - "keywords": ["Mandalorian"] + "slots": [ + "Talent", + "Torpedo", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/kadsolus.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Mandalorian" + ], + "epic": true }, { "name": "Old Teroch", "caption": "Mandalorian Mentor", "initiative": 5, "limited": 1, - "cost": 56, + "cost": 57, "xws": "oldteroch", "ability": "At the start of the Engagement Phase, you may choose 1 enemy ship at range 1. If you do and you are in its [Front Arc], it removes all of its green tokens.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_156.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/oldteroch.png", "shipAbility": { "name": "Concordia Faceoff", "text": "While you defend, if the attack range is 1 and you are in the attacker's [Front Arc], change 1 result to an [Evade] result." }, - "slots": ["Talent", "Torpedo", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_156.jpg", - "ffg": 156, - "hyperspace": true, - "keywords": ["Mandalorian"] + "slots": [ + "Talent", + "Torpedo", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/oldteroch.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Mandalorian" + ], + "epic": true }, { "name": "Skull Squadron Pilot", "initiative": 4, "limited": 0, - "cost": 47, + "cost": 45, "xws": "skullsquadronpilot", "text": "The aces of Skull Squadron favor an aggressive approach, using their craft's pivot wing technology to achieve unmatched agility in the pursuit of their quarry.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_159.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/skullsquadronpilot.png", "shipAbility": { "name": "Concordia Faceoff", "text": "While you defend, if the attack range is 1 and you are in the attacker's [Front Arc], change 1 result to an [Evade] result." }, - "slots": ["Talent", "Torpedo", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_159.jpg", - "ffg": 159, - "hyperspace": false, - "keywords": ["Mandalorian"] + "slots": [ + "Talent", + "Torpedo", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/skullsquadronpilot.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Mandalorian" + ], + "epic": true }, { "name": "Zealous Recruit", @@ -146,33 +203,74 @@ "cost": 41, "xws": "zealousrecruit", "text": "Mandalorian Fang fighter pilots must master the Concordia Faceoff maneuver, leveraging their ships' narrow attack profile to execute deadly head-on charges.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_160.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/zealousrecruit.png", "shipAbility": { "name": "Concordia Faceoff", "text": "While you defend, if the attack range is 1 and you are in the attacker's [Front Arc], change 1 result to an [Evade] result." }, - "slots": ["Torpedo", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_160.jpg", - "ffg": 160, - "hyperspace": false, - "keywords": ["Mandalorian"] + "slots": [ + "Torpedo", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/zealousrecruit.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Mandalorian" + ], + "epic": true }, { "name": "Mandalorian Royal Guard", "initiative": 4, "limited": 2, + "cost": 45, "xws": "mandalorianroyalguard", "ability": "While a friendly non-small ship defends, if you are in the attack arc, you may gain 1 deplete and 1 strain token. If you do, the defender may change 1 result to an [Evade] result.", - "image": "https://infinitearenas.com/xw2/images/pilots/mandalorianroyalguard.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/mandalorianroyalguard.png", + "shipAbility": { + "name": "Concordia Faceoff", + "text": "While you defend, if the attack range is 1 and you are in the attacker's [Front Arc], change 1 result to an [Evade] result." + }, + "slots": [ + "Talent", + "Torpedo", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/mandalorianroyalguard.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Mandalorian" + ], + "caption": "Selfless Protector", + "epic": true + }, + { + "name": "Tor Phun", + "caption": "Direct Pressure", + "initiative": 3, + "limited": 1, + "cost": 47, + "xws": "torphun", + "ability": "After you perform an attack, if the defender was destroyed, you may perform an action, even while stressed. Then you may gain 2 strain tokens to perform a bonus attack.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/torphun.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/torphun.png", "shipAbility": { "name": "Concordia Faceoff", "text": "While you defend, if the attack range is 1 and you are in the attacker's [Front Arc], change 1 result to an [Evade] result." }, - "slots": ["Talent", "Torpedo", "Modification"], - "artwork": "https://infinitearenas.com/xw2/images/artwork/pilots/mandalorianroyalguard.png", - "ffg": 159, - "hyperspace": false, - "keywords": ["Mandalorian"] + "slots": [ + "Talent", + "Torpedo", + "Modification" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "Mandalorian" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/scum-and-villainy/firespray-class-patrol-craft.json b/data/pilots/scum-and-villainy/firespray-class-patrol-craft.json index 51685b87f..94da76bb6 100644 --- a/data/pilots/scum-and-villainy/firespray-class-patrol-craft.json +++ b/data/pilots/scum-and-villainy/firespray-class-patrol-craft.json @@ -1,7 +1,6 @@ { "name": "Firespray-class Patrol Craft", "xws": "firesprayclasspatrolcraft", - "ffg": 10, "size": "Medium", "dial": [ "1TW", @@ -22,32 +21,63 @@ "4FW", "4KR" ], - "dialCodes": ["FPC"], - "faction": "Scum and Villainy", + "dialCodes": [ + "FPC" + ], + "faction": "scumandvillainy", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "arc": "Rear Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 6 }, - { "type": "shields", "value": 4 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "arc": "Rear Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 6 + }, + { + "type": "shields", + "value": 4 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Reinforce" }, - { "difficulty": "White", "type": "Boost" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Reinforce" + }, + { + "difficulty": "White", + "type": "Boost" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_FIrespray.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/scum-and-villainy/I_FIrespray.png", "pilots": [ { "name": "Boba Fett", "caption": "Notorious Bounty Hunter", "initiative": 5, "limited": 1, - "cost": 85, + "cost": 90, "xws": "bobafett", "ability": "While you defend or perform an attack, you may reroll 1 of your dice for each enemy ship at range 0-1.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_149.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/bobafett.png", "slots": [ "Talent", "Cannon", @@ -64,10 +94,13 @@ "source": "Coruscant Invitational 2018" } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_149.jpg", - "ffg": 149, - "hyperspace": false, - "keywords": ["Bounty Hunter"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/bobafett.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter" + ], + "epic": true }, { "name": "Bounty Hunter", @@ -76,7 +109,7 @@ "cost": 62, "xws": "bountyhunter", "text": "The Firespray-class patrol craft is infamous for its association with the deadly bounty hunters Jango Fett and Boba Fett, who packed their craft with countless deadly armaments.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_154.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/bountyhunter.png", "slots": [ "Cannon", "Missile", @@ -86,20 +119,23 @@ "Modification", "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_154.jpg", - "ffg": 154, - "hyperspace": true, - "keywords": ["Bounty Hunter"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/bountyhunter.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter" + ], + "epic": true }, { "name": "Emon Azzameen", "caption": "Shipping Magnate", "initiative": 4, "limited": 1, - "cost": 71, + "cost": 69, "xws": "emonazzameen", "ability": "If you would drop a device using a [1 [Straight]] template, you may use the [3 [Turn Left]], [3 [Straight]], or [3 [Turn Right]] template instead.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_150.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/emonazzameen.png", "slots": [ "Talent", "Cannon", @@ -110,19 +146,20 @@ "Modification", "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_150.jpg", - "ffg": 150, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/emonazzameen.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Kath Scarlet", "caption": "Captain of the Binayre Pirates", "initiative": 4, "limited": 1, - "cost": 68, + "cost": 67, "xws": "kathscarlet", "ability": "While you perform a primary attack, if there is at least 1 friendly non-limited ship at range 0 of the defender, roll 1 additional attack die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_151.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/kathscarlet.png", "slots": [ "Talent", "Cannon", @@ -133,19 +170,20 @@ "Modification", "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_151.jpg", - "ffg": 151, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/kathscarlet.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Koshka Frost", "caption": "Icy Professional", "initiative": 3, "limited": 1, - "cost": 70, + "cost": 69, "xws": "koshkafrost", "ability": "While you defend or perform an attack, if the enemy ship is stressed, you may reroll 1 of your dice.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_152.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/koshkafrost.png", "slots": [ "Talent", "Cannon", @@ -156,10 +194,13 @@ "Modification", "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_152.jpg", - "ffg": 152, - "hyperspace": false, - "keywords": ["Bounty Hunter"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/koshkafrost.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter" + ], + "epic": true }, { "name": "Krassis Trelix", @@ -169,7 +210,7 @@ "cost": 65, "xws": "krassistrelix", "ability": "You can perform [Front Arc] special attacks from your [Rear Arc]. While you perform a special attack, you may reroll 1 attack die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_153.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/krassistrelix.png", "slots": [ "Talent", "Cannon", @@ -180,9 +221,33 @@ "Modification", "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_153.jpg", - "ffg": 153, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/krassistrelix.png", + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Hondo Ohnaka", + "caption": "I Smell Profit!", + "initiative": 1, + "limited": 1, + "cost": 63, + "xws": "hondoohnaka", + "ability": "Action: Choose 2 non-huge ships at range 0-3 of you that are not friendly to each other. Each chosen ship may perform an action that is on your action bar, even while stressed, in the order of your choice. Then, gain 1 calculate token.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/hondoohnaka.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/hondoohnaka.png", + "slots": [ + "Cannon", + "Missile", + "Crew", + "Device", + "Illicit", + "Modification", + "Title" + ], + "standard": true, + "wildspace": true, + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/scum-and-villainy/g-1a-starfighter.json b/data/pilots/scum-and-villainy/g-1a-starfighter.json index 1feee9d68..3b4f00b35 100644 --- a/data/pilots/scum-and-villainy/g-1a-starfighter.json +++ b/data/pilots/scum-and-villainy/g-1a-starfighter.json @@ -1,7 +1,6 @@ { "name": "G-1A Starfighter", "xws": "g1astarfighter", - "ffg": 22, "size": "Medium", "dial": [ "0OR", @@ -22,40 +21,85 @@ "4FR", "4KR" ], - "dialCodes": ["G1A"], - "faction": "Scum and Villainy", + "dialCodes": [ + "G1A" + ], + "faction": "scumandvillainy", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 5 }, - { "type": "shields", "value": 4 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 5 + }, + { + "type": "shields", + "value": 4 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Jam" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Jam" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_MistHunter.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/scum-and-villainy/I_MistHunter.png", "pilots": [ { "name": "4-LOM", "caption": "Reprogrammed Protocol Droid", "initiative": 3, "limited": 1, - "cost": 49, + "cost": 45, "xws": "4lom", "ability": "After you fully execute a red maneuver, gain 1 calculate token. At the start of the End Phase, you may choose 1 ship at range 0-1. If you do, transfer 1 of your stress tokens to that ship.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_201.png", - "slots": ["Talent", "Sensor", "Crew", "Illicit", "Modification", "Title"], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/4lom.png", + "slots": [ + "Talent", + "Sensor", + "Crew", + "Crew", + "Illicit", + "Modification", + "Title" + ], "shipActions": [ - { "difficulty": "White", "type": "Calculate" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Jam" } + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Jam" + } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_201.jpg", - "ffg": 201, - "hyperspace": false, - "keywords": ["Bounty Hunter", "Droid"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/4lom.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter", + "Droid" + ], + "epic": true }, { "name": "Gand Findsman", @@ -64,33 +108,54 @@ "cost": 41, "xws": "gandfindsman", "text": "The legendary Findsmen of Gand worship the enshrouding mists of their home planet, using signs, augurs, and mystical rituals to track their quarry.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_203.png", - "slots": ["Sensor", "Crew", "Illicit", "Modification", "Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_203.jpg", - "ffg": 203, - "hyperspace": false, - "keywords": ["Bounty Hunter"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/gandfindsman.png", + "slots": [ + "Sensor", + "Crew", + "Crew", + "Illicit", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/gandfindsman.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter" + ], + "epic": true }, { "name": "Zuckuss", "caption": "Meditative Gand", "initiative": 3, "limited": 1, - "cost": 45, + "cost": 42, "xws": "zuckuss", "ability": "While you perform a primary attack, you may roll 1 additional attack die. If you do, the defender rolls 1 additional defense die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_202.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/zuckuss.png", "alt": [ { "image": "https://images-cdn.fantasyflightgames.com/filer_public/62/69/6269d549-8a5b-40f6-84cb-6ef6fa47212f/op067_zuckuss.png", "source": "Coruscant Invitational 2018" } ], - "slots": ["Talent", "Sensor", "Crew", "Illicit", "Modification", "Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_202.jpg", - "ffg": 202, - "hyperspace": false, - "keywords": ["Bounty Hunter"] + "slots": [ + "Talent", + "Sensor", + "Crew", + "Crew", + "Illicit", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/zuckuss.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/scum-and-villainy/gauntlet-fighter.json b/data/pilots/scum-and-villainy/gauntlet-fighter.json new file mode 100644 index 000000000..27d6dbb89 --- /dev/null +++ b/data/pilots/scum-and-villainy/gauntlet-fighter.json @@ -0,0 +1,155 @@ +{ + "name": "Gauntlet Fighter", + "xws": "gauntletfighter", + "size": "Large", + "dial": [ + "0OR", + "1BB", + "1NB", + "2TW", + "2BB", + "2FB", + "2NB", + "2YW", + "3TR", + "3BW", + "3FW", + "3NW", + "3YR", + "4FW" + ], + "dialCodes": [ + "GtF" + ], + "faction": "scumandvillainy", + "stats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "arc": "Rear Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 9 + }, + { + "type": "shields", + "value": 2 + } + ], + "actions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "Red", + "type": "Reinforce" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Coordinate" + } + ], + "pilots": [ + { + "name": "Maul", + "caption": "Lord of the Shadow Collective", + "force": { + "side": [ + "dark" + ], + "value": 3, + "recovers": 1 + }, + "cost": 73, + "xws": "maul", + "initiative": 5, + "limited": 1, + "ability": "While you perform a [Coordinate] action, if you choose a ship with an initiative lower than yours, you may spend 1 [Force]. If you do, treat the action as white and you may coordinate 1 additional friendly ship with an initiative lower than yours; each friendly ship you coordinate this way gains 1 strain token.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/maul.png", + "standard": true, + "wildspace": true, + "epic": true, + "slots": [ + "Force Power", + "Crew", + "Gunner", + "Illicit", + "Device", + "Modification", + "Configuration", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/maul.png", + "keywords": [ + "Dark Side" + ] + }, + { + "name": "Rook Kast", + "caption": "Stoic Super Commando", + "initiative": 3, + "limited": 1, + "cost": 61, + "xws": "rookkast", + "ability": "Before you engage, you may gain 1 strain token. While you perform a primary attack, if you are strained, you may change 1 of your blank or [Focus] results to a [Hit] result.", + "standard": true, + "wildspace": true, + "epic": true, + "slots": [ + "Talent", + "Crew", + "Gunner", + "Illicit", + "Device", + "Modification", + "Configuration", + "Title" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/rookkast.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/rookkast.png", + "keywords": [ + "Mandalorian" + ] + }, + { + "name": "Shadow Collective Operator", + "initiative": 1, + "limited": 0, + "cost": 53, + "xws": "shadowcollectiveoperator", + "text": "The former Death Watch soldiers who have sworn loyalty to Lord Maul continue to operate their versatile Gauntlet Fighters, sometimes using them as bombers in Maul's private battles.", + "standard": true, + "wildspace": true, + "epic": true, + "slots": [ + "Crew", + "Gunner", + "Illicit", + "Device", + "Modification", + "Configuration", + "Title" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/shadowcollectiveoperator.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/shadowcollectiveoperator.png", + "keywords": [ + "Mandalorian" + ] + } + ] +} \ No newline at end of file diff --git a/data/pilots/scum-and-villainy/hwk-290-light-freighter.json b/data/pilots/scum-and-villainy/hwk-290-light-freighter.json index f2fc3d516..80fb69c05 100644 --- a/data/pilots/scum-and-villainy/hwk-290-light-freighter.json +++ b/data/pilots/scum-and-villainy/hwk-290-light-freighter.json @@ -1,7 +1,6 @@ { "name": "HWK-290 Light Freighter", "xws": "hwk290lightfreighter", - "ffg": 34, "size": "Small", "dial": [ "0OR", @@ -20,41 +19,74 @@ "3YR", "4FW" ], - "dialCodes": ["HK"], - "faction": "Scum and Villainy", + "dialCodes": [ + "HK" + ], + "faction": "scumandvillainy", "stats": [ - { "arc": "Single Turret Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 3 }, - { "type": "shields", "value": 2 } + { + "arc": "Single Turret Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 3 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Rotate Arc" }, + "linked": { + "difficulty": "Red", + "type": "Rotate Arc" + }, "type": "Focus" }, { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Rotate Arc" }, + "linked": { + "difficulty": "Red", + "type": "Rotate Arc" + }, "type": "Lock" }, - { "difficulty": "Red", "type": "Boost" }, - { "difficulty": "White", "type": "Rotate Arc" }, - { "difficulty": "Red", "type": "Jam" } + { + "difficulty": "Red", + "type": "Boost" + }, + { + "difficulty": "White", + "type": "Rotate Arc" + }, + { + "difficulty": "Red", + "type": "Jam" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_HWK-290.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/scum-and-villainy/I_HWK-290.png", "pilots": [ { "name": "Dace Bonearm", "caption": "Outer Rim Mercenary", "initiative": 4, "limited": 1, - "cost": 31, + "cost": 29, "xws": "dacebonearm", "ability": "After an enemy ship at range 0-3 receives at least 1 ion token, you may spend 3 [Charge]. If you do, that ship gains 2 additional ion tokens.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_174.png", - "charges": { "value": 3, "recovers": 1 }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dacebonearm.png", + "charges": { + "value": 3, + "recovers": 1 + }, "slots": [ "Talent", "Crew", @@ -64,10 +96,13 @@ "Modification", "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_174.jpg", - "ffg": 174, - "hyperspace": true, - "keywords": ["Freighter"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dacebonearm.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter" + ], + "epic": true }, { "name": "Palob Godalhi", @@ -77,7 +112,7 @@ "cost": 40, "xws": "palobgodalhi", "ability": "At the start of the Engagement Phase, you may choose 1 enemy ship in your firing arc at range 0-2. If you do, transfer 1 focus or evade token from that ship to yourself.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_175.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/palobgodalhi.png", "slots": [ "Talent", "Crew", @@ -87,19 +122,22 @@ "Modification", "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_175.jpg", - "ffg": 175, - "hyperspace": true, - "keywords": ["Freighter"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/palobgodalhi.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter" + ], + "epic": true }, { "name": "Spice Runner", "initiative": 1, "limited": 0, - "cost": 28, + "cost": 27, "xws": "spicerunner", "text": "Though its cargo space is limited compared to other light freighters, the small, swift HWK-290 is a favorite choice of smugglers who specialize in discreetly transporting precious goods.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_177.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/spicerunner.png", "slots": [ "Crew", "Device", @@ -108,10 +146,13 @@ "Modification", "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_177.jpg", - "ffg": 177, - "hyperspace": false, - "keywords": ["Freighter"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/spicerunner.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter" + ], + "epic": true }, { "name": "Torkil Mux", @@ -121,7 +162,7 @@ "cost": 38, "xws": "torkilmux", "ability": "At the start of the Engagement Phase, you may choose 1 ship in your firing arc. If you do, that ship engages at initiative 0 instead of its normal initiative value this round.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_176.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/torkilmux.png", "slots": [ "Crew", "Device", @@ -130,19 +171,25 @@ "Modification", "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_176.jpg", - "ffg": 176, - "hyperspace": true, - "keywords": ["Freighter"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/torkilmux.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter" + ], + "epic": true }, { "name": "Gamut Key", "xws": "gamutkey", "initiative": 3, "limited": 1, - "hyperspace": true, - "keywords": ["Freighter"], - "cost": 34, + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter" + ], + "cost": 31, "slots": [ "Talent", "Crew", @@ -153,9 +200,14 @@ "Title" ], "ability": "At the start of the End Phase, you may spend 2 [Charge] to choose yourself or a ship in your [Single Turret Arc] with 1 or more circular tokens. During the End Phase, circular tokens are not removed from that ship.", + "charges": { + "value": 2, + "recovers": 1 + }, "caption": "Collaborationist Governor", - "ffg": 896, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/c505641a8f7b883897b41fd07809d37d.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/gamutkey.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/gamutkey.png", + "epic": true }, { "name": "Kanan Jarrus", @@ -163,10 +215,18 @@ "initiative": 3, "limited": 1, "caption": "Lost Padawan", - "hyperspace": true, - "keywords": ["Jedi", "Light Side"], - "force": { "value": 1, "recovers": 1 }, - "cost": 42, + "standard": true, + "wildspace": true, + "keywords": [ + "Jedi", + "Light Side", + "Freighter" + ], + "force": { + "value": 1, + "recovers": 1 + }, + "cost": 40, "slots": [ "Force Power", "Crew", @@ -177,8 +237,9 @@ "Title" ], "ability": "While you or a ship in your [Single Turret Arc] defends, you may spend 1 [Force]. If you do, the attacker rolls 1 fewer attack die.", - "ffg": 897, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a1ad87f3418ee0b755b42f7afb259858.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/kananjarrus-hwk290lightfreighter.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/kananjarrus-hwk290lightfreighter.png", + "epic": true }, { "name": "Tápusk", @@ -186,8 +247,9 @@ "initiative": 5, "limited": 1, "caption": "Order 66 Informant", - "hyperspace": true, - "cost": 36, + "standard": true, + "wildspace": true, + "cost": 33, "slots": [ "Talent", "Crew", @@ -198,8 +260,38 @@ "Title" ], "ability": "During the End Phase, before an enemy ship in your [Single Turret Arc] recovers 1 recurring [Charge] or [Force], you may spend 2 [Charge]. If you do, that ship does not recover that [Charge] or [Force].", - "ffg": 895, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/b88cf93a5391d3b1ebd7d619a7aabdf9.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/tapusk.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/tapusk.png", + "keywords": [ + "Freighter" + ], + "epic": true + }, + { + "name": "Janus Kasmir", + "caption": "Kalleran Scoundrel", + "initiative": 4, + "limited": 1, + "cost": 34, + "xws": "januskasmir-wat1", + "ability": "At the start of the Engagement Phase, you may spend 1 green token to perform a [Jam] action, even while stressed.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/januskasmir-wat1.png", + "slots": [ + "Talent", + "Crew", + "Device", + "Illicit", + "Modification", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/januskasmir-wat1.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Freighter" + ], + "epic": true } ] } diff --git a/data/pilots/scum-and-villainy/jumpmaster-5000.json b/data/pilots/scum-and-villainy/jumpmaster-5000.json index 2189a22b2..0864784b2 100644 --- a/data/pilots/scum-and-villainy/jumpmaster-5000.json +++ b/data/pilots/scum-and-villainy/jumpmaster-5000.json @@ -1,7 +1,6 @@ { "name": "JumpMaster 5000", "xws": "jumpmaster5000", - "ffg": 45, "size": "Large", "dial": [ "1TW", @@ -21,28 +20,52 @@ "4FW", "4KR" ], - "dialCodes": ["JM5"], - "faction": "Scum and Villainy", + "dialCodes": [ + "JM5" + ], + "faction": "scumandvillainy", "stats": [ - { "arc": "Single Turret Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 6 }, - { "type": "shields", "value": 3 } + { + "arc": "Single Turret Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 6 + }, + { + "type": "shields", + "value": 3 + } ], "actions": [ { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Rotate Arc" }, + "linked": { + "difficulty": "Red", + "type": "Rotate Arc" + }, "type": "Focus" }, { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Rotate Arc" }, + "linked": { + "difficulty": "Red", + "type": "Rotate Arc" + }, "type": "Lock" }, - { "difficulty": "Red", "type": "Barrel Roll" } + { + "difficulty": "Red", + "type": "Barrel Roll" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Jumpmaster.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/scum-and-villainy/I_Jumpmaster.png", "pilots": [ { "name": "Contracted Scout", @@ -51,7 +74,7 @@ "cost": 41, "xws": "contractedscout", "text": "Built for long-distance reconnaissance and plotting new hyperspace routes, the lightly armed JumpMaster 5000 is often extensively retrofitted with custom upgrades.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_217.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/contractedscout.png", "slots": [ "Cannon", "Torpedo", @@ -61,9 +84,10 @@ "Modification", "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_217.jpg", - "ffg": 217, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/contractedscout.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Dengar", @@ -73,14 +97,17 @@ "cost": 53, "xws": "dengar", "ability": "After you defend, if the attacker is in your [Front Arc], you may spend 1 [Charge] to perform a bonus attack against the attacker.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_214.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dengar.png", "alt": [ { "image": "https://images-cdn.fantasyflightgames.com/filer_public/fe/da/feda9a2c-38f4-447a-8b0c-af7e04ace137/op067_dengar.png", "source": "Coruscant Invitational 2018" } ], - "charges": { "value": 1, "recovers": 1 }, + "charges": { + "value": 1, + "recovers": 1 + }, "slots": [ "Talent", "Cannon", @@ -91,20 +118,23 @@ "Modification", "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_214.jpg", - "ffg": 214, - "hyperspace": true, - "keywords": ["Bounty Hunter"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dengar.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter" + ], + "epic": true }, { "name": "Manaroo", "caption": "Graceful Aruzan", "initiative": 3, "limited": 1, - "cost": 45, + "cost": 43, "xws": "manaroo", "ability": "At the start of the Engagement Phase, you may choose a friendly ship at range 0-1. If you do, transfer all green tokens assigned to you to that ship.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_215.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/manaroo.png", "slots": [ "Talent", "Cannon", @@ -115,10 +145,13 @@ "Modification", "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_215.jpg", - "ffg": 215, - "hyperspace": true, - "keywords": ["Bounty Hunter"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/manaroo.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter" + ], + "epic": true }, { "name": "Tel Trevura", @@ -128,8 +161,11 @@ "cost": 44, "xws": "teltrevura", "ability": "If you would be destroyed, you may spend 1 [Charge]. If you do, discard all of your damage cards, suffer 5 [Hit] damage, and place yourself in reserves instead. At the start of the next Planning Phase, place yourself within range 1 of your player edge.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_216.png", - "charges": { "value": 1, "recovers": 0 }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/teltrevura.png", + "charges": { + "value": 1, + "recovers": 0 + }, "slots": [ "Talent", "Cannon", @@ -140,9 +176,10 @@ "Modification", "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_216.jpg", - "ffg": 216, - "hyperspace": true + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/teltrevura.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Nom Lumb", @@ -150,7 +187,8 @@ "initiative": 1, "limited": 1, "caption": "On the Run", - "hyperspace": true, + "standard": true, + "wildspace": true, "slots": [ "Cannon", "Torpedo", @@ -161,11 +199,13 @@ "Title" ], "ability": "After you become the defender, if the attacker is not in your [Single Turret Arc], you must rotate your [Single Turret Arc] indicator to a standard arc the attacker is in.", - "cost": 38, - "ffg": 637, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/3de089d708ab1c7d8aee35ef99a1f1ed.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/4a13a4b7493d39f53b9c37c6a82edf5a.png", - "keywords": ["Bounty Hunter"] + "cost": 37, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/nomlumb.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/nomlumb.png", + "keywords": [ + "Bounty Hunter" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/scum-and-villainy/kihraxz-fighter.json b/data/pilots/scum-and-villainy/kihraxz-fighter.json index 67cd78c53..4609b185f 100644 --- a/data/pilots/scum-and-villainy/kihraxz-fighter.json +++ b/data/pilots/scum-and-villainy/kihraxz-fighter.json @@ -1,7 +1,6 @@ { "name": "Kihraxz Fighter", "xws": "kihraxzfighter", - "ffg": 7, "size": "Small", "dial": [ "1TW", @@ -21,20 +20,44 @@ "4FW", "4KR" ], - "dialCodes": ["KXZ"], - "faction": "Scum and Villainy", + "dialCodes": [ + "KXZ" + ], + "faction": "scumandvillainy", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 5 }, - { "type": "shields", "value": 1 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 5 + }, + { + "type": "shields", + "value": 1 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Barrel Roll" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Kihraxz.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/scum-and-villainy/I_Kihraxz.png", "pilots": [ { "name": "Black Sun Ace", @@ -43,7 +66,7 @@ "cost": 38, "xws": "blacksunace", "text": "The Kihraxz assault fighter was developed specifically for the Black Sun crime syndicate, whose highly paid ace pilots demanded a nimble, powerful ship to match their skills.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_195.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/blacksunace.png", "slots": [ "Talent", "Missile", @@ -52,9 +75,10 @@ "Modification", "Modification" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_195.jpg", - "ffg": 195, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/blacksunace.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Captain Jostero", @@ -64,7 +88,7 @@ "cost": 41, "xws": "captainjostero", "ability": "After an enemy ship suffers damage, if it is not defending, you may perform a bonus attack against that ship.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_194.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/captainjostero.png", "slots": [ "Missile", "Illicit", @@ -72,9 +96,10 @@ "Modification", "Modification" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_194.jpg", - "ffg": 194, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/captainjostero.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Cartel Marauder", @@ -83,7 +108,7 @@ "cost": 37, "xws": "cartelmarauder", "text": "The versatile Kihraxz was modeled after Incom's popular X-wing starfighter, but an array of after-market modification kits ensure a wide variety of designs.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_196.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/cartelmarauder.png", "slots": [ "Missile", "Illicit", @@ -91,19 +116,20 @@ "Modification", "Modification" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_196.jpg", - "ffg": 196, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/cartelmarauder.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Graz", "caption": "The Hunter", "initiative": 4, "limited": 1, - "cost": 45, + "cost": 44, "xws": "graz", "ability": "While you defend, if you are behind the attacker, roll 1 additional defense die. While you perform an attack, if you are behind the defender, roll 1 additional attack die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_192.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/graz.png", "slots": [ "Talent", "Missile", @@ -112,10 +138,13 @@ "Modification", "Modification" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_192.jpg", - "ffg": 192, - "hyperspace": false, - "keywords": ["Bounty Hunter"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/graz.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter" + ], + "epic": true }, { "name": "Talonbane Cobra", @@ -125,7 +154,7 @@ "cost": 48, "xws": "talonbanecobra", "ability": "While you defend at attack range 3 or perform an attack at attack range 1, roll 1 additional die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_191.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/talonbanecobra.png", "slots": [ "Talent", "Missile", @@ -134,19 +163,49 @@ "Modification", "Modification" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_191.jpg", - "ffg": 191, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/talonbanecobra.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Viktor Hel", "caption": "Storied Bounty Hunter", "initiative": 4, "limited": 1, - "cost": 43, + "cost": 42, "xws": "viktorhel", "ability": "After you defend, if you did not roll exactly 2 defense dice, the attacker gains 1 stress token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_193.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/viktorhel.png", + "slots": [ + "Talent", + "Missile", + "Illicit", + "Illicit", + "Modification", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/viktorhel.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter" + ], + "epic": true + }, + { + "name": "Black Sun Bodyguard", + "caption": "Vaksai Pilot", + "initiative": 4, + "limited": 2, + "cost": 43, + "xws": "blacksunbodyguard-wat1", + "ability": "Setup: Lose 2 [Charge]. After you suffer damage, recover 1 [Charge]. Before you engage, you may spend 2 [Charge] to recover 1 [Charge] on 1 of your equipped upgrades.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/blacksunbodyguard-wat1.png", + "charges": { + "value": 2, + "recovers": 0 + }, "slots": [ "Talent", "Missile", @@ -155,10 +214,10 @@ "Modification", "Modification" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_193.jpg", - "ffg": 193, - "hyperspace": false, - "keywords": ["Bounty Hunter"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/blacksunbodyguard-wat1.png", + "standard": false, + "wildspace": true, + "epic": true } ] } diff --git a/data/pilots/scum-and-villainy/lancer-class-pursuit-craft.json b/data/pilots/scum-and-villainy/lancer-class-pursuit-craft.json index 5f9b94b0c..81b8d3ade 100644 --- a/data/pilots/scum-and-villainy/lancer-class-pursuit-craft.json +++ b/data/pilots/scum-and-villainy/lancer-class-pursuit-craft.json @@ -1,7 +1,6 @@ { "name": "Lancer-class Pursuit Craft", "xws": "lancerclasspursuitcraft", - "ffg": 42, "size": "Large", "dial": [ "1BW", @@ -21,33 +20,70 @@ "5FW", "5KR" ], - "dialCodes": ["LPC"], - "faction": "Scum and Villainy", + "dialCodes": [ + "LPC" + ], + "faction": "scumandvillainy", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "arc": "Single Turret Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 8 }, - { "type": "shields", "value": 2 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "arc": "Single Turret Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 8 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Evade" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Rotate Arc" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Rotate Arc" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_ShadowCaster.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/scum-and-villainy/I_ShadowCaster.png", "pilots": [ { "name": "Asajj Ventress", "caption": "Force of Her Own", "initiative": 4, "limited": 1, - "cost": 68, + "cost": 67, "xws": "asajjventress", "ability": "At the start of the Engagement Phase, you may choose 1 enemy ship in your [Single Turret Arc] at range 0-2 and spend 1 [Force]. If you do, that ship gains 1 stress token unless it removes 1 green token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_219.png", - "force": { "value": 2, "recovers": 1, "side": ["dark"] }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/asajjventress.png", + "force": { + "value": 2, + "recovers": 1, + "side": [ + "dark" + ] + }, "slots": [ "Crew", "Illicit", @@ -56,20 +92,24 @@ "Title", "Force Power" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_219.jpg", - "ffg": 219, - "hyperspace": false, - "keywords": ["Bounty Hunter", "Dark Side"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/asajjventress.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter", + "Dark Side" + ], + "epic": true }, { "name": "Ketsu Onyo", "caption": "Black Sun Contractor", "initiative": 5, "limited": 1, - "cost": 66, + "cost": 67, "xws": "ketsuonyo", "ability": "At the start of the Engagement Phase, you may choose 1 ship in both your [Front Arc] and [Single Turret Arc] at range 0-1. If you do, that ship gains 1 tractor token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_218.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/ketsuonyo.png", "slots": [ "Talent", "Crew", @@ -78,20 +118,24 @@ "Modification", "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_218.jpg", - "ffg": 218, - "hyperspace": false, - "keywords": ["Bounty Hunter"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/ketsuonyo.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter", + "Mandalorian" + ], + "epic": true }, { "name": "Sabine Wren", "caption": "Artistic Saboteur", "initiative": 3, "limited": 1, - "cost": 58, + "cost": 56, "xws": "sabinewren-lancerclasspursuitcraft", "ability": "While you defend, if the attacker is in your [Single Turret Arc] at range 0-2, you may add 1 [Focus] result to your dice results.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_220.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sabinewren-lancerclasspursuitcraft.png", "slots": [ "Talent", "Crew", @@ -100,24 +144,37 @@ "Modification", "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_220.jpg", - "ffg": 220, - "hyperspace": false, - "keywords": ["Mandalorian"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sabinewren-lancerclasspursuitcraft.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter", + "Mandalorian" + ], + "epic": true }, { "name": "Shadowport Hunter", "initiative": 2, "limited": 0, - "cost": 54, + "cost": 51, "xws": "shadowporthunter", "text": "Crime syndicates augment the lethal skills of their loyal contractors with the best technology available, like the fast and formidable Lancer-class pursuit craft.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_221.png", - "slots": ["Crew", "Illicit", "Illicit", "Modification", "Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_221.jpg", - "ffg": 221, - "hyperspace": false, - "keywords": ["Bounty Hunter"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/shadowporthunter.png", + "slots": [ + "Crew", + "Illicit", + "Illicit", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/shadowporthunter.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/scum-and-villainy/m12-l-kimogila-fighter.json b/data/pilots/scum-and-villainy/m12-l-kimogila-fighter.json index 66a5598d6..f0917ef39 100644 --- a/data/pilots/scum-and-villainy/m12-l-kimogila-fighter.json +++ b/data/pilots/scum-and-villainy/m12-l-kimogila-fighter.json @@ -1,7 +1,6 @@ { "name": "M12-L Kimogila Fighter", "xws": "m12lkimogilafighter", - "ffg": 39, "size": "Medium", "dial": [ "1TR", @@ -21,21 +20,48 @@ "3YW", "4KR" ], - "dialCodes": ["M12"], - "faction": "Scum and Villainy", + "dialCodes": [ + "M12" + ], + "faction": "scumandvillainy", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 7 }, - { "type": "shields", "value": 2 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 7 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Barrel Roll" }, - { "difficulty": "White", "type": "Reload" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Reload" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Kimogila.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/scum-and-villainy/I_Kimogila.png", "pilots": [ { "name": "Cartel Executioner", @@ -44,12 +70,13 @@ "cost": 41, "xws": "cartelexecutioner", "text": "Many veteran pilots in the service of the Hutt kajidics and other criminal operations choose the M12-L Kimogila for its firepower and dreaded reputation alike.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_209.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/cartelexecutioner.png", "shipAbility": { "name": "Dead to Rights", "text": "While you perform an attack, if the defender is in your [Bullseye Arc], defense dice cannot be modified using green tokens." }, "slots": [ + "Talent", "Talent", "Torpedo", "Missile", @@ -57,25 +84,30 @@ "Illicit", "Modification" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_209.jpg", - "ffg": 209, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/cartelexecutioner.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Dalan Oberos", "caption": "Returned from the Grave", "initiative": 3, "limited": 1, - "cost": 45, + "cost": 42, "xws": "dalanoberos", "ability": "At the start of the Engagement Phase, you may choose 1 shielded ship in your [Bullseye Arc] and spend 1 [Charge]. If you do, that ship loses 1 shield and you recover 1 shield.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_208.png", - "charges": { "value": 2, "recovers": 0 }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dalanoberos.png", + "charges": { + "value": 2, + "recovers": 0 + }, "shipAbility": { "name": "Dead to Rights", "text": "While you perform an attack, if the defender is in your [Bullseye Arc], defense dice cannot be modified using green tokens." }, "slots": [ + "Talent", "Talent", "Torpedo", "Missile", @@ -83,25 +115,29 @@ "Illicit", "Modification" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_208.jpg", - "ffg": 208, - "hyperspace": false, - "keywords": ["Bounty Hunter"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dalanoberos.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter" + ], + "epic": true }, { "name": "Torani Kulda", "caption": "Rodian Freelancer", "initiative": 4, "limited": 1, - "cost": 48, + "cost": 47, "xws": "toranikulda", "ability": "After you perform an attack, each enemy ship in your [Bullseye Arc] suffers 1 [Hit] damage unless it removes 1 green token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_207.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/toranikulda.png", "shipAbility": { "name": "Dead to Rights", "text": "While you perform an attack, if the defender is in your [Bullseye Arc], defense dice cannot be modified using green tokens." }, "slots": [ + "Talent", "Talent", "Torpedo", "Missile", @@ -109,10 +145,13 @@ "Illicit", "Modification" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_207.jpg", - "ffg": 207, - "hyperspace": false, - "keywords": ["Bounty Hunter"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/toranikulda.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/scum-and-villainy/m3-a-interceptor.json b/data/pilots/scum-and-villainy/m3-a-interceptor.json index 359be1686..2a70c2ae9 100644 --- a/data/pilots/scum-and-villainy/m3-a-interceptor.json +++ b/data/pilots/scum-and-villainy/m3-a-interceptor.json @@ -1,7 +1,6 @@ { "name": "M3-A Interceptor", "xws": "m3ainterceptor", - "ffg": 44, "size": "Small", "dial": [ "1TW", @@ -21,38 +20,68 @@ "5FW", "5KR" ], - "dialCodes": ["M3A"], - "faction": "Scum and Villainy", + "dialCodes": [ + "M3A" + ], + "faction": "scumandvillainy", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 3 }, - { "type": "hull", "value": 3 }, - { "type": "shields", "value": 1 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 3 + }, + { + "type": "shields", + "value": 1 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Evade" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Barrel Roll" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Scyk.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/scum-and-villainy/I_Scyk.png", "pilots": [ { "name": "Cartel Spacer", "initiative": 1, "limited": 0, - "cost": 27, + "cost": 26, "xws": "cartelspacer", - "text": "MandalMotors' M3-A \"Scyk\" Interceptor is purchased in large quantities by the Hutt Cartel and the Car'das smugglers due to its low cost and customizability.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_190.png", + "text": "MandalMotors' M3-A “Scyk” Interceptor is purchased in large quantities by the Hutt Cartel and the Car'das smugglers due to its low cost and customizability.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/cartelspacer.png", "shipAbility": { "name": "Weapon Hardpoint", "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." }, - "slots": ["Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_190.jpg", - "ffg": 190, - "hyperspace": false + "slots": [ + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/cartelspacer.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Genesis Red", @@ -62,70 +91,87 @@ "cost": 31, "xws": "genesisred", "ability": "After you acquire a lock, you must remove all of your focus and evade tokens. Then, gain the same number of focus and evade tokens that the locked ship has.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_184.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/genesisred.png", "shipAbility": { "name": "Weapon Hardpoint", "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." }, - "slots": ["Talent", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_184.jpg", - "ffg": 184, - "hyperspace": true + "slots": [ + "Talent", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/genesisred.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Inaldra", "caption": "Tansarii Point Boss", "initiative": 2, "limited": 1, - "cost": 30, + "cost": 27, "xws": "inaldra", "ability": "While you defend or perform an attack, you may suffer 1 [Hit] damage to reroll any number of your dice.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_187.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/inaldra.png", "shipAbility": { "name": "Weapon Hardpoint", "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." }, - "slots": ["Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_187.jpg", - "ffg": 187, - "hyperspace": true + "slots": [ + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/inaldra.png", + "standard": true, + "wildspace": true, + "epic": true }, { - "name": "Laetin A'shera", - "caption": "Car'das Enforcer", + "name": "Laetin A’shera", + "caption": "Car’das Enforcer", "initiative": 3, "limited": 1, "cost": 30, "xws": "laetinashera", "ability": "After you defend or perform an attack, if the attack missed, gain 1 evade token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_185.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/laetinashera.png", "shipAbility": { "name": "Weapon Hardpoint", "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." }, - "slots": ["Talent", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_185.jpg", - "ffg": 185, - "hyperspace": true + "slots": [ + "Talent", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/laetinashera.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Quinn Jast", "caption": "Fortune Seeker", "initiative": 3, "limited": 1, - "cost": 31, + "cost": 28, "xws": "quinnjast", "ability": "At the start of the Engagement Phase, you may gain 1 disarm token to recover 1 [Charge] on 1 of your equipped upgrades.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_186.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/quinnjast.png", "shipAbility": { "name": "Weapon Hardpoint", "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." }, - "slots": ["Talent", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_186.jpg", - "ffg": 186, - "hyperspace": true, - "keywords": ["Bounty Hunter"] + "slots": [ + "Talent", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/quinnjast.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter" + ], + "epic": true }, { "name": "Serissu", @@ -135,15 +181,19 @@ "cost": 40, "xws": "serissu", "ability": "While a friendly ship at range 0-1 defends, it may reroll 1 of its dice.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_183.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/serissu.png", "shipAbility": { "name": "Weapon Hardpoint", "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." }, - "slots": ["Talent", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_183.jpg", - "ffg": 183, - "hyperspace": true + "slots": [ + "Talent", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/serissu.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Sunny Bounder", @@ -153,32 +203,39 @@ "cost": 27, "xws": "sunnybounder", "ability": "While you defend or perform an attack, after you roll or reroll your dice, if you have the same result on each of your dice, you may add 1 matching result.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_188.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sunnybounder.png", "shipAbility": { "name": "Weapon Hardpoint", "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." }, - "slots": ["Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_188.jpg", - "ffg": 188, - "hyperspace": true + "slots": [ + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sunnybounder.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Tansarii Point Veteran", "initiative": 3, "limited": 0, - "cost": 29, + "cost": 28, "xws": "tansariipointveteran", "text": "The defeat of Black Sun ace Talonbane Cobra by Car'das smugglers turned the tide of the Battle of Tansarii Point Station. Survivors of the clash are respected throughout the sector.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_189.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/tansariipointveteran.png", "shipAbility": { "name": "Weapon Hardpoint", "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." }, - "slots": ["Talent", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_189.jpg", - "ffg": 189, - "hyperspace": false + "slots": [ + "Talent", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/tansariipointveteran.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "G4R-G0R V/M", @@ -190,20 +247,37 @@ "text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade." }, "caption": "Tilted Droid", - "hyperspace": true, - "slots": ["Modification"], + "standard": true, + "wildspace": true, + "slots": [ + "Modification" + ], "ability": "After you defend, each other ship at range 0 suffers 1 [Critical Hit] damage.", - "cost": 28, - "ffg": 636, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/f1d43e799b5f829b40c091a2274e570f.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/22cf051c016aacea162995df8e9129a2.png", + "cost": 25, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/g4rgorvm.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/g4rgorvm.png", "shipActions": [ - { "difficulty": "White", "type": "Calculate" }, - { "difficulty": "White", "type": "Evade" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "White", "type": "Barrel Roll" } + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + } + ], + "keywords": [ + "Droid" ], - "keywords": ["Droid"] + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/scum-and-villainy/modified-tie-ln-fighter.json b/data/pilots/scum-and-villainy/modified-tie-ln-fighter.json index 17fe0352b..e66ad5b63 100644 --- a/data/pilots/scum-and-villainy/modified-tie-ln-fighter.json +++ b/data/pilots/scum-and-villainy/modified-tie-ln-fighter.json @@ -1,7 +1,6 @@ { "name": "Modified TIE/ln Fighter", "xws": "modifiedtielnfighter", - "ffg": 56, "size": "Small", "dial": [ "1TW", @@ -20,77 +19,119 @@ "4FW", "5FR" ], - "dialCodes": ["Tmg"], - "faction": "Scum and Villainy", + "dialCodes": [ + "Tmg" + ], + "faction": "scumandvillainy", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 3 }, - { "type": "hull", "value": 3 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 3 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Evade" }, - { "difficulty": "White", "type": "Barrel Roll" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_MiningGuild_TIE.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/scum-and-villainy/I_MiningGuild_TIE.png", "pilots": [ { "name": "Ahhav", "caption": "Vengeful Survivor", "initiative": 3, "limited": 1, - "cost": 28, + "cost": 27, "xws": "ahhav", "ability": "While you defend or perform an attack, if the enemy ship is a larger size than you, roll 1 additional die.", "shipAbility": { "name": "Notched Stabilizers", "text": "While you move, you ignore asteroids." }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/d58a0696c8d85a63e90eb8a1e522a54c.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/2d162fae88ae58b9eca31f7dc0b7a9da.jpg", - "slots": ["Talent", "Modification"], - "ffg": 442, - "hyperspace": true, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/ahhav.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/ahhav.png", + "slots": [ + "Talent", + "Modification" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Captain Seevor", "caption": "Noisy Nuisance", "initiative": 3, "limited": 1, - "cost": 30, + "cost": 28, "xws": "captainseevor", "ability": "While you defend or perform an attack, before attack dice are rolled, if you are not in the enemy ship's [Bullseye Arc], you may spend 1 [Charge]. If you do, the enemy ship gains 1 jam token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/70b64586cc2eb05d10efc7ba8dfd69d0.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/6ead4bbfa14075a19972dc57b90a34e1.jpg", - "charges": { "value": 1, "recovers": 1 }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/captainseevor.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/captainseevor.png", + "charges": { + "value": 1, + "recovers": 1 + }, "shipAbility": { "name": "Notched Stabilizers", "text": "While you move, you ignore asteroids." }, - "slots": ["Talent", "Modification"], - "ffg": 443, - "hyperspace": true, - "keywords": ["TIE"] + "slots": [ + "Talent", + "Modification" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Foreman Proach", "caption": "Slave Driver", "initiative": 4, "limited": 1, - "cost": 29, + "cost": 27, "xws": "foremanproach", "ability": "Before you engage, you may choose 1 enemy ship in your [Bullseye Arc] at range 1-2 and gain 1 disarm token. If you do, that ship gains 1 tractor token.", "shipAbility": { "name": "Notched Stabilizers", "text": "While you move, you ignore asteroids." }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/cfb3b5fa9d747afc3aa10f3b86f45818.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/f789aa53866112fc44fd27ed9e177993.jpg", - "slots": ["Talent", "Modification"], - "ffg": 441, - "hyperspace": true, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/foremanproach.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/foremanproach.png", + "slots": [ + "Talent", + "Modification" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Mining Guild Surveyor", @@ -103,32 +144,46 @@ "name": "Notched Stabilizers", "text": "While you move, you ignore asteroids." }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/3e5872dea32f2015bb6737592c21efaf.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/ad058d0b6d46f668f06bf0007207a30a.jpg", - "slots": ["Talent", "Modification"], - "ffg": 445, - "hyperspace": false, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/miningguildsurveyor.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/miningguildsurveyor.png", + "slots": [ + "Talent", + "Modification" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Overseer Yushyn", "caption": "Overbearing Boss", "initiative": 2, "limited": 1, - "cost": 24, + "cost": 22, "xws": "overseeryushyn", "ability": "Before a friendly ship at range 1 would gain a disarm token, if that ship is not stressed, you may spend 1 [Charge]. If you do, that ship gains 1 stress token instead.", "shipAbility": { "name": "Notched Stabilizers", "text": "While you move, you ignore asteroids." }, - "charges": { "value": 1, "recovers": 1 }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/6c9268d3e6cc6b671d6db6ac39fcad0f.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/1f454eb7c12b572103e59a9a782c3f50.jpg", - "slots": ["Modification"], - "ffg": 444, - "hyperspace": true, - "keywords": ["TIE"] + "charges": { + "value": 1, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/overseeryushyn.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/overseeryushyn.png", + "slots": [ + "Modification" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true }, { "name": "Mining Guild Sentry", @@ -141,12 +196,41 @@ "name": "Notched Stabilizers", "text": "While you move, you ignore asteroids." }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/6d67112b15c3c97bd3d4acf2c8d000ed.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/09c955b8008750a30fe398c200431160.jpg", - "slots": ["Modification"], - "ffg": 446, - "hyperspace": false, - "keywords": ["TIE"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/miningguildsentry.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/miningguildsentry.png", + "slots": [ + "Modification" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true + }, + { + "name": "Lapin", + "caption": "Stickler for Details", + "initiative": 3, + "limited": 1, + "cost": 24, + "xws": "lapin", + "ability": "While you defend or perform an attack, if the enemy ship is stressed, that ship's dice cannot be modified.", + "shipAbility": { + "name": "Notched Stabilizers", + "text": "While you move, you ignore asteroids." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lapin.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lapin.png", + "slots": [ + "Modification" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "TIE" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/scum-and-villainy/quadrijet-transfer-spacetug.json b/data/pilots/scum-and-villainy/quadrijet-transfer-spacetug.json index 8fb577be8..a529ecb9f 100644 --- a/data/pilots/scum-and-villainy/quadrijet-transfer-spacetug.json +++ b/data/pilots/scum-and-villainy/quadrijet-transfer-spacetug.json @@ -1,7 +1,6 @@ { "name": "Quadrijet Transfer Spacetug", "xws": "quadrijettransferspacetug", - "ffg": 9, "size": "Small", "dial": [ "1AR", @@ -23,54 +22,90 @@ "3FB", "3NW" ], - "dialCodes": ["QUA"], - "faction": "Scum and Villainy", + "dialCodes": [ + "QUA" + ], + "faction": "scumandvillainy", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 5 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 5 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "Red", "type": "Evade" }, - { "difficulty": "White", "type": "Barrel Roll" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "Red", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Barrel Roll" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Quadjumper.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/scum-and-villainy/I_Quadjumper.png", "pilots": [ { "name": "Constable Zuvio", "caption": "Missing Sheriff of Niima Outpost", "initiative": 4, "limited": 1, - "cost": 29, + "cost": 30, "xws": "constablezuvio", "ability": "If you would drop a device, you may launch it using a [1 [Straight]] template instead.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_161.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/constablezuvio.png", "shipAbility": { "name": "Spacetug Tractor Array", "text": "Action: Choose a ship in your [Front Arc] at range 1. That ship gains 1 tractor token, or 2 tractor tokens if it is in your [Bullseye Arc] at range 1." }, - "slots": ["Talent", "Crew", "Device", "Illicit", "Modification", "Tech"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_161.jpg", - "ffg": 161, - "hyperspace": false + "slots": [ + "Talent", + "Crew", + "Device", + "Illicit", + "Modification", + "Tech" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/constablezuvio.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Jakku Gunrunner", "initiative": 1, "limited": 0, - "cost": 29, + "cost": 28, "xws": "jakkugunrunner", - "text": "The Quadrijet transfer spacetug, commonly called a \"Quadjumper,\" is nimble in space and atmosphere alike, making it popular among both smugglers and explorers.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_164.png", + "text": "The Quadrijet transfer spacetug, commonly called a “Quadjumper,” is nimble in space and atmosphere alike, making it popular among both smugglers and explorers.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/jakkugunrunner.png", "shipAbility": { "name": "Spacetug Tractor Array", "text": "Action: Choose a ship in your [Front Arc] at range 1. That ship gains 1 tractor token, or 2 tractor tokens if it is in your [Bullseye Arc] at range 1." }, - "slots": ["Crew", "Device", "Illicit", "Modification", "Tech"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_164.jpg", - "ffg": 164, - "hyperspace": false + "slots": [ + "Crew", + "Device", + "Illicit", + "Modification", + "Tech" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/jakkugunrunner.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Sarco Plank", @@ -80,16 +115,26 @@ "cost": 29, "xws": "sarcoplank", "ability": "While you defend, you may treat your agility value as equal to the speed of the maneuver you executed this round.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_162.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sarcoplank.png", "shipAbility": { "name": "Spacetug Tractor Array", "text": "Action: Choose a ship in your [Front Arc] at range 1. That ship gains 1 tractor token, or 2 tractor tokens if it is in your [Bullseye Arc] at range 1." }, - "slots": ["Crew", "Device", "Illicit", "Modification", "Tech"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_162.jpg", - "ffg": 162, - "hyperspace": false, - "keywords": ["Bounty Hunter"] + "slots": [ + "Talent", + "Crew", + "Device", + "Illicit", + "Modification", + "Tech" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sarcoplank.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter" + ], + "epic": true }, { "name": "Unkar Plutt", @@ -99,15 +144,22 @@ "cost": 29, "xws": "unkarplutt", "ability": "At the start of the Engagement Phase, if there are one or more other ships at range 0, you and each other ship at range 0 gain 1 tractor token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_163.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/unkarplutt.png", "shipAbility": { "name": "Spacetug Tractor Array", "text": "Action: Choose a ship in your [Front Arc] at range 1. That ship gains 1 tractor token, or 2 tractor tokens if it is in your [Bullseye Arc] at range 1." }, - "slots": ["Crew", "Device", "Illicit", "Modification", "Tech"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_163.jpg", - "ffg": 163, - "hyperspace": false + "slots": [ + "Crew", + "Device", + "Illicit", + "Modification", + "Tech" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/unkarplutt.png", + "standard": true, + "wildspace": true, + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/scum-and-villainy/rogue-class-starfighter.json b/data/pilots/scum-and-villainy/rogue-class-starfighter.json new file mode 100644 index 000000000..3c5df80aa --- /dev/null +++ b/data/pilots/scum-and-villainy/rogue-class-starfighter.json @@ -0,0 +1,233 @@ +{ + "name": "Rogue-class Starfighter", + "xws": "rogueclassstarfighter", + "size": "Small", + "dial": [ + "1TW", + "1BB", + "1NB", + "1YW", + "2ER", + "2TW", + "2BB", + "2FB", + "2NB", + "2YW", + "2RR", + "3TR", + "3BW", + "3FB", + "3NW", + "3YR", + "4FB", + "5FW", + "5KR" + ], + "dialCodes": [ + "RCS" + ], + "faction": "scumandvillainy", + "stats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 5 + }, + { + "type": "shields", + "value": 2 + } + ], + "actions": [ + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Boost" + }, + "type": "Focus" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + }, + "type": "Focus" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + }, + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Boost" + } + ], + "icon": "https://infinitearenas.com/xw2/images/shipicons/scum-and-villainy/I_Rogue.png", + "pilots": [ + { + "name": "Durge", + "caption": "Hard to Kill", + "initiative": 5, + "limited": 1, + "cost": 43, + "xws": "durge", + "slots": [ + "Talent", + "Cannon", + "Cannon", + "Illicit", + "Modification", + "Title" + ], + "ability": "While you defend, after the Neutralize Results step, if there are more [Hit]/[Critical Hit] results than your active [Shield], you may change 1 [Hit] result to a [Critical Hit] and cancel 1 [Hit] result.", + "shipAbility": { + "name": "Dead to Rights", + "text": "While you perform an attack, if the defender is in your [Bullseye Arc], defense dice cannot be modified using green tokens." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/durge.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/durge.png", + "keywords": [ + "Bounty Hunter" + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Cad Bane", + "caption": "Infamous Bounty Hunter", + "initiative": 4, + "limited": 1, + "cost": 40, + "xws": "cadbane", + "slots": [ + "Talent", + "Cannon", + "Cannon", + "Illicit", + "Modification", + "Title" + ], + "ability": "After you perform an attack that hits, you may spend 2 [Charge] to transfer 1 of your non-lock red or orange tokens to the defender.", + "charges": { + "value": 2, + "recovers": 1 + }, + "shipAbility": { + "name": "Dead to Rights", + "text": "While you perform an attack, if the defender is in your [Bullseye Arc], defense dice cannot be modified using green tokens." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/cadbane.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/cadbane.png", + "keywords": [ + "Bounty Hunter" + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Viktor Hel", + "caption": "Storied Bounty Hunter", + "initiative": 4, + "limited": 1, + "cost": 39, + "xws": "viktorhel-rogueclassstarfighter", + "slots": [ + "Talent", + "Cannon", + "Cannon", + "Illicit", + "Modification", + "Title" + ], + "ability": "After you defend, if you did not roll exactly 2 defense dice, the attacker gains 1 stress token.", + "shipAbility": { + "name": "Dead to Rights", + "text": "While you perform an attack, if the defender is in your [Bullseye Arc], defense dice cannot be modified using green tokens." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/viktorhel-rogueclassstarfighter.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/viktorhel-rogueclassstarfighter.png", + "keywords": [ + "Bounty Hunter" + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Nom Lumb", + "caption": "Laughing Bandit", + "initiative": 1, + "limited": 1, + "cost": 35, + "xws": "nomlumb-rogueclassstarfighter", + "slots": [ + "Cannon", + "Cannon", + "Illicit", + "Modification", + "Title" + ], + "ability": "At the start of the Engagement Phase, you may choose 1 enemy ship in your [Front Arc]. If you do, treat your initiative as equal to that ship's until the end of the round.", + "shipAbility": { + "name": "Dead to Rights", + "text": "While you perform an attack, if the defender is in your [Bullseye Arc], defense dice cannot be modified using green tokens." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/nomlumb-rogueclassstarfighter.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/nomlumb-rogueclassstarfighter.png", + "keywords": [ + "Bounty Hunter" + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Outer Rim Hunter", + "initiative": 3, + "limited": 0, + "cost": 35, + "xws": "outerrimhunter", + "slots": [ + "Talent", + "Cannon", + "Cannon", + "Illicit", + "Modification", + "Title" + ], + "text": "Due to its association with Cad Bane, the Rogue-class Starfighterhas found its way into the hands of other bounty hunters, especially those who operate in the lawless Outer Rim.", + "shipAbility": { + "name": "Dead to Rights", + "text": "While you perform an attack, if the defender is in your [Bullseye Arc], defense dice cannot be modified using green tokens." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/outerrimhunter.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/outerrimhunter.png", + "keywords": [ + "Bounty Hunter" + ], + "standard": true, + "wildspace": true, + "epic": true + } + ] +} \ No newline at end of file diff --git a/data/pilots/scum-and-villainy/scurrg-h-6-bomber.json b/data/pilots/scum-and-villainy/scurrg-h-6-bomber.json index 4ce8d7b9c..5a956bf54 100644 --- a/data/pilots/scum-and-villainy/scurrg-h-6-bomber.json +++ b/data/pilots/scum-and-villainy/scurrg-h-6-bomber.json @@ -1,7 +1,6 @@ { "name": "Scurrg H-6 bomber", "xws": "scurrgh6bomber", - "ffg": 4, "size": "Medium", "dial": [ "1BB", @@ -21,31 +20,58 @@ "3RR", "4FR" ], - "dialCodes": ["SRG"], - "faction": "Scum and Villainy", + "dialCodes": [ + "SRG" + ], + "faction": "scumandvillainy", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 6 }, - { "type": "shields", "value": 4 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 6 + }, + { + "type": "shields", + "value": 4 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Barrel Roll" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Scurrg.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/scum-and-villainy/I_Scurrg.png", "pilots": [ { "name": "Captain Nym", "caption": "Captain of the Lok Revenants", "initiative": 5, "limited": 1, - "cost": 45, + "cost": 46, "xws": "captainnym", "ability": "Before a friendly bomb or mine would detonate, you may spend 1 [Charge] to prevent it from detonating. While you defend against an attack obstructed by a bomb or mine, roll 1 additional defense die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_204.png", - "charges": { "value": 1, "recovers": 1 }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/captainnym.png", + "charges": { + "value": 1, + "recovers": 1 + }, "slots": [ "Talent", "Turret", @@ -56,18 +82,19 @@ "Title", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_204.jpg", - "ffg": 204, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/captainnym.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Lok Revenant", "initiative": 2, "limited": 0, - "cost": 43, + "cost": 42, "xws": "lokrevenant", "text": "The Nubian Design Collective crafted the Scurrg H-6 Bomber with combat versatility in mind, arming it with powerful shields and a bristling array of destructive weaponry.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_206.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lokrevenant.png", "slots": [ "Turret", "Crew", @@ -77,9 +104,10 @@ "Title", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_206.jpg", - "ffg": 206, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lokrevenant.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Sol Sixxa", @@ -89,7 +117,7 @@ "cost": 44, "xws": "solsixxa", "ability": "If you would drop a device using a [1 [Straight]] template, you may drop it using any other speed 1 template instead.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_205.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/solsixxa.png", "slots": [ "Talent", "Turret", @@ -100,9 +128,10 @@ "Title", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_205.jpg", - "ffg": 205, - "hyperspace": false + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/solsixxa.png", + "standard": true, + "wildspace": true, + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/scum-and-villainy/st-70-assault-ship.json b/data/pilots/scum-and-villainy/st-70-assault-ship.json new file mode 100644 index 000000000..f7860df4a --- /dev/null +++ b/data/pilots/scum-and-villainy/st-70-assault-ship.json @@ -0,0 +1,192 @@ +{ + "name": "ST-70 Assault Ship", + "xws": "st70assaultship", + "size": "Medium", + "dial": [ + "0OR", + "1TR", + "1BW", + "1FB", + "1NW", + "1YR", + "2ER", + "2TW", + "2BW", + "2FB", + "2NW", + "2YW", + "2RR", + "3TR", + "3BW", + "3FB", + "3NW", + "3YR", + "4FB", + "5KR" + ], + "dialCodes": [ + "ST70" + ], + "faction": "scumandvillainy", + "stats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 7 + }, + { + "type": "shields", + "value": 2 + } + ], + "actions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + } + ], + "icon": "https://infinitearenas.com/xw2/images/shipicons/scum-and-villainy/I_ST-70.png", + "pilots": [ + { + "name": "The Mandalorian", + "caption": "Din Djarin", + "initiative": 5, + "limited": 1, + "cost": 50, + "xws": "themandalorian", + "slots": [ + "Talent", + "Crew", + "Crew", + "Gunner", + "Illicit", + "Illicit", + "Modification", + "Title" + ], + "ability": "While you defend or perform an attack, if you are in the [Front Arc] at range 1-2 of 2 or more enemy ships, you may change 1 of your blank results to a [Focus] result.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/themandalorian.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/themandalorian.png", + "keywords": [ + "Mandalorian", + "Bounty Hunter" + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Q9-0", + "caption": "Zero", + "initiative": 5, + "limited": 1, + "cost": 51, + "xws": "q90", + "slots": [ + "Talent", + "Crew", + "Crew", + "Gunner", + "Illicit", + "Illicit", + "Modification", + "Title" + ], + "ability": "After you fully execute an advanced maneuver, you may perform a [Calculate] or [Barrel Roll] action, even while stressed. If you do, gain 1 strain token.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/q90.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/q90.png", + "keywords": [ + "Droid" + ], + "shipActions": [ + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Guild Bounty Hunter", + "caption": "Blaster for Hire", + "initiative": 3, + "limited": 2, + "cost": 46, + "xws": "guildbountyhunter", + "slots": [ + "Crew", + "Crew", + "Gunner", + "Illicit", + "Illicit", + "Modification", + "Title" + ], + "ability": "While you perform an attack at attack range 1-2, you may spend 1 non-recurring [Charge] from 1 of your equipped [Illicit] upgrades to change 1 [Focus] result to a [Critical Hit] result.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/guildbountyhunter.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/guildbountyhunter.png", + "keywords": [ + "Bounty Hunter" + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Outer Rim Enforcer", + "initiative": 2, + "limited": 0, + "cost": 45, + "xws": "outerrimenforcer", + "slots": [ + "Crew", + "Crew", + "Gunner", + "Illicit", + "Illicit", + "Modification", + "Title" + ], + "text": "Designed as a military craft, the ST-70 assault ship is a durable and versatile vessel. For someone travelling in the Outer Rim, this ship can be a transport, combat craft, and home all in one.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/outerrimenforcer.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/outerrimenforcer.png", + "standard": true, + "wildspace": true, + "epic": true + } + ] +} \ No newline at end of file diff --git a/data/pilots/scum-and-villainy/starviper-class-attack-platform.json b/data/pilots/scum-and-villainy/starviper-class-attack-platform.json index 5ef4d8be1..a2e1b2af5 100644 --- a/data/pilots/scum-and-villainy/starviper-class-attack-platform.json +++ b/data/pilots/scum-and-villainy/starviper-class-attack-platform.json @@ -1,7 +1,6 @@ { "name": "StarViper-class Attack Platform", "xws": "starviperclassattackplatform", - "ffg": 3, "size": "Small", "dial": [ "1TW", @@ -21,103 +20,164 @@ "3PR", "4FW" ], - "dialCodes": ["SV"], - "faction": "Scum and Villainy", + "dialCodes": [ + "SV" + ], + "faction": "scumandvillainy", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 3 }, - { "type": "hull", "value": 4 }, - { "type": "shields", "value": 1 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 4 + }, + { + "type": "shields", + "value": 1 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Focus" }, + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Focus" + }, "type": "Barrel Roll" }, { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Focus" }, + "linked": { + "difficulty": "Red", + "type": "Focus" + }, "type": "Boost" } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_StarViper.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/scum-and-villainy/I_StarViper.png", "pilots": [ { "name": "Black Sun Assassin", "initiative": 3, "limited": 0, - "cost": 49, + "cost": 45, "xws": "blacksunassassin", "text": "Although assassinations can be handled with a shot in the dark or a dire substance added to a drink, a flaming shuttle tumbling from the sky sends a special kind of message.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_181.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/blacksunassassin.png", "shipAbility": { "name": "Microthrusters", "text": "While you perform a barrel roll, you must use the [Bank Left] or [Bank Right] template instead of the [Straight] template." }, - "slots": ["Talent", "Tech", "Torpedo", "Modification", "Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_181.jpg", - "ffg": 181, - "hyperspace": false + "slots": [ + "Talent", + "Tech", + "Torpedo", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/blacksunassassin.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Black Sun Enforcer", "initiative": 2, "limited": 0, - "cost": 45, + "cost": 42, "xws": "blacksunenforcer", "text": "Prince Xizor himself collaborated with MandalMotors to design the StarViper-class attack platform, one of the most formidable starfighters in the galaxy.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_182.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/blacksunenforcer.png", "shipAbility": { "name": "Microthrusters", "text": "While you perform a barrel roll, you must use the [Bank Left] or [Bank Right] template instead of the [Straight] template." }, - "slots": ["Tech", "Torpedo", "Modification", "Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_182.jpg", - "ffg": 182, - "hyperspace": false + "slots": [ + "Tech", + "Torpedo", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/blacksunenforcer.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Dalan Oberos", "caption": "Elite Bounty Hunter", "initiative": 4, "limited": 1, - "cost": 51, + "cost": 46, "xws": "dalanoberos-starviperclassattackplatform", "ability": "After you fully execute a maneuver, you may gain 1 stress token to rotate your ship 90°.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_179.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dalanoberos-starviperclassattackplatform.png", "shipAbility": { "name": "Microthrusters", "text": "While you perform a barrel roll, you must use the [Bank Left] or [Bank Right] template instead of the [Straight] template." }, - "slots": ["Talent", "Tech", "Torpedo", "Modification", "Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_179.jpg", - "ffg": 179, - "hyperspace": false, - "keywords": ["Bounty Hunter"] + "slots": [ + "Talent", + "Tech", + "Torpedo", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dalanoberos-starviperclassattackplatform.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter" + ], + "epic": true }, { "name": "Guri", - "caption": "Prince Xizor's Bodyguard", + "caption": "Prince Xizor’s Bodyguard", "initiative": 5, "limited": 1, - "cost": 60, + "cost": 59, "xws": "guri", "ability": "At the start of the Engagement Phase, if there is at least 1 enemy ship at range 0-1, you may gain 1 focus token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_178.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/guri.png", "shipActions": [ - { "difficulty": "White", "type": "Calculate" }, - { "difficulty": "White", "type": "Lock" }, { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Calculate" }, + "type": "Calculate" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Calculate" + }, "type": "Barrel Roll" }, { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Calculate" }, + "linked": { + "difficulty": "Red", + "type": "Calculate" + }, "type": "Boost" } ], @@ -125,29 +185,45 @@ "name": "Microthrusters", "text": "While you perform a barrel roll, you must use the [Bank Left] or [Bank Right] template instead of the [Straight] template." }, - "slots": ["Talent", "Tech", "Torpedo", "Modification", "Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_178.jpg", - "ffg": 178, - "hyperspace": false, - "keywords": ["Droid"] + "slots": [ + "Talent", + "Tech", + "Torpedo", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/guri.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true }, { "name": "Prince Xizor", "caption": "Black Sun Kingpin", "initiative": 4, "limited": 1, - "cost": 51, + "cost": 46, "xws": "princexizor", "ability": "While you defend, after the Neutralize Results step, another friendly ship at range 0-1 and in the attack arc may suffer 1 [Hit] or [Critical Hit] damage. If it does, cancel 1 matching result.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_180.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/princexizor.png", "shipAbility": { "name": "Microthrusters", "text": "While you perform a barrel roll, you must use the [Bank Left] or [Bank Right] template instead of the [Straight] template." }, - "slots": ["Talent", "Tech", "Torpedo", "Modification", "Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_180.jpg", - "ffg": 180, - "hyperspace": false + "slots": [ + "Talent", + "Tech", + "Torpedo", + "Modification", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/princexizor.png", + "standard": true, + "wildspace": true, + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/scum-and-villainy/trident-class-assault-ship.json b/data/pilots/scum-and-villainy/trident-class-assault-ship.json index fec573a03..3b2473a3a 100644 --- a/data/pilots/scum-and-villainy/trident-class-assault-ship.json +++ b/data/pilots/scum-and-villainy/trident-class-assault-ship.json @@ -1,9 +1,8 @@ { "name": "Trident-Class Assault Ship", "xws": "tridentclassassaultship", - "ffg": 83, - "faction": "Scum and Villainy", - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Trident.png", + "faction": "scumandvillainy", + "icon": "https://infinitearenas.com/xw2/images/shipicons/scum-and-villainy/I_Trident.png", "size": "Huge", "dial": [ "0BR", @@ -21,35 +20,72 @@ "4KR", "5FW" ], - "dialCodes": ["TAS"], + "dialCodes": [ + "TAS" + ], "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 0 }, - { "type": "hull", "value": 10 }, - { "type": "shields", "value": 4, "recovers": 1 }, - { "type": "energy", "value": 3, "recovers": 2 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 0 + }, + { + "type": "hull", + "value": 10 + }, + { + "type": "shields", + "value": 4, + "recovers": 1 + }, + { + "type": "energy", + "value": 3, + "recovers": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "Red", "type": "Evade" }, - { "difficulty": "Red", "type": "Reinforce" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Coordinate" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "Red", + "type": "Evade" + }, + { + "difficulty": "Red", + "type": "Reinforce" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Coordinate" + } ], "pilots": [ { - "ffg": 715, "name": "Lawless Pirates", "initiative": 8, "cost": 85, "limited": 0, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/738e8fdd6aaf28620b67efda2e8f63f7.jpg", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lawlesspirates.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lawlesspirates.png", "shipAbility": { "name": "Tractor Grasp", "text": "After you perform a Tractor Tentacles attack that hits, the defender gains 1 tractor token." }, "text": "The Separatist Alliance has close ties with certain mercenaries and criminal groups and, as the war rages on, its technology sometimes finds its way into unsavory hands.", - "hyperspace": false, + "standard": false, + "wildspace": false, + "epic": true, "engagement": 0, "xws": "lawlesspirates", "slots": [ @@ -66,4 +102,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/data/pilots/scum-and-villainy/yt-2400-light-freighter-2023.json b/data/pilots/scum-and-villainy/yt-2400-light-freighter-2023.json new file mode 100644 index 000000000..896015158 --- /dev/null +++ b/data/pilots/scum-and-villainy/yt-2400-light-freighter-2023.json @@ -0,0 +1,228 @@ +{ + "name": "YT-2400 Light Freighter (2023)", + "xws": "yt2400lightfreighter2023", + "size": "Large", + "dial": [ + "1TW", + "1BB", + "1FB", + "1NB", + "1YW", + "2TW", + "2BW", + "2FB", + "2NW", + "2YW", + "3TW", + "3BW", + "3FW", + "3NW", + "3YW", + "4FW", + "4KR" + ], + "dialCodes": [ + "YT24" + ], + "faction": "scumandvillainy", + "stats": [ + { + "arc": "Double Turret Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 6 + }, + { + "type": "shields", + "value": 4 + } + ], + "actions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Rotate Arc" + } + ], + "icon": "https://infinitearenas.com/xw2/images/shipicons/rebel-alliance/I_YT-2400.png", + "pilots": [ + { + "name": "Dash Rendar", + "caption": "In it for Himself", + "initiative": 5, + "limited": 1, + "cost": 88, + "xws": "dashrendar-swz103-sl-scumandvillainy", + "ability": "After you gain a red token as a result of moving through or overlapping an obstacle, you may transfer that red token to a friendly ship at range 0-1.", + "shipAbility": { + "name": "Sensor Blackout", + "text": "While you perform a primary attack at attack range 0-1, you roll 1 fewer die. While you defend at range 1, you roll 1 fewer defense die." + }, + "standardLoadout": [ + "mercenary-swz103", + "seekermissiles-swz103", + "leebo-swz103", + "outrider" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dashrendar-swz103-sl-scumandvillainy.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dashrendar-swz103-sl-scumandvillainy.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Droid", + "Freighter" + ], + "epic": true + }, + { + "name": "Dash Rendar", + "caption": "In it for Himself", + "initiative": 5, + "limited": 1, + "cost": 74, + "xws": "dashrendar-swz103-lsl-scumandvillainy", + "slots": [ + "Talent", + "Missile", + "Crew", + "Crew", + "Illicit", + "Modification", + "Title" + ], + "ability": "After you gain a red token as a result of moving through or overlapping an obstacle, you may transfer that red token to a friendly ship at range 0-1.", + "shipAbility": { + "name": "Sensor Blackout", + "text": "While you perform a primary attack at attack range 0-1, you roll 1 fewer die. While you defend at range 1, you roll 1 fewer defense die." + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dashrendar-swz103-lsl-scumandvillainy.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dashrendar-swz103-lsl-scumandvillainy.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Droid", + "Freighter" + ], + "epic": true + }, + { + "name": "“Leebo”", + "caption": "He Thinks He's Funny", + "initiative": 3, + "limited": 1, + "cost": 83, + "xws": "leebo-swz103-sl-scumandvillainy", + "ability": "At the end of the Engagement Phase, you may spend a calculate token to acquire a lock on an enemy ship at range 2-3.", + "shipActions": [ + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Rotate Arc" + }, + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Rotate Arc" + } + ], + "shipAbility": { + "name": "Sensor Blackout", + "text": "While you perform a primary attack at attack range 0-1, you roll 1 fewer die. While you defend at range 1, you roll 1 fewer defense die." + }, + "standardLoadout": [ + "efficientprocessing-swz103", + "seekermissiles-swz103", + "outrider" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/leebo-swz103-sl-scumandvillainy.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/leebo-swz103-sl-scumandvillainy.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Droid", + "Freighter" + ], + "epic": true + }, + { + "name": "“Leebo”", + "caption": "He Thinks He's Funny", + "initiative": 3, + "limited": 1, + "cost": 69, + "xws": "leebo-swz103-lsl-scumandvillainy", + "slots": [ + "Talent", + "Crew", + "Missile", + "Illicit", + "Modification", + "Title" + ], + "ability": "At the end of the Engagement Phase, you may spend a calculate token to acquire a lock on an enemy ship at range 2-3.", + "shipActions": [ + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Rotate Arc" + }, + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + }, + { + "difficulty": "White", + "type": "Rotate Arc" + } + ], + "shipAbility": { + "name": "Sensor Blackout", + "text": "While you perform a primary attack at attack range 0-1, you roll 1 fewer die. While you defend at range 1, you roll 1 fewer defense die." + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/leebo-swz103-lsl-scumandvillainy.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/leebo-swz103-lsl-scumandvillainy.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Droid", + "Freighter" + ], + "epic": true + } + ] +} \ No newline at end of file diff --git a/data/pilots/scum-and-villainy/yv-666-light-freighter.json b/data/pilots/scum-and-villainy/yv-666-light-freighter.json index bc2cd28c9..0c6254312 100644 --- a/data/pilots/scum-and-villainy/yv-666-light-freighter.json +++ b/data/pilots/scum-and-villainy/yv-666-light-freighter.json @@ -1,7 +1,6 @@ { "name": "YV-666 Light Freighter", "xws": "yv666lightfreighter", - "ffg": 24, "size": "Large", "dial": [ "0OR", @@ -20,30 +19,54 @@ "3YW", "4FW" ], - "dialCodes": ["YV6"], - "faction": "Scum and Villainy", + "dialCodes": [ + "YV6" + ], + "faction": "scumandvillainy", "stats": [ - { "arc": "Full Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 9 }, - { "type": "shields", "value": 3 } + { + "arc": "Full Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 9 + }, + { + "type": "shields", + "value": 3 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Reinforce" }, - { "difficulty": "White", "type": "Lock" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Reinforce" + }, + { + "difficulty": "White", + "type": "Lock" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_YV-666.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/scum-and-villainy/I_YV-666.png", "pilots": [ { "name": "Bossk", "caption": "Fearsome Hunter", "initiative": 4, "limited": 1, - "cost": 60, + "cost": 63, "xws": "bossk", "ability": "While you perform a primary attack, after the Neutralize Results step, you may spend 1 [Critical Hit] result to add 2 [Hit] results.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_210.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/bossk.png", "slots": [ "Talent", "Cannon", @@ -61,20 +84,24 @@ "source": "Coruscant Invitational 2018" } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_210.jpg", - "ffg": 210, - "hyperspace": true, - "keywords": ["Bounty Hunter", "Freighter"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/bossk.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter", + "Freighter" + ], + "epic": true }, { "name": "Latts Razzi", "caption": "Martial Artist", "initiative": 3, "limited": 1, - "cost": 55, + "cost": 53, "xws": "lattsrazzi", "ability": "At the start of the Engagement Phase, you may choose a ship at range 1 and spend a lock you have on that ship. If you do, that ship gains 1 tractor token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_212.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/lattsrazzi.png", "slots": [ "Talent", "Cannon", @@ -86,21 +113,28 @@ "Title", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_212.jpg", - "ffg": 212, - "hyperspace": true, - "keywords": ["Bounty Hunter", "Freighter"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/lattsrazzi.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter", + "Freighter" + ], + "epic": true }, { "name": "Moralo Eval", "caption": "Criminal Mastermind", "initiative": 4, "limited": 1, - "cost": 64, + "cost": 62, "xws": "moraloeval", "ability": "If you would flee, you may spend 1 [Charge]. If you do, place yourself in reserves instead. At the start of the next Planning Phase, place yourself within range 1 of the edge of the play area that you fled from.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_211.png", - "charges": { "value": 2, "recovers": 0 }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/moraloeval.png", + "charges": { + "value": 2, + "recovers": 0 + }, "slots": [ "Talent", "Cannon", @@ -112,10 +146,13 @@ "Title", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_211.jpg", - "ffg": 211, - "hyperspace": true, - "keywords": ["Freighter"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/moraloeval.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter" + ], + "epic": true }, { "name": "Trandoshan Slaver", @@ -124,7 +161,7 @@ "cost": 51, "xws": "trandoshanslaver", "text": "The spacious triple-decker design of the YV-666 makes it popular among bounty hunters and slavers, who often retrofit an entire deck for prisoner transport.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_213.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/trandoshanslaver.png", "slots": [ "Cannon", "Missile", @@ -135,10 +172,45 @@ "Title", "Gunner" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_213.jpg", - "ffg": 213, - "hyperspace": false, - "keywords": ["Freighter"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/trandoshanslaver.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter" + ], + "epic": true + }, + { + "name": "Doctor Aphra", + "caption": "Professional Disaster Zone", + "initiative": 3, + "limited": 1, + "cost": 53, + "xws": "doctoraphra", + "ability": "Before you engage, you may spend 1 green token and 1 [Charge]. If you do, you may choose another ship at range 0-1 that is not stressed. The chosen ship gains 1 stress token.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/doctoraphra.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/doctoraphra.png", + "charges": { + "value": 3, + "recovers": 0 + }, + "slots": [ + "Talent", + "Cannon", + "Missile", + "Crew", + "Crew", + "Illicit", + "Modification", + "Title", + "Gunner" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "Freighter" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/scum-and-villainy/z-95-af4-headhunter.json b/data/pilots/scum-and-villainy/z-95-af4-headhunter.json index 72243cf0b..372d316d1 100644 --- a/data/pilots/scum-and-villainy/z-95-af4-headhunter.json +++ b/data/pilots/scum-and-villainy/z-95-af4-headhunter.json @@ -1,7 +1,6 @@ { "name": "Z-95-AF4 Headhunter", "xws": "z95af4headhunter", - "ffg": 38, "size": "Small", "dial": [ "1BW", @@ -21,20 +20,44 @@ "4FW", "4KR" ], - "dialCodes": ["Z95"], - "faction": "Scum and Villainy", + "dialCodes": [ + "Z95" + ], + "faction": "scumandvillainy", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 2 }, - { "type": "shields", "value": 2 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 2 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Barrel Roll" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Z-95.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/scum-and-villainy/I_Z-95.png", "pilots": [ { "name": "Binayre Pirate", @@ -43,11 +66,16 @@ "cost": 22, "xws": "binayrepirate", "text": "Operating from the Double Worlds, Talus and Tralus, Kath Scarlet's gang of smugglers and pirates would never be described as reputable or dependable—even by other criminals.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_173.png", - "slots": ["Missile", "Illicit", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_173.jpg", - "ffg": 173, - "hyperspace": true + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/binayrepirate.png", + "slots": [ + "Missile", + "Illicit", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/binayrepirate.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Black Sun Soldier", @@ -56,40 +84,60 @@ "cost": 23, "xws": "blacksunsoldier", "text": "The vast and influential Black Sun crime syndicate can always find a use for talented pilots, provided they aren't particular about how they earn their credits.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_172.png", - "slots": ["Talent", "Missile", "Illicit", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_172.jpg", - "ffg": 172, - "hyperspace": true + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/blacksunsoldier.png", + "slots": [ + "Talent", + "Missile", + "Illicit", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/blacksunsoldier.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Kaa'to Leeachos", "caption": "Imposing Marauder", "initiative": 3, "limited": 1, - "cost": 24, + "cost": 22, "xws": "kaatoleeachos", "ability": "At the start of the Engagement Phase, you may choose 1 friendly ship at range 0-2. If you do, transfer 1 focus or evade token from that ship to yourself.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_170.png", - "slots": ["Talent", "Missile", "Illicit", "Modification"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_170.jpg", - "ffg": 170, - "hyperspace": false, - "keywords": ["Bounty Hunter"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/kaatoleeachos.png", + "slots": [ + "Talent", + "Missile", + "Illicit", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/kaatoleeachos.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Bounty Hunter" + ], + "epic": true }, { - "name": "N'dru Suhlak", + "name": "N’dru Suhlak", "caption": "Hunt Saboteur", "initiative": 4, "limited": 1, - "cost": 28, + "cost": 27, "xws": "ndrusuhlak", "ability": "While you perform a primary attack, if there are no other friendly ships at range 0-2, roll 1 additional attack die.", - "slots": ["Talent", "Missile", "Illicit", "Modification"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_169.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_169.jpg", - "ffg": 169, - "hyperspace": false + "slots": [ + "Talent", + "Missile", + "Illicit", + "Modification" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/ndrusuhlak.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/ndrusuhlak.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Nashtah Pup", @@ -103,11 +151,16 @@ "name": "Escape Craft", "text": "Setup: Requires the Hound's Tooth. You must begin the game docked with the Hound's Tooth." }, - "slots": ["Missile", "Illicit", "Modification"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_171.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_171.jpg", - "ffg": 171, - "hyperspace": false + "slots": [ + "Missile", + "Illicit", + "Modification" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/nashtahpup.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/nashtahpup.png", + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Bossk", @@ -120,13 +173,21 @@ "name": "Pursuit Craft", "text": "After you deploy, you may acquire a lock on a ship the friendly Hound's Tooth has locked." }, - "slots": ["Talent", "Missile", "Illicit", "Modification"], - "hyperspace": false, - "cost": 27, - "ffg": 635, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/48cf03ca0e16baf2f506829f20517b83.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/13a94a5ed78d4629017a439fbf0906ea.png", - "keywords": ["Bounty Hunter"] + "slots": [ + "Talent", + "Missile", + "Illicit", + "Modification" + ], + "standard": true, + "wildspace": true, + "cost": 25, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/bossk-z95af4headhunter.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/bossk-z95af4headhunter.png", + "keywords": [ + "Bounty Hunter" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/separatist-alliance/belbullab-22-starfighter.json b/data/pilots/separatist-alliance/belbullab-22-starfighter.json index 97d05e786..723de1502 100644 --- a/data/pilots/separatist-alliance/belbullab-22-starfighter.json +++ b/data/pilots/separatist-alliance/belbullab-22-starfighter.json @@ -22,29 +22,56 @@ "4FW", "5FW" ], - "dialCodes": ["B22"], - "faction": "Separatist Alliance", + "dialCodes": [ + "B22" + ], + "faction": "separatistalliance", "stats": [ - { "type": "attack", "value": 3, "arc": "Front Arc" }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 3 }, - { "type": "shields", "value": 2 } + { + "type": "attack", + "value": 3, + "arc": "Front Arc" + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 3 + }, + { + "type": "shields", + "value": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Focus" }, + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Focus" + }, "type": "Barrel Roll" }, { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Focus" }, + "linked": { + "difficulty": "Red", + "type": "Focus" + }, "type": "Boost" } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Belbullab-22.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/separatist-alliance/I_Belbullab-22.png", "pilots": [ { "name": "General Grievous", @@ -53,12 +80,18 @@ "limited": 1, "xws": "generalgrievous", "ability": "While you perform a primary attack, if you are not in the defender's firing arc, you may reroll up to 2 attack dice.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/9e4a215e799a9e7ad1853d19d149dd20.png", - "hyperspace": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/generalgrievous.png", + "standard": true, + "wildspace": true, "cost": 44, - "slots": ["Talent", "Modification", "Title", "Tactical Relay"], - "ffg": 492, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/3e4dee70764ead7ebe581246a0d4b85d.jpg" + "slots": [ + "Talent", + "Modification", + "Title", + "Tactical Relay" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/generalgrievous.png", + "epic": true }, { "name": "Wat Tambor", @@ -67,12 +100,18 @@ "limited": 1, "xws": "wattambor", "ability": "While you perform a primary attack, you may reroll 1 attack die for each calculating friendly ship at range 1 of the defender.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/68cbd6082683fe17778f829555f23a26.png", - "hyperspace": true, - "cost": 42, - "slots": ["Talent", "Modification", "Title", "Tactical Relay"], - "ffg": 493, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/95127fa6d286fe64f3070e742dc64a7c.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/wattambor.png", + "standard": true, + "wildspace": true, + "cost": 39, + "slots": [ + "Talent", + "Modification", + "Title", + "Tactical Relay" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/wattambor.png", + "epic": true }, { "name": "Feethan Ottraw Autopilot", @@ -80,27 +119,46 @@ "initiative": 1, "xws": "feethanottrawautopilot", "text": "Unlike the more disposable fighters it also built for the Separatists, Feethan Ottraw Scalable Assemblies designed the Belbullab-22 with a solid mix of firepower, durability, and speed.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/538c4833605af80b226da9e5f800e6ef.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/feethanottrawautopilot.png", "shipActions": [ - { "difficulty": "White", "type": "Calculate" }, - { "difficulty": "White", "type": "Lock" }, { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Calculate" }, + "type": "Calculate" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Calculate" + }, "type": "Barrel Roll" }, { "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Calculate" }, + "linked": { + "difficulty": "Red", + "type": "Calculate" + }, "type": "Boost" } ], - "hyperspace": false, - "cost": 35, - "slots": ["Modification", "Title", "Tactical Relay"], - "ffg": 496, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/91052cb8f4ba464f5ac4572a725f757b.jpg", - "keywords": ["Droid"] + "standard": true, + "wildspace": true, + "cost": 34, + "slots": [ + "Modification", + "Title", + "Tactical Relay" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/feethanottrawautopilot.png", + "keywords": [ + "Droid" + ], + "epic": true }, { "name": "Captain Sear", @@ -109,26 +167,60 @@ "initiative": 2, "xws": "captainsear", "ability": "While a friendly ship at range 0-3 performs a primary attack, if the defender is in its [Bullseye Arc], before the Neutralize Results step, the friendly ship may spend 1 calculate token to cancel 1 [Evade] result.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/3d3704ab454433a8b4d73ee6bff430b8.png", - "hyperspace": true, - "cost": 45, - "slots": ["Modification", "Title", "Tactical Relay"], - "ffg": 494, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/91a7a38482d28f21b2620d058800a8fe.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/captainsear.png", + "standard": true, + "wildspace": true, + "cost": 44, + "slots": [ + "Modification", + "Title", + "Tactical Relay" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/captainsear.png", + "epic": true }, { "name": "Skakoan Ace", "xws": "skakoanace", - "cost": 38, - "slots": ["Talent", "Modification", "Title", "Tactical Relay"], - "ffg": 495, + "cost": 37, + "slots": [ + "Talent", + "Modification", + "Title", + "Tactical Relay" + ], "initiative": 3, "limited": 0, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/af0e63b7754ef598f1f36ed9a6c4b4ee.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/ceb7a3bc406ff17be5dee5de62b39195.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/skakoanace.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/skakoanace.png", "text": "With its powerful engines, devastating triple laser cannons, and high customizability, the Belbullab-22 is the chosen craft of several elite Separatist Alliance pilots, including the infamous General Grievous.", - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Hallio Bas", + "caption": "Skakoan Guide", + "initiative": 5, + "limited": 1, + "xws": "halliobas-wat1", + "ability": "While you defend or perform an attack, before attack dice are rolled, if there are no other friendly ships at range 0-1, you may spend 1 [Charge] to remove 1 red or orange token.", + "charges": { + "value": 1, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/halliobas-wat1.png", + "standard": false, + "wildspace": true, + "cost": 47, + "slots": [ + "Talent", + "Modification", + "Title", + "Tactical Relay" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/halliobas-wat1.png", + "epic": true } - ], - "ffg": 58 + ] } diff --git a/data/pilots/separatist-alliance/c-roc-cruiser.json b/data/pilots/separatist-alliance/c-roc-cruiser.json index 62bf54839..f845a635a 100644 --- a/data/pilots/separatist-alliance/c-roc-cruiser.json +++ b/data/pilots/separatist-alliance/c-roc-cruiser.json @@ -1,9 +1,8 @@ { "name": "C-ROC Cruiser", "xws": "croccruiser", - "ffg": 82, - "faction": "Separatist Alliance", - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_C-ROC.png", + "faction": "separatistalliance", + "icon": "https://infinitearenas.com/xw2/images/shipicons/separatist-alliance/I_C-ROC.png", "size": "Huge", "dial": [ "0BR", @@ -21,35 +20,72 @@ "4FR", "5FR" ], - "dialCodes": ["CRC-SE"], + "dialCodes": [ + "CRC-SE" + ], "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 0 }, - { "type": "hull", "value": 12 }, - { "type": "shields", "value": 4, "recovers": 1 }, - { "type": "energy", "value": 4, "recovers": 1 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 0 + }, + { + "type": "hull", + "value": 12 + }, + { + "type": "shields", + "value": 4, + "recovers": 1 + }, + { + "type": "energy", + "value": 4, + "recovers": 1 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Coordinate" }, - { "difficulty": "White", "type": "Reinforce" }, - { "difficulty": "White", "type": "Jam" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Coordinate" + }, + { + "difficulty": "White", + "type": "Reinforce" + }, + { + "difficulty": "White", + "type": "Jam" + } ], "pilots": [ { - "ffg": 714, "name": "Separatist Privateers", "initiative": 7, "cost": 63, "limited": 0, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/25a3457e2b32c661210524ff8b1fc785.jpg", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/separatistprivateers.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/separatistprivateers.png", "shipAbility": { "name": "Overdrive Burners", "text": "While you defend, if your revealed maneuver is speed 3-5, roll 1 additional defense die." }, "text": "The Separatist Alliance makes use of all manner of unsavory contacts in its fight against the Galactic Republic, including corsairs and criminal cartels.", - "hyperspace": false, + "standard": false, + "wildspace": false, + "epic": true, "engagement": 1, "xws": "separatistprivateers", "slots": [ @@ -65,4 +101,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/data/pilots/separatist-alliance/droid-tri-fighter.json b/data/pilots/separatist-alliance/droid-tri-fighter.json index 851931bcd..3035bc5d8 100644 --- a/data/pilots/separatist-alliance/droid-tri-fighter.json +++ b/data/pilots/separatist-alliance/droid-tri-fighter.json @@ -2,7 +2,6 @@ "name": "Droid Tri-Fighter", "xws": "droidtrifighter", "size": "Small", - "ffg": 77, "dial": [ "1ER", "1TW", @@ -23,26 +22,53 @@ "5FW", "5KR" ], - "dialCodes": ["DTF"], - "faction": "Separatist Alliance", + "dialCodes": [ + "DTF" + ], + "faction": "separatistalliance", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 3 }, - { "type": "hull", "value": 3 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 3 + } ], "actions": [ - { "difficulty": "White", "type": "Calculate" }, - { "difficulty": "White", "type": "Evade" }, - { "difficulty": "White", "type": "Lock" }, + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, { "difficulty": "White", "type": "Barrel Roll", - "linked": { "difficulty": "Red", "type": "Evade" } + "linked": { + "difficulty": "Red", + "type": "Evade" + } }, { "difficulty": "White", "type": "Boost", - "linked": { "difficulty": "Red", "type": "Calculate" } + "linked": { + "difficulty": "Red", + "type": "Calculate" + } } ], "pilots": [ @@ -55,15 +81,24 @@ "name": "Networked Calculations", "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." }, - "hyperspace": false, + "standard": true, + "wildspace": true, "ability": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship in the enemy ship's firing arc to change 1 [Focus] result to an [Evade] or [Hit] result.", "caption": "Clever Circuits", - "cost": 37, - "ffg": 794, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/eb/3d/eb3db7f7-4707-4c09-ae41-6a74b669f4d1/swz81_dis-t81_cutout.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/dcb7fa7d662c724a28e03ddb3370da25.jpg", - "slots": ["Talent", "Sensor", "Missile", "Modification", "Configuration"], - "keywords": ["Droid"] + "cost": 36, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dist81.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dist81.png", + "slots": [ + "Talent", + "Sensor", + "Missile", + "Modification", + "Configuration" + ], + "keywords": [ + "Droid" + ], + "epic": true }, { "name": "Phlac-Arphocc Prototype", @@ -75,14 +110,23 @@ "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." }, "caption": "Predictive Analysis Protocol", - "hyperspace": false, + "standard": true, + "wildspace": true, "ability": "During the System Phase, you may spend your lock on a ship to look at that ship's dial.", "cost": 38, - "ffg": 796, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/57/f7/57f74986-1cbf-4745-9792-360153f75719/swz81_phlac-prototype_cutout.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/eb98630629620582fd4c0d091205da1f.jpg", - "slots": ["Talent", "Sensor", "Missile", "Modification", "Configuration"], - "keywords": ["Droid"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/phlacarphoccprototype.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/phlacarphoccprototype.png", + "slots": [ + "Talent", + "Sensor", + "Missile", + "Modification", + "Configuration" + ], + "keywords": [ + "Droid" + ], + "epic": true }, { "name": "Fearsome Predator", @@ -94,15 +138,26 @@ "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." }, "caption": "Fixated Pursuit", - "conditions": ["fearfulprey"], - "hyperspace": false, + "conditions": [ + "fearfulprey" + ], + "standard": true, + "wildspace": true, "ability": "Setup: After placing forces, assign the Fearful Prey condition to 1 enemy ship.", - "cost": 36, - "ffg": 797, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/91/bb/91bb3546-290e-4131-895e-a77d79ebbc99/swz81_fearsome-predator_cutout.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a98ea9c3fc6a99ebda7b5c841d5c179e.jpg", - "slots": ["Talent", "Sensor", "Missile", "Modification", "Configuration"], - "keywords": ["Droid"] + "cost": 34, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/fearsomepredator.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/fearsomepredator.png", + "slots": [ + "Talent", + "Sensor", + "Missile", + "Modification", + "Configuration" + ], + "keywords": [ + "Droid" + ], + "epic": true }, { "name": "DIS-347", @@ -114,14 +169,23 @@ "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." }, "caption": "Target Acquired", - "hyperspace": false, + "standard": true, + "wildspace": true, "ability": "At the start of the Engagement Phase, you may acquire a lock on an object at range 1-3 that has a friendly lock.", - "cost": 36, - "ffg": 795, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/8f/96/8f96a822-921a-4c77-ae90-2fe15e196171/swz81_dis-347_cutout.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/805930d3844bde8727c6bb17eb973c8e.jpg", - "slots": ["Talent", "Sensor", "Missile", "Modification", "Configuration"], - "keywords": ["Droid"] + "cost": 34, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dis347.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dis347.png", + "slots": [ + "Talent", + "Sensor", + "Missile", + "Modification", + "Configuration" + ], + "keywords": [ + "Droid" + ], + "epic": true }, { "name": "Separatist Interceptor", @@ -133,13 +197,22 @@ "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." }, "text": "Deployed late in the Clone Wars, these aggressive starfighters, and the destructive buzz droids they carry, pose a serious threat to even veteran Jedi pilots.", - "hyperspace": true, - "cost": 35, - "ffg": 798, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/e5/c8/e5c82543-69af-42ee-bb32-32b0c11d6845/swz81_separatist-interceptor_cutout.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/3981f72bca3374e9654a11d70531354e.jpg", - "slots": ["Talent", "Sensor", "Missile", "Modification", "Configuration"], - "keywords": ["Droid"] + "standard": true, + "wildspace": true, + "cost": 34, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/separatistinterceptor.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/separatistinterceptor.png", + "slots": [ + "Talent", + "Sensor", + "Missile", + "Modification", + "Configuration" + ], + "keywords": [ + "Droid" + ], + "epic": true }, { "name": "Colicoid Interceptor", @@ -151,14 +224,243 @@ "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." }, "text": "Designed by the Colicoid Creation Nest and manufactured by Phlac-Arphocc Automata Industries, the heuristic processors of Droid Tri-Fighters allow these deadly ships to analyze and adapt to enemy tactics in-flight.", - "hyperspace": true, + "standard": true, + "wildspace": true, + "cost": 33, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/colicoidinterceptor.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/colicoidinterceptor.png", + "slots": [ + "Sensor", + "Missile", + "Modification", + "Configuration" + ], + "keywords": [ + "Droid" + ], + "epic": true + }, + { + "name": "DIS-347", + "caption": "Siege of Coruscant", + "initiative": 3, + "limited": 1, + "cost": 40, + "xws": "dis347-siegeofcoruscant", + "ability": "At the start of the Engagement Phase, you may acquire a lock on an object at range 1-3 that has a friendly lock.", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dis347-siegeofcoruscant.png", + "standardLoadout": [ + "marksmanship", + "afterburners", + "contingencyprotocol-siegeofcoruscant" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dis347-siegeofcoruscant.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true + }, + { + "name": "DIS-347", + "caption": "Siege of Coruscant", + "initiative": 3, + "limited": 1, "cost": 34, - "ffg": 799, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/74/88/7488fd46-8f27-4ca9-b573-db8d6f7d749e/swz81_colicoid-interceptor_cutout.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a0b36a5320377ef6cb2611e4d0d39a6a.jpg", - "slots": ["Sensor", "Missile", "Modification", "Configuration"], - "keywords": ["Droid"] + "xws": "dis347-siegeofcoruscant-lsl", + "ability": "At the start of the Engagement Phase, you may acquire a lock on an object at range 1-3 that has a friendly lock.", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dis347-siegeofcoruscant-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dis347-siegeofcoruscant-lsl.png", + "slots": [ + "Talent", + "Sensor", + "Missile", + "Modification", + "Configuration" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true + }, + { + "name": "DIS-T81", + "caption": "Siege of Coruscant", + "initiative": 4, + "limited": 1, + "cost": 48, + "xws": "dist81-siegeofcoruscant", + "ability": "While you defend or perform an attack, you may reroll any number of your dice. Then if you were defending, gain 1 strain token for each die that was rerolled. If you were attacking, gain 1 deplete token for each die that was rerolled instead.", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dist81-siegeofcoruscant.png", + "standardLoadout": [ + "outmaneuver", + "afterburners", + "contingencyprotocol-siegeofcoruscant" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dist81-siegeofcoruscant.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true + }, + { + "name": "DIS-T81", + "caption": "Siege of Coruscant", + "initiative": 4, + "limited": 1, + "cost": 38, + "xws": "dist81-siegeofcoruscant-lsl", + "ability": "While you defend or perform an attack, you may reroll any number of your dice. Then if you were defending, gain 1 strain token for each die that was rerolled. If you were attacking, gain 1 deplete token for each die that was rerolled instead.", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dist81-siegeofcoruscant-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dist81-siegeofcoruscant-lsl.png", + "slots": [ + "Talent", + "Sensor", + "Missile", + "Modification", + "Configuration" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true + }, + { + "name": "Phlac-Arphocc Prototype", + "caption": "Siege of Coruscant", + "initiative": 5, + "limited": 2, + "cost": 50, + "xws": "phlacarphoccprototype-siegeofcoruscant", + "ability": "At the start of the Engagement Phase, if there is an enemy ship in your [Bullseye Arc], gain a calculate token", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/phlacarphoccprototype-siegeofcoruscant.png", + "standardLoadout": [ + "afterburners", + "contingencyprotocol-siegeofcoruscant", + "evasionsequence7-siegeofcoruscant" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/phlacarphoccprototype-siegeofcoruscant.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true + }, + { + "name": "Phlac-Arphocc Prototype", + "caption": "Siege of Coruscant", + "initiative": 5, + "limited": 2, + "cost": 41, + "xws": "phlacarphoccprototype-siegeofcoruscant-lsl", + "ability": "At the start of the Engagement Phase, if there is an enemy ship in your [Bullseye Arc], gain a calculate token", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/phlacarphoccprototype-siegeofcoruscant-lsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/phlacarphoccprototype-siegeofcoruscant-lsl.png", + "slots": [ + "Talent", + "Sensor", + "Missile", + "Modification", + "Configuration" + ], + "standard": true, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true + }, + { + "name": "Volan Das", + "xws": "volandas", + "initiative": 5, + "limited": 1, + "shipAbility": { + "name": "Modified for Organics", + "text": "This ship is not affected by the Standardized restriction. Reduce the difficulty of your speed 2 and 3 bank [[Bank Left] or [Bank Right]] maneuvers. Increase the difficulty of your speed 3 turn [[Turn Left] or [Turn Right]] maneuvers." + }, + "shipActions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll", + "linked": { + "difficulty": "Red", + "type": "Evade" + } + }, + { + "difficulty": "White", + "type": "Boost", + "linked": { + "difficulty": "Red", + "type": "Focus" + } + } + ], + "caption": "Impatient Invader", + "standard": true, + "wildspace": true, + "ability": "After you fully execute a red maneuver, you may chose an enemy ship at range 1. The chosen ship gains 1 strain token and you may remove 1 stress token.", + "cost": 40, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/volandas.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/volandas.png", + "slots": [ + "Talent", + "Sensor", + "Missile", + "Illicit", + "Modification", + "Configuration" + ], + "keywords": [ + "Bounty Hunter" + ], + "epic": true } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Droid_Tri-Fighter.png" -} + "icon": "https://infinitearenas.com/xw2/images/shipicons/separatist-alliance/I_Droid_Tri-Fighter.png" +} \ No newline at end of file diff --git a/data/pilots/separatist-alliance/firespray-class-patrol-craft.json b/data/pilots/separatist-alliance/firespray-class-patrol-craft.json index e603aef96..9bcbb6fbe 100644 --- a/data/pilots/separatist-alliance/firespray-class-patrol-craft.json +++ b/data/pilots/separatist-alliance/firespray-class-patrol-craft.json @@ -2,7 +2,6 @@ "name": "Firespray-class Patrol Craft", "xws": "firesprayclasspatrolcraft", "size": "Medium", - "ffg": 10, "dial": [ "1TW", "1BB", @@ -22,22 +21,53 @@ "4FW", "4KR" ], - "dialCodes": ["FPC"], - "faction": "Separatist Alliance", + "dialCodes": [ + "FPC" + ], + "faction": "separatistalliance", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "arc": "Rear Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 6 }, - { "type": "shields", "value": 4 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "arc": "Rear Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 6 + }, + { + "type": "shields", + "value": 4 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Reinforce" }, - { "difficulty": "White", "type": "Boost" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Reinforce" + }, + { + "difficulty": "White", + "type": "Boost" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_FIrespray.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/separatist-alliance/I_FIrespray.png", "pilots": [ { "name": "Jango Fett", @@ -46,11 +76,11 @@ "limited": 1, "xws": "jangofett", "ability": "While you defend or perform a primary attack, if the difficulty of your revealed maneuver is less than that of the enemy ship's, you may change 1 of the enemy ship's [Focus] results to a blank result.", - "hyperspace": true, - "cost": 80, - "ffg": 800, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/d4/f0/d4f09efe-f07f-45ad-a82f-8fdc29ec8f75/swz82_a1_jango-fett.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/b6d21423ce39d0a57330782ac9f37e24.jpg", + "standard": true, + "wildspace": true, + "cost": 79, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/jangofett.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/jangofett.png", "slots": [ "Talent", "Cannon", @@ -61,7 +91,10 @@ "Modification", "Title" ], - "keywords": ["Bounty Hunter"] + "keywords": [ + "Bounty Hunter" + ], + "epic": true }, { "name": "Zam Wesell", @@ -69,13 +102,20 @@ "initiative": 5, "limited": 1, "caption": "Clawdite Changeling", - "conditions": ["youdbettermeanbusiness", "youshouldthankme"], - "hyperspace": true, - "ability": "Setup: Lose 2 [Charge]. During the System Phase, you may assign 1 of your secret conditions to yourself facedown: \"You Should Thank Me\" or \"You'd Better Mean Business\"", - "cost": 84, - "ffg": 801, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/08/f3/08f343b7-9d01-4e1f-91d8-e6eca0eb4fe0/swz82_a1_zam-wessel.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/99cf31dd1b9dc66bb0bd9522aacea4ce.jpg", + "conditions": [ + "youdbettermeanbusiness", + "youshouldthankme" + ], + "standard": true, + "wildspace": true, + "ability": "Setup: Lose 2 [Charge]. During the System Phase, you may assign 1 of your secret conditions to yourself facedown: “You Should Thank Me” or “You'd Better Mean Business”", + "charges": { + "value": 4, + "recovers": 0 + }, + "cost": 83, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/zamwesell.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/zamwesell.png", "slots": [ "Talent", "Cannon", @@ -86,20 +126,23 @@ "Modification", "Title" ], - "keywords": ["Bounty Hunter"] + "keywords": [ + "Bounty Hunter" + ], + "epic": true }, { "name": "Boba Fett", - "xws": "bobafett-separatistalliance", + "xws": "bobafett-firesprayclasspatrolcraft", "initiative": 3, "limited": 1, "caption": "Survivor", - "hyperspace": true, + "standard": true, + "wildspace": true, "ability": "While you defend, if there are no other friendly ships at range 0-2, you may change 1 of your blank results to a [Focus] result.", - "cost": 70, - "ffg": 802, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/17/5d/175d51c6-6a7a-4f59-b8c1-44417a746187/swz82_a1_boba-fett.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/3b76c2f168aa5b6644c9d270200a3ef1.jpg", + "cost": 65, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/bobafett-firesprayclasspatrolcraft.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/bobafett-firesprayclasspatrolcraft.png", "slots": [ "Cannon", "Missile", @@ -109,7 +152,10 @@ "Modification", "Title" ], - "keywords": ["Bounty Hunter"] + "keywords": [ + "Bounty Hunter" + ], + "epic": true }, { "name": "Separatist Racketeer", @@ -117,12 +163,40 @@ "initiative": 2, "limited": 0, "text": "Emboldened by the bitter stalemate of the Outer Rim Sieges, mercenary groups across the galaxy take the opportunity to profit from the ongoing war.", - "hyperspace": false, - "cost": 63, - "ffg": 803, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/16/8c/168ca8f4-0015-44a3-9a7c-099caff70881/swz82_a1_separatist-racketeer.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/fd061204d3235827f2457d5be76cc18b.jpg", + "standard": true, + "wildspace": true, + "cost": 62, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/separatistracketeer.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/separatistracketeer.png", + "slots": [ + "Cannon", + "Missile", + "Crew", + "Device", + "Illicit", + "Modification", + "Title" + ], + "epic": true + }, + { + "name": "Aurra Sing", + "xws": "aurrasing", + "initiative": 4, + "limited": 1, + "caption": "Bane of the Jedi", + "standard": true, + "wildspace": true, + "ability": "Before you engage, you may spend 1 [Force] to choose 2 enemy ships at range 0-1. Transfer any number of orange and red tokens between those two ships.", + "force": { + "value": 1, + "recovers": 1 + }, + "cost": 75, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/aurrasing.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/aurrasing.png", "slots": [ + "Force Power", "Cannon", "Missile", "Crew", @@ -130,7 +204,12 @@ "Illicit", "Modification", "Title" - ] + ], + "keywords": [ + "Dark Side", + "Bounty Hunter" + ], + "epic": true } ] -} +} \ No newline at end of file diff --git a/data/pilots/separatist-alliance/gauntlet-fighter.json b/data/pilots/separatist-alliance/gauntlet-fighter.json new file mode 100644 index 000000000..e19f73a7b --- /dev/null +++ b/data/pilots/separatist-alliance/gauntlet-fighter.json @@ -0,0 +1,158 @@ +{ + "name": "Gauntlet Fighter", + "xws": "gauntletfighter", + "size": "Large", + "dial": [ + "0OR", + "1BB", + "1NB", + "2TW", + "2BB", + "2FB", + "2NB", + "2YW", + "3TR", + "3BW", + "3FW", + "3NW", + "3YR", + "4FW" + ], + "dialCodes": [ + "GtF" + ], + "faction": "separatistalliance", + "stats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "arc": "Rear Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 9 + }, + { + "type": "shields", + "value": 2 + } + ], + "actions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "Red", + "type": "Reinforce" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Coordinate" + } + ], + "pilots": [ + { + "name": "Bo-Katan Kryze", + "caption": "Vizsla's Lieutenant", + "initiative": 4, + "limited": 1, + "cost": 57, + "xws": "bokatankryze-separatistalliance", + "ability": "Before a friendly ship at range 0-2 activates, you may spend 1 [Charge]. If you do, that ship may gain 1 strain token to remove 1 non-stress red or orange token.", + "charges": { + "value": 1, + "recovers": 1 + }, + "slots": [ + "Talent", + "Crew", + "Gunner", + "Device", + "Illicit", + "Modification", + "Configuration", + "Title" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/bokatankryze-separatistalliance.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/bokatankryze-separatistalliance.png", + "keywords": [ + "Mandalorian" + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Pre Vizsla", + "caption": "Leader of Death Watch", + "initiative": 3, + "limited": 1, + "cost": 61, + "xws": "previzsla", + "ability": "While you perform an attack, if the defender's initiative is equal to or greater than yours, you may spend 2 to roll 1 additional die.", + "charges": { + "value": 2, + "recovers": 1 + }, + "slots": [ + "Talent", + "Crew", + "Gunner", + "Device", + "Illicit", + "Modification", + "Configuration", + "Title" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/previzsla.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/previzsla.png", + "keywords": [ + "Mandalorian" + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Death Watch Warrior", + "caption": "Fanatical Adherent", + "initiative": 1, + "limited": 0, + "cost": 53, + "xws": "deathwatchwarrior", + "text": "Despite uncertain Separatist support, the Death Watch plots to restore Mandalore's warrior past and traditions. The Gauntlet Fighter's maneuverability and drop seats make it an excellent platform to deploy these proud commandos into battle.", + "slots": [ + "Talent", + "Crew", + "Gunner", + "Device", + "Illicit", + "Modification", + "Configuration", + "Title" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/deathwatchwarrior.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/deathwatchwarrior.png", + "keywords": [ + "Mandalorian" + ], + "standard": true, + "wildspace": true, + "epic": true + } + ] +} \ No newline at end of file diff --git a/data/pilots/separatist-alliance/hmp-droid-gunship.json b/data/pilots/separatist-alliance/hmp-droid-gunship.json index f9fe09fe0..dafba9f78 100644 --- a/data/pilots/separatist-alliance/hmp-droid-gunship.json +++ b/data/pilots/separatist-alliance/hmp-droid-gunship.json @@ -1,7 +1,6 @@ { "name": "HMP Droid Gunship", "xws": "hmpdroidgunship", - "ffg": 75, "size": "Small", "dial": [ "0OR", @@ -21,27 +20,53 @@ "4FR", "5FR" ], - "dialCodes": ["HMP"], - "faction": "Separatist Alliance", + "dialCodes": [ + "HMP" + ], + "faction": "separatistalliance", "stats": [ - { "arc": "Full Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 5 }, - { "type": "shields", "value": 3 } + { + "arc": "Full Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 5 + }, + { + "type": "shields", + "value": 3 + } ], "actions": [ - { "difficulty": "White", "type": "Calculate" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Barrel Roll" }, + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + }, { "difficulty": "White", "type": "Reload", - "linked": { "difficulty": "Red", "type": "Calculate" } + "linked": { + "difficulty": "Red", + "type": "Calculate" + } } ], "pilots": [ { - "ffg": 666, "name": "DGS-047", "xws": "dgs047", "caption": "Adaptive Intelligence", @@ -57,18 +82,21 @@ "Tactical Relay" ], "limited": 1, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/1cd30a5d258ff70472e785c816139d1f.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/49791d2bcd4e67bc66e97c83f17dad24.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dgs047.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dgs047.png", "shipAbility": { "name": "Networked Aim", "text": "You cannot spend your locks to reroll attack dice. While you perform an attack, you may reroll a number of attack dice up to the number of friendly locks on the defender." }, "ability": "After you perform an attack, if the defender is in your [Front Arc], you may acquire a lock on it. Then, if the defender is in your [Bullseye Arc], it gains 1 strain token.", - "hyperspace": true, - "keywords": ["Droid"] + "standard": true, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true }, { - "ffg": 669, "name": "Baktoid Drone", "xws": "baktoiddrone", "initiative": 1, @@ -83,18 +111,21 @@ "Tactical Relay" ], "limited": 0, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/8117e7b2349219b237157bfeda3028d0.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/3af13c610ba1544ae93383b2c8b10f90.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/baktoiddrone.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/baktoiddrone.png", "shipAbility": { "name": "Networked Aim", "text": "You cannot spend your locks to reroll attack dice. While you perform an attack, you may reroll a number of attack dice up to the number of friendly locks on the defender." }, "text": "A late-war development for the Confederacy of Independent Systems, the droid gunship uses specialized repulsors to nimbly strafe targets and precisely drop battle droids.", - "hyperspace": false, - "keywords": ["Droid"] + "standard": true, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true }, { - "ffg": 668, "name": "Geonosian Prototype", "xws": "geonosianprototype", "caption": "Devastation Protocols", @@ -110,18 +141,21 @@ "Tactical Relay" ], "limited": 2, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/3a95eb82b3cf0420376c75f649d436ee.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/1352254ba28a6191adfdea1273cedb8d.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/geonosianprototype.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/geonosianprototype.png", "shipAbility": { "name": "Networked Aim", "text": "You cannot spend your locks to reroll attack dice. While you perform an attack, you may reroll a number of attack dice up to the number of friendly locks on the defender." }, "ability": "While you perform a [Missile] or [Cannon] attack, you may remove 1 tractor token from the defender to reroll up to 2 attack dice.", - "hyperspace": true, - "keywords": ["Droid"] + "standard": true, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true }, { - "ffg": 664, "name": "DGS-286", "xws": "dgs286", "caption": "Ambush Protocols", @@ -137,23 +171,26 @@ "Tactical Relay" ], "limited": 1, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/20ce8cad5b251ad3ea16d849297e82db.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/b0d0b99b3b18b330f2c37221fb2696f9.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dgs286.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dgs286.png", "shipAbility": { "name": "Networked Aim", "text": "You cannot spend your locks to reroll attack dice. While you perform an attack, you may reroll a number of attack dice up to the number of friendly locks on the defender." }, "ability": "Before you engage, you may choose another friendly ship at range 0-1. That ship transfers 1 calculate token to you.", - "hyperspace": true, - "keywords": ["Droid"] + "standard": true, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true }, { - "ffg": 665, "name": "Onderon Oppressor", "xws": "onderonoppressor", "caption": "Atmospheric Attack Module", "initiative": 3, - "cost": 40, + "cost": 39, "slots": [ "Missile", "Missile", @@ -164,15 +201,19 @@ "Tactical Relay" ], "limited": 2, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/ba5a6c72eb21bd7bd58c9f7072dd0fdd.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/41b07fdfd2fc8af5d662796905266c6a.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/onderonoppressor.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/onderonoppressor.png", "shipAbility": { "name": "Networked Aim", "text": "You cannot spend your locks to reroll attack dice. While you perform an attack, you may reroll a number of attack dice up to the number of friendly locks on the defender." }, "ability": "After you barrel roll or sideslip, if you are stressed, gain 1 calculate token.", - "hyperspace": true, - "keywords": ["Droid"] + "standard": true, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true }, { "name": "Separatist Predator", @@ -184,7 +225,8 @@ "name": "Networked Aim", "text": "You cannot spend your locks to reroll attack dice. While you perform an attack, you may reroll a number of attack dice up to the number of friendly locks on the defender." }, - "hyperspace": false, + "standard": true, + "wildspace": true, "cost": 38, "slots": [ "Missile", @@ -195,11 +237,13 @@ "Configuration", "Tactical Relay" ], - "ffg": 667, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/af4f7665df100530f6dc8e3cf80a52d4.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/d8cba72d59f876f9849a4ef42740bf40.png", - "keywords": ["Droid"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/separatistpredator.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/separatistpredator.png", + "keywords": [ + "Droid" + ], + "epic": true } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_HMP_Droid_Gunship.png" -} + "icon": "https://infinitearenas.com/xw2/images/shipicons/separatist-alliance/I_HMP_Droid_Gunship.png" +} \ No newline at end of file diff --git a/data/pilots/separatist-alliance/hyena-class-droid-bomber.json b/data/pilots/separatist-alliance/hyena-class-droid-bomber.json index fe1423310..a5fa2f612 100644 --- a/data/pilots/separatist-alliance/hyena-class-droid-bomber.json +++ b/data/pilots/separatist-alliance/hyena-class-droid-bomber.json @@ -2,7 +2,6 @@ "name": "Hyena-class Droid Bomber", "xws": "hyenaclassdroidbomber", "size": "Small", - "ffg": 64, "dial": [ "1TW", "1BR", @@ -23,22 +22,46 @@ "4FW", "5FR" ], - "dialCodes": ["HDB"], - "faction": "Separatist Alliance", + "dialCodes": [ + "HDB" + ], + "faction": "separatistalliance", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 5 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 5 + } ], "actions": [ - { "difficulty": "White", "type": "Calculate" }, - { "difficulty": "White", "type": "Lock" }, + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "type": "Lock" + }, { "difficulty": "White", "type": "Barrel Roll", - "linked": { "difficulty": "Red", "type": "Lock" } + "linked": { + "difficulty": "Red", + "type": "Lock" + } }, - { "difficulty": "Red", "type": "Reload" } + { + "difficulty": "Red", + "type": "Reload" + } ], "pilots": [ { @@ -50,7 +73,8 @@ "name": "Networked Calculations", "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." }, - "hyperspace": false, + "standard": true, + "wildspace": true, "cost": 26, "slots": [ "Torpedo", @@ -60,10 +84,12 @@ "Configuration" ], "text": "Baktoid Armor Workshop developed the Hyena as a strike craft compatible with Trade Federation Vulture swarm tactics.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/749bdc89c3da6b8034154780959e9c34.png", - "ffg": 568, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/38a1ea6b53a619fcc6121cc32a91024d.jpg", - "keywords": ["Droid"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/technounionbomber.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/technounionbomber.png", + "keywords": [ + "Droid" + ], + "epic": true }, { "name": "Bombardment Drone", @@ -76,13 +102,22 @@ "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." }, "ability": "If you would drop a device, you may launch that device instead, using the same template.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/099422de35fb5ad2c2d238237e7dfe2c.png", - "hyperspace": true, - "cost": 30, - "slots": ["Sensor", "Device", "Device", "Modification", "Configuration"], - "ffg": 565, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/bc5e862af323dbe8db28d0d6bc6be4ad.jpg", - "keywords": ["Droid"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/bombardmentdrone.png", + "standard": true, + "wildspace": true, + "cost": 31, + "slots": [ + "Sensor", + "Device", + "Device", + "Modification", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/bombardmentdrone.png", + "keywords": [ + "Droid" + ], + "epic": true }, { "name": "DBS-404", @@ -94,7 +129,8 @@ "name": "Networked Calculations", "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." }, - "hyperspace": true, + "standard": true, + "wildspace": true, "cost": 31, "slots": [ "Torpedo", @@ -104,10 +140,12 @@ "Configuration" ], "ability": "You can perform primary attacks at range 0. While you perform an attack at attack range 0-1, you must roll 1 additional die. After the attack hits, suffer 1 [Critical Hit] damage.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/3e647295c7237a5eb36b94d887eb8e56.png", - "ffg": 563, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/fb1f119c8dcd69db43a442fecf25fceb.jpg", - "keywords": ["Droid"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dbs404.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dbs404.png", + "keywords": [ + "Droid" + ], + "epic": true }, { "name": "Baktoid Prototype", @@ -116,13 +154,14 @@ "initiative": 1, "limited": 2, "ability": "While you perform a special attack, if a friendly ship with the Networked Calculations ship ability has a lock on the defender, you may ignore the [Focus], [Calculate], or [Lock] requirement of that attack.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/254bc7be63cc9f4e629198f8d45f2f9b.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/baktoidprototype.png", "shipAbility": { "name": "Networked Calculations", "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." }, - "hyperspace": true, - "cost": 29, + "standard": true, + "wildspace": true, + "cost": 25, "slots": [ "Sensor", "Missile", @@ -130,9 +169,11 @@ "Modification", "Configuration" ], - "ffg": 566, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/f1e719d3490aceee6e5d93ac5b2a6cb2.jpg", - "keywords": ["Droid"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/baktoidprototype.png", + "keywords": [ + "Droid" + ], + "epic": true }, { "name": "Separatist Bomber", @@ -140,13 +181,14 @@ "initiative": 3, "limited": 0, "text": "The droid armies of the Separatists are callous to the plight of civilians and make no effort to limit collateral damage.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/cf510ca885a5f85395542b9aa51fba73.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/separatistbomber.png", "shipAbility": { "name": "Networked Calculations", "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." }, - "hyperspace": false, - "cost": 29, + "standard": true, + "wildspace": true, + "cost": 28, "slots": [ "Torpedo", "Missile", @@ -154,9 +196,11 @@ "Modification", "Configuration" ], - "ffg": 567, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/162821196c9ca9ca7ef8d1cb1acab15b.jpg", - "keywords": ["Droid"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/separatistbomber.png", + "keywords": [ + "Droid" + ], + "epic": true }, { "name": "DBS-32C", @@ -165,28 +209,261 @@ "limited": 1, "initiative": 3, "ability": "At the start of the Engagement Phase, you may spend 1 calculate token to perform a [Coordinate] action. You cannot coordinate ships that do not have the Networked Calculations ship ability.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/1befc5619a02e2ea8b7bfb8df93471a1.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dbs32c.png", "shipAbility": { "name": "Networked Calculations", "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." }, "shipActions": [ - { "difficulty": "White", "type": "Calculate" }, - { "difficulty": "White", "type": "Lock" }, + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "type": "Lock" + }, { "difficulty": "White", "type": "Barrel Roll", - "linked": { "difficulty": "Red", "type": "Lock" } + "linked": { + "difficulty": "Red", + "type": "Lock" + } }, - { "difficulty": "Red", "type": "Jam" } - ], - "hyperspace": true, - "cost": 40, - "slots": ["Sensor", "Tactical Relay", "Modification", "Configuration"], - "ffg": 564, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/f58f50898f4fa3900eb1b7d01aec4ae5.jpg", - "keywords": ["Droid"] + { + "difficulty": "Red", + "type": "Jam" + } + ], + "standard": true, + "wildspace": true, + "cost": 37, + "slots": [ + "Sensor", + "Tactical Relay", + "Modification", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dbs32c.png", + "keywords": [ + "Droid" + ], + "epic": true + }, + { + "name": "DBS-32C", + "caption": "Siege of Coruscant", + "initiative": 3, + "limited": 1, + "cost": 38, + "charges": { + "value": 2, + "recovers": 0 + }, + "xws": "dbs32c-siegeofcoruscant", + "ability": "After you perform a [Calculate] action, you may spend 1 [Charge] to perform a [Jam] action.", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "shipActions": [ + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll", + "linked": { + "difficulty": "Red", + "type": "Lock" + } + }, + { + "difficulty": "Red", + "type": "Jam" + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dbs32c-siegeofcoruscant.png", + "standardLoadout": [ + "plasmatorpedoes", + "contingencyprotocol-siegeofcoruscant", + "strutlockoverride-siegeofcoruscant" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dbs32c-siegeofcoruscant.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true + }, + { + "name": "DBS-32C", + "caption": "Siege of Coruscant", + "initiative": 3, + "limited": 1, + "cost": 30, + "charges": { + "value": 2, + "recovers": 0 + }, + "xws": "dbs32c-siegeofcoruscant-lsl", + "ability": "After you perform a [Calculate] action, you may spend 1 [Charge] to perform a [Jam] action.", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "shipActions": [ + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll", + "linked": { + "difficulty": "Red", + "type": "Lock" + } + }, + { + "difficulty": "Red", + "type": "Jam" + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dbs32c-siegeofcoruscant-lsl.png", + "slots": [ + "Sensor", + "Tactical Relay", + "Modification", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dbs32c-siegeofcoruscant-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true + }, + { + "name": "DBS-404", + "caption": "Siege of Coruscant", + "initiative": 4, + "limited": 1, + "cost": 36, + "xws": "dbs404-siegeofcoruscant", + "ability": "While you perform an attack at range 1, you must roll 1 additional die. After the attack hits, suffer 1 [Critical Hit] damage.", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dbs404-siegeofcoruscant.png", + "standardLoadout": [ + "advprotontorpedoes", + "contingencyprotocol-siegeofcoruscant", + "strutlockoverride-siegeofcoruscant" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dbs404-siegeofcoruscant.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true + }, + { + "name": "DBS-404", + "caption": "Siege of Coruscant", + "initiative": 4, + "limited": 1, + "cost": 30, + "xws": "dbs404-siegeofcoruscant-lsl", + "ability": "While you perform an attack at range 1, you must roll 1 additional die. After the attack hits, suffer 1 [Critical Hit] damage.", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dbs404-siegeofcoruscant-lsl.png", + "slots": [ + "Torpedo", + "Missile", + "Device", + "Modification", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dbs404-siegeofcoruscant-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true + }, + { + "name": "Baktoid Prototype", + "caption": "Siege of Coruscant", + "initiative": 1, + "limited": 2, + "cost": 34, + "xws": "baktoidprototype-siegeofcoruscant", + "ability": "While you perform a special attack, if a friendly ship with the Networked Calculations ship ability has a lock on the defender, you may ignore the [Focus], [Calculate], or [Lock] requirement of that attack.", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/baktoidprototype-siegeofcoruscant.png", + "standardLoadout": [ + "homingmissiles", + "contingencyprotocol-siegeofcoruscant", + "strutlockoverride-siegeofcoruscant" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/baktoidprototype-siegeofcoruscant.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true + }, + { + "name": "Baktoid Prototype", + "caption": "Siege of Coruscant", + "initiative": 1, + "limited": 2, + "cost": 25, + "xws": "baktoidprototype-siegeofcoruscant-lsl", + "ability": "While you perform a special attack, if a friendly ship with the Networked Calculations ship ability has a lock on the defender, you may ignore the [Focus], [Calculate], or [Lock] requirement of that attack.", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/baktoidprototype-siegeofcoruscant-lsl.png", + "slots": [ + "Sensor", + "Missile", + "Missile", + "Modification", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/baktoidprototype-siegeofcoruscant-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Hyena.png" -} + "icon": "https://infinitearenas.com/xw2/images/shipicons/separatist-alliance/I_Hyena.png" +} \ No newline at end of file diff --git a/data/pilots/separatist-alliance/nantex-class-starfighter.json b/data/pilots/separatist-alliance/nantex-class-starfighter.json index 09433f367..065457c83 100644 --- a/data/pilots/separatist-alliance/nantex-class-starfighter.json +++ b/data/pilots/separatist-alliance/nantex-class-starfighter.json @@ -2,7 +2,6 @@ "name": "Nantex-class Starfighter", "xws": "nantexclassstarfighter", "size": "Small", - "ffg": 67, "dial": [ "1TW", "1BB", @@ -24,17 +23,39 @@ "5FW", "5KR" ], - "dialCodes": ["NTX"], - "faction": "Separatist Alliance", + "dialCodes": [ + "NTX" + ], + "faction": "separatistalliance", "stats": [ - { "arc": "Bullseye Arc", "type": "attack", "value": 3 }, - { "arc": "Single Turret Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 3 }, - { "type": "hull", "value": 4 } + { + "arc": "Bullseye Arc", + "type": "attack", + "value": 3 + }, + { + "arc": "Single Turret Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 4 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Evade" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Evade" + } ], "pilots": [ { @@ -44,15 +65,18 @@ "xws": "stalgasinhiveguard", "shipAbility": { "name": "Pinpoint Tractor Array", - "text": "You cannot rotate your [Single Turret Arc] to your [Rear Arc]. After you execute a maneuver, you may gain 1 tractor token to perform a [Rotate Arc] action." + "text": "You cannot rotate your [Single Turret Arc] to your [Rear Arc]. After you fully execute a maneuver, you may gain 1 tractor token to perform a [Rotate Arc] action." }, - "hyperspace": false, + "standard": true, + "wildspace": true, "text": "Designed for the unique physiology of Geonosian pilots, Nantex-class starfighters are capable of maneuvers that would rip most ships—and pilots—apart.", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/62c29b8b7f82e37980d58b39023a800a.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/e97a0ae22847e0b71d920a0df9dfcfab.png", - "cost": 35, - "ffg": 609, - "slots": ["Talent"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/stalgasinhiveguard.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/stalgasinhiveguard.png", + "cost": 33, + "slots": [ + "Talent" + ], + "epic": true }, { "name": "Sun Fac", @@ -61,16 +85,20 @@ "xws": "sunfac", "shipAbility": { "name": "Pinpoint Tractor Array", - "text": "You cannot rotate your [Single Turret Arc] to your [Rear Arc]. After you execute a maneuver, you may gain 1 tractor token to perform a [Rotate Arc] action." + "text": "You cannot rotate your [Single Turret Arc] to your [Rear Arc]. After you fully execute a maneuver, you may gain 1 tractor token to perform a [Rotate Arc] action." }, - "hyperspace": true, - "caption": "Archduke's Enforcer", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/ace32f2bdd974de54020be34bfb85a76.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/42265df53c90026a58ac96b0acd3c1f8.png", + "standard": true, + "wildspace": true, + "caption": "Archduke’s Enforcer", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/sunfac.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/sunfac.png", "ability": "While you perform a primary attack, if the defender is tractored, roll 1 additional attack die.", - "cost": 44, - "ffg": 604, - "slots": ["Talent", "Talent"] + "cost": 43, + "slots": [ + "Talent", + "Talent" + ], + "epic": true }, { "name": "Berwer Kret", @@ -79,16 +107,20 @@ "limited": 1, "shipAbility": { "name": "Pinpoint Tractor Array", - "text": "You cannot rotate your [Single Turret Arc] to your [Rear Arc]. After you execute a maneuver, you may gain 1 tractor token to perform a [Rotate Arc] action." + "text": "You cannot rotate your [Single Turret Arc] to your [Rear Arc]. After you fully execute a maneuver, you may gain 1 tractor token to perform a [Rotate Arc] action." }, - "hyperspace": true, + "standard": true, + "wildspace": true, "caption": "Hive Guard Captain", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/8466283eeb7d476744913f5d9d69e745.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/f1c76ce6ff266c23099686392efef565.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/berwerkret.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/berwerkret.png", "ability": "After you perform an attack that hits, each friendly ship with [Calculate] on its action bar and a lock on the defender may perform a red [Calculate] action.", - "cost": 37, - "ffg": 605, - "slots": ["Talent", "Talent"] + "cost": 35, + "slots": [ + "Talent", + "Talent" + ], + "epic": true }, { "name": "Chertek", @@ -97,52 +129,64 @@ "limited": 1, "shipAbility": { "name": "Pinpoint Tractor Array", - "text": "You cannot rotate your [Single Turret Arc] to your [Rear Arc]. After you execute a maneuver, you may gain 1 tractor token to perform a [Rotate Arc] action." + "text": "You cannot rotate your [Single Turret Arc] to your [Rear Arc]. After you fully execute a maneuver, you may gain 1 tractor token to perform a [Rotate Arc] action." }, - "hyperspace": true, + "standard": true, + "wildspace": true, "caption": "Opportunistic Ace", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/fc7fff6c1e6eb73ff6ae10768f5491a7.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/07504533be45d13cb82d71ea11d234f7.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/chertek.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/chertek.png", "ability": "While you perform a primary attack, if the defender is tractored, you may reroll up to 2 attack dice.", - "cost": 36, - "ffg": 606, - "slots": ["Talent", "Talent"] + "cost": 37, + "slots": [ + "Talent", + "Talent" + ], + "epic": true }, { "name": "Gorgol", "caption": "Handy Engineer", - "cost": 32, - "ffg": 607, "limited": 1, "initiative": 2, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/8749f3b0f17a7c517e8633cc2558792f.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/d2d0764f83a2740f407082e934986ff2.png", + "xws": "gorgol", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/gorgol.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/gorgol.png", "shipAbility": { "name": "Pinpoint Tractor Array", - "text": "You cannot rotate your [Single Turret Arc] to your [Rear Arc]. After you execute a maneuver, you may gain 1 tractor token to perform a [Rotate Arc] action." + "text": "You cannot rotate your [Single Turret Arc] to your [Rear Arc]. After you fully execute a maneuver, you may gain 1 tractor token to perform a [Rotate Arc] action." }, "ability": "During the System Phase, you may gain 1 disarm token and choose a friendly ship at range 1-2. If you do, it gains 1 tractor token, then repairs 1 of its faceup Ship trait damage cards.", - "hyperspace": true, - "slots": ["Talent", "Modification"], - "xws": "gorgol" + "cost": 29, + "standard": true, + "wildspace": true, + "slots": [ + "Talent", + "Modification" + ], + "epic": true }, { "name": "Petranaki Arena Ace", - "cost": 37, - "ffg": 608, + "cost": 36, + "limited": 0, "initiative": 4, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/5c32b5d481ad922be7a0ec4a3743d1d6.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/d2d62b6070fdf59b58db79aadb845d54.png", + "xws": "petranakiarenaace", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/petranakiarenaace.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/petranakiarenaace.png", "shipAbility": { "name": "Pinpoint Tractor Array", - "text": "You cannot rotate your [Single Turret Arc] to your [Rear Arc]. After you execute a maneuver, you may gain 1 tractor token to perform a [Rotate Arc] action." + "text": "You cannot rotate your [Single Turret Arc] to your [Rear Arc]. After you fully execute a maneuver, you may gain 1 tractor token to perform a [Rotate Arc] action." }, "text": "The Petranaki Arena is a massive edifice on Geonosis that was a key site in the first battle of the Clone Wars.", - "hyperspace": false, - "limited": 0, - "slots": ["Talent", "Talent"], - "xws": "petranakiarenaace" + "standard": true, + "wildspace": true, + "slots": [ + "Talent", + "Talent" + ], + "epic": true } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Nantex_Class_Starfighter.png" -} + "icon": "https://infinitearenas.com/xw2/images/shipicons/separatist-alliance/I_Nantex_Class_Starfighter.png" +} \ No newline at end of file diff --git a/data/pilots/separatist-alliance/rogue-class-starfighter.json b/data/pilots/separatist-alliance/rogue-class-starfighter.json new file mode 100644 index 000000000..d1f096d2c --- /dev/null +++ b/data/pilots/separatist-alliance/rogue-class-starfighter.json @@ -0,0 +1,461 @@ +{ + "name": "Rogue-class Starfighter", + "xws": "rogueclassstarfighter", + "size": "Small", + "dial": [ + "1TW", + "1BB", + "1NB", + "1YW", + "2ER", + "2TW", + "2BB", + "2FB", + "2NB", + "2YW", + "2RR", + "3TR", + "3BW", + "3FB", + "3NW", + "3YR", + "4FB", + "5FW", + "5KR" + ], + "dialCodes": [ + "RCS" + ], + "faction": "separatistalliance", + "stats": [ + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 5 + }, + { + "type": "shields", + "value": 2 + } + ], + "actions": [ + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Boost" + }, + "type": "Focus" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + }, + "type": "Focus" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + }, + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Boost" + } + ], + "icon": "https://infinitearenas.com/xw2/images/shipicons/separatist-alliance/I_Rogue.png", + "pilots": [ + { + "name": "Durge", + "caption": "On His Own Time", + "initiative": 5, + "limited": 1, + "cost": 44, + "charges": { + "value": 1, + "recovers": 0 + }, + "xws": "durge-separatistalliance", + "slots": [ + "Talent", + "Cannon", + "Cannon", + "Illicit", + "Modification", + "Title" + ], + "ability": "When you would be destroyed, you may spend 1 [Charge] to reveal all of your facedown damage cards. If you do, discard each Direct Hit! and each of your damage cards with the Pilot trait, then repair all of your faceup damage cards.", + "shipAbility": { + "name": "Dead to Rights", + "text": "While you perform an attack, if the defender is in your [Bullseye Arc], defense dice cannot be modified using green tokens." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/durge-separatistalliance.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/durge-separatistalliance.png", + "keywords": [ + "Bounty Hunter" + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Cad Bane", + "caption": "Needs No Introduction", + "initiative": 4, + "limited": 1, + "cost": 41, + "xws": "cadbane-separatistalliance", + "slots": [ + "Talent", + "Cannon", + "Cannon", + "Illicit", + "Modification", + "Title" + ], + "ability": "During the Engagement Phase, after another ship at range 0-3 is destroyed, you may spend 1 [Charge] to perform an action, even while stressed.", + "charges": { + "value": 1, + "recovers": 1 + }, + "shipAbility": { + "name": "Dead to Rights", + "text": "While you perform an attack, if the defender is in your [Bullseye Arc], defense dice cannot be modified using green tokens." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/cadbane-separatistalliance.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/cadbane-separatistalliance.png", + "keywords": [ + "Bounty Hunter" + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "IG-101", + "caption": "Tenacious Bodyguard", + "initiative": 4, + "limited": 1, + "cost": 39, + "xws": "ig101", + "slots": [ + "Talent", + "Cannon", + "Cannon", + "Modification", + "Title" + ], + "ability": "At the start of the System Phase, you may repair 1 faceup damage card.", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "shipActions": [ + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Boost" + }, + "type": "Calculate" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + }, + "type": "Calculate" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + }, + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Boost" + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/ig101.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/ig101.png", + "keywords": [ + "Droid" + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "MagnaGuard Executioner", + "initiative": 3, + "limited": 0, + "cost": 37, + "xws": "magnaguardexecutioner", + "slots": [ + "Talent", + "Cannon", + "Cannon", + "Modification", + "Title" + ], + "text": "In addition to guarding Separatist leaders, MagneGuard droids are sometimes dispatched in swift Rogue-class Starfighters to eliminate their enemies.", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "shipActions": [ + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Boost" + }, + "type": "Calculate" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + }, + "type": "Calculate" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + }, + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Boost" + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/magnaguardexecutioner.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/magnaguardexecutioner.png", + "keywords": [ + "Droid" + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "MagnaGuard Protector", + "caption": "Implacable Escort", + "initiative": 4, + "limited": 2, + "cost": 39, + "xws": "magnaguardprotector", + "slots": [ + "Talent", + "Cannon", + "Cannon", + "Modification", + "Title" + ], + "ability": "After placing forces, assign the Guarded condition to 1 friendly ship other than MagnaGuard Protector.", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "shipActions": [ + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Boost" + }, + "type": "Calculate" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + }, + "type": "Calculate" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + }, + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Boost" + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/magnaguardprotector.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/magnaguardprotector.png", + "keywords": [ + "Droid" + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "IG-102", + "caption": "Dueling Droid", + "initiative": 4, + "limited": 1, + "cost": 39, + "xws": "ig102", + "slots": [ + "Talent", + "Cannon", + "Cannon", + "Modification", + "Title" + ], + "ability": "While you defend, if the attacker's initiative is equal to or greater than yours, you may change 1 blank result to a [Focus] result.", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "shipActions": [ + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Boost" + }, + "type": "Calculate" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + }, + "type": "Calculate" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + }, + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Boost" + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/ig102.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/ig102.png", + "keywords": [ + "Droid" + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "IG-111", + "caption": "One Eye", + "initiative": 1, + "limited": 1, + "cost": 37, + "xws": "ig111", + "slots": [ + "Talent", + "Cannon", + "Cannon", + "Modification", + "Title" + ], + "ability": "After you perform an attack that missed, you may choose 1 enemy ship in your [Bullseye Arc] and gain 1 deplete token. If you do, that ship suffers 1 [Hit] damage.", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "shipActions": [ + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Boost" + }, + "type": "Calculate" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + }, + "type": "Calculate" + }, + { + "difficulty": "White", + "linked": { + "difficulty": "Red", + "type": "Barrel Roll" + }, + "type": "Evade" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Boost" + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/ig111.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/ig111.png", + "keywords": [ + "Droid" + ], + "standard": true, + "wildspace": true, + "epic": true + } + ] +} \ No newline at end of file diff --git a/data/pilots/separatist-alliance/sith-infiltrator.json b/data/pilots/separatist-alliance/sith-infiltrator.json index 040366fab..c702c2dae 100644 --- a/data/pilots/separatist-alliance/sith-infiltrator.json +++ b/data/pilots/separatist-alliance/sith-infiltrator.json @@ -23,20 +23,44 @@ "4FW", "5KR" ], - "dialCodes": ["SIn"], - "faction": "Separatist Alliance", + "dialCodes": [ + "SIn" + ], + "faction": "separatistalliance", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 1 }, - { "type": "hull", "value": 6 }, - { "type": "shields", "value": 4 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 1 + }, + { + "type": "hull", + "value": 6 + }, + { + "type": "shields", + "value": 4 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Barrel Roll" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_SithInfiltrator.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/separatist-alliance/I_SithInfiltrator.png", "pilots": [ { "name": "Darth Maul", @@ -44,11 +68,18 @@ "initiative": 5, "limited": 1, "xws": "darthmaul", - "force": { "value": 3, "recovers": 1, "side": ["dark"] }, + "force": { + "value": 3, + "recovers": 1, + "side": [ + "dark" + ] + }, "ability": "After you perform an attack, you may spend 2 [Force] to perform a bonus primary attack against a different target. If your attack missed, you may perform that bonus primary attack against the same target instead.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/95428161db7de4adcea6fa8bcbf9de2f.png", - "hyperspace": false, - "cost": 64, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/darthmaul.png", + "standard": true, + "wildspace": true, + "cost": 62, "slots": [ "Cannon", "Torpedo", @@ -60,9 +91,12 @@ "Force Power", "Tactical Relay" ], - "ffg": 503, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/04b1c1fea3735eb844455dd3278346d0.jpg", - "keywords": ["Dark Side", "Sith"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/darthmaul.png", + "keywords": [ + "Dark Side", + "Sith" + ], + "epic": true }, { "name": "Count Dooku", @@ -70,11 +104,18 @@ "initiative": 3, "limited": 1, "xws": "countdooku", - "force": { "value": 3, "recovers": 1, "side": ["dark"] }, + "force": { + "value": 3, + "recovers": 1, + "side": [ + "dark" + ] + }, "ability": "After you defend, if the attacker is in your firing arc, you may spend 1 [Force] to remove 1 of your blue or red tokens. After you perform an attack that hits, you may spend 1 [Force] to perform an action.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/88959087710ec5a80a16dd93573f149d.png", - "hyperspace": false, - "cost": 63, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/countdooku.png", + "standard": true, + "wildspace": true, + "cost": 60, "slots": [ "Cannon", "Torpedo", @@ -86,9 +127,12 @@ "Force Power", "Tactical Relay" ], - "ffg": 504, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/65eabe68c7d1ae072442d8c8808414db.jpg", - "keywords": ["Dark Side", "Sith"] + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/countdooku.png", + "keywords": [ + "Dark Side", + "Sith" + ], + "epic": true }, { "name": "Dark Courier", @@ -96,9 +140,10 @@ "limited": 0, "xws": "darkcourier", "text": "The vessel called the Scimitar was heavily modified, equipped with stealth technologies and advanced surveillance devices for infiltration and assassination missions.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/132f1957b904c890b94bf3aaf2a944ce.png", - "hyperspace": true, - "cost": 50, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/darkcourier.png", + "standard": true, + "wildspace": true, + "cost": 45, "slots": [ "Cannon", "Torpedo", @@ -109,13 +154,13 @@ "Title", "Tactical Relay" ], - "ffg": 506, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/8b9c158df033daab2ea6acecd29c5c0d.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/darkcourier.png", + "epic": true }, { "name": "0-66", "xws": "066", - "cost": 49, + "cost": 46, "slots": [ "Talent", "Torpedo", @@ -127,21 +172,142 @@ "Title", "Modification" ], - "ffg": 505, "caption": "Sinister Automaton", "initiative": 3, "limited": 1, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/c0a65aa29f085d517d907bc7799e4146.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/9edd9bb6846e77723d8f0381bb7909aa.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/066.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/066.png", "ability": "After you defend, you may spend 1 calculate token to perform an action.", "shipActions": [ - { "difficulty": "White", "type": "Calculate" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Barrel Roll" } + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + } + ], + "standard": true, + "wildspace": true, + "keywords": [ + "Droid" ], - "hyperspace": false, - "keywords": ["Droid"] + "epic": true + }, + { + "name": "Count Dooku", + "caption": "Siege of Coruscant", + "initiative": 5, + "limited": 1, + "cost": 75, + "xws": "countdooku-siegeofcoruscant", + "ability": "During an attack, before a ship at range 0-2 rolls attack or defense dice, if all of your [Force] are active, you may spend 1 [Force] and name a result. If the roll does not contain the named result, the ship must change 1 die to that result.", + "shipActions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Jam" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + }, + { + "difficulty": "Red", + "type": "Cloak" + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/countdooku-siegeofcoruscant.png", + "force": { + "value": 3, + "recovers": 1, + "side": [ + "dark" + ] + }, + "standardLoadout": [ + "malice", + "roilinganger-siegeofcoruscant", + "scimitar" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/countdooku-siegeofcoruscant.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Dark Side", + "Sith" + ], + "epic": true + }, + { + "name": "Count Dooku", + "caption": "Siege of Coruscant", + "initiative": 5, + "limited": 1, + "cost": 64, + "xws": "countdooku-siegeofcoruscant-lsl", + "ability": "During an attack, before a ship at range 0-2 rolls attack or defense dice, if all of your [Force] are active, you may spend 1 [Force] and name a result. If the roll does not contain the named result, the ship must change 1 die to that result.", + "shipActions": [ + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Jam" + }, + { + "difficulty": "Red", + "type": "Barrel Roll" + }, + { + "difficulty": "Red", + "type": "Cloak" + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/countdooku-siegeofcoruscant-lsl.png", + "force": { + "value": 3, + "recovers": 1, + "side": [ + "dark" + ] + }, + "slots": [ + "Cannon", + "Torpedo", + "Crew", + "Crew", + "Device", + "Modification", + "Title", + "Force Power", + "Tactical Relay" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/countdooku-siegeofcoruscant-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Dark Side", + "Sith" + ], + "epic": true } - ], - "ffg": 60 -} + ] +} \ No newline at end of file diff --git a/data/pilots/separatist-alliance/trident-class-assault-ship.json b/data/pilots/separatist-alliance/trident-class-assault-ship.json index ae117b92c..203cfc452 100644 --- a/data/pilots/separatist-alliance/trident-class-assault-ship.json +++ b/data/pilots/separatist-alliance/trident-class-assault-ship.json @@ -1,9 +1,8 @@ { "name": "Trident-Class Assault Ship", "xws": "tridentclassassaultship", - "ffg": 83, - "faction": "Separatist Alliance", - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_Trident.png", + "faction": "separatistalliance", + "icon": "https://infinitearenas.com/xw2/images/shipicons/separatist-alliance/I_Trident.png", "size": "Huge", "dial": [ "0BR", @@ -21,35 +20,72 @@ "4KR", "5FW" ], - "dialCodes": ["TAS"], + "dialCodes": [ + "TAS" + ], "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 3 }, - { "type": "agility", "value": 0 }, - { "type": "hull", "value": 10 }, - { "type": "shields", "value": 4, "recovers": 1 }, - { "type": "energy", "value": 3, "recovers": 2 } + { + "arc": "Front Arc", + "type": "attack", + "value": 3 + }, + { + "type": "agility", + "value": 0 + }, + { + "type": "hull", + "value": 10 + }, + { + "type": "shields", + "value": 4, + "recovers": 1 + }, + { + "type": "energy", + "value": 3, + "recovers": 2 + } ], "actions": [ - { "difficulty": "White", "type": "Focus" }, - { "difficulty": "Red", "type": "Evade" }, - { "difficulty": "Red", "type": "Reinforce" }, - { "difficulty": "White", "type": "Lock" }, - { "difficulty": "Red", "type": "Coordinate" } + { + "difficulty": "White", + "type": "Focus" + }, + { + "difficulty": "Red", + "type": "Evade" + }, + { + "difficulty": "Red", + "type": "Reinforce" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "Red", + "type": "Coordinate" + } ], "pilots": [ { - "ffg": 716, "name": "Colicoid Destroyer", "initiative": 8, "cost": 85, "limited": 0, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/84a0e86cd474679365d38ead7d6f19f0.jpg", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/colicoiddestroyer.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/colicoiddestroyer.png", "shipAbility": { "name": "Tractor Grasp", "text": "After you perform a Tractor Tentacles attack that hits, the defender gains 1 tractor token." }, "text": "Designed by the Colicoid Creation Nest and equipped with powerful tentacles and a massive drill to tear though the hull of even the toughest starships and fortifications, the Trident-class Assault Ship is a terrifying testament to the threat posed by the Separatist Alliance.", - "hyperspace": false, + "standard": false, + "wildspace": false, + "epic": true, "engagement": 0, "xws": "colicoiddestroyer", "slots": [ @@ -66,4 +102,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/data/pilots/separatist-alliance/vulture-class-droid-fighter.json b/data/pilots/separatist-alliance/vulture-class-droid-fighter.json index bbc7a2e6e..9fffd920c 100644 --- a/data/pilots/separatist-alliance/vulture-class-droid-fighter.json +++ b/data/pilots/separatist-alliance/vulture-class-droid-fighter.json @@ -21,23 +21,44 @@ "4FB", "5FW" ], - "dialCodes": ["VDF"], - "faction": "Separatist Alliance", + "dialCodes": [ + "VDF" + ], + "faction": "separatistalliance", "stats": [ - { "arc": "Front Arc", "type": "attack", "value": 2 }, - { "type": "agility", "value": 2 }, - { "type": "hull", "value": 3 } + { + "arc": "Front Arc", + "type": "attack", + "value": 2 + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 3 + } ], "actions": [ - { "difficulty": "White", "type": "Calculate" }, - { "difficulty": "White", "type": "Lock" }, + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "type": "Lock" + }, { "difficulty": "White", "type": "Barrel Roll", - "linked": { "difficulty": "Red", "type": "Calculate" } + "linked": { + "difficulty": "Red", + "type": "Calculate" + } } ], - "icon": "https://squadbuilder.fantasyflightgames.com/ship_types/I_VultureDroid.png", + "icon": "https://infinitearenas.com/xw2/images/shipicons/separatist-alliance/I_VultureDroid.png", "pilots": [ { "name": "Trade Federation Drone", @@ -49,13 +70,20 @@ "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." }, "text": "The Trade Federation deployed countless Vulture Droids at the Battle of Naboo, and continues to use these inexpensive starfighters in the Clone Wars.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/4d8ed38f907fb4869611add738abda11.png", - "hyperspace": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/tradefederationdrone.png", + "standard": true, + "wildspace": true, "cost": 21, - "slots": ["Missile", "Modification", "Configuration"], - "ffg": 498, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/df075613c4c3dbe7803df6bfa5082262.jpg", - "keywords": ["Droid"] + "slots": [ + "Missile", + "Modification", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/tradefederationdrone.png", + "keywords": [ + "Droid" + ], + "epic": true }, { "name": "Precise Hunter", @@ -68,13 +96,20 @@ "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." }, "ability": "While you perform an attack, if the defender is in your [Bullseye Arc], you may reroll 1 blank result.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/44cd712b4db9f34091cff73a4fda4303.png", - "hyperspace": true, - "cost": 24, - "slots": ["Missile", "Modification", "Configuration"], - "ffg": 500, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/fab82de87d230b77a5e4b2360ea9af93.jpg", - "keywords": ["Droid"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/precisehunter.png", + "standard": true, + "wildspace": true, + "cost": 23, + "slots": [ + "Missile", + "Modification", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/precisehunter.png", + "keywords": [ + "Droid" + ], + "epic": true }, { "name": "Haor Chall Prototype", @@ -87,13 +122,20 @@ "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." }, "ability": "After an enemy ship in your [Bullseye Arc] at range 0-2 declares another friendly ship as the defender, you may perform a [Calculate] or [Lock] action.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/91421be1f3bbbefd005c1b2682f0bc44.png", - "hyperspace": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/haorchallprototype.png", + "standard": true, + "wildspace": true, "cost": 22, - "slots": ["Missile", "Modification", "Configuration"], - "ffg": 502, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/18cdc19a9627a38d0ec2783ccd5cb183.jpg", - "keywords": ["Droid"] + "slots": [ + "Missile", + "Modification", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/haorchallprototype.png", + "keywords": [ + "Droid" + ], + "epic": true }, { "name": "DFS-081", @@ -106,13 +148,20 @@ "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." }, "ability": "While a friendly ship at range 0-1 defends, it may spend 1 calculate token to change all [Critical Hit] results to [Hit] results.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/808de8db6d43921b4e3124f01d5d4947.png", - "hyperspace": true, - "cost": 23, - "slots": ["Missile", "Modification", "Configuration"], - "ffg": 499, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/2d797107c628ebd2ab8e526fcbb6076d.jpg", - "keywords": ["Droid"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dfs081.png", + "standard": true, + "wildspace": true, + "cost": 22, + "slots": [ + "Missile", + "Modification", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dfs081.png", + "keywords": [ + "Droid" + ], + "epic": true }, { "name": "Separatist Drone", @@ -124,13 +173,20 @@ "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." }, "text": "As the Clone Wars escalate, the Separatist Alliance continues to develop the technology of droid starfighters, as well as the tactical droids that command them.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/64e75b9a1024ac0c909634e62e165b2e.png", - "hyperspace": true, - "cost": 21, - "slots": ["Missile", "Modification", "Configuration"], - "ffg": 497, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/df638358903b64e7b246b3a56fa68af7.jpg", - "keywords": ["Droid"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/separatistdrone.png", + "standard": true, + "wildspace": true, + "cost": 22, + "slots": [ + "Missile", + "Modification", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/separatistdrone.png", + "keywords": [ + "Droid" + ], + "epic": true }, { "name": "DFS-311", @@ -143,14 +199,308 @@ "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." }, "ability": "At the start of the Engagement Phase, you may transfer 1 of your calculate tokens to another friendly ship at range 0-3.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/741f05dbe0f7e56fc9918b86bdb0e3fb.png", - "hyperspace": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dfs311.png", + "standard": true, + "wildspace": true, + "cost": 23, + "slots": [ + "Missile", + "Modification", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dfs311.png", + "keywords": [ + "Droid" + ], + "epic": true + }, + { + "name": "DFS-081", + "caption": "Siege of Coruscant", + "initiative": 3, + "limited": 1, + "cost": 28, + "charges": { + "value": 2, + "recovers": 0 + }, + "xws": "dfs081-siegeofcoruscant", + "ability": "While defending, you may spend 1 [Charge] and 1 calculate token to cancel 1 [Critical Hit] result.", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dfs081-siegeofcoruscant.png", + "standardLoadout": [ + "discordmissiles", + "contingencyprotocol-siegeofcoruscant", + "strutlockoverride-siegeofcoruscant" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dfs081-siegeofcoruscant.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true + }, + { + "name": "DFS-081", + "caption": "Siege of Coruscant", + "initiative": 3, + "limited": 1, + "cost": 23, + "charges": { + "value": 2, + "recovers": 0 + }, + "xws": "dfs081-siegeofcoruscant-lsl", + "ability": "While defending, you may spend 1 [Charge] and 1 calculate token to cancel 1 [Critical Hit] result.", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dfs081-siegeofcoruscant-lsl.png", + "slots": [ + "Missile", + "Modification", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dfs081-siegeofcoruscant-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true + }, + { + "name": "DFS-311", + "caption": "Siege of Coruscant", + "initiative": 1, + "limited": 1, + "cost": 28, + "xws": "dfs311-siegeofcoruscant", + "ability": "At the start of the Engagement Phase, you may transfer 1 of your calculate tokens to another friendly ship at range 0-3.", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dfs311-siegeofcoruscant.png", + "standardLoadout": [ + "discordmissiles", + "contingencyprotocol-siegeofcoruscant", + "strutlockoverride-siegeofcoruscant" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dfs311-siegeofcoruscant.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true + }, + { + "name": "DFS-311", + "caption": "Siege of Coruscant", + "initiative": 1, + "limited": 1, "cost": 23, - "slots": ["Missile", "Modification", "Configuration"], - "ffg": 501, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/5fb72145f183eeddd8d37ce1a4d114f7.jpg", - "keywords": ["Droid"] + "xws": "dfs311-siegeofcoruscant-lsl", + "ability": "At the start of the Engagement Phase, you may transfer 1 of your calculate tokens to another friendly ship at range 0-3.", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dfs311-siegeofcoruscant-lsl.png", + "slots": [ + "Missile", + "Modification", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dfs311-siegeofcoruscant-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true + }, + { + "name": "Haor Chall Prototype", + "caption": "Siege of Coruscant", + "initiative": 1, + "limited": 2, + "cost": 25, + "xws": "haorchallprototype-siegeofcoruscant", + "ability": "After an enemy ship in your [Bullseye Arc] at range 0-2 declares a scenario feature or another friendly ship as the defender, you may perform a [Calculate] or [Lock] action.", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/haorchallprototype-siegeofcoruscant.png", + "standardLoadout": [ + "ionmissiles", + "contingencyprotocol-siegeofcoruscant", + "strutlockoverride-siegeofcoruscant" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/haorchallprototype-siegeofcoruscant.png", + "standard": false, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true + }, + { + "name": "Haor Chall Prototype", + "caption": "Siege of Coruscant", + "initiative": 1, + "limited": 2, + "cost": 22, + "xws": "haorchallprototype-siegeofcoruscant-lsl", + "ability": "After an enemy ship in your [Bullseye Arc] at range 0-2 declares a scenario feature or another friendly ship as the defender, you may perform a [Calculate] or [Lock] action.", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/haorchallprototype-siegeofcoruscant-lsl.png", + "slots": [ + "Missile", + "Modification", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/haorchallprototype-siegeofcoruscant-lsl.png", + "standard": true, + "wildspace": true, + "keywords": [ + "Droid" + ], + "epic": true + }, + { + "name": "The Iron Assembler", + "xws": "theironassembler", + "initiative": 1, + "limited": 1, + "caption": "Scintilla Scavenger", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "ability": "After a friendly ship at range 0-1 skips its execute maneuver step, you may spend 1 [Charge]. If you do, if there is an asteroid or debris cloud at range 0 of it, that ship may repair 1 damage.", + "standard": true, + "wildspace": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/theironassembler.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/theironassembler.png", + "cost": 22, + "charges": { + "value": 3, + "recovers": 0 + }, + "slots": [ + "Missile", + "Modification", + "Configuration" + ], + "keywords": [ + "Droid" + ], + "epic": true + }, + { + "name": "Kelrodo-Ai Holdout", + "xws": "kelrodoaiholdout", + "initiative": 1, + "limited": 3, + "caption": "Separatist Stalwart", + "shipAbility": { + "name": "Modified for Organics", + "text": "This ship is not affected by the Standardized restriction. Reduce the difficulty of your speed 2 and 3 bank [[Bank Left] or [Bank Right]] maneuvers. Increase the difficulty of your speed 3 turn [[Turn Left] or [Turn Right]] maneuvers." + }, + "shipActions": [ + { + "difficulty": "White", + "type": "Calculate" + }, + { + "difficulty": "White", + "type": "Lock" + }, + { + "difficulty": "White", + "type": "Barrel Roll", + "linked": { + "difficulty": "Red", + "type": "Focus" + } + } + ], + "ability": "After you are destroyed, you may transfer each of your locks and green tokens to another friendly Kelrodo-Ai Holdout at range 0-3.", + "standard": true, + "wildspace": true, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/kelrodoaiholdout.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/kelrodoaiholdout.png", + "cost": 21, + "slots": [ + "Missile", + "Modification", + "Configuration" + ], + "epic": true + }, + { + "name": "00M Uplink Prototype", + "xws": "00muplinkprototype-wat1", + "initiative": 1, + "limited": 1, + "caption": "Second-in-Command", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "ability": "While a friendly ship at range 0-1 resolves Networked Calculations, it may treat friendly ships at range 0-1 of you as being at range 1.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/00muplinkprototype-wat1.png", + "standard": false, + "wildspace": true, + "cost": 22, + "slots": [ + "Missile", + "Modification", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/00muplinkprototype-wat1.png", + "keywords": [ + "Droid" + ], + "epic": true + }, + { + "name": "DFS-420", + "xws": "dfs420-wat1", + "initiative": 4, + "limited": 1, + "caption": "Marcan Deployer", + "shipAbility": { + "name": "Networked Calculations", + "text": "While you defend or perform an attack, you may spend 1 calculate token from a friendly ship at range 0-1 to change 1 [Focus] result to an [Evade] or [Hit] result." + }, + "ability": "You can perform primary attacks at range 0. After you execute a red maneuver or perform a red action, if there is an enemy ship at range 0-1, you may remove 1 stress token.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/pilots/dfs420-wat1.png", + "standard": false, + "wildspace": true, + "cost": 24, + "slots": [ + "Talent", + "Missile", + "Modification", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/pilots/dfs420-wat1.png", + "keywords": [ + "Droid" + ], + "epic": true } - ], - "ffg": 59 + ] } diff --git a/data/quick-builds/first-order.json b/data/quick-builds/first-order.json index 06161c1d3..02a7cd1d7 100644 --- a/data/quick-builds/first-order.json +++ b/data/quick-builds/first-order.json @@ -471,6 +471,252 @@ } } ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "firstordercadet", + "upgrades": { + "talent": ["feedbackping"], + "device": ["concussionbombs"], + "gunner": ["firstorderordnancetech"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "sienarjaemustestpilot", + "upgrades": { + "missile": ["clustermissiles"], + "gunner": ["suppressivegunner"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "breach", + "upgrades": { + "talent": ["elusive"], + "torpedo": ["protontorpedoes"], + "tech": ["advancedoptics"], + "modification": ["engineupgrade"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "dread", + "upgrades": { + "talent": ["feedbackping"], + "device": ["concussionbombs"], + "tech": ["primedthrusters"], + "modification": ["delayedfuses"], + "gunner": ["dt798"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "grudge", + "upgrades": { + "talent": ["outmaneuver"], + "missile": ["protonrockets"], + "torpedo": ["iontorpedoes"], + "modification": ["engineupgrade"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "scorch-tiesebomber", + "upgrades": { + "talent": ["predator"], + "missile": ["electrochaffmissiles"], + "gunner": ["suppressivegunner"], + "modification": ["shieldupgrade"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "nightfall", + "upgrades": { + "talent": ["ionlimiteroverride"], + "tech": ["sensorscramblers"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "redfuryzealot", + "upgrades": { + "talent": ["predator"], + "configuration": ["enhancedjammingsuite"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "709thlegionace", + "upgrades": { + "talent": ["predator"], + "configuration": ["enhancedjammingsuite"], + "missile": ["homingmissiles"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "kyloren-tiewiwhispermodifiedinterceptor", + "upgrades": { + "talent": ["predator"], + "force-power": ["malice"], + "configuration": ["enhancedjammingsuite"], + "missile": ["clustermissiles"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "whirlwind", + "upgrades": { + "talent": ["elusive", "ionlimiteroverride"], + "tech": ["sensorscramblers"], + "missile": ["protonrockets"], + "modification": ["hullupgrade"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "wrath", + "upgrades": { + "talent": ["elusive"], + "configuration": ["enhancedjammingsuite"], + "missile": ["protonrockets"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "agentterex", + "upgrades": { + "crew": ["commandermalarus"], + "illicit": [ + "deadmansswitch", + "contrabandcybernetics", + "inertialdampeners" + ] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "commandermalarus-xiclasslightshuttle", + "upgrades": { + "talent": ["snapshot"], + "crew": ["agentterex"], + "tech": ["sensorbuoysuite"], + "modification": ["hullupgrade"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "gideonhask-xiclasslightshuttle", + "upgrades": { + "talent": ["deadeyeshot"], + "tech": ["sensorbuoysuite"], + "crew": ["commanderpyre"], + "illicit": ["riggedcargochute"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "firstordercourier", + "upgrades": { + "crew": ["tacticalofficer"], + "tech": ["automatedtargetpriority"], + "modification": ["shieldupgrade"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "firstordersympathizers", + "upgrades": { + "command": ["strategiccommander"], + "hardpoint": ["pointdefensebattery"], + "team": ["damagecontrolteam", "gunneryspecialists"], + "cargo": ["adaptiveshields"] + } + } + ] + }, + { + "threat": 8, + "pilots": [ + { + "id": "firstordercollaborators", + "upgrades": { + "command": ["stalwartcaptain"], + "hardpoint": ["ioncannonbattery", "pointdefensebattery"], + "crew": ["novicetechnician"], + "team": ["bombardmentspecialists", "commsteam"], + "cargo": ["boostedscanners"] + } + } + ] } ] } diff --git a/data/quick-builds/galactic-empire.json b/data/quick-builds/galactic-empire.json index 3ea40e4df..52f0650b9 100644 --- a/data/quick-builds/galactic-empire.json +++ b/data/quick-builds/galactic-empire.json @@ -51,7 +51,8 @@ "id": "idenversio", "upgrades": { "talent": ["lonewolf"], - "torpedo": ["protontorpedoes"] + "torpedo": ["protontorpedoes"], + "modification": ["targetingcomputer"] } } ] @@ -1121,6 +1122,547 @@ } } ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "baronoftheempire", + "upgrades": { + "talent": ["elusive", "outmaneuver"], + "modification": ["afterburners"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "inquisitor", + "upgrades": { + "force-power": ["heightenedperception"], + "missile": ["protonrockets"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "grandinquisitor", + "upgrades": { + "force-power": ["hate"], + "modification": ["shieldupgrade"], + "missile": ["protonrockets"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "seventhsister", + "upgrades": { + "force-power": ["predictiveshot"], + "modification": ["afterburners", "hullupgrade"], + "missile": ["protonrockets"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "captaindobbs", + "upgrades": { + "talent": ["disciplined"], + "cannon": ["tractorbeam"], + "configuration": ["tiedefenderelite"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "deltasquadronpilot", + "upgrades": { + "missile": ["ionmissiles"], + "cannon": ["tractorbeam"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "deltasquadronpilot", + "upgrades": { + "cannon": ["autoblasters"], + "configuration": ["tiedefenderelite"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "onyxsquadronace", + "upgrades": { + "talent": ["interloperturn"], + "cannon": ["tractorbeam"], + "configuration": ["tiedefenderelite"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "colonelvessery", + "upgrades": { + "talent": ["outmaneuver"], + "modification": ["hullupgrade"], + "cannon": ["tractorbeam"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "countessryad", + "upgrades": { + "talent": ["predator"], + "sensor": ["advancedsensors"], + "cannon": ["tractorbeam"], + "missile": ["ionmissiles"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "onyxsquadronace", + "upgrades": { + "talent": ["outmaneuver"], + "modification": ["shieldupgrade"], + "sensor": ["advancedsensors"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "rexlerbrath", + "upgrades": { + "talent": ["elusive"], + "sensor": ["advancedsensors"], + "missile": ["ionmissiles"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "vultskerris", + "upgrades": { + "talent": ["daredevil", "predator"], + "missile": ["magpulsewarheads"], + "configuration": ["tiedefenderelite"] + } + } + ] + }, + { + "threat": 5, + "pilots": [ + { + "id": "darthvader-tieddefender", + "upgrades": { + "force-power": ["sense"], + "missile": ["magpulsewarheads"], + "configuration": ["tiedefenderelite"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "alphasquadronpilot", + "upgrades": { + "modification": ["hullupgrade", "shieldupgrade"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "alphasquadronpilot", + "upgrades": { + "talent": ["disciplined"], + "configuration": ["sensitivecontrols"], + "modification": ["staticdischargevanes"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "alphasquadronpilot", + "upgrades": { + "configuration": ["sensitivecontrols"], + "modification": ["shieldupgrade", "targetingcomputer"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "cienaree", + "upgrades": { + "talent": ["disciplined"], + "configuration": ["sensitivecontrols"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "commandantgoran", + "upgrades": { + "talent": ["disciplined", "margsablclosure"], + "configuration": ["sensitivecontrols"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "lieutenantlorrir", + "upgrades": { + "talent": ["outmaneuver"], + "configuration": ["sensitivecontrols"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "nashwindrider", + "upgrades": { + "talent": ["daredevil"], + "configuration": ["sensitivecontrols"], + "modification": ["shieldupgrade"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "sabersquadronace", + "upgrades": { + "talent": ["predator"], + "modification": ["shieldupgrade"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "sabersquadronace", + "upgrades": { + "talent": ["daredevil"], + "configuration": ["sensitivecontrols"], + "modification": ["targetingcomputer"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "turrphennir", + "upgrades": { + "talent": ["outmaneuver"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "gideonhask-tieininterceptor", + "upgrades": { + "talent": ["disciplined", "elusive"], + "configuration": ["sensitivecontrols"], + "modification": ["shieldupgrade", "targetingcomputer"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "soontirfel", + "upgrades": { + "talent": ["daredevil", "predator"], + "modification": ["afterburners", "shieldupgrade"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "vultskerris-tieininterceptor", + "upgrades": { + "talent": ["daredevil", "elusive", "predator"], + "configuration": ["sensitivecontrols"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "caridaacademycadet", + "upgrades": { + "talent": ["snapshot"], + "configuration": ["maneuverassistmgk300"], + "cannon": ["syncedlasercannons"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "lyttandree", + "upgrades": { + "talent": ["deadeyeshot"], + "configuration": ["maneuverassistmgk300"], + "cannon": ["ioncannon", "heavylasercannon"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "onyxsquadronsentry", + "upgrades": { + "talent": ["ionlimiteroverride"], + "configuration": ["maneuverassistmgk300"], + "cannon": ["heavylasercannon"], + "modification": ["shieldupgrade"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "rampage", + "upgrades": { + "talent": ["predator"], + "configuration": ["maneuverassistmgk300"], + "cannon": ["syncedlasercannons"], + "modification": ["afterburners", "ablativeplating"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "captainoicunn", + "upgrades": { + "modification": ["tacticalscrambler"], + "crew": ["agentkallus"], + "title": ["dauntless"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "patrolleader", + "upgrades": { + "crew": ["darthvader", "000"], + "gunner": ["bt1"] + } + } + ] + }, + { + "threat": 5, + "pilots": [ + { + "id": "rearadmiralchiraneau", + "upgrades": { + "torpedo": ["protontorpedoes"], + "gunner": ["veteranturretgunner"], + "crew": ["gnkgonkdroid"], + "device": ["proximitymines"] + } + } + ] + }, + { + "threat": 5, + "pilots": [ + { + "id": "patrolleader", + "upgrades": { + "talent": ["lonewolf"], + "crew": ["grandinquisitor", "seventhsister"], + "gunner": ["fifthbrother"] + } + } + ] + }, + { + "threat": 5, + "pilots": [ + { + "id": "outerrimgarrison", + "upgrades": { + "command": ["strategiccommander"], + "turret": ["dorsalturret"], + "team": ["commsteam", "sensorexperts"], + "cargo": ["boostedscanners", "optimizedpowercore"], + "title": ["requiem"], + "hardpoint": ["targetingbattery"] + } + } + ] + }, + { + "threat": 9, + "pilots": [ + { + "id": "outerrimpatrol", + "upgrades": { + "command": ["captainneeda"], + "torpedo": ["advprotontorpedoes"], + "team": ["ordnanceteam", "bombardmentspecialists"], + "cargo": ["boostedscanners"], + "title": ["impetuous"], + "hardpoint": ["ordnancetubes", "turbolaserbattery"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "moffgideon", + "upgrades": { + "talent": ["deadeyeshot", "outmaneuver"], + "modification": ["hullupgrade"], + "illicit": ["overtunedmodulators"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "isbjingoist", + "upgrades": { + "talent": ["ionlimiteroverride"], + "modification": ["afterburners", "shieldupgrade"], + "illicit": ["falsetranspondercodes"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "garsaxon", + "upgrades": { + "crew": ["imperialsupercommandos"], + "modification": ["dropseatbay", "shieldupgrade", "hullupgrade"], + "configuration": ["swivelwing"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "captainhark", + "upgrades": { + "configuration": ["combatboardingtubes"], + "crew": ["imperialsupercommandos"], + "configuration": ["swivelwing"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "imperialsupercommando", + "upgrades": { + "talent": ["outmaneuver"], + "device": ["concussionbombs"], + "gunner": ["veterantailgunner"], + "modification": ["hullupgrade"] + } + } + ] } ] } diff --git a/data/quick-builds/galactic-republic.json b/data/quick-builds/galactic-republic.json index aba11bfde..b1440c1a0 100644 --- a/data/quick-builds/galactic-republic.json +++ b/data/quick-builds/galactic-republic.json @@ -471,6 +471,391 @@ } } ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "jedigeneral", + "upgrades": { + "talent": ["margsablclosure"], + "force-power": ["extrememaneuvers"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "shaakti", + "upgrades": { + "talent": ["elusive"], + "force-power": ["patience"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "aaylasecura", + "upgrades": { + "talent": ["predator"], + "force-power": ["supernaturalreflexes"], + "astromech": ["r3astromech"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "obiwankenobi-eta2actis", + "upgrades": { + "talent": ["margsablclosure"], + "force-power": ["patience"], + "astromech": ["r5astromech"], + "modification": ["hullupgrade"] + } + }, + { + "id": "transgalmegcontrollink", + "upgrades": { + "hyperdrive": ["syliure31hyperdrive"], + "modification": ["shieldupgrade"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "yoda", + "upgrades": { + "force-power": ["heightenedperception", "sense", "patience"], + "astromech": ["r2d2-republic"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "anakinskywalker-eta2actis", + "upgrades": { + "talent": ["margsablclosure"], + "force-power": ["extrememaneuvers"], + "astromech": ["r2d2-republic"], + "modification": ["afterburners", "shieldupgrade"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "212thbattalionpilot", + "upgrades": { + "missile": ["multimissilepods"], + "gunner": ["suppressivegunner"], + "crew": ["ghostcompany"], + "modification": ["shieldupgrade"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "hawk", + "upgrades": { + "talent": ["deadeyeshot"], + "missile": ["ionmissiles"], + "gunner": ["clonecaptainrex"], + "crew": ["fives", "yoda"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "warthog", + "upgrades": { + "missile": ["multimissilepods"], + "gunner": ["suppressivegunner"], + "crew": ["plokoon", "wolfpack"], + "modification": ["shieldupgrade"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "hound", + "upgrades": { + "missile": ["concussionmissiles"], + "gunner": ["suppressivegunner", "agilegunner"], + "crew": ["aaylasecura", "kitfisto"], + "modification": ["hullupgrade"] + } + } + ] + }, + { + "threat": 1, + "pilots": [ + { + "id": "loyalistvolunteer" + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "contrail", + "upgrades": { + "talent": ["ionlimiteroverride"], + "astromech": ["r7a7"], + "modification": ["precisionionengines"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "klick", + "upgrades": { + "device": ["thermaldetonators"], + "astromech": ["r3astromech"], + "configuration": ["alpha3bbesh"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "oddball-nimbusclassvwing", + "upgrades": { + "talent": ["elusive", "ionlimiteroverride"], + "astromech": ["q7astromech"], + "modification": ["precisionionengines"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "shadowsquadronescort", + "upgrades": { + "talent": ["outmaneuver"], + "astromech": ["r2astromech"], + "configuration": ["alpha3eesk"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "wilhufftarkin", + "upgrades": { + "astromech": ["r3astromech"], + "configuration": ["alpha3eesk"] + } + } + ] + }, + { + "threat": 9, + "pilots": [ + { + "id": "republicjudiciary", + "upgrades": { + "command": ["strategiccommander"], + "hardpoint": ["targetingbattery", "turbolaserbattery"], + "crew": ["seasonednavigator"], + "gunner": ["agilegunner"], + "team": ["damagecontrolteam", "gunneryspecialists"], + "cargo": ["boostedscanners"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "slider", + "upgrades": { + "talent": ["outmaneuver"], + "torpedo": ["protontorpedoes"], + "modification": ["afterburners", "shieldupgrade"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "killer", + "upgrades": { + "torpedo": ["protontorpedoes"], + "modification": ["afterburners"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "warthog-clonez95headhunter", + "upgrades": { + "talent": ["elusive"], + "torpedo": ["protontorpedoes"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "boost", + "upgrades": { + "talent": ["enduring"], + "torpedo": ["homingtorpedoes"], + "modification": ["hullupgrade"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "drift", + "upgrades": { + "talent": ["elusive"], + "torpedo": ["homingtorpedoes"], + "modification": ["afterburners"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "hawk-clonez95headhunter", + "upgrades": { + "talent": ["outmaneuver"], + "missile": ["magpulsewarheads"], + "modification": ["afterburners"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "stub", + "upgrades": { + "talent": ["elusive"], + "torpedo": ["protontorpedoes"], + "modification": ["afterburners"] + } + } + ] + }, + { + "threat": 1, + "pilots": [ + { + "id": "7thskycorpspilot", + "upgrades": { + "modification": ["angleddeflectors"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "knack", + "upgrades": { + "talent": ["outmaneuver", "predator"], + "torpedo": ["protontorpedoes"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "reapersquadronscout", + "upgrades": { + "talent": ["outmaneuver"], + "missile": ["magpulsewarheads"], + "modification": ["shieldupgrade"], + "sensor": ["firecontrolsystem"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "bokatankryze", + "upgrades": { + "talent": ["outmaneuver"], + "crew": ["niteowlcommandos"], + "gunner": ["veterantailgunner"], + "title": ["gauntlet"], + "modification": ["dropseatbay", "hullupgrade"], + "configuration": ["swivelwing"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "niteowlliberator", + "upgrades": { + "talent": ["enduring"], + "device": ["concussionbombs"], + "gunner": ["veterantailgunner"], + "modification": ["hullupgrade"], + "configuration": ["swivelwing"] + } + } + ] } ] } diff --git a/data/quick-builds/rebel-alliance.json b/data/quick-builds/rebel-alliance.json index 16a2c3d90..efcded6b2 100644 --- a/data/quick-builds/rebel-alliance.json +++ b/data/quick-builds/rebel-alliance.json @@ -271,8 +271,7 @@ "id": "bladesquadronveteran", "upgrades": { "talent": ["predator"], - "cannon": ["ioncannon"], - "cannon": ["jammingbeam"] + "cannon": ["ioncannon", "jammingbeam"] } } ] @@ -332,8 +331,7 @@ "id": "braylenstramm", "upgrades": { "talent": ["squadleader"], - "cannon": ["jammingbeam"], - "cannon": ["heavylasercannon"], + "cannon": ["jammingbeam", "heavylasercannon"], "modification": ["electronicbaffle"] } } @@ -758,7 +756,7 @@ "id": "chewbacca", "upgrades": { "talent": ["predator"], - "crew": ["leiaorgana", "c3po-crew", "r2d2-crew"], + "crew": ["leiaorgana", "c3po", "r2d2-crew"], "gunner": ["hansolo", "lukeskywalker"], "modification": ["engineupgrade"], "title": ["millenniumfalcon"] @@ -1190,6 +1188,515 @@ } } ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "bluesquadronpilot", + "upgrades": { + "sensor": ["passivesensors"], + "cannon": ["autoblasters"], + "configuration": ["stabilizedsfoils"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "netrempollard", + "upgrades": { + "talent": ["debrisgambit"], + "cannon": ["autoblasters"], + "configuration": ["stabilizedsfoils"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "bladesquadronveteran", + "upgrades": { + "talent": ["saturationsalvo"], + "modification": ["shieldupgrade"], + "cannon": ["syncedlasercannons"], + "configuration": ["stabilizedsfoils"], + "torpedo": ["plasmatorpedoes"], + "sensor": ["passivesensors"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "herasyndulla-asf01bwing", + "upgrades": { + "command": ["b6bladewingprototype-command"], + "talent": ["deadeyeshot"], + "sensor": ["passivesensors"], + "gunner": ["sabinewren-gunner"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "outerrimsmuggler", + "upgrades": { + "crew": ["landocalrissian", "informant"], + "modification": ["engineupgrade"], + "illicit": ["riggedcargochute"] + } + } + ] + }, + { + "threat": 5, + "pilots": [ + { + "id": "hansolo-modifiedyt1300lightfreighter", + "upgrades": { + "crew": ["c3po", "chewbacca", "leiaorgana"], + "illicit": ["riggedcargochute"], + "title": ["millenniumfalcon"] + } + } + ] + }, + { + "threat": 5, + "pilots": [ + { + "id": "landocalrissian-modifiedyt1300lightfreighter", + "upgrades": { + "talent": ["swarmtactics"], + "crew": ["niennunb"], + "modification": ["engineupgrade", "hullupgrade"], + "title": ["millenniumfalcon"], + "missile": ["homingmissiles"], + "astromech": ["r3astromech"] + } + } + ] + }, + { + "threat": 6, + "pilots": [ + { + "id": "chewbacca", + "upgrades": { + "crew": ["c3po", "leiaorgana", "r2d2-crew"], + "gunner": ["hansolo", "lukeskywalker"], + "title": ["millenniumfalcon"] + } + } + ] + }, + { + "threat": 1, + "pilots": [ + { + "id": "phoenixsquadronpilot", + "upgrades": { + "talent": ["hopeful"] + } + } + ] + }, + { + "threat": 1, + "pilots": [ + { + "id": "phoenixsquadronpilot", + "upgrades": { + "talent": ["elusive"] + } + } + ] + }, + { + "threat": 1, + "pilots": [ + { + "id": "phoenixsquadronpilot", + "upgrades": { + "talent": ["margsablclosure"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "ahsokatano-rz1awing", + "upgrades": { + "talent": ["margsablclosure"], + "force-power": ["patience", "sense"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "arvelcrynyd", + "upgrades": { + "talent": ["intimidation", "juke"], + "missile": ["concussionmissiles"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "derekklivian", + "upgrades": { + "talent": ["elusive"], + "missile": ["magpulsewarheads"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "greensquadronpilot", + "upgrades": { + "talent": ["juke", "outmaneuver"], + "modification": ["hullupgrade"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "greensquadronpilot", + "upgrades": { + "talent": ["starbirdslash"], + "configuration": ["vectoredcannonsrz1"], + "missile": ["magpulsewarheads"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "herasyndulla-rz1awing", + "upgrades": { + "talent": ["hopeful"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "jakefarrell", + "upgrades": { + "talent": ["daredevil", "juke"], + "missile": ["protonrockets"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "phoenixsquadronpilot", + "upgrades": { + "talent": ["daredevil"], + "modification": ["afterburners"], + "missile": ["protonrockets"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "sabinewren-rz1awing", + "upgrades": { + "talent": ["outmaneuver"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "sharabey-rz1awing", + "upgrades": { + "talent": ["starbirdslash", "margsablclosure"], + "configuration": ["vectoredcannonsrz1"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "wedgeantilles-rz1awing", + "upgrades": { + "talent": ["deadeyeshot"], + "missile": ["xx23sthreadtracers"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "ap5", + "upgrades": { + "astromech": ["chopper"], + "modification": ["shieldupgrade", "afterburners"], + "title": ["phantom"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "ezrabridger-sheathipedeclassshuttle", + "upgrades": { + "force-power": ["hate"], + "crew": ["maul"], + "modification": ["hullupgrade"], + "title": ["phantom"], + "astromech": ["r5astromech"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "fennrau-sheathipedeclassshuttle", + "upgrades": { + "crew": ["kananjarrus"], + "talent": ["elusive"], + "astromech": ["r2astromech"], + "title": ["phantom"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "zeborrelios-sheathipedeclassshuttle", + "upgrades": { + "crew": ["herasyndulla"], + "talent": ["outmaneuver"], + "modification": ["hullupgrade"], + "title": ["phantom"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "chopper", + "upgrades": { + "crew": ["herasyndulla", "zeborrelios"], + "title": ["ghost"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "lothalrebel", + "upgrades": { + "turret": ["dorsalturret"], + "gunner": ["agilegunner"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "herasyndulla-vcx100lightfreighter", + "upgrades": { + "crew": ["chopper-crew", "kananjarrus"], + "talent": ["outmaneuver"], + "title": ["ghost"], + "sensor": ["collisiondetector"], + "turret": ["dorsalturret"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "kananjarrus", + "upgrades": { + "force-power": ["sense"], + "turret": ["dorsalturret"], + "modification": ["hullupgrade", "tacticalscrambler"], + "title": ["ghost"] + } + } + ] + }, + { + "threat": 9, + "pilots": [ + { + "id": "alderaanianguard", + "upgrades": { + "command": ["jandodonna"], + "crew": ["torynfarr"], + "cargo": ["boostedscanners"], + "hardpoint": ["ioncannonbattery", "turbolaserbattery"], + "team": ["commsteam", "sensorexperts"], + "title": ["dodonnaspride"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "echobaseevacuees", + "upgrades": { + "command": ["carlistrieekan"], + "hardpoint": ["pointdefensebattery"], + "crew": ["novicetechnician"], + "team": ["commsteam"], + "cargo": ["adaptiveshields", "optimizedpowercore"], + "title": ["brighthope"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "fennrau-fangfighter", + "upgrades": { + "talent": ["clantraining"], + "torpedo": ["iontorpedoes"], + "modification": ["afterburners"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "clanwrenvolunteer", + "upgrades": { + "talent": ["predator"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "bodicavenj", + "upgrades": { + "talent": ["outmaneuver"], + "modification": ["beskarreinforcedplating", "mandalorianoptics"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "dirkullodin", + "upgrades": { + "talent": ["clantraining"], + "torpedo": ["protontorpedoes"], + "modification": ["hullupgrade", "mandalorianoptics"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "ezrabridger-gauntletfighter", + "upgrades": { + "force-power": ["shatteringshot"], + "crew": ["clanwrencommandos"], + "title": ["nightbrother"], + "modification": ["shieldupgrade"], + "configuration": ["swivelwing"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "chopper-gauntletfighter", + "upgrades": { + "talent": ["predator"], + "gunner": ["veterantailgunner"], + "modification": ["hullupgrade"], + "title": ["nightbrother"], + "configuration": ["swivelwing"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "mandalorianresistancepilot", + "upgrades": { + "talent": ["enduring"], + "crew": ["clanwrencommandos"], + "configuration": ["swivelwing"] + } + } + ] } ] } diff --git a/data/quick-builds/resistance.json b/data/quick-builds/resistance.json index fe5c7a4b4..d6a35184f 100644 --- a/data/quick-builds/resistance.json +++ b/data/quick-builds/resistance.json @@ -569,12 +569,345 @@ { "id": "r1j5", "upgrades": { - "talent": ["snapshot"], + "illicit": ["coaxiumhyperfuel"], "missile": ["magpulsewarheads"], "modification": ["afterburners", "targetingcomputer"] } } ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "aftabackbar", + "upgrades": { + "talent": ["elusive"], + "missile": ["electrochaffmissiles"], + "configuration": ["wartimeloadout"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "caithrenalli-btanr2ywing", + "upgrades": { + "talent": ["experthandling"], + "astromech": ["r2astromech"], + "modification": [ + "engineupgrade", + "hullupgrade", + "targetingcomputer" + ] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "coruskapellim", + "upgrades": { + "turret": ["ioncannonturret"], + "illicit": ["overtunedmodulators"], + "modification": ["engineupgrade", "targetingcomputer"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "kijimispicerunner", + "upgrades": { + "talent": ["tierfonbellyrun"], + "turret": ["ioncannonturret"], + "illicit": ["overtunedmodulators"], + "modification": ["engineupgrade", "targetingcomputer"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "legafossang", + "upgrades": { + "torpedo": ["protontorpedoes"], + "astromech": ["l4er5"], + "configuration": ["wartimeloadout"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "newrepublicpatrol", + "upgrades": { + "talent": ["outmaneuver"], + "turret": ["ioncannonturret"], + "astromech": ["r3astromech"], + "modification": ["shieldupgrade", "targetingcomputer"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "shasazaro", + "upgrades": { + "turret": ["ioncannonturret"], + "astromech": ["watchfulastromech"], + "device": ["concussionbombs"], + "configuration": ["wartimeloadout"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "tezanasz", + "upgrades": { + "talent": ["experthandling"], + "astromech": ["r2astromech"], + "turret": ["ioncannonturret"], + "modification": ["delayedfuses", "engineupgrade"], + "device": ["concussionbombs"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "wilsateshlo", + "upgrades": { + "talent": ["predator"], + "astromech": ["r3astromech"], + "turret": ["ioncannonturret"], + "modification": ["engineupgrade", "targetingcomputer"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "zoriibliss", + "upgrades": { + "talent": ["outmaneuver"], + "torpedo": ["protontorpedoes"], + "astromech": ["r3astromech"], + "illicit": ["babufrik"], + "configuration": ["wartimeloadout"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "bluesquadronrecruit", + "upgrades": { + "talent": ["snapshot"], + "missile": ["concussionmissiles"], + "tech": ["automatedtargetpriority"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "greensquadronexpert", + "upgrades": { + "talent": ["snapshot"], + "tech": ["primedthrusters"], + "modification": ["afterburners"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "merlcobben", + "upgrades": { + "talent": ["predator", "deadeyeshot"], + "tech": ["automatedtargetpriority"], + "modification": ["shieldupgrade"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "seftinvanik", + "upgrades": { + "talent": ["daredevil", "snapshot"], + "modification": ["hullupgrade"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "suralindajavos", + "upgrades": { + "talent": ["snapshot", "starbirdslash"], + "missile": ["ionmissiles"], + "modification": ["shieldupgrade"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "wrobietyce", + "upgrades": { + "talent": ["elusive", "starbirdslash"], + "missile": ["concussionmissiles"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "bluesquadronrookie", + "upgrades": { + "tech": ["automatedtargetpriority"], + "configuration": ["integratedsfoils"], + "astromech": ["r2astromech"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "nimichireen", + "upgrades": { + "tech": ["automatedtargetpriority"], + "configuration": ["integratedsfoils"], + "cannon": ["ioncannon"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "redsquadronexpert", + "upgrades": { + "talent": ["predator"], + "configuration": ["integratedsfoils"], + "cannon": ["underslungblastercannon"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "blacksquadronace-t70xwing", + "upgrades": { + "tech": ["primedthrusters"], + "talent": ["deadeyeshot"], + "torpedo": ["protontorpedoes"], + "configuration": ["integratedsfoils"], + "astromech": ["r3astromech"], + "modification": ["afterburners"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "caithrenalli", + "upgrades": { + "tech": ["primedthrusters"], + "talent": ["backwardstailslide"], + "configuration": ["integratedsfoils"], + "astromech": ["r4astromech"], + "torpedo": ["protontorpedoes"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "poedameron-swz68", + "upgrades": { + "talent": ["backwardstailslide", "daredevil"], + "configuration": ["integratedsfoils"], + "astromech": ["r2d2-resistance"], + "modification": ["overdrivethruster"], + "title": ["blackone"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "temminwexley-swz68", + "upgrades": { + "talent": ["snapshot"], + "configuration": ["integratedsfoils"], + "astromech": ["r6d8"], + "cannon": ["underslungblastercannon"], + "modification": ["hullupgrade"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "newrepublicvolunteers", + "upgrades": { + "command": ["stalwartcaptain"], + "hardpoint": ["ioncannonbattery"], + "turret": ["dorsalturret"], + "team": ["sensorexperts"], + "cargo": ["boostedscanners", "tibannareserves"] + } + } + ] } ] } diff --git a/data/quick-builds/scum-and-villainy.json b/data/quick-builds/scum-and-villainy.json index 674bafcbd..3b6f603e9 100644 --- a/data/quick-builds/scum-and-villainy.json +++ b/data/quick-builds/scum-and-villainy.json @@ -1302,6 +1302,592 @@ } } ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "amaxinewarrior", + "upgrades": { + "talent": ["cutthroat"], + "device": ["thermaldetonators"], + "astromech": ["r5astromech"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "arlizhadrassian", + "upgrades": { + "talent": ["predator"], + "astromech": ["r5tk"], + "gunner": ["suppressivegunner"], + "device": ["thermaldetonators"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "jinatasecurityofficer", + "upgrades": { + "tech": ["automatedtargetpriority"], + "gunner": ["weaponssystemsofficer"], + "torpedo": ["protontorpedoes"], + "astromech": ["r3astromech"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "padric", + "upgrades": { + "astromech": ["genius"], + "turret": ["dorsalturret"], + "device": ["thermaldetonators"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "leemakai", + "upgrades": { + "talent": ["margsablclosure", "saturationsalvo"], + "turret": ["ioncannonturret"], + "tech": ["targetingsynchronizer"], + "torpedo": ["plasmatorpedoes"], + "gunner": ["weaponssystemsofficer"], + "astromech": ["r4b11"], + "device": ["concussionbombs"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "gamutkey", + "upgrades": { + "talent": ["elusive"], + "illicit": ["falsetranspondercodes"], + "modification": ["engineupgrade"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "kananjarrus-hwk290lightfreighter", + "upgrades": { + "force-power": ["patience"], + "device": ["thermaldetonators"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "spicerunner", + "upgrades": { + "crew": ["hondoohnaka"], + "device": ["concussionbombs"], + "illicit": ["falsetranspondercodes"], + "modification": ["engineupgrade"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "tapusk", + "upgrades": { + "talent": ["cutthroat"], + "crew": ["gamutkey"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "contractedscout", + "upgrades": { + "crew": ["perceptivecopilot"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "manaroo", + "upgrades": { + "talent": ["elusive"], + "crew": ["lattsrazzi"], + "gunner": ["dengar"], + "modification": ["shieldupgrade"], + "torpedo": ["advprotontorpedoes"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "teltrevura", + "upgrades": { + "talent": ["lonewolf"], + "torpedo": ["advprotontorpedoes"], + "crew": ["000", "informant"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "dengar", + "upgrades": { + "talent": ["predator"], + "torpedo": ["protontorpedoes"], + "illicit": ["contrabandcybernetics"], + "modification": ["hullupgrade", "shieldupgrade"], + "astromech": ["r5p8"], + "title": ["punishingone"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "cartelspacer", + "upgrades": { + "talent": ["intimidation"], + "cannon": ["jammingbeam", "ioncannon"], + "modification": ["shieldupgrade"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "genesisred", + "upgrades": { + "talent": ["outmaneuver"], + "torpedo": ["protontorpedoes"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "inaldra", + "upgrades": { + "talent": ["predator"], + "torpedo": ["iontorpedoes"], + "modification": ["afterburners"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "laetinashera", + "upgrades": { + "talent": ["outmaneuver"], + "cannon": ["ioncannon"], + "modification": ["afterburners"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "quinnjast", + "upgrades": { + "talent": ["elusive"], + "torpedo": ["iontorpedoes"], + "modification": ["afterburners"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "serissu", + "upgrades": { + "talent": ["elusive"], + "cannon": ["jammingbeam"], + "modification": ["hullupgrade"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "sunnybounder", + "upgrades": { + "talent": ["intimidation"], + "torpedo": ["iontorpedoes"], + "modification": ["shieldupgrade"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "tansariipointveteran", + "upgrades": { + "talent": ["predator"], + "torpedo": ["protontorpedoes"], + "modification": ["hullupgrade"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "lattsrazzi", + "upgrades": { + "talent": ["predator"], + "gunner": ["bossk"], + "illicit": ["feedbackarray"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "trandoshanslaver", + "upgrades": { + "missile": ["homingmissiles"], + "crew": ["cikatrovizago", "freelanceslicer"], + "gunner": ["greedo"], + "illicit": ["feedbackarray"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "bossk", + "upgrades": { + "talent": ["predator"], + "missile": ["homingmissiles"], + "crew": ["gnkgonkdroid"], + "gunner": ["bt1"], + "title": ["houndstooth"] + } + }, + { + "id": "nashtahpup", + "upgrades": { + "talent": ["predator"], + "missile": ["homingmissiles"], + "illicit": ["feedbackarray"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "moraloeval", + "upgrades": { + "talent": ["squadleader"], + "cannon": ["tractorbeam"], + "illicit": ["feedbackarray"], + "modification": ["ablativeplating"], + "crew": ["tacticalofficer"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "bossk-z95af4headhunter", + "upgrades": { + "talent": ["predator"], + "missile": ["homingmissiles"], + "illicit": ["feedbackarray"], + "modification": ["afterburners"] + } + } + ] + }, + { + "threat": 5, + "pilots": [ + { + "id": "syndicatesmugglers", + "upgrades": { + "command": ["azmorigan"], + "hardpoint": ["pointdefensebattery"], + "turret": ["dorsalturret"], + "crew": ["novicetechnician"], + "team": ["commsteam", "igrmdroids"], + "cargo": ["adaptiveshields", "tibannareserves"], + "illicit": ["quickreleaselocks"], + "title": ["merchantone"] + } + } + ] + }, + { + "threat": 9, + "pilots": [ + { + "id": "lawlesspirates", + "upgrades": { + "command": ["zealouscaptain"], + "hardpoint": ["tractortentacles", "protoncannonbattery"], + "crew": ["novicetechnician"], + "team": ["corsaircrew"], + "cargo": ["tibannareserves"], + "title": ["nautolansrevenge"] + } + } + ] + }, + { + "threat": 10, + "pilots": [ + { + "id": "lawlesspirates", + "upgrades": { + "command": ["hondoohnakacommand"], + "hardpoint": ["tractortentacles", "drillbeak"], + "crew": ["seasonednavigator"], + "team": ["corsaircrew", "gunneryspecialists"], + "cargo": ["boostedscanners"], + "title": ["grappler"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "viktorhel-rogueclassstarfighter", + "upgrades": { + "talent": ["outmaneuver"], + "cannon": ["syncedlasercannons"], + "illicit": ["trackingfob"], + "modification": ["afterburners"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "nomlumb-rogueclassstarfighter", + "upgrades": { + "talent": ["predator"], + "cannon": ["protoncannons"], + "modification": ["shieldupgrade"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "cadbane", + "upgrades": { + "talent": ["notorious"], + "cannon": ["syncedlasercannons"], + "illicit": ["overtunedmodulators"], + "modification": ["shieldupgrade"], + "crew": ["freelanceslicer"], + "device": ["blazerbomb"], + "title": ["xanadublood"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "outerrimhunter", + "upgrades": { + "talent": ["notorious"], + "cannon": ["protoncannons"], + "illicit": ["trackingfob"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "mandalorianroyalguard", + "upgrades": { + "modification": ["afterburners", "beskarreinforcedplating"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "mandalorianroyalguard", + "upgrades": { + "talent": ["clantraining"], + "modification": ["mandalorianoptics"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "maul", + "upgrades": { + "force-power": ["heightenedperception"], + "title": ["nightbrother"], + "configuration": ["swivelwing"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "rookkast", + "upgrades": { + "talent": ["elusive"], + "crew": ["mandaloriansupercommandos"], + "title": ["nightbrother"], + "modification": ["dropseatbay"], + "configuration": ["swivelwing"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "shadowcollectiveoperator", + "upgrades": { + "talent": ["enduring"], + "device": ["blazerbomb"], + "modification": ["shieldupgrade"], + "illicit": ["overtunedmodulators"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "themandalorian", + "upgrades": { + "talent": ["notorious"], + "crew": ["kuiil", "thechild"], + "title": ["razorcrest"], + "modification": ["burnoutthrusters", "hullupgrade"], + "illicit": ["trackingfob"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "guildbountyhunter", + "upgrades": { + "crew": ["pelimotto", "ig11"], + "modification": ["hullupgrade"], + "illicit": ["hotshottailblaster", "trackingfob"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "q90", + "upgrades": { + "talent": ["outmaneuver"], + "crew": ["themandalorian", "thechild"], + "gunner": ["migsmayfeld"], + "modification": ["burnoutthrusters"], + "illicit": ["trackingfob"], + "title": ["razorcrest"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "outerrimenforcer", + "upgrades": { + "illicit": ["trackingfob"] + } + } + ] } ] } diff --git a/data/quick-builds/separatist-alliance.json b/data/quick-builds/separatist-alliance.json index 3c2e15c27..279e7e5c1 100644 --- a/data/quick-builds/separatist-alliance.json +++ b/data/quick-builds/separatist-alliance.json @@ -270,6 +270,483 @@ } } ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "colicoidinterceptor", + "upgrades": { + "modification": ["hullupgrade", "independentcalculations"], + "sensor": ["firecontrolsystem"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "dis347", + "upgrades": { + "talent": ["elusive"], + "modification": ["independentcalculations"], + "sensor": ["firecontrolsystem"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "dist81", + "upgrades": { + "talent": ["margsablclosure"], + "missile": ["discordmissiles"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "fearsomepredator", + "upgrades": { + "sensor": ["firecontrolsystem"], + "configuration": ["interceptbooster"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "phlacarphoccprototype", + "upgrades": { + "missile": ["xx23sthreadtracers"], + "configuration": ["interceptbooster"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "separatistinterceptor", + "upgrades": { + "talent": ["outmaneuver"], + "missile": ["discordmissiles"], + "configuration": ["interceptbooster"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "bobafett-firesprayclasspatrolcraft", + "upgrades": { + "talent": ["debrisgambit"], + "crew": ["hondoohnaka"], + "title": ["slavei-swz82"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "separatistracketeer", + "upgrades": { + "cannon": ["jammingbeam"], + "device": ["thermaldetonators"], + "gunner": ["suppressivegunner"], + "modification": ["ablativeplating"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "jangofett", + "upgrades": { + "illicit": ["falsetranspondercodes"], + "crew": ["zamwesell"], + "gunner": ["bobafett-gunner"], + "title": ["slavei-swz82"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "zamwesell", + "upgrades": { + "talent": ["deadeyeshot"], + "illicit": ["falsetranspondercodes"], + "crew": ["jangofett"], + "gunner": ["hotshotgunner"], + "title": ["slavei-swz82"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "baktoiddrone", + "upgrades": { + "missile": ["ionmissiles"], + "device": ["concussionbombs"], + "modification": ["delayedfuses"], + "configuration": ["repulsorliftstabilizers"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "dgs047", + "upgrades": { + "missile": ["ionmissiles"], + "device": ["concussionbombs"], + "modification": ["delayedfuses"], + "configuration": ["repulsorliftstabilizers"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "geonosianprototype", + "upgrades": { + "missile": ["ionmissiles"], + "cannon": ["syncedlasercannons"], + "configuration": ["repulsorliftstabilizers"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "onderonoppressor", + "upgrades": { + "missile": ["multimissilepods"], + "configuration": ["repulsorliftstabilizers"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "separatistpredator", + "upgrades": { + "missile": ["multimissilepods"], + "device": ["concussionbombs"], + "modification": ["hullupgrade"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "dgs286", + "upgrades": { + "missile": ["multimissilepods"], + "tactical-relay": ["kalani"], + "device": ["concussionbombs"], + "modification": ["afterburners", "shieldupgrade"], + "configuration": ["repulsorliftstabilizers"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "berwerkret", + "upgrades": { + "talent": ["ensnare", "snapshot"], + "modification": ["hullupgrade"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "chertek", + "upgrades": { + "talent": ["graviticdeflection", "juke"], + "modification": ["targetingcomputer"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "gorgol", + "upgrades": { + "talent": ["graviticdeflection"], + "modification": ["shieldupgrade", "stealthdevice"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "petranakiarenaace", + "upgrades": { + "talent": ["ensnare", "snapshot"], + "modification": ["stealthdevice"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "stalgasinhiveguard", + "upgrades": { + "talent": ["ensnare", "graviticdeflection"], + "modification": ["targetingcomputer"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "sunfac", + "upgrades": { + "talent": ["ensnare", "predator"], + "modification": ["afterburners", "shieldupgrade"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "haorchallprototype", + "upgrades": { + "missile": ["discordmissiles", "energyshellcharges"], + "modification": ["stealthdevice"] + } + } + ] + }, + { + "threat": 6, + "pilots": [ + { + "id": "separatistprivateers", + "upgrades": { + "command": ["stalwartcaptain"], + "hardpoint": ["turbolaserbattery"], + "cannon": ["heavylasercannon"], + "turret": ["dorsalturret"], + "missile": ["clustermissiles"], + "team": ["bombardmentspecialists"], + "cargo": ["boostedscanners", "tibannareserves"], + "configuration": ["corsairrefit"] + } + } + ] + }, + { + "threat": 8, + "pilots": [ + { + "id": "colicoiddestroyer", + "upgrades": { + "hardpoint": ["tractortentacles", "drillbeak"], + "cargo": ["optimizedpowercore"] + } + } + ] + }, + { + "threat": 9, + "pilots": [ + { + "id": "colicoiddestroyer", + "upgrades": { + "command": ["asajjventresscommand"], + "hardpoint": ["tractortentacles", "enhancedpropulsion"], + "crew": ["seasonednavigator"], + "team": ["droidcrew", "tractortechnicians"], + "title": ["trident"] + } + } + ] + }, + { + "threat": 10, + "pilots": [ + { + "id": "colicoiddestroyer", + "upgrades": { + "command": ["rifftamson"], + "hardpoint": ["tractortentacles", "protoncannonbattery"], + "torpedo": ["protontorpedoes"], + "crew": ["novicetechnician"], + "gunner": ["hotshotgunner"], + "team": ["droidcrew", "gunneryspecialists"], + "cargo": ["tibannareserves"], + "title": ["neimoidiangrasp"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "ig111", + "upgrades": { + "talent": ["predator"], + "cannon": ["protoncannons"], + "modification": ["shieldupgrade"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "magnaguardprotector", + "upgrades": { + "talent": ["enduring"], + "cannon": ["protoncannons"], + "modification": ["independentcalculations"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "magnaguardexecutioner", + "upgrades": { + "talent": ["outmaneuver"], + "cannon": ["protoncannons"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "cadbane-separatistalliance", + "upgrades": { + "talent": ["outmaneuver"], + "cannon": ["syncedlasercannons"], + "modification": ["afterburners"], + "crew": ["freelanceslicer"], + "title": ["xanadublood"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "ig101", + "upgrades": { + "talent": ["enduring"], + "cannon": ["protoncannons"], + "modification": ["hullupgrade"] + } + } + ] + }, + { + "threat": 2, + "pilots": [ + { + "id": "ig102", + "upgrades": { + "talent": ["elusive"], + "cannon": ["syncedlasercannons"] + } + } + ] + }, + { + "threat": 4, + "pilots": [ + { + "id": "previzsla", + "upgrades": { + "talent": ["predator"], + "device": ["blazerbomb"], + "crew": ["deathwatchcommandos"], + "modification": ["shieldupgrade"], + "configuration": ["swivelwing"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "bokatankryze-separatistalliance", + "upgrades": { + "talent": ["outmaneuver"], + "gunner": ["veterantailgunner"], + "configuration": ["swivelwing"] + } + } + ] + }, + { + "threat": 3, + "pilots": [ + { + "id": "deathwatchwarrior", + "upgrades": { + "device": ["concussionbombs"], + "modification": ["hullupgrade", "shieldupgrade"], + "configuration": ["swivelwing"] + } + } + ] } ] } diff --git a/data/stats/stats.json b/data/stats/stats.json index 217aba339..395835e53 100644 --- a/data/stats/stats.json +++ b/data/stats/stats.json @@ -1,65 +1,50 @@ [ { "name": "Agility", - "xws": "agility", - "ffg": 1 + "xws": "agility" }, { "name": "Hull", - "xws": "hull", - "ffg": 2 + "xws": "hull" }, { "name": "Shields", - "xws": "shields", - "ffg": 3 + "xws": "shields" }, { "name": "Force", - "xws": "force", - "ffg": 4 + "xws": "force" }, { "name": "Charge", - "xws": "charge", - "ffg": 7 + "xws": "charge" }, { "name": "Double Turret Arc", - "xws": "doubleturretarc", - "ffg_name": "Dual Mobile Arc", - "ffg": 8 + "xws": "doubleturretarc" }, { "name": "Full Front Arc", - "xws": "fullfrontarc", - "ffg_name": "Front 180 Arc", - "ffg": 9 + "xws": "fullfrontarc" }, { "name": "Front Arc", - "xws": "frontarc", - "ffg": 10 + "xws": "frontarc" }, { "name": "Bullseye Arc", - "xws": "bullseyearc", - "ffg": 11 + "xws": "bullseyearc" }, { "name": "Single Turret Arc", - "xws": "singleturretarc", - "ffg_name": "Mobile Arc", - "ffg": 12 + "xws": "singleturretarc" }, { "name": "Rear Arc", - "xws": "reararc", - "ffg": 14 + "xws": "reararc" }, { "name": "Weapon Range No Bonus", - "xws": "weaponrangenobonus", - "ffg": 20 + "xws": "weaponrangenobonus" } ] diff --git a/data/translation.json b/data/translation.json index 1ffa67008..575dde2b5 100644 --- a/data/translation.json +++ b/data/translation.json @@ -164,16 +164,16 @@ "fr": "Alexsandr Kallus" }, "alpha3bbesh": { - "de": "Alpha-3B \"Besh\"", - "en": "Alpha-3B \"Besh\"", - "es": "Alfa-3B \"Besh\"", - "fr": "Alpha-3B \"Besh\"" + "de": "Alpha-3B “Besh”", + "en": "Alpha-3B “Besh”", + "es": "Alfa-3B “Besh”", + "fr": "Alpha-3B “Besh”" }, "alpha3eesk": { - "de": "Alpha-3E \"Esk\"", - "en": "Alpha-3E \"Esk\"", - "es": "Alfa-3E \"Esk\"", - "fr": "Alpha-3E \"Esk\"" + "de": "Alpha-3E “Esk”", + "en": "Alpha-3E “Esk”", + "es": "Alfa-3E “Esk”", + "fr": "Alpha-3E “Esk”" }, "alphaclassstarwing": { "en": "Alpha-class Star Wing", @@ -298,16 +298,16 @@ "fr": "Canonnière Auzituck" }, "avenger": { - "de": "\"Avenger\"", - "en": "\"Avenger\"", - "es": "\"Vengador\"", - "fr": "\"Avenger\"" + "de": "“Avenger”", + "en": "“Avenger”", + "es": "“Vengador”", + "fr": "“Avenger”" }, "axe": { - "de": "\"Axe\"", - "en": "\"Axe\"", - "es": "\"Axe\"", - "fr": "\"Axe\"" + "de": "“Axe”", + "en": "“Axe”", + "es": "“Axe”", + "fr": "“Axe”" }, "azmorigan": { "de": "Azmorigan", @@ -328,10 +328,10 @@ "fr": "Prototype Blade Wing B6" }, "backdraft": { - "de": "\"Backdraft\"", - "en": "\"Backdraft\"", - "es": "\"Llamarada\"", - "fr": "\"Backdraft\"" + "de": "“Backdraft”", + "en": "“Backdraft”", + "es": "“Llamarada”", + "fr": "“Backdraft”" }, "backwardstailslide": { "de": "Rückwärts-Tailslide", @@ -456,10 +456,10 @@ "fr": "Black One" }, "blackout": { - "de": "\"Blackout\"", - "en": "\"Blackout\"", - "es": "\"Apagón\"", - "fr": "\"Blackout\"" + "de": "“Blackout”", + "en": "“Blackout”", + "es": "“Apagón”", + "fr": "“Blackout”" }, "blacksquadronace": { "de": "Fliegerass der schwarzen Staffel", @@ -569,7 +569,7 @@ "es": "Boba Fett", "fr": "Boba Fett" }, - "bobafett-separatistalliance": { + "bobafett-firesprayclasspatrolcraft": { "de": "Boba Fett", "en": "Boba Fett", "es": "Boba Fett", @@ -658,10 +658,10 @@ "fr": "As de la Manœuvre" }, "broadside": { - "de": "\"Broadside\"", - "en": "\"Broadside\"", - "es": "\"Broadside\"", - "fr": "\"Broadside\"" + "de": "“Broadside”", + "en": "“Broadside”", + "es": "“Broadside”", + "fr": "“Broadside”" }, "brokenhorn": { "de": "Broken Horn", @@ -896,16 +896,16 @@ "fr": "Chewbacca" }, "chopper": { - "de": "\"Chopper\"", - "en": "\"Chopper\"", - "es": "\"Chopper\"", - "fr": "\"Chopper\"" + "de": "“Chopper”", + "en": "“Chopper”", + "es": "“Chopper”", + "fr": "“Chopper”" }, "chopper-crew": { - "de": "\"Chopper\"", - "en": "\"Chopper\"", - "es": "\"Chopper\"", - "fr": "\"Chopper\"" + "de": "“Chopper”", + "en": "“Chopper”", + "es": "“Chopper”", + "fr": "“Chopper”" }, "cienaree": { "de": "Ciena Ree", @@ -1072,10 +1072,10 @@ "fr": "Éclaireur Sous Contrat" }, "contrail": { - "de": "\"Contrail\"", - "en": "\"Contrail\"", - "es": "\"Contrail\"", - "fr": "\"Contrail\"" + "de": "“Contrail”", + "en": "“Contrail”", + "es": "“Contrail”", + "fr": "“Contrail”" }, "coordinate": { "en": "Coordinate", @@ -1106,10 +1106,10 @@ "fr": "Comte Dooku" }, "countdown": { - "de": "\"Countdown\"", - "en": "\"Countdown\"", - "es": "\"Cuenta Atrás\"", - "fr": "\"Countdown\"" + "de": "“Countdown”", + "en": "“Countdown”", + "es": "“Cuenta Atrás”", + "fr": "“Countdown”" }, "countessryad": { "de": "Gräfin Ryad", @@ -1242,16 +1242,16 @@ "fr": "Salve Automatique" }, "deathfire": { - "de": "\"Todesfeuer\"", - "en": "\"Deathfire\"", - "es": "\"Muerte Ígnea\"", - "fr": "\"Deathfire\"" + "de": "“Todesfeuer”", + "en": "“Deathfire”", + "es": "“Muerte Ígnea”", + "fr": "“Deathfire”" }, "deathrain": { - "de": "\"Todesregen\"", - "en": "\"Deathrain\"", - "es": "\"Lluvia de Muerte\"", - "fr": "\"Deathrain\"" + "de": "“Todesregen”", + "en": "“Deathrain”", + "es": "“Lluvia de Muerte”", + "fr": "“Deathrain”" }, "deathtroopers": { "de": "Todestruppen", @@ -1400,10 +1400,10 @@ "fr": "Tourelle Dorsale" }, "doubleedge": { - "de": "\"Doppelklinge\"", - "en": "\"Double Edge\"", - "es": "\"Doble Filo\"", - "fr": "\"Double Edge\"" + "de": "“Doppelklinge”", + "en": "“Double Edge”", + "es": "“Doble Filo”", + "fr": "“Double Edge”" }, "dreadnoughthunter": { "de": "Dreadnought-Jäger", @@ -1424,22 +1424,22 @@ "fr": "Droïdes Sondes DRK-1" }, "duchess": { - "de": "\"Herzogin\"", - "en": "\"Duchess\"", - "es": "\"Duquesa\"", - "fr": "\"Duchess\"" + "de": "“Herzogin”", + "en": "“Duchess”", + "es": "“Duquesa”", + "fr": "“Duchess”" }, "dutchvander": { - "de": "\"Dutch\" Vander", - "en": "\"Dutch\" Vander", - "es": "\"Dutch\" Vander", - "fr": "\"Dutch\" Vander" + "de": "“Dutch” Vander", + "en": "“Dutch” Vander", + "es": "“Dutch” Vander", + "fr": "“Dutch” Vander" }, "echo": { - "de": "\"Echo\"", - "en": "\"Echo\"", - "es": "\"Eco\"", - "fr": "\"Echo\"" + "de": "“Echo”", + "en": "“Echo”", + "es": "“Eco”", + "fr": "“Echo”" }, "echobaseevacuees": { "de": "Evakuierte derEcho-Basis", @@ -1484,10 +1484,10 @@ "fr": "Insaisissable" }, "ember": { - "de": "\"Ember\"", - "en": "\"Ember\"", - "es": "\"Ascua\"", - "fr": "\"Ember\"" + "de": "“Ember”", + "en": "“Ember”", + "es": "“Ascua”", + "fr": "“Ember”" }, "emonazzameen": { "de": "Emon Azzameen", @@ -1710,10 +1710,10 @@ "fr": "Pilote d'Essai du Premier Ordre" }, "fives": { - "de": "\"Fives\"", - "en": "\"Fives\"", - "es": "\"Cincos\"", - "fr": "\"Fives\"" + "de": "“Fives”", + "en": "“Fives”", + "es": "“Cincos”", + "fr": "“Fives”" }, "focus": { "en": "Focus", @@ -1822,10 +1822,10 @@ "fr": "Genesis Red" }, "genius": { - "de": "\"Genie\"", - "en": "\"Genius\"", - "es": "\"Genio\"", - "fr": "\"Genius\"" + "de": "“Genie”", + "en": "“Genius”", + "es": "“Genio”", + "fr": "“Genius”" }, "geonosianprototype": { "de": "Prototyp der Geonosianer", @@ -1870,16 +1870,16 @@ "fr": "Gina Moonsong" }, "gnkgonkdroid": { - "de": "GNK-\"Gonk\"-Droide", - "en": "GNK \"Gonk\" Droid", - "es": "Droide GNK \"Gonk\"", - "fr": "Droïde \"Gonk\" GNK" + "de": "GNK-“Gonk”-Droide", + "en": "GNK “Gonk” Droid", + "es": "Droide GNK “Gonk”", + "fr": "Droïde “Gonk” GNK" }, "goji": { - "de": "\"Goji\"", - "en": "\"Goji\"", - "es": "\"Goji\"", - "fr": "\"Goji\"" + "de": "“Goji”", + "en": "“Goji”", + "es": "“Goji”", + "fr": "“Goji”" }, "goldsquadrontrooper": { "de": "Truppler der Gold-Staffel", @@ -2020,10 +2020,10 @@ "fr": "Havoc" }, "hawk": { - "de": "\"Hawk\"", - "en": "\"Hawk\"", - "es": "\"Hawk\"", - "fr": "\"Hawk\"" + "de": "“Hawk”", + "en": "“Hawk”", + "es": "“Hawk”", + "fr": "“Hawk”" }, "heavylasercannon": { "de": "Schwere Laserkanone", @@ -2080,10 +2080,10 @@ "fr": "Soudard" }, "holo": { - "de": "\"Holo\"", - "en": "\"Holo\"", - "es": "\"Holo\"", - "fr": "\"Holo\"" + "de": "“Holo”", + "en": "“Holo”", + "es": "“Holo”", + "fr": "“Holo”" }, "homingmissiles": { "de": "Lenkraketen", @@ -2116,10 +2116,10 @@ "fr": "Artilleur Hors Pair" }, "hound": { - "de": "\"Hound\"", - "en": "\"Hound\"", - "es": "\"Hound\"", - "fr": "\"Hound\"" + "de": "“Hound”", + "en": "“Hound”", + "es": "“Hound”", + "fr": "“Hound”" }, "houndstooth": { "de": "Reißzahn", @@ -2128,10 +2128,10 @@ "fr": "Hound's Tooth" }, "howlrunner": { - "de": "\"Howlrunner\"", - "en": "\"Howlrunner\"", - "es": "\"Aullador Veloz\"", - "fr": "\"Howlrunner\"" + "de": "“Howlrunner”", + "en": "“Howlrunner”", + "es": "“Aullador Veloz”", + "fr": "“Howlrunner”" }, "hullupgrade": { "de": "Verstärkte Hülle", @@ -2364,10 +2364,10 @@ "fr": "Jabba Le Hutt" }, "jag": { - "de": "\"Jag\"", - "en": "\"Jag\"", - "es": "\"Jag\"", - "fr": "\"Jag\"" + "de": "“Jag”", + "en": "“Jag”", + "es": "“Jag”", + "fr": "“Jag”" }, "jainaslight": { "de": "Jainas Licht", @@ -2582,10 +2582,10 @@ "fr": "Ketsu Onyo" }, "kickback": { - "de": "\"Kickback\"", - "en": "\"Kickback\"", - "es": "\"Kickback\"", - "fr": "\"Kickback\"" + "de": "“Kickback”", + "en": "“Kickback”", + "es": "“Kickback”", + "fr": "“Kickback”" }, "kihraxzfighter": { "en": "Kihraxz Fighter", @@ -2598,10 +2598,10 @@ "fr": "Kit Fisto" }, "klick": { - "de": "\"Klick\"", - "en": "\"Klick\"", - "es": "\"Klick\"", - "fr": "\"Klick\"" + "de": "“Klick”", + "en": "“Klick”", + "es": "“Klick”", + "fr": "“Klick”" }, "knavesquadronescort": { "de": "Eskorte der Schurken-Staffel", @@ -2726,10 +2726,10 @@ "fr": "Latts Razzi" }, "leebo": { - "de": "\"Leebo\"", - "en": "\"Leebo\"", - "es": "\"Leebo\"", - "fr": "\"Leebo\"" + "de": "“Leebo”", + "en": "“Leebo”", + "es": "“Leebo”", + "fr": "“Leebo”" }, "leemakai": { "de": "Leema Kai", @@ -2848,10 +2848,10 @@ "fr": "Loup Solitaire" }, "longshot": { - "de": "\"Longshot\"", - "en": "\"Longshot\"", - "es": "\"Tiro Aventurado\"", - "fr": "\"Longshot\"" + "de": "“Longshot”", + "en": "“Longshot”", + "es": "“Tiro Aventurado”", + "fr": "“Longshot”" }, "lothalrebel": { "de": "Rebell von Lothal", @@ -3000,10 +3000,10 @@ "fr": "Adresse au Tir" }, "matchstick": { - "de": "\"Matchstick\"", - "en": "\"Matchstick\"", - "es": "\"Matchstick\"", - "fr": "\"Matchstick\"" + "de": "“Matchstick”", + "en": "“Matchstick”", + "es": "“Matchstick”", + "fr": "“Matchstick”" }, "maul": { "de": "Maul", @@ -3012,10 +3012,10 @@ "fr": "Maul" }, "maulermithel": { - "de": "\"Mauler\" Mithel", - "en": "\"Mauler\" Mithel", - "es": "\"Mutilador\" Mithel", - "fr": "\"Mauler\" Mithel" + "de": "“Mauler” Mithel", + "en": "“Mauler” Mithel", + "es": "“Mutilador” Mithel", + "fr": "“Mauler” Mithel" }, "merchantone": { "de": "Händler Eins", @@ -3034,10 +3034,10 @@ "fr": "Forteresse Stellaire MG-100" }, "midnight": { - "de": "\"Midnight\"", - "en": "\"Midnight\"", - "es": "\"Medianoche\"", - "fr": "\"Midnight\"" + "de": "“Midnight”", + "en": "“Midnight”", + "es": "“Medianoche”", + "fr": "“Midnight”" }, "millenniumfalcon": { "de": "Millennium Falke", @@ -3120,10 +3120,10 @@ "fr": "Munitions à Sûreté Intégrée" }, "muse": { - "de": "\"Muse\"", - "en": "\"Muse\"", - "es": "\"Musa\"", - "fr": "\"Muse\"" + "de": "“Muse”", + "en": "“Muse”", + "es": "“Musa”", + "fr": "“Muse”" }, "naboohandmaiden": { "de": "Zofe von Naboo", @@ -3176,10 +3176,10 @@ "fr": "Nien Nunb" }, "nightbeast": { - "de": "\"Nachtbestie\"", - "en": "\"Night Beast\"", - "es": "\"Bestia Nocturna\"", - "fr": "\"Night Beast\"" + "de": "“Nachtbestie”", + "en": "“Night Beast”", + "es": "“Bestia Nocturna”", + "fr": "“Night Beast”" }, "nimichireen": { "de": "Nimi Chireen", @@ -3218,10 +3218,10 @@ "fr": "Apprenti Technicien" }, "null": { - "de": "\"Null\"", - "en": "\"Null\"", - "es": "\"Nulo\"", - "fr": "\"Null\"" + "de": "“Null”", + "en": "“Null”", + "es": "“Nulo”", + "fr": "“Null”" }, "nusquadronpilot": { "de": "Pilot der Nu-Staffel", @@ -3248,28 +3248,28 @@ "fr": "Pilote de l'Escadron Obsidian" }, "oddball": { - "de": "\"Odd Ball\"", - "en": "\"Odd Ball\"", - "es": "\"Odd Ball\"", - "fr": "\"Odd Ball\"" + "de": "“Odd Ball”", + "en": "“Odd Ball”", + "es": "“Odd Ball”", + "fr": "“Odd Ball”" }, "oddball-arc170starfighter": { - "de": "\"Odd Ball\"", - "en": "\"Odd Ball\"", - "es": "\"Odd Ball\"", - "fr": "\"Odd Ball\"" + "de": "“Odd Ball”", + "en": "“Odd Ball”", + "es": "“Odd Ball”", + "fr": "“Odd Ball”" }, "oddball-btlbywing": { - "de": "\"Oddball\"", - "en": "\"Odd Ball\"", - "es": "\"Oddball\"", - "fr": "\"Oddball\"" + "de": "“Oddball”", + "en": "“Odd Ball”", + "es": "“Oddball”", + "fr": "“Oddball”" }, "oddball-nimbusclassvwing": { - "de": "\"Odd Ball\"", - "en": "\"Odd Ball\"", - "es": "\"Odd Ball\"", - "fr": "\"Odd Ball\"" + "de": "“Odd Ball”", + "en": "“Odd Ball”", + "es": "“Odd Ball”", + "fr": "“Odd Ball”" }, "oldteroch": { "de": "Der alte Teroch", @@ -3624,10 +3624,10 @@ "fr": "Punishing One" }, "puresabacc": { - "de": "\"Voller Sabacc\"", - "en": "\"Pure Sabacc\"", - "es": "\"Sabacc Puro\"", - "fr": "\"Pure Sabacc\"" + "de": "“Voller Sabacc”", + "en": "“Pure Sabacc”", + "es": "“Sabacc Puro”", + "fr": "“Pure Sabacc”" }, "pz4co": { "de": "PZ-4CO", @@ -3658,10 +3658,10 @@ "fr": "Quantum Storm" }, "quickdraw": { - "de": "\"Quickdraw\"", - "en": "\"Quickdraw\"", - "es": "\"Centella\"", - "fr": "\"Quickdraw\"" + "de": "“Quickdraw”", + "en": "“Quickdraw”", + "es": "“Centella”", + "fr": "“Quickdraw”" }, "quickreleaselocks": { "de": "Schnellspannverschluss", @@ -3808,10 +3808,10 @@ "fr": "R7-A7" }, "rampage": { - "de": "\"Rampage\"", - "en": "\"Rampage\"", - "es": "\"Desbocado\"", - "fr": "\"Rampage\"" + "de": "“Rampage”", + "en": "“Rampage”", + "es": "“Desbocado”", + "fr": "“Rampage”" }, "rattled": { "en": "Rattled", @@ -3840,16 +3840,16 @@ "fr": "Éclaireur Rebelle" }, "recoil": { - "de": "\"Recoil\"", - "en": "\"Recoil\"", - "es": "\"Retroceso\"", - "fr": "\"Recoil\"" + "de": "“Recoil”", + "en": "“Recoil”", + "es": "“Retroceso”", + "fr": "“Recoil”" }, "redline": { - "de": "\"Rote Linie\"", - "en": "\"Redline\"", - "es": "\"Velocidad Terminal\"", - "fr": "\"Redline\"" + "de": "“Rote Linie”", + "en": "“Redline”", + "es": "“Velocidad Terminal”", + "fr": "“Redline”" }, "redsquadronbomber": { "de": "Bomber der Roten Staffel", @@ -3984,10 +3984,10 @@ "fr": "Rotation" }, "rush": { - "de": "\"Rush\"", - "en": "\"Rush\"", - "es": "\"Subidón\"", - "fr": "\"Rush\"" + "de": "“Rush”", + "en": "“Rush”", + "es": "“Subidón”", + "fr": "“Rush”" }, "ruthless": { "de": "Skrupellos", @@ -4098,16 +4098,16 @@ "fr": "Scimitar Squadron Pilot" }, "scorch": { - "de": "\"Scorch\"", - "en": "\"Scorch\"", - "es": "\"Quemadura\"", - "fr": "\"Scorch\"" + "de": "“Scorch”", + "en": "“Scorch”", + "es": "“Quemadura”", + "fr": "“Scorch”" }, "scourgeskutu": { - "de": "\"Geißel\" Skutu", - "en": "\"Scourge\" Skutu", - "es": "\"Azote\" Skutu", - "fr": "\"Scourge\" Skutu" + "de": "“Geißel” Skutu", + "en": "“Scourge” Skutu", + "es": "“Azote” Skutu", + "fr": "“Scourge” Skutu" }, "scumandvillainy": { "en": "Scum and Villainy", @@ -4312,10 +4312,10 @@ "fr": "As de l'Escadron Sigma" }, "sinker": { - "de": "\"Sinker\"", - "en": "\"Sinker\"", - "es": "\"Sinker\"", - "fr": "\"Sinker\"" + "de": "“Sinker”", + "en": "“Sinker”", + "es": "“Sinker”", + "fr": "“Sinker”" }, "sithinfiltrator": { "en": "Sith Infiltrator", @@ -4460,10 +4460,10 @@ "fr": "Plateforme d'Attaque de Classe StarViper" }, "static": { - "de": "\"Static\"", - "en": "\"Static\"", - "es": "\"Estática\"", - "fr": "\"Static\"" + "de": "“Static”", + "en": "“Static”", + "es": "“Estática”", + "fr": "“Static”" }, "staticdischargevanes": { "de": "Elektrostatischer Entlader", @@ -4542,10 +4542,10 @@ "fr": "Tactique de Nuée" }, "swoop": { - "de": "\"Swoop\"", - "en": "\"Swoop\"", - "es": "\"Swoop\"", - "fr": "\"Swoop\"" + "de": "“Swoop”", + "en": "“Swoop”", + "es": "“Swoop”", + "fr": "“Swoop”" }, "syncedlasercannons": { "de": "Synchronisierte Laserkanonen", @@ -4856,10 +4856,10 @@ "fr": "Tir Habile" }, "tucker": { - "de": "\"Tucker\"", - "en": "\"Tucker\"", - "es": "\"Tucker\"", - "fr": "\"Tucker\"" + "de": "“Tucker”", + "en": "“Tucker”", + "es": "“Tucker”", + "fr": "“Tucker”" }, "turbolaserbattery": { "de": "Turbolaser-Batterie", @@ -4904,10 +4904,10 @@ "fr": "Chasseurs Torrents V-19" }, "vagabond": { - "de": "\"Vagabond\"", - "en": "\"Vagabond\"", - "es": "\"Vagabundo\"", - "fr": "\"Vagabond\"" + "de": "“Vagabond”", + "en": "“Vagabond”", + "es": "“Vagabundo”", + "fr": "“Vagabond”" }, "valenrudor": { "de": "Valen Rudor", @@ -4980,10 +4980,10 @@ "fr": "Virago" }, "vizier": { - "de": "\"Wesir\"", - "en": "\"Vizier\"", - "es": "\"Visir\"", - "fr": "\"Vizier\"" + "de": "“Wesir”", + "en": "“Vizier”", + "es": "“Visir”", + "fr": "“Vizier”" }, "vt49decimator": { "en": "VT-49 Decimator", @@ -5006,10 +5006,10 @@ "fr": "Chasseur Droïde de Classe Vulture" }, "wampa": { - "de": "\"Wampa\"", - "en": "\"Wampa\"", - "es": "\"Wampa\"", - "fr": "\"Wampa\"" + "de": "“Wampa”", + "en": "“Wampa”", + "es": "“Wampa”", + "fr": "“Wampa”" }, "wardensquadronpilot": { "de": "Pilot der Beschützer-Staffel", @@ -5018,10 +5018,10 @@ "fr": "Pilote de l'Escadron Warden" }, "warthog": { - "de": "\"Warthog\"", - "en": "\"Warthog\"", - "es": "\"Warthog\"", - "fr": "\"Warthog\"" + "de": "“Warthog”", + "en": "“Warthog”", + "es": "“Warthog”", + "fr": "“Warthog”" }, "wattambor": { "de": "Wat Tambor", @@ -5048,10 +5048,10 @@ "fr": "Wedge Antilles" }, "whisper": { - "de": "\"Geflüster\"", - "en": "\"Whisper\"", - "es": "\"Susurro\"", - "fr": "\"Whisper\"" + "de": "“Geflüster”", + "en": "“Whisper”", + "es": "“Susurro”", + "fr": "“Whisper”" }, "wildspacefringer": { "de": "Grenzgänger aus dem Wilden Raum", @@ -5066,10 +5066,10 @@ "fr": "Wilhuff Tarkin" }, "wolffe": { - "de": "\"Wolffe\"", - "en": "\"Wolffe\"", - "es": "\"Wolffe\"", - "fr": "\"Wolffe\"" + "de": "“Wolffe”", + "en": "“Wolffe”", + "es": "“Wolffe”", + "fr": "“Wolffe”" }, "wolfpack": { "de": "Wolfsrudel", @@ -5138,22 +5138,22 @@ "fr": "Recrue Zélée" }, "zeborrelios": { - "de": "\"Zeb\" Orrelios", - "en": "\"Zeb\" Orrelios", - "es": "\"Zeb\" Orrelios", - "fr": "\"Zeb\" Orrelios" + "de": "“Zeb” Orrelios", + "en": "“Zeb” Orrelios", + "es": "“Zeb” Orrelios", + "fr": "“Zeb” Orrelios" }, "zeborrelios-sheathipedeclassshuttle": { - "de": "\"Zeb\" Orrelios", - "en": "\"Zeb\" Orrelios", - "es": "\"Zeb\" Orrelios", - "fr": "\"Zeb\" Orrelios" + "de": "“Zeb” Orrelios", + "en": "“Zeb” Orrelios", + "es": "“Zeb” Orrelios", + "fr": "“Zeb” Orrelios" }, "zeborrelios-tielnfighter": { - "de": "\"Zeb\" Orrelios", - "en": "\"Zeb\" Orrelios", - "es": "\"Zeb\" Orrelios", - "fr": "\"Zeb\" Orrelios" + "de": "“Zeb” Orrelios", + "en": "“Zeb” Orrelios", + "es": "“Zeb” Orrelios", + "fr": "“Zeb” Orrelios" }, "zertikstrom": { "de": "Zertik Strom", diff --git a/data/upgrades/astromech.json b/data/upgrades/astromech.json index 70071f7d8..6725c14f8 100644 --- a/data/upgrades/astromech.json +++ b/data/upgrades/astromech.json @@ -1,41 +1,63 @@ [ { - "name": "\"Chopper\"", + "name": "“Chopper”", "limited": 1, "xws": "chopper", "sides": [ { - "title": "\"Chopper\"", + "title": "“Chopper”", "type": "Astromech", "ability": "Action: Spend 1 non-recurring [Charge] from another equipped upgrade to recover 1 shield. Action: Spend 2 shields to recover 1 non-recurring [Charge] on an equipped upgrade.", - "slots": ["Astromech"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_99.png", - "ffg": 323, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_99.jpg" + "slots": [ + "Astromech" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/chopper.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/chopper.png" } ], - "cost": { "value": 2 }, - "restrictions": [{ "factions": ["Rebel Alliance"] }], - "hyperspace": false + "cost": { + "value": 2 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { - "name": "\"Genius\"", + "name": "“Genius”", "limited": 1, "xws": "genius", "sides": [ { - "title": "\"Genius\"", + "title": "“Genius”", "type": "Astromech", "ability": "After you fully execute a maneuver, if you have not dropped or launched a device this round, you may drop 1 bomb.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_143.png", - "slots": ["Astromech"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_143.jpg", - "ffg": 368 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/genius.png", + "slots": [ + "Astromech" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/genius.png" } ], - "cost": { "value": 2 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }], - "hyperspace": false + "cost": { + "value": 2 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "R2 Astromech", @@ -46,18 +68,29 @@ "title": "R2 Astromech", "type": "Astromech", "ability": "After you reveal your dial, you may spend 1 [Charge] and gain 1 disarm token to recover 1 shield.", - "slots": ["Astromech"], - "charges": { "value": 2, "recovers": 0 }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_53.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_53.jpg", - "ffg": 282 + "slots": [ + "Astromech" + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/r2astromech.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/r2astromech.png" } ], "cost": { "variable": "agility", - "values": { "0": 3, "1": 3, "2": 5, "3": 8 } + "values": { + "0": 2, + "1": 2, + "2": 4, + "3": 8 + } }, - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "R2-D2", @@ -68,19 +101,36 @@ "title": "R2-D2", "type": "Astromech", "ability": "After you reveal your dial, you may spend 1 [Charge] and gain 1 disarm token to recover 1 shield.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_100.png", - "slots": ["Astromech"], - "charges": { "value": 3, "recovers": 0 }, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_100.jpg", - "ffg": 324 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/r2d2.png", + "slots": [ + "Astromech" + ], + "charges": { + "value": 3, + "recovers": 0 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/r2d2.png" } ], "cost": { "variable": "agility", - "values": { "0": 4, "1": 6, "2": 8, "3": 10 } + "values": { + "0": 3, + "1": 4, + "2": 7, + "3": 11 + } }, - "restrictions": [{ "factions": ["Rebel Alliance"] }], - "hyperspace": true + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "R3 Astromech", @@ -91,14 +141,19 @@ "title": "R3 Astromech", "type": "Astromech", "ability": "You can maintain up to 2 locks. Each lock must be on a different object. After you perform a [Lock] action, you may acquire a lock.", - "slots": ["Astromech"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_54.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_54.jpg", - "ffg": 283 + "slots": [ + "Astromech" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/r3astromech.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/r3astromech.png" } ], - "cost": { "value": 3 }, - "hyperspace": true + "cost": { + "value": 3 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "R4 Astromech", @@ -109,15 +164,26 @@ "title": "R4 Astromech", "type": "Astromech", "ability": "Decrease the difficulty of your speed 1-2 basic maneuvers ([Turn Left], [Bank Left], [Straight], [Bank Right], [Turn Right]).", - "slots": ["Astromech"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_55.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_55.jpg", - "ffg": 284 + "slots": [ + "Astromech" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/r4astromech.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/r4astromech.png" } ], - "cost": { "value": 2 }, - "restrictions": [{ "sizes": ["Small"] }], - "hyperspace": true + "cost": { + "value": 2 + }, + "restrictions": [ + { + "sizes": [ + "Small" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "R5 Astromech", @@ -128,15 +194,29 @@ "title": "R5 Astromech", "type": "Astromech", "ability": "Action: Spend 1 [Charge] to repair 1 facedown damage card. Action: Repair 1 faceup Ship damage card.", - "slots": ["Astromech"], - "charges": { "value": 2, "recovers": 0 }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_56.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_56.jpg", - "ffg": 285 + "slots": [ + "Astromech" + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/r5astromech.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/r5astromech.png" } ], - "cost": { "value": 4 }, - "hyperspace": false + "cost": { + "variable": "agility", + "values": { + "0": 1, + "1": 2, + "2": 3, + "3": 4 + } + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "R5-D8", @@ -147,16 +227,36 @@ "title": "R5-D8", "type": "Astromech", "ability": "Action: Spend 1 [Charge] to repair 1 facedown damage card. Action: Repair 1 faceup Ship damage card.", - "slots": ["Astromech"], - "charges": { "value": 3, "recovers": 0 }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_101.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_101.jpg", - "ffg": 325 + "slots": [ + "Astromech" + ], + "charges": { + "value": 3, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/r5d8.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/r5d8.png" } ], - "cost": { "value": 6 }, - "restrictions": [{ "factions": ["Rebel Alliance"] }], - "hyperspace": true + "cost": { + "variable": "agility", + "values": { + "0": 3, + "1": 4, + "2": 4, + "3": 6 + } + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "R5-P8", @@ -167,16 +267,30 @@ "title": "R5-P8", "type": "Astromech", "ability": "While you perform an attack against a defender in your [Front Arc], you may spend 1 [Charge] to reroll 1 attack die. If the rerolled result is a [Critical Hit] result, suffer 1 [Critical Hit] damage.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_144.png", - "slots": ["Astromech"], - "charges": { "value": 3, "recovers": 0 }, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_144.jpg", - "ffg": 369 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/r5p8.png", + "slots": [ + "Astromech" + ], + "charges": { + "value": 3, + "recovers": 0 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/r5p8.png" } ], - "cost": { "value": 4 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }], - "hyperspace": true + "cost": { + "value": 4 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "R5-TK", @@ -187,15 +301,26 @@ "title": "R5-TK", "type": "Astromech", "ability": "You can perform attacks against friendly ships.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_145.png", - "slots": ["Astromech"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_145.jpg", - "ffg": 370 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/r5tk.png", + "slots": [ + "Astromech" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/r5tk.png" } ], - "cost": { "value": 0 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }], - "hyperspace": true + "cost": { + "value": 0 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "R5-X3", @@ -205,17 +330,31 @@ { "title": "R5-X3", "type": "Astromech", - "charges": { "value": 2, "recovers": 0 }, + "charges": { + "value": 2, + "recovers": 0 + }, "ability": "Before you activate or engage, you may spend 1 [Charge] to ignore obstacles until the end of this phase.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/aed4536536b67bae316b260ed151c22a.png", - "slots": ["Astromech"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/7361f88154703f61221bc2a775f4a9b6.jpg", - "ffg": 483 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/r5x3.png", + "slots": [ + "Astromech" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/r5x3.png" + } + ], + "cost": { + "value": 3 + }, + "restrictions": [ + { + "factions": [ + "resistance" + ] } ], - "cost": { "value": 5 }, - "restrictions": [{ "factions": ["Resistance"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "R2-HA", @@ -226,15 +365,26 @@ "title": "R2-HA", "type": "Astromech", "ability": "While you defend, you may spend your lock on the attacker to reroll any number of your defense dice.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/b3e6d35ca6b6fd297312248ddf4e69a7.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/d72ab7fa7cd398d614466a98076a2e6b.jpg", - "slots": ["Astromech"], - "ffg": 482 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/r2ha.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/r2ha.png", + "slots": [ + "Astromech" + ] } ], - "cost": { "value": 3 }, - "restrictions": [{ "factions": ["Resistance"] }], - "hyperspace": false + "cost": { + "value": 2 + }, + "restrictions": [ + { + "factions": [ + "resistance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "BB-8", @@ -245,19 +395,41 @@ "title": "BB-8", "type": "Astromech", "ability": "Before you execute a blue maneuver, you may spend 1 [Charge] to perform a [Barrel Roll] or [Boost] action.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/37297ef7839800afd543de5d1a363561.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/e8a75e0e143a5857ac3931d56ccde86c.jpg", - "slots": ["Astromech"], - "charges": { "value": 2, "recovers": 0 }, - "ffg": 479 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/bb8.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/bb8.png", + "slots": [ + "Astromech" + ], + "charges": { + "value": 2, + "recovers": 0 + } } ], "cost": { "variable": "initiative", - "values": { "0": 1, "1": 2, "2": 3, "3": 4, "4": 5, "5": 6, "6": 7 } + "values": { + "0": 2, + "1": 2, + "2": 3, + "3": 4, + "4": 4, + "5": 5, + "6": 6, + "7": 6, + "8": 6 + } }, - "restrictions": [{ "factions": ["Resistance"] }], - "hyperspace": true + "restrictions": [ + { + "factions": [ + "resistance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "BB Astromech", @@ -268,19 +440,41 @@ "title": "BB Astromech", "type": "Astromech", "ability": "Before you execute a blue maneuver, you may spend 1 [Charge] to perform a [Barrel Roll] action.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/010399f4054469aed3b04acba08d41b0.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a2e3aaf77e8690a37e76ef4ae2087180.jpg", - "slots": ["Astromech"], - "charges": { "value": 2, "recovers": 0 }, - "ffg": 480 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/bbastromech.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/bbastromech.png", + "slots": [ + "Astromech" + ], + "charges": { + "value": 2, + "recovers": 0 + } } ], "cost": { "variable": "initiative", - "values": { "0": 0, "1": 1, "2": 2, "3": 3, "4": 4, "5": 5, "6": 6 } + "values": { + "0": 1, + "1": 1, + "2": 2, + "3": 3, + "4": 3, + "5": 4, + "6": 5, + "7": 5, + "8": 5 + } }, - "restrictions": [{ "factions": ["Resistance"] }], - "hyperspace": false + "restrictions": [ + { + "factions": [ + "resistance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "M9-G8", @@ -291,15 +485,26 @@ "title": "M9-G8", "type": "Astromech", "ability": "While a ship you are locking performs an attack, you may choose 1 attack die. If you do, the attacker rerolls that die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/cd67f33e8aa52d2aeb07f432125a8c73.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/f810d46699343a134003deea0f423131.jpg", - "slots": ["Astromech"], - "ffg": 481 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/m9g8.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/m9g8.png", + "slots": [ + "Astromech" + ] + } + ], + "cost": { + "value": 5 + }, + "restrictions": [ + { + "factions": [ + "resistance" + ] } ], - "cost": { "value": 5 }, - "restrictions": [{ "factions": ["Resistance"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "R2-C4", @@ -310,15 +515,26 @@ "title": "R2-C4", "type": "Astromech", "ability": "While you perform an attack, you may spend 1 evade token to change 1 [Focus] result to a [Hit] result.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/8fce75228aa2c4eaaf3e9666c4da8caf.png", - "slots": ["Astromech"], - "ffg": 589, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/db2012557dc9b2953aeeb8c3f98d5052.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/r2c4.png", + "slots": [ + "Astromech" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/r2c4.png" } ], - "cost": { "value": 3 }, - "restrictions": [{ "factions": ["Galactic Republic"] }], - "hyperspace": false + "cost": { + "value": 3 + }, + "restrictions": [ + { + "factions": [ + "galacticrepublic" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "R4-P Astromech", @@ -329,16 +545,30 @@ "title": "R4-P Astromech", "type": "Astromech", "ability": "Before you execute a basic maneuver, you may spend 1 [Charge]. If you do, while you execute that maneuver, reduce its difficulty.", - "slots": ["Astromech"], - "charges": { "value": 2, "recovers": 0 }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/26f6dd68ba6bb37fa5315f45a6237c88.png", - "ffg": 546, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/081dbeb7591c8dfd1f752729b27bdf2a.jpg" + "slots": [ + "Astromech" + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/r4pastromech.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/r4pastromech.png" + } + ], + "cost": { + "value": 2 + }, + "restrictions": [ + { + "factions": [ + "galacticrepublic" + ] } ], - "restrictions": [{ "factions": ["Galactic Republic"] }], - "hyperspace": false, - "cost": { "value": 2 } + "standard": true, + "wildspace": true, + "epic": true }, { "name": "R4-P17", @@ -349,16 +579,30 @@ "title": "R4-P17", "type": "Astromech", "ability": "After you fully execute a red maneuver, you may spend 1 [Charge] to perform an action, even while stressed.", - "slots": ["Astromech"], - "charges": { "value": 2, "recovers": 0 }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/80c71951bb28b45b9ffdc84c9e7e69f8.png", - "ffg": 547, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/7b3b50078bef620079c43a1689bb005a.jpg" + "slots": [ + "Astromech" + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/r4p17.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/r4p17.png" } ], - "restrictions": [{ "factions": ["Galactic Republic"] }], - "hyperspace": false, - "cost": { "value": 5 } + "cost": { + "value": 4 + }, + "restrictions": [ + { + "factions": [ + "galacticrepublic" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "R4-P44", @@ -369,242 +613,588 @@ "title": "R4-P44", "type": "Astromech", "ability": "After you fully execute a red maneuver, if there is an enemy ship in your [Bullseye Arc], gain 1 calculate token.", - "slots": ["Astromech"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/749fa54f44bc3327349aa3f8b1742a67.png", - "ffg": 551, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/313d08463a9c2e7c5d9377a39277ef03.jpg" + "slots": [ + "Astromech" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/r4p44.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/r4p44.png" } ], - "restrictions": [{ "factions": ["Galactic Republic"] }], - "hyperspace": true, - "cost": { "value": 3 } + "cost": { + "value": 1 + }, + "restrictions": [ + { + "factions": [ + "galacticrepublic" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "R2-A6", "limited": 1, "xws": "r2a6", - "hyperspace": false, "sides": [ { "ability": "After you reveal your dial, you may set your dial to a maneuver of the same bearing of a speed 1 higher or lower.", "title": "R2-A6", "type": "Astromech", - "slots": ["Astromech"], - "ffg": 588, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/fe5da38a69cf0f5212d5cb06ea9053de.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/1d90c6b2f87d17c061e07a92373310b4.png" + "slots": [ + "Astromech" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/r2a6.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/r2a6.png" + } + ], + "cost": { + "value": 6 + }, + "restrictions": [ + { + "factions": [ + "galacticrepublic" + ] } ], - "restrictions": [{ "factions": ["Galactic Republic"] }], - "cost": { "value": 6 } + "standard": true, + "wildspace": true, + "epic": true }, { "name": "C1-10P", + "limited": 1, "xws": "c110p", "sides": [ { - "ffg": 618, "title": "C1-10P", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/c480434cf330e99e269eaf0fe83e2444.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/cde74a191d82775eacf2e273e855ef5f.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/c110p.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/c110p.png", "ability": "Setup: Equip this side faceup. After you execute a maneuver, you may spend 1 [Charge] to perform a red [Evade] action, even while stressed. During the End Phase, if this card has 0 active [Charge], flip it.", - "slots": ["Astromech"], - "charges": { "value": 2, "recovers": 0 }, + "slots": [ + "Astromech" + ], + "charges": { + "value": 2, + "recovers": 0 + }, "type": "Astromech" }, { - "ffg": 617, "title": "C1-10P (Erratic)", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/815bfa9be6941de313eb1e318a02b2ae.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/6150404202e627187f39b6092cdf702c.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/c110p-sideb.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/c110p-sideb.png", "ability": "After you execute a maneuver, you must choose a ship at range 0-1. It gains 1 jam token.", - "slots": ["Astromech"], + "slots": [ + "Astromech" + ], "type": "Astromech" } ], - "cost": { "value": 8 }, - "limited": 1, - "hyperspace": false, - "restrictions": [{ "factions": ["Galactic Republic"] }] + "cost": { + "value": 8 + }, + "restrictions": [ + { + "factions": [ + "galacticrepublic" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "R1-J5", "limited": 1, "xws": "r1j5", - "hyperspace": true, "sides": [ { "ability": "While you have 2 or fewer stress tokens, you can perform actions on damage cards even while stressed. After you repair a damage card with the Ship trait, you may spend 1 [Charge] to repair that card again.", "title": "R1-J5", "type": "Astromech", - "slots": ["Astromech"], - "charges": { "value": 3, "recovers": 0 }, - "ffg": 644, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/2f64dab83e6e4c52702d5906a18dbae6.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/07ef542a7250abbf79d27526f17ac879.png" + "slots": [ + "Astromech" + ], + "charges": { + "value": 3, + "recovers": 0 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/r1j5.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/r1j5.png" } ], - "cost": { "value": 5 }, - "restrictions": [{ "factions": ["Resistance"] }] + "cost": { + "value": 4 + }, + "restrictions": [ + { + "factions": [ + "resistance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Q7 Astromech", "limited": 0, "xws": "q7astromech", - "hyperspace": true, "sides": [ { "ability": "While you barrel roll or boost, you can move through and overlap obstacles.", "title": "Q7 Astromech", "type": "Astromech", - "slots": ["Astromech"], - "ffg": 863, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/36187a497f1d8fcd81e0209c279c2c2f.jpg" + "slots": [ + "Astromech" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/q7astromech.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/q7astromech.png" } ], - "cost": { "value": 3 } + "cost": { + "variable": "initiative", + "values": { + "0": 2, + "1": 2, + "2": 2, + "3": 2, + "4": 3, + "5": 3, + "6": 3 + } + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "R2-D2", "limited": 1, "xws": "r2d2-republic", - "hyperspace": true, "sides": [ { "ability": "After you activate, you may spend 1 [Charge] and gain 1 deplete token to repair 1 damage card, recover 1 shield, or remove 1 device at range 0-1.", "title": "R2-D2", - "ffg": 860, "type": "Astromech", - "slots": ["Astromech"], - "charges": { "value": 2, "recovers": 0 }, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/cc1695a002e056cd11643b166658169e.jpg" + "slots": [ + "Astromech" + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/r2d2-republic.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/r2d2-republic.png" } ], - "restrictions": [{ "factions": ["Galactic Republic"] }], "cost": { "variable": "agility", - "values": { "0": 4, "1": 6, "2": 8, "3": 10 } - } + "values": { + "0": 2, + "1": 4, + "2": 6, + "3": 8 + } + }, + "restrictions": [ + { + "factions": [ + "galacticrepublic" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "R2-D2", "limited": 1, "xws": "r2d2-resistance", - "hyperspace": true, "sides": [ { "ability": "During the End Phase, you may spend 1 [Charge] and 1 shield to remove 1 red token. During the End Phase, if you have no active shields, you may spend 2 [Charge] to recover 1 shield and gain 1 deplete token.", "title": "R2-D2", - "ffg": 720, "type": "Astromech", - "slots": ["Astromech"], - "charges": { "value": 4, "recovers": 0 }, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/f22fbeaa2ade3bd405388482bd747c27.jpg" + "slots": [ + "Astromech" + ], + "charges": { + "value": 4, + "recovers": 0 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/r2d2-resistance.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/r2d2-resistance.png" } ], - "cost": { "value": 6 }, - "restrictions": [{ "factions": ["Resistance"] }] + "cost": { + "value": 6 + }, + "restrictions": [ + { + "factions": [ + "resistance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "R6-D8", "limited": 1, "xws": "r6d8", - "hyperspace": true, "sides": [ { "ability": "While you perform an attack, you may reroll a number of attack dice up to the number of friendly ships at range 0-3 that have the defender in their [Bullseye Arc].", "title": "R6-D8", "type": "Astromech", - "slots": ["Astromech"], - "ffg": 719, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/7155fb226f88c98baf36c5b3fa1e2ef6.jpg" + "slots": [ + "Astromech" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/r6d8.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/r6d8.png" } ], - "cost": { "value": 4 }, - "restrictions": [{ "factions": ["Resistance"] }] + "cost": { + "value": 4 + }, + "restrictions": [ + { + "factions": [ + "resistance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "R7-A7", "limited": 1, "xws": "r7a7", - "hyperspace": true, "sides": [ { "ability": "While you perform an attack, you may spend 1 [Charge] to change 1 [Hit] result to a [Critical Hit] result.", "title": "R7-A7", "type": "Astromech", - "slots": ["Astromech"], - "charges": { "value": 3, "recovers": 0 }, - "ffg": 862, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/21a23aa5bad45f33650cc2f7a3b3ecce.jpg" + "slots": [ + "Astromech" + ], + "charges": { + "value": 3, + "recovers": 0 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/r7a7.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/r7a7.png" } ], - "cost": { "value": 3 }, - "restrictions": [{ "factions": ["Galactic Republic"] }] + "cost": { + "variable": "agility", + "values": { + "0": 3, + "1": 3, + "2": 3, + "3": 5 + } + }, + "restrictions": [ + { + "factions": [ + "galacticrepublic" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "R4-B11", "limited": 1, "xws": "r4b11", - "hyperspace": true, "sides": [ { "ability": "While you perform an attack, you may remove 1 orange or red token from the defender to reroll any number of defense dice.", "title": "R4-B11", "type": "Astromech", - "slots": ["Astromech"], - "ffg": 922, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/5f2c2265fbbcf55a749acc6e224f8946.jpg" + "slots": [ + "Astromech" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/r4b11.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/r4b11.png" + } + ], + "cost": { + "value": 3 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] } ], - "cost": { "value": 3 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }] + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Watchful Astromech", "limited": 0, "xws": "watchfulastromech", - "hyperspace": true, "sides": [ { "ability": "After you perform a [Reload] or [Rotate Arc] action, if you are in an enemy ship's firing arc, you may perform a red [Calculate] action.", "title": "Watchful Astromech", "type": "Astromech", - "slots": ["Astromech"], - "ffg": 928, - "artwork": "????" + "slots": [ + "Astromech" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/watchfulastromech.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/watchfulastromech.png" } ], - "cost": { "value": 2 } + "cost": { + "value": 1 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "L4E-R5", "limited": 1, "xws": "l4er5", - "hyperspace": false, "sides": [ { "ability": "At the start of the Engagement Phase, you may transfer 1 calculate token to a friendly ship in your firing arc.", "title": "L4E-R5", "type": "Astromech", - "slots": ["Astromech"], - "ffg": 927, - "artwork": "????", + "slots": [ + "Astromech" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/l4er5.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/l4er5.png", "grants": [ { "type": "action", "value": { "type": "Rotate Arc", - "linked": { "type": "Calculate", "difficulty": "White" } - }, - "difficulty": "White" + "difficulty": "White", + "linked": { + "type": "Calculate", + "difficulty": "White" + } + } } ] } ], - "cost": { "value": 4 }, + "cost": { + "value": 4 + }, "restrictions": [ - { "factions": ["Resistance"], "action": { "type": "Rotate Arc" } } - ] + { + "factions": [ + "resistance" + ], + "action": { + "type": "Rotate Arc" + } + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "R2-A3", + "limited": 1, + "xws": "r2a3-battleofyavin", + "sides": [ + { + "title": "R2-A3", + "type": "Astromech", + "ability": "After you reveal your dial, you may spend 1 [Charge] and gain 1 disarm token to recover 1 shield.", + "slots": [ + "Astromech" + ], + "charges": { + "value": 2, + "recovers": 0 + } + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "R2-D2", + "limited": 1, + "xws": "r2d2-battleofyavin", + "sides": [ + { + "title": "R2-D2", + "type": "Astromech", + "ability": "After you reveal your dial, you may spend 1 [Charge] and gain 1 disarm token to recover 1 shield.", + "slots": [ + "Astromech" + ], + "charges": { + "value": 2, + "recovers": 0 + } + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "R2-F2", + "limited": 1, + "xws": "r2f2-battleofyavin", + "sides": [ + { + "title": "R2-F2", + "type": "Astromech", + "ability": "After you reveal your dial, you may spend 1 [Charge] and gain 1 disarm token to recover 1 shield.", + "slots": [ + "Astromech" + ], + "charges": { + "value": 2, + "recovers": 0 + } + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "R5-D8", + "limited": 0, + "xws": "r5d8-battleofyavin", + "sides": [ + { + "title": "R5-D8", + "type": "Astromech", + "ability": "Action: Spend 1 [Charge] to repair 1 facedown damage card. Action: Repair 1 faceup Ship damage card.", + "slots": [ + "Astromech" + ], + "charges": { + "value": 2, + "recovers": 0 + } + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "R5-K6", + "limited": 0, + "xws": "r5k6-battleofyavin", + "sides": [ + { + "title": "R5-K6", + "type": "Astromech", + "ability": "Action: Spend 1 [Charge] to repair 1 facedown damage card. Action: Repair 1 faceup Ship damage card.", + "slots": [ + "Astromech" + ], + "charges": { + "value": 2, + "recovers": 0 + } + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "Precise Astromech", + "limited": 0, + "xws": "preciseastromech-battleofyavin", + "sides": [ + { + "ability": "After you perform an action, you may spend 1 [Charge] to perform a red [Lock] action.", + "title": "Precise Astromech", + "type": "Astromech", + "slots": [ + "Astromech" + ], + "charges": { + "value": 2, + "recovers": 0 + } + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "Targeting Astromech", + "limited": 0, + "xws": "targetingastromech-battleofyavin", + "sides": [ + { + "ability": "After you perform a [Lock] action, you may perform a red [Rotate Arc] action.", + "title": "Targeting Astromech", + "type": "Astromech", + "slots": [ + "Astromech" + ] + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "R4-P17", + "limited": 1, + "xws": "r4p17-siegeofcoruscant", + "sides": [ + { + "ability": "When you would be dealt a damage card, if you are not defending, you may spend 1 [Charge] and gain 1 strain to discard it instead.", + "title": "Targeting Astromech", + "type": "Astromech", + "slots": [ + "Astromech" + ], + "charges": { + "value": 2, + "recovers": 0 + } + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true } -] +] \ No newline at end of file diff --git a/data/upgrades/cannon.json b/data/upgrades/cannon.json index a3e307f3d..3a14e2240 100644 --- a/data/upgrades/cannon.json +++ b/data/upgrades/cannon.json @@ -8,7 +8,9 @@ "title": "Heavy Laser Cannon", "type": "Cannon", "ability": "Attack: After the Modify Attack Dice step, change all [Critical Hit] results to [Hit] results.", - "slots": ["Cannon"], + "slots": [ + "Cannon" + ], "attack": { "arc": "Bullseye Arc", "value": 4, @@ -16,13 +18,16 @@ "maxrange": 3, "ordnance": false }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_27.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_27.jpg", - "ffg": 256 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/heavylasercannon.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/heavylasercannon.png" } ], - "cost": { "value": 4 }, - "hyperspace": false + "cost": { + "value": 4 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Ion Cannon", @@ -33,7 +38,9 @@ "title": "Ion Cannon", "type": "Cannon", "ability": "Attack: If this attack hits, spend 1 [Hit] or [Critical Hit] result to cause the defender to suffer 1 [Hit] damage. All remaining [Hit]/[Critical Hit] results inflict ion tokens instead of damage.", - "slots": ["Cannon"], + "slots": [ + "Cannon" + ], "attack": { "arc": "Front Arc", "value": 3, @@ -41,13 +48,16 @@ "maxrange": 3, "ordnance": false }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_28.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_28.jpg", - "ffg": 257 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ioncannon.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ioncannon.png" } ], - "cost": { "value": 6 }, - "hyperspace": true + "cost": { + "value": 6 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Jamming Beam", @@ -58,7 +68,9 @@ "title": "Jamming Beam", "type": "Cannon", "ability": "Attack: If this attack hits, all [Hit]/[Critical Hit] results inflict jam tokens instead of damage.", - "slots": ["Cannon"], + "slots": [ + "Cannon" + ], "attack": { "arc": "Front Arc", "value": 3, @@ -66,13 +78,16 @@ "maxrange": 2, "ordnance": false }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_29.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_29.jpg", - "ffg": 258 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/jammingbeam.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/jammingbeam.png" } ], - "cost": { "value": 0 }, - "hyperspace": false + "cost": { + "value": 0 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Tractor Beam", @@ -83,7 +98,9 @@ "title": "Tractor Beam", "type": "Cannon", "ability": "Attack: If this attack hits, all [Hit]/[Critical Hit] results inflict tractor tokens instead of damage.", - "slots": ["Cannon"], + "slots": [ + "Cannon" + ], "attack": { "arc": "Front Arc", "value": 3, @@ -91,26 +108,29 @@ "maxrange": 3, "ordnance": false }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_30.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_30.jpg", - "ffg": 259 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/tractorbeam.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/tractorbeam.png" } ], - "cost": { "value": 4 }, - "hyperspace": true + "cost": { + "value": 4 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Autoblasters", "limited": 0, "xws": "autoblasters", - "cost": { "value": 4 }, - "hyperspace": false, "sides": [ { "ability": "Attack: If the defender is in your [Bullseye Arc], roll 1 additional die. During the Neutralize Results step, if you are not in the defender's [Front Arc], [Evade] results do not cancel [Critical Hit] results.", "title": "Autoblasters", "type": "Cannon", - "slots": ["Cannon"], + "slots": [ + "Cannon" + ], "attack": { "arc": "Front Arc", "value": 2, @@ -118,19 +138,29 @@ "maxrange": 2, "ordnance": false }, - "ffg": 578, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/dbdad938bd9f4ce64af1d7106dfd5b5e.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/59d4a52e3a534dd090259bd5546e7bab.png" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/autoblasters.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/autoblasters.png" } - ] + ], + "cost": { + "value": 4 + }, + "standard": true, + "wildspace": true, + "epic": true }, { + "name": "Synced Laser Cannons", + "limited": 0, + "xws": "syncedlasercannons", "sides": [ { - "ffg": 674, "title": "Synced Laser Cannons", "type": "Cannon", - "slots": ["Cannon", "Cannon"], + "slots": [ + "Cannon", + "Cannon" + ], "attack": { "arc": "Front Arc", "value": 3, @@ -138,28 +168,65 @@ "maxrange": 3, "ordnance": false }, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/70d44704aaa8bb8d1f1e2bc904b18c77.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/6927e82e460670044786cd46327cb891.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/syncedlasercannons.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/syncedlasercannons.png", "ability": "Attack: If you are calculating, the defender does not apply the range bonus." } ], - "name": "Synced Laser Cannons", - "cost": { "value": 7 }, + "cost": { + "value": 7 + }, + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Proton Cannons", "limited": 0, - "xws": "syncedlasercannons", - "hyperspace": true + "xws": "protoncannons", + "sides": [ + { + "ability": "Attack: Spend 2 [Charge]. Change 1 [Focus] or [Hit] result to a [Critical Hit] result.", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/protoncannons.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/protoncannons.png", + "charges": { + "value": 2, + "recovers": 1 + }, + "title": "Proton Cannons", + "type": "Cannon", + "slots": [ + "Cannon", + "Cannon" + ], + "attack": { + "arc": "Bullseye Arc", + "value": 4, + "minrange": 2, + "maxrange": 3, + "ordnance": false + } + } + ], + "cost": { + "value": 5 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Underslung Blaster Cannon", "limited": 0, "xws": "underslungblastercannon", - "hyperspace": true, "sides": [ { "ability": "After an enemy ship executes a maneuver, you may perform this attack against it as a bonus attack. Attack ([Lock]):Your dice can be modified only by spending a lock for the default effect.", "title": "Underslung Blaster Cannon", "type": "Cannon", - "slots": ["Cannon"], + "slots": [ + "Cannon" + ], "attack": { "arc": "Single Turret Arc", "value": 2, @@ -170,13 +237,44 @@ "grants": [ { "type": "action", - "value": { "type": "Rotate Arc", "difficulty": "White" } + "value": { + "type": "Rotate Arc", + "difficulty": "White" + } } ], - "ffg": 718, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/734d68b47d976624629d101299719222.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/underslungblastercannon.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/underslungblastercannon.png" + } + ], + "cost": { + "value": 2 + }, + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Ancillary Ion Weapons", + "limited": 0, + "xws": "ancillaryionweapons-siegeofcoruscant", + "sides": [ + { + "ability": "While you perform a primary attack, before rolling attack dice, you may spend 2 [Charge]. If you do, your [Critical Hit] results inflict ion tokens instead of damage.", + "title": "Ancillary Ion Weapons", + "type": "Cannon", + "slots": [ + "Cannon" + ], + "charges": { + "value": 2, + "recovers": 1 + } } ], - "cost": { "value": 2 } + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true } -] +] \ No newline at end of file diff --git a/data/upgrades/cargo.json b/data/upgrades/cargo.json index ed828e477..686b285d3 100644 --- a/data/upgrades/cargo.json +++ b/data/upgrades/cargo.json @@ -3,73 +3,96 @@ "name": "Adaptive Shields", "limited": 0, "xws": "adaptiveshields", - "hyperspace": false, "sides": [ { "ability": "While another friendly ship at range 0-1 defends, if it is a smaller size than you, you may spend 1 shield or 2 [Energy] to cancel 1 [Hit] or [Critical Hit] result.", "title": "Adaptive Shields", "type": "Cargo", - "slots": ["Cargo"], - "ffg": 756, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/6e/8e/6e8e1d09-8496-4ac3-881a-689c59d7eda0/swz53_adaptive-shields.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/c7816ed5fed0e34f4fc992b34e7779d4.jpg" + "slots": [ + "Cargo" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/adaptiveshields.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/adaptiveshields.png" } ], - "cost": { "value": 5 } + "cost": { + "value": 4 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Boosted Scanners", "limited": 0, "xws": "boostedscanners", - "hyperspace": false, "sides": [ { "ability": "While you lock, coordinate, or jam, you may spend up to 3 [Energy] to increase the range at which you can choose an object by 1 per [Energy] spent this way, to a maximum of range 5.", "title": "Boosted Scanners", "type": "Cargo", - "slots": ["Cargo"], - "ffg": 757, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/53/bd/53bd4565-05eb-4576-a465-d6c7a29df39f/swz55_boosted-scanners_card.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/c712981e1437a13ac6f0de95d4a46cb9.jpg" + "slots": [ + "Cargo" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/boostedscanners.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/boostedscanners.png" } ], - "cost": { "value": 7 } + "cost": { + "value": 6 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Optimized Power Core", "limited": 0, "xws": "optimizedpowercore", - "hyperspace": false, "sides": [ { "ability": "After you execute a blue maneuver, recover 1 [Energy].", "title": "Optimized Power Core", "type": "Cargo", - "slots": ["Cargo"], - "ffg": 758, - "image": "https://infinitearenas.com/xw2browse/epic/optimized-power-core.PNG", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/cd071c9b13ca8da6c061c5cbf32e0cf6.jpg" + "slots": [ + "Cargo" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/optimizedpowercore.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/optimizedpowercore.png" } ], - "cost": { "value": 6 } + "cost": { + "value": 7 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Tibanna Reserves", "limited": 0, "xws": "tibannareserves", - "hyperspace": false, "sides": [ { "ability": "Action: Spend 1 [Charge] to recover 2 [Energy].", "title": "Tibanna Reserves", "type": "Cargo", - "slots": ["Cargo"], - "charges": { "value": 3, "recovers": 0 }, - "ffg": 759, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/cd/51/cd51dc96-aa91-4293-8555-a592eab65a0d/swz55_tibanna-reserves_card.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/48877ef89bde008d353387a89ccf2478.jpg" + "slots": [ + "Cargo" + ], + "charges": { + "value": 3, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/tibannareserves.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/tibannareserves.png" } ], - "cost": { "value": 3 } + "cost": { + "value": 3 + }, + "standard": false, + "wildspace": false, + "epic": true } -] +] \ No newline at end of file diff --git a/data/upgrades/command.json b/data/upgrades/command.json index de5a08c43..fb7e9b198 100644 --- a/data/upgrades/command.json +++ b/data/upgrades/command.json @@ -3,551 +3,852 @@ "name": "Agent of the Empire", "limited": 1, "xws": "agentoftheempire", - "hyperspace": false, "sides": [ { "ability": "You are a wing leader. Your wingmates must be 2, 3, 4, or 5 TIE/ln fighters. While you defend, up to 2 of your wingmates in the attack arc may suffer 1 [Hit] or [Critical Hit] damage to cancel a matching result.", "title": "Agent of the Empire", "type": "Command", - "slots": ["Command"], - "ffg": 732, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/42/fa/42fad53e-0d06-4c35-8427-eba34651791b/swz57_agent-of-the-empire.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/f7021137f14e5ee530cd1cc9e5b9264a.jpg" + "slots": [ + "Command" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/agentoftheempire.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/agentoftheempire.png" } ], - "cost": { "value": 4 } + "cost": { + "value": 4 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Dreadnought Hunter", "limited": 2, "xws": "dreadnoughthunter", - "hyperspace": false, "sides": [ { "ability": "While you perform an attack against a huge ship, if the attack deals a faceup damage card to the defender and the defender is in your [Bullseye Arc], you may apply the Precision Shot effect even if you are not in the specified arc.", "title": "Dreadnought Hunter", "type": "Command", - "slots": ["Command"], - "ffg": 735, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/8e/a3/8ea37fba-1307-40f7-838b-1ea77d5ee769/swz57_dreadnought-hunter.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/077db882ed94ceec1150c405bd689c33.jpg" + "slots": [ + "Command" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/dreadnoughthunter.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/dreadnoughthunter.png" } ], - "cost": { "value": 3 } + "cost": { + "value": 3 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "First Order Elite", "limited": 1, "xws": "firstorderelite", - "hyperspace": false, "sides": [ { "ability": "You are a wing leader. Your wingmates must be 2 or 3 TIE/fo fighters or TIE/sf fighters. While you defend, up to 2 of your wingmates in the attack arc may suffer 1 [Hit] or [Critical Hit] damage to cancel a matching result.", "title": "First Order Elite", "type": "Command", - "slots": ["Command"], - "ffg": 733, - "image": "https://infinitearenas.com/xw2browse/epic/first-order-elite.PNG", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/aa85719e74f86fec8b7232cf901f9f29.jpg" + "slots": [ + "Command" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/firstorderelite.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/firstorderelite.png" } ], - "cost": { "value": 4 } + "cost": { + "value": 4 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Veteran Wing Leader", "limited": 0, "xws": "veteranwingleader", - "hyperspace": false, "sides": [ { "ability": "You are a wing leader. Your wingmates must be 2, 3, 4, or 5 other ships of your ship type. While you defend, up to 2 of your wingmates in the attack arc may suffer 1 [Hit] or [Critical Hit] damage to cancel a matching result.", "title": "Veteran Wing Leader", "type": "Command", - "slots": ["Command"], - "ffg": 734, - "image": "https://infinitearenas.com/xw2browse/epic/veteran-wing-leader.PNG", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/d40521b56b50feb76368a2233b4da4d9.jpg" + "slots": [ + "Command" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/veteranwingleader.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/veteranwingleader.png" } ], - "cost": { "value": 2 } + "cost": { + "value": 2 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Admiral Ozzel", "limited": 1, "xws": "admiralozzel", - "hyperspace": false, "sides": [ { "ability": "While a friendly large or huge ship at range 0-3 executes a maneuver, it may suffer 1 [Hit] damage to execute a maneuver of the same bearing and difficulty of a speed 1 higher or lower instead.", "title": "Admiral Ozzel", "type": "Command", - "slots": ["Command", "Crew"], - "ffg": 724, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/07/be/07be48c1-8c28-47af-8bee-ea09c08b59ec/swz53_admiral-ozzel.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/f5f82fcbc211ffa39f9a213fac643a76.jpg" + "slots": [ + "Command", + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/admiralozzel.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/admiralozzel.png" } ], - "cost": { "value": 6 } + "cost": { + "value": 6 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Azmorigan", "limited": 1, "xws": "azmorigan", - "hyperspace": false, "sides": [ { "ability": "During the End Phase, you may choose up to 2 friendly ships at range 0-1. If you do, each of these ships does not remove 1 calculate or evade token.", "title": "Azmorigan", "type": "Command", - "slots": ["Command", "Crew"], - "ffg": 725, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/5b/c2/5bc2cc05-bcc4-427a-90ad-039225fa1c87/swz55_azmorigan_card.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/4dfc9c0a148c3aac400435771a229870.jpg" + "slots": [ + "Command", + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/azmorigan.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/azmorigan.png" } ], - "cost": { "value": 4 } + "cost": { + "value": 4 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Captain Needa", "limited": 1, "xws": "captainneeda", - "hyperspace": false, "sides": [ { "ability": "After a friendly ship at range 0-4 reveals its dial, you may spend 1 [Charge]. If you do, it sets its dial to another maneuver of the same difficulty and speed.", "title": "Captain Needa", "type": "Command", - "slots": ["Command", "Crew"], - "charges": { "value": 4, "recovers": 0 }, - "ffg": 726, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/48/59/48592366-3c7f-49f6-9088-b8f6b7d459b0/swz53_captain-needa.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/0583ea3a0143ba8e16ced0d3338f0df1.jpg" + "slots": [ + "Command", + "Crew" + ], + "charges": { + "value": 4, + "recovers": 0 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/captainneeda.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/captainneeda.png" } ], - "cost": { "value": 8 } + "cost": { + "value": 8 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Carlist Rieekan", "limited": 1, "xws": "carlistrieekan", - "hyperspace": false, "sides": [ { "ability": "After a friendly ship at range 0-2 is destroyed, you may choose a friendly ship at range 0-2. If you do, it may perform a red [Evade] action.", "title": "Carlist Rieekan", "type": "Command", - "slots": ["Command", "Crew"], + "slots": [ + "Command", + "Crew" + ], "grants": [ { "type": "action", - "value": { "type": "Evade", "difficulty": "Red" } + "value": { + "type": "Evade", + "difficulty": "Red" + } } ], - "ffg": 728, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/97/9b/979b69f2-1540-411b-a797-7cbf921f0fcb/swz55_carlist-rieekan_card.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a86c9d037c976d140ae0d6095f39225a.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/carlistrieekan.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/carlistrieekan.png" } ], - "cost": { "value": 4 } + "cost": { + "value": 4 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Jan Dodonna", "limited": 1, "xws": "jandodonna", - "hyperspace": false, "sides": [ { "ability": "Friendly ships at range 0-3 can spend your focus and evade tokens.", "title": "Jan Dodonna", "type": "Command", - "slots": ["Command", "Crew"], - "ffg": 729, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/1e/b5/1eb5c6d9-dc5c-4fa0-8e58-5153a993d075/swz55_jan-dodonna_card.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/fa6dba670282a19b80dc0e53dec78536.jpg" + "slots": [ + "Command", + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/jandodonna.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/jandodonna.png" } ], - "cost": { "value": 3 } + "cost": { + "value": 3 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Raymus Antilles", "limited": 1, "xws": "raymusantilles", - "hyperspace": false, "sides": [ { "ability": "After you are destroyed, each friendly ship at range 0-1 gains 1 focus token. After you are destroyed, you are not removed until the end of the End Phase.", "title": "Raymus Antilles", "type": "Command", - "slots": ["Command", "Crew"], - "ffg": 730, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/ee/ba/eebaaf91-37a3-4d28-9e08-6c421ed496b4/swz55_raymus-antilles_card.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/ac03675e91a973a4a31a9b4d380080a6.jpg" + "slots": [ + "Command", + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/raymusantilles.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/raymusantilles.png" } ], - "cost": { "value": 8 } + "cost": { + "value": 8 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Stalwart Captain", "limited": 1, "xws": "stalwartcaptain", - "hyperspace": false, "sides": [ { "ability": "After you are destroyed, you are not removed until the end of the End Phase.", "title": "Stalwart Captain", "type": "Command", - "slots": ["Command", "Crew"], - "ffg": 731, - "image": "https://static.wikia.nocookie.net/xwing-miniatures-second-edition/images/b/bc/Stalwart_Captain.png/revision/latest?cb=20201006040027", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/e204e200410fdea80a1e7582db0dcd32.jpg" + "slots": [ + "Command", + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/stalwartcaptain.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/stalwartcaptain.png" } ], - "cost": { "value": 6 }, - "restrictions": [{ "sizes": ["Huge"] }] + "cost": { + "value": 10 + }, + "restrictions": [ + { + "sizes": [ + "Huge" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Strategic Commander", "limited": 1, "xws": "strategiccommander", - "hyperspace": false, "sides": [ { "ability": "After a friendly ship at range 0-4 reveals its dial, you may spend 1 [Charge]. If you do, it sets its dial to another maneuver of the same difficulty and speed.", "title": "Strategic Commander", "type": "Command", - "slots": ["Command", "Crew"], - "charges": { "value": 3, "recovers": 0 }, - "ffg": 727, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/5e/b5/5eb5591f-95b5-4fd1-9371-f5c819200dc9/swz53_strategic-commander_card.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/14ae4cbb0383462f172497c35890440e.jpg" + "slots": [ + "Command", + "Crew" + ], + "charges": { + "value": 3, + "recovers": 0 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/strategiccommander.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/strategiccommander.png" } ], - "cost": { "value": 6 }, - "restrictions": [{ "sizes": ["Huge"] }] + "cost": { + "value": 6 + }, + "restrictions": [ + { + "sizes": [ + "Huge" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Jedi Commander", "limited": 0, "xws": "jedicommander", - "hyperspace": false, "sides": [ { "ability": "Setup: Equip this side faceup. You are a wing leader. Your wingmates must be 2-5 V-19 Torrents or 2-5 Nimbus-class V-wings. After you are placed, flip this card.", "title": "Jedi Commander", "type": "Command", - "slots": ["Command"], - "ffg": 835, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/04b5550c3226ede7611fcf46a0c6253f.jpg" + "slots": [ + "Command" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/jedicommander-sideb.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/jedicommander-sideb.png" }, { "ability": "While your wingmates execute purple maneuvers, they treat those maneuvers as red, instead. While you defend, up to 2 of your wingmates in the attack arc may each suffer 1 [Hit]/[Critical Hit] damage to cancel 1 matching result.", "title": "Jedi Commander", "type": "Command", - "slots": ["Command"], - "ffg": 834, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/fd/1f/fd1ff8be-72b9-4c61-b5cc-7b892c7244e3/swz79_jedi-commander2.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/04b5550c3226ede7611fcf46a0c6253f.jpg" + "slots": [ + "Command" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/jedicommander.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/jedicommander.png" } ], - "cost": { "value": 4 }, + "cost": { + "value": 4 + }, "restrictions": [ - { "factions": ["Galactic Republic"] }, - { "ships": ["delta7aethersprite", "eta2actis"] } - ] + { + "factions": [ + "galacticrepublic" + ] + }, + { + "ships": [ + "delta7aethersprite", + "eta2actis" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true }, { "name": "B6 Blade Wing Prototype", "limited": 1, "xws": "b6bladewingprototype-command", - "hyperspace": false, "sides": [ { "ability": "Add [Gunner] slot. Attack ([Lock]): Gain 1 ion token to perform this attack. If this attack hits, the defender suffers 1 additional [Hit]/[Critical Hit] damage for each matching uncanceled result after the first.", "title": "B6 Blade Wing Prototype", "type": "Command", - "slots": ["Command", "Title"], - "ffg": 903, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/71fe49e6d10dc74321a0a96f0b2f64e6.jpg" + "slots": [ + "Command", + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/b6bladewingprototype-command.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/b6bladewingprototype-command.png" } ], - "cost": { "value": 4 }, + "cost": { + "value": 4 + }, "restrictions": [ - { "factions": ["Rebel Alliance"] }, - { "ships": ["asf01bwing"] } - ] + { + "factions": [ + "rebelalliance" + ] + }, + { + "ships": [ + "asf01bwing" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Bounty", "limited": 0, "xws": "bounty", - "hyperspace": false, "sides": [ { "ability": "Setup: Equip this side faceup. You can be included in Separatist, Imperial, and First Order squads. After you perform an attack, if the defender was a limited ship and was destroyed, you may recover 1 [Charge] on your ship card and each of your upgrade cards. Then flip this card.", "title": "Bounty (Hired)", "type": "Command", - "slots": ["Command"], - "ffg": 905, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/6877dc90b8296a93c3fc9129d5087020.jpg" + "slots": [ + "Command" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/bounty.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/bounty.png" }, { "text": "Bounty hunting is a complicated profession. Any assassin can kill, but the best hunters are renowned for their ability to bring a mark in alive, as doing so is more difficult but invariably commands a much greater reward.", "title": "Bounty (Paid)", "type": "Command", - "slots": ["Command"], - "ffg": 904, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/4502e115fb501138e161b28b0d3f0474.jpg" + "slots": [ + "Command" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/bounty-sideb.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/bounty-sideb.png" } ], - "cost": { "value": 1 } + "cost": { + "value": 1 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Phoenix Squadron", "limited": 1, "xws": "phoenixsquadron", - "hyperspace": false, "sides": [ { "ability": "Setup: Equip this side faceup. You are a wing leader. Your wingmates must be 2-5 of the following: 0-1 Attack Shuttle 0-1 Sheathipede-class Shuttle 0-5 RZ-1 A-wings After you are placed, flip this card.", "title": "Phoenix Squadron", "type": "Command", - "slots": ["Command"], - "ffg": 909, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/554a0d6690a6a3c4a175b1f363084670.jpg" + "slots": [ + "Command" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/phoenixsquadron-sideb.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/phoenixsquadron-sideb.png" }, { "ability": "At the start of the Planning Phase, 1 of your wingmates that is docked with you may join your wing without gaining a stress token. While you or your Attack Shuttle wingmate or Sheathipede-class wingmate defends, up to 2 of your RZ-1 A-wing wingmates in the attack arc may each suffer 1 [Hit]/[Critical Hit] damage to cancel 1 matching result.", "title": "Phoenix Squadron", "type": "Command", - "slots": ["Command"], - "ffg": 908, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/554a0d6690a6a3c4a175b1f363084670.jpg" + "slots": [ + "Command" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/phoenixsquadron.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/phoenixsquadron.png" } ], - "cost": { "value": 4 } + "cost": { + "value": 4 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Shadow Wing", "limited": 1, "xws": "shadowwing", - "hyperspace": false, "sides": [ { "ability": "Setup: Equip this side faceup. You are a wing leader. Your wingmates must be 2-5 other ships of your type. After you are placed, flip this card.", "title": "Shadow Wing", "type": "Command", - "slots": ["Command"], - "ffg": 911, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/8842d1539a912e7ae3b011bfdb4bbe0a.jpg" + "slots": [ + "Command" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/shadowwing-sideb.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/shadowwing-sideb.png" }, { "ability": "Your wingmates can perform [Barrel Roll] or [Boost] actions. If they do, they voluntarily split from the wing. While you defend, up to 2 of your wingmates in the attack arc may each suffer 1 [Hit]/[Critical Hit] damage to cancel 1 matching result.", "title": "Shadow Wing", "type": "Command", - "slots": ["Command"], - "ffg": 910, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/8842d1539a912e7ae3b011bfdb4bbe0a.jpg" + "slots": [ + "Command" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/shadowwing.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/shadowwing.png" } ], - "cost": { "value": 4 } + "cost": { + "value": 4 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Skystrike Academy Class", "limited": 2, "xws": "skystrikeacademyclass", - "hyperspace": false, "sides": [ { "ability": "Setup: Equip this side faceup. You are a wing leader. Your wingmates must be 2-5 TIE/ln Fighters with initiative lower than yours. After you are placed, flip this card.", "title": "Skystrike Academy Class", "type": "Command", - "slots": ["Command"], - "ffg": 913, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/8b24e79586085204391faa4d4b3d1f4c.jpg" + "slots": [ + "Command" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/skystrikeacademyclass-sideb.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/skystrikeacademyclass-sideb.png" }, { "ability": "After you barrel roll or boost, each of your wingmates is forced to split from the wing. While you defend, up to 5 of your wingmates in the attack arc may each suffer 1 [Hit]/[Critical Hit] damage to cancel 1 matching result.", "title": "Skystrike Academy Class", "type": "Command", - "slots": ["Command"], - "ffg": 912, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/8b24e79586085204391faa4d4b3d1f4c.jpg" + "slots": [ + "Command" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/skystrikeacademyclass.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/skystrikeacademyclass.png" } ], - "cost": { "value": 3 } + "cost": { + "value": 3 + }, + "standard": false, + "wildspace": false, + "epic": true }, { - "name": "In It For The Money/Rebellion", + "name": "In It For The Money", "limited": 0, - "xws": "initforthemoneyrebellion", - "hyperspace": false, + "xws": "initforthemoney", "sides": [ { "ability": "Setup: Equip this side faceup. You can be included in Republic, Rebel, and Resistance squads. After an allied limited ship in your squad is destroyed, gain 1 focus token and flip this card.", "title": "In It For The Money", "type": "Command", - "slots": ["Command"], - "ffg": 907, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/26e935cc224ffd02de5e797faa5685c6.jpg" + "slots": [ + "Command" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/initforthemoney.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/initforthemoney.png" }, { "ability": "Non-Scum ships in your squad are treated as friendly instead of allied.", "title": "In It For Your Rebellion", "type": "Command", - "slots": ["Command"], - "ffg": 906, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/977af5c5c1604a9e45cd040408f5e482.jpg" + "slots": [ + "Command" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/initforthemoney-sideb.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/initforthemoney-sideb.png" } ], - "cost": { "value": 1 }, + "cost": { + "value": 1 + }, "restrictions": [ - { "factions": ["Scum and Villainy"] }, - { "standardized": true }, - { "non-limited": false } - ] + { + "factions": [ + "scumandvillainy" + ] + }, + { + "standardized": true + }, + { + "non-limited": false + } + ], + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Mar Tuuk", "limited": 1, "xws": "martuuk", - "hyperspace": false, "sides": [ { "ability": "Setup: After placing forces, choose 1 friendly wing of ships with [Calculate] on their action bars and place that wing in reserve. During the End Phase, you may place that wing within your deployment area or beyond range 2 of any enemy shp. Then you may choose 1 enemy ship at range 0-1 of you; each ship in that wing acquires a lock on it.", "title": "Mar Tuuk", "type": "Command", - "slots": ["Command", "Crew"], - "ffg": 727, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/14ae4cbb0383462f172497c35890440e.jpg" + "slots": [ + "Command", + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/martuuk.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/martuuk.png" } ], - "cost": { "value": 4 }, + "cost": { + "value": 4 + }, "restrictions": [ - { "factions": ["Separatist Alliance"] }, - { "sizes": ["Huge"] } - ] + { + "factions": [ + "separatistalliance" + ] + }, + { + "sizes": [ + "Huge" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Riff Tamson", "limited": 1, "xws": "rifftamson", - "hyperspace": false, "sides": [ { "ability": "During the Engagement Phase, at initiative 5, you may spend 1 [Energy] to perform a bonus [Hardpoint] attack. After you perform an attack, if the defender was dealt 1 or more faceup damage cards, it gains 2 strain tokens.", "title": "Riff Tamson", "type": "Command", - "slots": ["Command", "Crew"], - "ffg": 727, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/14ae4cbb0383462f172497c35890440e.jpg" + "slots": [ + "Command", + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/rifftamson.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/rifftamson.png" } ], - "cost": { "value": 6 }, + "cost": { + "value": 6 + }, "restrictions": [ - { "factions": ["Separatist Alliance"] }, - { "sizes": ["Huge"] } - ] + { + "factions": [ + "separatistalliance" + ] + }, + { + "sizes": [ + "Huge" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Asajj Ventress", "limited": 1, "xws": "asajjventresscommand", - "hyperspace": false, "sides": [ { "ability": "During the System Phase, you may spend 1 [Force]. IF you do, each enemy ship in your [Front Arc] at range 0-1 gains 1 strain token unless it chooses to gain 1 jam token.", "title": "Asajj Ventress", "type": "Command", - "slots": ["Command", "Crew"], - "grants" : [ + "slots": [ + "Command", + "Crew" + ], + "grants": [ { "type": "action", "value": { "type": "Focus", "difficulty": "White", - "linked": { "type": "Coordinate", "difficulty": "Purple" } + "linked": { + "type": "Coordinate", + "difficulty": "Purple" + } } }, - { "type": "force", "value": { "side": ["dark"] }, "amount": 1 } + { + "type": "force", + "value": { + "side": [ + "dark" + ] + }, + "amount": 1 + } ], - "ffg": 727, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/14ae4cbb0383462f172497c35890440e.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/asajjventresscommand.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/asajjventresscommand.png" } ], - "cost": { "value": 6 }, + "cost": { + "value": 8 + }, "restrictions": [ - { "factions": ["Separatist Alliance", "Scum and Villainy"] }, - { "sizes": ["Huge"] } - ] + { + "factions": [ + "separatistalliance", + "scumandvillainy" + ] + }, + { + "sizes": [ + "Huge" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Zealous Captain", "limited": 1, "xws": "zealouscaptain", - "hyperspace": false, "sides": [ { "ability": "During the Engagement Phase, at initiative 4, you may spend 1 [Energy] to perform a bonus [Hardpoint] attack.", "title": "Zealous Captain", "type": "Command", - "slots": ["Command", "Crew"], - "ffg": 727, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/14ae4cbb0383462f172497c35890440e.jpg" + "slots": [ + "Command", + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/zealouscaptain.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/zealouscaptain.png" } ], - "cost": { "value": 4 }, - "restrictions": [{ "sizes": ["Huge"] }] + "cost": { + "value": 4 + }, + "restrictions": [ + { + "sizes": [ + "Huge" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Hondo Ohnaka", "limited": 1, "xws": "hondoohnakacommand", - "hyperspace": false, "sides": [ { "ability": "During the System Phase, you may spend 1 [Charge] and choose 1 friendly ship at range 0-1. Move 1 Victory Token or Objective Token from its ship card to your ship card, or from your ship card to its ship card.", - "charges": { "value": 2, "recovers": 0 }, + "charges": { + "value": 2, + "recovers": 0 + }, "title": "Hondo Ohnaka", "type": "Command", - "slots": ["Command", "Crew"], - "grants" : [ + "slots": [ + "Command", + "Crew" + ], + "grants": [ { "type": "action", "value": { "type": "Coordinate", "difficulty": "White", - "linked": { "type": "Jam", "difficulty": "Red" } + "linked": { + "type": "Jam", + "difficulty": "Red" + } } } ], - "ffg": 123, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/14ae4cbb0383462f172497c35890440e.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/hondoohnakacommand.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/hondoohnakacommand.png" } ], - "cost": { "value": 7 }, + "cost": { + "value": 6 + }, "restrictions": [ - { "sizes": ["Huge"] } - ] + { + "sizes": [ + "Huge" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true }, { "name": "General Grievous", "limited": 1, "xws": "generalgrievouscommand", - "hyperspace": false, "sides": [ { "ability": "During the Engagement Phase, at initiative 4, you may spend 1 [Energy] to perform a bonus [Hardpoint] attack. You can perform attacks against friendly ships. After you perform an attack, if the defender was destroyed, each friendly ship at range 0-2 of it may perform a [Calculate] action.", "title": "General Grievous", "type": "Command", - "slots": ["Command", "Crew"], - "ffg": 123, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/14ae4cbb0383462f172497c35890440e.jpg" + "slots": [ + "Command", + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/generalgrievouscommand.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/generalgrievouscommand.png" } ], - "cost": { "value": 5 }, + "cost": { + "value": 5 + }, "restrictions": [ - { "sizes": ["Huge"] }, - { "factions": ["Separatist Alliance"] } - ] + { + "sizes": [ + "Huge" + ] + }, + { + "factions": [ + "separatistalliance" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true + }, + { + "name": "Combat Boarding Tube", + "limited": 0, + "xws": "combatboardingtube", + "sides": [ + { + "ability": "During the System Phase, if you would drop a [Crew] remote and there is an enemy medium, large, or huge ship at range 0-1 in your [Rear Arc], you may place that device in the play area in your [Rear Arc] at range 0-1 so that it is at range 0 of that enemy ship instead. Then, that enemy ship gains 1 deplete, strain, or stress token of your choice.", + "title": "Combat Boarding Tube", + "type": "Command", + "slots": [ + "Command", + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/combatboardingtube.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/combatboardingtube.png" + } + ], + "cost": { + "value": "0" + }, + "restrictions": [ + { + "ships": [ + "gauntletfighter" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true } -] +] \ No newline at end of file diff --git a/data/upgrades/configuration.json b/data/upgrades/configuration.json index d523ccea9..0d5de9b3c 100644 --- a/data/upgrades/configuration.json +++ b/data/upgrades/configuration.json @@ -8,38 +8,56 @@ "title": "Integrated S-foils (Closed)", "type": "Configuration", "ability": "While you perform a primary attack, if the defender is not in your [Bullseye Arc], roll 1 fewer attack die. Before you activate, you may flip this card.", - "slots": ["Configuration"], + "slots": [ + "Configuration" + ], "grants": [ { "type": "action", - "value": { "type": "Barrel Roll", "difficulty": "White" } + "value": { + "type": "Barrel Roll", + "difficulty": "White" + } }, { "type": "action", "value": { "type": "Focus", "difficulty": "White", - "linked": { "type": "Barrel Roll", "difficulty": "Red" } + "linked": { + "type": "Barrel Roll", + "difficulty": "Red" + } } } ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/e3b44142faf0f13e541bf674a6c06dbc.png", - "ffg": 486, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a8233a67adce770e91e4b6b9025670ed.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/integratedsfoils-sideb.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/integratedsfoils.png" }, { "title": "Integrated S-foils (Open)", "type": "Configuration", "ability": "Before you activate, you may flip this card.", - "slots": ["Configuration"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/49372b4efb974ff673a1b79441186fd5.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/bf5e7b98158570f9d4fc259b5553f4ca.jpg", - "ffg": 487 + "slots": [ + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/integratedsfoils.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/integratedsfoils-sideb.png" } ], - "cost": { "value": 0 }, - "restrictions": [{ "ships": ["t70xwing"] }], - "hyperspace": true + "cost": { + "value": 0 + }, + "restrictions": [ + { + "ships": [ + "t70xwing" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Os-1 Arsenal Loadout", @@ -50,19 +68,38 @@ "title": "Os-1 Arsenal Loadout", "type": "Configuration", "ability": "While you have exactly 1 disarm token, you can still perform [Torpedo] and [Missile] attacks against targets you have locked. If you do, you cannot spend your lock during the attack. Add [Torpedo] and [Missile] slots.", - "slots": ["Configuration"], + "slots": [ + "Configuration" + ], "grants": [ - { "type": "slot", "value": "Torpedo", "amount": 1 }, - { "type": "slot", "value": "Missile", "amount": 1 } + { + "type": "slot", + "value": "Torpedo", + "amount": 1 + }, + { + "type": "slot", + "value": "Missile", + "amount": 1 + } ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_125.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_125.jpg", - "ffg": 350 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/os1arsenalloadout.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/os1arsenalloadout.png" + } + ], + "cost": { + "value": 0 + }, + "restrictions": [ + { + "ships": [ + "alphaclassstarwing" + ] } ], - "cost": { "value": 0 }, - "restrictions": [{ "ships": ["alphaclassstarwing"] }], - "hyperspace": false + "standard": false, + "wildspace": true, + "epic": true }, { "name": "Pivot Wing", @@ -73,24 +110,76 @@ "title": "Pivot Wing (Closed)", "type": "Configuration", "ability": "While you defend, roll 1 fewer defense die. After you execute a [0 [Stationary]] maneuver, you may rotate your ship 90° or 180°. Before you activate, you may flip this card.", - "slots": ["Configuration"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_107b.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_107b.jpg", - "ffg": 332 + "slots": [ + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/pivotwing-sideb.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/pivotwing.png" }, { "title": "Pivot Wing (Open)", "type": "Configuration", "ability": "Before you activate, you may flip this card.", - "slots": ["Configuration"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_107.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_107.jpg", - "ffg": 331 + "slots": [ + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/pivotwing.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/pivotwing-sideb.png" + } + ], + "cost": { + "value": 0 + }, + "restrictions": [ + { + "ships": [ + "ut60duwing" + ] } ], - "cost": { "value": 0 }, - "restrictions": [{ "ships": ["ut60duwing"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Swivel Wing", + "limited": 0, + "xws": "swivelwing", + "sides": [ + { + "title": "Swivel Wing (Down)", + "type": "Configuration", + "ability": "After you execute a [0 [Stationary]] maneuver, you may rotate your ship 90° or 180°. If you do, you must flip this card.", + "slots": [ + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/swivelwing.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/swivelwing.png" + }, + { + "title": "Swivel Wing (Up)", + "type": "Configuration", + "ability": "While you defend, roll 1 fewer defense die. After you fully execute a non-stationary ([Stationary]) maneuver, you may flip this card.", + "slots": [ + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/swivelwing-sideb.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/swivelwing-sideb.png" + } + ], + "cost": { + "value": 0 + }, + "restrictions": [ + { + "ships": [ + "gauntletfighter" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Servomotor S-foils", @@ -101,46 +190,70 @@ "title": "Servomotor S-foils (Closed)", "type": "Configuration", "ability": "While you perform a primary attack, roll 1 fewer attack die. Before you activate, you may flip this card.", - "slots": ["Configuration"], + "slots": [ + "Configuration" + ], "actions": [ - { "type": "Boost", "difficulty": "White" }, + { + "type": "Boost", + "difficulty": "White" + }, { "type": "Focus", "difficulty": "White", - "linked": { "difficulty": "Red", "type": "Boost" } + "linked": { + "difficulty": "Red", + "type": "Boost" + } } ], "grants": [ { "type": "action", - "value": { "type": "Boost", "difficulty": "White" } + "value": { + "type": "Boost", + "difficulty": "White" + } }, { "type": "action", "value": { "type": "Focus", "difficulty": "White", - "linked": { "type": "Boost", "difficulty": "Red" } + "linked": { + "type": "Boost", + "difficulty": "Red" + } } } ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_108b.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_108b.jpg", - "ffg": 334 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/servomotorsfoils-sideb.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/servomotorsfoils.png" }, { "title": "Servomotor S-foils (Open)", "type": "Configuration", "ability": "Before you activate, you may flip this card.", - "slots": ["Configuration"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_108.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_108.jpg", - "ffg": 333 + "slots": [ + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/servomotorsfoils.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/servomotorsfoils-sideb.png" } ], - "cost": { "value": 0 }, - "restrictions": [{ "ships": ["t65xwing"] }], - "hyperspace": true + "cost": { + "value": 0 + }, + "restrictions": [ + { + "ships": [ + "t65xwing" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Xg-1 Assault Configuration", @@ -151,16 +264,33 @@ "title": "Xg-1 Assault Configuration", "type": "Configuration", "ability": "While you have exactly 1 disarm token, you can still perform [Cannon] attacks. While you perform a [Cannon] attack while disarmed, roll a maximum of 3 attack dice. Add [Cannon] slot.", - "slots": ["Configuration"], - "grants": [{ "type": "slot", "value": "Cannon", "amount": 1 }], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_126.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_126.jpg", - "ffg": 351 + "slots": [ + "Configuration" + ], + "grants": [ + { + "type": "slot", + "value": "Cannon", + "amount": 1 + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/xg1assaultconfiguration.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/xg1assaultconfiguration.png" + } + ], + "cost": { + "value": 0 + }, + "restrictions": [ + { + "ships": [ + "alphaclassstarwing" + ] } ], - "cost": { "value": 0 }, - "restrictions": [{ "ships": ["alphaclassstarwing"] }], - "hyperspace": false + "standard": false, + "wildspace": true, + "epic": true }, { "name": "Grappling Struts", @@ -171,24 +301,36 @@ "title": "Grappling Struts (Closed)", "type": "Configuration", "ability": "Setup: Equip this side faceup. While you execute a maneuver, if you overlap an asteroid or debris cloud and there are 1 or fewer other friendly ships at range 0 of that obstacle, you may flip this card.", - "slots": ["Configuration"], - "ffg": 555, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/ca74271f47c42b390ca0ba0b389144a5.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/24c35aeb94ef846dc498e4a59fb9bf73.jpg" + "slots": [ + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/grapplingstruts.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/grapplingstruts.png" }, { "title": "Grappling Struts (Open)", "type": "Configuration", "ability": "You ignore obstacles at range 0 and while you move through them. After you reveal your dial, if you reveal a maneuver other than a [2 [Straight]] and are at range 0 of an asteroid or debris cloud, skip your Execute Maneuver step and remove 1 stress token; if you revealed a right or left maneuver, rotate your ship 90° in that direction. After you execute a maneuver, flip this card.", - "slots": ["Configuration"], - "ffg": 535, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/be82da17cfd39003fda380bead210eb9.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/55781f0b97bc691866379ff9e1d6d354.jpg" + "slots": [ + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/grapplingstruts-sideb.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/grapplingstruts-sideb.png" } ], - "restrictions": [{ "ships": ["vultureclassdroidfighter"] }], - "hyperspace": true, - "cost": { "value": 0 } + "restrictions": [ + { + "ships": [ + "vultureclassdroidfighter" + ] + } + ], + "cost": { + "value": 0 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Delta-7B", @@ -198,24 +340,54 @@ { "title": "Delta-7B", "type": "Configuration", - "slots": ["Configuration"], + "slots": [ + "Configuration" + ], "grants": [ - { "type": "stat", "value": "agility", "amount": -1 }, - { "type": "stat", "value": "shields", "amount": 2 }, - { "type": "stat", "value": "attack", "arc": "Front Arc", "amount": 1 } + { + "type": "stat", + "value": "agility", + "amount": -1 + }, + { + "type": "stat", + "value": "shields", + "amount": 2 + }, + { + "type": "stat", + "value": "attack", + "arc": "Front Arc", + "amount": 1 + } ], - "ffg": 548, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/515903e04a0d06a9200860698326896d.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/6530f18639b7efff5a5a659589e5d65c.jpg", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/delta7b.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/delta7b.png", "text": "The Delta-7B was designed as a heavier variant of the Delta-7 Aethersprite-class Interceptor, identifiable by the repositioned astromech slot. Many Jedi Generals favor this craft's greater firepower and durability." } ], "cost": { "variable": "initiative", - "values": { "0": 6, "1": 6, "2": 10, "3": 14, "4": 17, "5": 20, "6": 24 } + "values": { + "0": 15, + "1": 15, + "2": 15, + "3": 15, + "4": 16, + "5": 18, + "6": 22 + } }, - "restrictions": [{ "ships": ["delta7aethersprite"] }], - "hyperspace": true + "restrictions": [ + { + "ships": [ + "delta7aethersprite" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": false }, { "name": "Calibrated Laser Targeting", @@ -225,19 +397,37 @@ { "title": "Calibrated Laser Targeting", "type": "Configuration", - "slots": ["Configuration", "Modification"], + "slots": [ + "Configuration", + "Modification" + ], "ability": "While you perform a primary attack, if the defender is in your [Bullseye Arc], add 1 [Focus] result.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/f3e06326ab525e07f9a85363b6d69580.png", - "ffg": 549, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/ffe9b36272a15f7c5e2ba2fa075d27dd.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/calibratedlasertargeting.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/calibratedlasertargeting.png" } ], "cost": { "variable": "initiative", - "values": { "0": 2, "1": 2, "2": 3, "3": 4, "4": 5, "5": 6, "6": 7 } + "values": { + "0": 2, + "1": 2, + "2": 3, + "3": 4, + "4": 5, + "5": 6, + "6": 7 + } }, - "restrictions": [{ "ships": ["delta7aethersprite"] }], - "hyperspace": true + "restrictions": [ + { + "ships": [ + "delta7aethersprite" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Landing Struts", @@ -248,292 +438,425 @@ "title": "Landing Struts (Closed)", "type": "Configuration", "ability": "Setup: Equip this side faceup. While you execute a maneuver, if you overlap an asteroid or debris cloud and there are 1 or fewer other friendly ships at range 0 of that obstacle, you may flip this card.", - "slots": ["Configuration"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/c23a0130bad7330c0abb6218745910aa.png", - "ffg": 594, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/1340d2e5df785275c674d2be07379bf1.jpg" + "slots": [ + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/landingstruts.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/landingstruts.png" }, { "title": "Landing Struts (Open)", "type": "Configuration", "ability": "You ignore obstacles at range 0 and while you move through them. After you reveal your dial, if you reveal a maneuver other than a [2 [Straight]] and are at range 0 of an asteroid or debris cloud, skip your Execute Maneuver step and remove 1 stress token; if you revealed a right or left maneuver, rotate your ship 90° in that direction. After you execute a maneuver, flip this card.", - "slots": ["Configuration"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/aba79159308e850b635f6c43721ccdee.png", - "ffg": 595, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/172286420e4263a098c3a2ecb0e73ce2.jpg" + "slots": [ + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/landingstruts-sideb.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/landingstruts-sideb.png" } ], - "restrictions": [{ "ships": ["hyenaclassdroidbomber"] }], - "hyperspace": true, - "cost": { "value": 0 } + "cost": { + "value": 0 + }, + "restrictions": [ + { + "ships": [ + "hyenaclassdroidbomber" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Corsair Refit", "limited": 2, "xws": "corsairrefit", - "hyperspace": false, "sides": [ { "ability": "Add [Cannon], [Turret], and [Missile] slots. Bonus Attack: Spend 1 [Energy] to perform a [Cannon], [Turret], or [Missile] attack.", "title": "Corsair Refit", "type": "Configuration", - "slots": ["Configuration"], + "slots": [ + "Configuration" + ], "grants": [ - { "type": "slot", "value": "cannon", "amount": 1 }, - { "type": "slot", "value": "turret", "amount": 1 }, - { "type": "slot", "value": "missile", "amount": 1 }, - { "type": "stat", "value": "hull", "amount": 2 }, - { "type": "stat", "value": "shields", "amount": -2 }, - { "type": "stat", "value": "energy", "amount": 1 } + { + "type": "slot", + "value": "cannon", + "amount": 1 + }, + { + "type": "slot", + "value": "turret", + "amount": 1 + }, + { + "type": "slot", + "value": "missile", + "amount": 1 + }, + { + "type": "stat", + "value": "hull", + "amount": 2 + }, + { + "type": "stat", + "value": "shields", + "amount": -2 + }, + { + "type": "stat", + "value": "energy", + "amount": 1 + } ], - "ffg": 780, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/fe/93/fe93367f-f999-477a-9e52-7be684649ff7/swz55_corsair-refit_card.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/1ee2df3c1a0ce5aa60439927e2d1e9ca.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/corsairrefit.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/corsairrefit.png" } ], - "cost": { "value": 6 } + "cost": { + "value": 6 + }, + "restrictions": [ + { + "ships": [ + "croccruiser" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Stabilized S-foils", "limited": 0, "xws": "stabilizedsfoils", - "hyperspace": true, "sides": [ { "ability": "Before you activate, if you are not critically damaged, you may flip this card.", "title": "Stabilized S-foils (Closed)", "type": "Configuration", - "slots": ["Configuration"], + "slots": [ + "Configuration" + ], "grants": [ { "type": "action", "value": { "type": "Barrel Roll", "difficulty": "White", - "linked": { "type": "Evade", "difficulty": "Red" } + "linked": { + "type": "Evade", + "difficulty": "Red" + } } }, { "type": "action", - "value": { "type": "Reload", "difficulty": "Red" } + "value": { + "type": "Reload", + "difficulty": "Red" + } } ], - "ffg": 646, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/80efc4163ceb2000a6981b9851c3d1a9.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/77f37d94be3977d6d573219dd6462c2b.png" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/stabilizedsfoils.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/stabilizedsfoils-sideb.png" }, { "ability": "After you perform an attack, you may spend your lock on the defender to perform a bonus [Cannon] attack against that ship using a [Cannon] upgrade you have not attacked with this turn. Before you activate, if you are not critically damaged, you may flip this card.", "title": "Stabilized S-foils (Open)", "type": "Configuration", - "slots": ["Configuration"], + "slots": [ + "Configuration" + ], "grants": [ { "type": "action", "value": { "type": "Barrel Roll", "difficulty": "White", - "linked": { "type": "Lock", "difficulty": "Red" } + "linked": { + "type": "Lock", + "difficulty": "Red" + } } } ], - "ffg": 645, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/e6316661a866ec6d474363d135ae75d4.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/f03c2baf5b0a095e28948f03468cc5d2.png" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/stabilizedsfoils-sideb.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/stabilizedsfoils.png" } ], - "cost": { "value": 0 } + "cost": { + "value": 0 + }, + "standard": true, + "wildspace": true, + "epic": true }, { + "name": "Repulsorlift Stabilizers", + "limited": 0, + "xws": "repulsorliftstabilizers", "sides": [ { - "ffg": 692, "title": "Repulsorlift Stabilizers (Inactive)", "type": "Configuration", - "slots": ["Configuration"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/b16d22d90b1b5048a15cf1734334d8fa.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/d159e1d6ffc15eda188f858292dc9c2b.png", + "slots": [ + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/repulsorliftstabilizers.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/repulsorliftstabilizers.png", "ability": "Setup: Equip this side faceup. Reduce the difficulty of your straight ([Straight]) maneuvers. After you fully execute a maneuver, you may flip this card." }, { - "ffg": 691, "title": "Repulsorlift Stabilizers (Active)", "type": "Configuration", - "slots": ["Configuration"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/37c67b48073cea976e4b6a6949976aee.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/57074bd7f510c9c4fd3717894e0239a0.png", + "slots": [ + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/repulsorliftstabilizers-sideb.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/repulsorliftstabilizers-sideb.png", "ability": "After you reveal a bank ([Bank Left] or [Bank Right]) or turn ([Turn Left] or [Turn Right]) maneuver, you must perform that maneuver as a sideslip, then flip this card. After you fully execute a non-sideslip maneuver, you may flip this card." } ], - "name": "Repulsorlift Stabilizers", - "cost": { "value": 0 }, - "limited": 0, - "xws": "repulsorliftstabilizers", - "hyperspace": true + "cost": { + "value": 0 + }, + "standard": true, + "wildspace": true, + "epic": true }, { - "name": "Alpha-3B \"Besh\"", + "name": "Alpha-3B “Besh”", "limited": 0, "xws": "alpha3bbesh", - "hyperspace": true, "sides": [ { "ability": "While you perform a primary attack, you may spend your lock on the defender to change 1 of your blank or [Focus] results to a [Hit] result. Add [Device] slot.", - "title": "Alpha-3B \"Besh\"", + "title": "Alpha-3B “Besh”", "type": "Configuration", - "slots": ["Configuration"], - "ffg": 870, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/2e6d4fc53253cdf04086649b7eaf917a.jpg" + "slots": [ + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/alpha3bbesh.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/alpha3bbesh.png" } ], - "cost": { "value": 1 } + "cost": { + "value": 0 + }, + "standard": true, + "wildspace": true, + "epic": true }, { - "name": "Alpha-3E \"Esk\"", + "name": "Alpha-3E “Esk”", "limited": 0, "xws": "alpha3eesk", - "hyperspace": true, "sides": [ { "ability": "While you perform a primary attack, before rolling attack dice, you may spend 2 [Charge]. If you do, your [Critical Hit] results inflict ion tokens instead of damage.", - "title": "Alpha-3E \"Esk\"", + "title": "Alpha-3E “Esk”", "type": "Configuration", - "slots": ["Configuration"], - "charges": { "value": 2, "recovers": 1 }, - "ffg": 871, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/678c7a36aacdd1cc20b61287df2fc0d9.jpg" + "slots": [ + "Configuration" + ], + "charges": { + "value": 2, + "recovers": 1 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/alpha3eesk.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/alpha3eesk.png" } ], - "cost": { "value": 0 } + "cost": { + "value": 0 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Intercept Booster", "limited": 0, "xws": "interceptbooster", - "hyperspace": true, "sides": [ { "ability": "Setup: Equip this side faceup. During the System Phase, gain 1 disarm token unless you flip this card. At the end of the End Phase, if you have no active [Charge], flip this card.", "title": "Intercept Booster (Attached)", "type": "Configuration", - "slots": ["Configuration"], - "charges": { "value": 3, "recovers": -1 }, + "slots": [ + "Configuration" + ], + "charges": { + "value": 3, + "recovers": -1 + }, "grants": [ { "type": "action", "value": { "type": "SLAM", "difficulty": "White", - "linked": { "type": "Lock", "difficulty": "Red" } + "linked": { + "type": "Lock", + "difficulty": "Red" + } } } ], - "ffg": 873, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/e0d4a33513507acf6852de1329ad7b85.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/interceptbooster.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/interceptbooster.png" }, { "text": "Unhindered by the frailty of an organic pilot, Droid Tri-Fighters are capable of radical acceleration and acute maneuvering. Fitted with booster rockets and fired from the missile tubes of Separatist capital ships, they can intercept hostiles well beyond the range of conventionally deployed starfighters.", "title": "Intercept Booster (Detached)", "type": "Configuration", - "slots": ["Configuration"], - "ffg": 872, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/1c125de5b479dbc58f1a0bc2ec770ed3.jpg" + "slots": [ + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/interceptbooster-sideb.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/interceptbooster-sideb.png" } ], - "cost": { "value": 1 } + "cost": { + "value": 0 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Maneuver-Assist MGK-300", "limited": 0, "xws": "maneuverassistmgk300", - "hyperspace": true, "sides": [ { "ability": "Reduce the difficulty of your speed 3 straight ([Straight]) and bank ([Bank Left] or [Bank Right]) maneuvers.", "title": "Maneuver-Assist MGK-300", "type": "Configuration", - "slots": ["Configuration"], + "slots": [ + "Configuration" + ], "grants": [ { "type": "action", - "value": { "type": "Calculate", "difficulty": "White" } + "value": { + "type": "Calculate", + "difficulty": "White" + } }, { "type": "action", "value": { "type": "Barrel Roll", "difficulty": "White", - "linked": { "type": "Calculate", "difficulty": "Red" } + "linked": { + "type": "Calculate", + "difficulty": "Red" + } } } ], - "ffg": 722, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/8b7bc25a4c99fafd0c61ac6efb1129ae.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/maneuverassistmgk300.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/maneuverassistmgk300.png" } ], - "cost": { "value": 0 } + "cost": { + "value": 0 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Target-Assist MGK-300", "limited": 0, "xws": "targetassistmgk300", - "hyperspace": true, "sides": [ { "ability": "Before you engage, if you have no green tokens and you are not stressed, gain 1 calculate token for each enemy ship at range 2-3 in your firing arc, to a maximum of 2.", "title": "Target-Assist MGK-300", "type": "Configuration", - "slots": ["Configuration"], + "slots": [ + "Configuration" + ], "grants": [ { "type": "action", - "value": { "type": "Calculate", "difficulty": "White" } + "value": { + "type": "Calculate", + "difficulty": "White" + } }, { "type": "action", "value": { "type": "Rotate Arc", "difficulty": "White", - "linked": { "type": "Calculate", "difficulty": "White" } + "linked": { + "type": "Calculate", + "difficulty": "White" + } } } ], - "ffg": 723, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/954401c2bc0cc705693553362d078536.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/targetassistmgk300.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/targetassistmgk300.png" } ], - "cost": { "value": 1 } + "cost": { + "value": 2 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Sensitive Controls", "limited": 0, "xws": "sensitivecontrols", - "hyperspace": true, "sides": [ { "ability": "Replace your Autothrusters ship ability with the following:", "shipAbility": { - "name": "Sensitive Controls", - "text": "During the System Phase, you may perform a red [Barrel Roll] or red [Boost] action." + "name": "Sensitive Controls", + "text": "During the System Phase, you may perform a red [Barrel Roll] or red [Boost] action." }, "title": "Sensitive Controls", "type": "Configuration", - "slots": ["Configuration"], - "ffg": 924, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/d6fbd4fb3e406c87af923912d0ff866c.jpg" + "slots": [ + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/sensitivecontrols.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/sensitivecontrols.png" } ], "restrictions": [ - { "shipAbility": ["Autothrusters"] }, - { "standardized": true } + { + "shipAbility": [ + "Autothrusters" + ] + }, + { + "standardized": true + } ], - "cost": { "value": 0 } + "cost": { + "value": 0 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "TIE Defender Elite", "limited": 0, "xws": "tiedefenderelite", - "hyperspace": true, "sides": [ { "ability": "Decrease the difficulty of your turn [[Turn Left] or [Turn Right]] maneuvers. Increase the difficulty of your Koiogran Turn [[Koiogran Turn]] maneuvers. Replace your Full Throttle ship ability with the following:", @@ -543,23 +866,39 @@ }, "title": "TIE Defender Elite", "type": "Configuration", - "slots": ["Configuration"], - "ffg": 925, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a70e6ac15fdc103d5ee2dd50aa315f9c.jpg" + "slots": [ + "Configuration" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/tiedefenderelite.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/tiedefenderelite.png" } ], "restrictions": [ - { "factions": ["Galactic Empire"] }, - { "ships": ["tieddefender"] }, - { "standardized": true } + { + "factions": [ + "galacticempire" + ] + }, + { + "ships": [ + "tieddefender" + ] + }, + { + "standardized": true + } ], - "cost": { "value": 0 } + "cost": { + "value": -8 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Vectored Cannons (RZ-1)", "limited": 0, "xws": "vectoredcannonsrz1", - "hyperspace": true, "sides": [ { "ability": "Gain a [Single Turret Arc] indicator. Treat the arc requirement of your [Front Arc] primary attack as [Single Turret Arc]. Replace your Vectored Thrusters ship ability with the following:", @@ -569,7 +908,9 @@ }, "title": "Vectored Cannons (RZ-1)", "type": "Configuration", - "slots": ["Configuration"], + "slots": [ + "Configuration" + ], "attack": { "arc": "Single Turret Arc", "value": 2, @@ -577,16 +918,32 @@ "maxrange": 3, "ordnance": false }, - "grants": [{ "type": "arc", "value": "Single Turret Arc" }], - "ffg": 926, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/fb4cf1a8b51ab44fddee4c9dfbc280a8.jpg" + "grants": [ + { + "type": "arc", + "value": "Single Turret Arc" + } + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/vectoredcannonsrz1.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/vectoredcannonsrz1.png" } ], + "cost": { + "value": 0 + }, "restrictions": [ - { "shipAbility": ["Vectored Thrusters"] }, - { "standardized": true } + { + "shipAbility": [ + "Vectored Thrusters" + ] + }, + { + "standardized": true + } ], - "cost": { "value": 0 } + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Wartime Loadout", @@ -596,7 +953,10 @@ { "title": "Wartime Loadout", "type": "Configuration", - "slots": ["Configuration", "Modification"], + "slots": [ + "Configuration", + "Modification" + ], "ability": "Gain 1 [Torpedo] slot and 1 [Missile] slot. Replace your ship ability with the following:", "shipAbility": { "name": "Devastating Barrage", @@ -605,22 +965,44 @@ "grants": [ { "type": "action", - "value": { "type": "Lock", "difficulty": "White" } + "value": { + "type": "Lock", + "difficulty": "White" + } }, { "type": "action", - "value": { "type": "Reload", "difficulty": "White" } + "value": { + "type": "Reload", + "difficulty": "White" + } }, - { "type": "stat", "value": "shields", "amount": 2 } + { + "type": "stat", + "value": "shields", + "amount": 2 + } ], - "image": "???", - "ffg": 929, - "artwork": "???" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/wartimeloadout.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/wartimeloadout.png" + } + ], + "cost": { + "value": 5 + }, + "restrictions": [ + { + "ships": [ + "btanr2ywing" + ] + }, + { + "standardized": true } ], - "cost": { "value": 4 }, - "restrictions": [{ "ships": ["btanr2ywing"] }, { "standardized": true }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Enhanced Jamming Suite", @@ -630,7 +1012,10 @@ { "title": "Enhanced Jamming Suite", "type": "Configuration", - "slots": ["Configuration", "Tech"], + "slots": [ + "Configuration", + "Tech" + ], "ability": "While you jam, you can choose yourself or another friendly ship. While you defend, if the attacker has no green tokens or there is a jammed ship in the attack arc, you may roll 1 additional defense die.", "grants": [ { @@ -638,7 +1023,10 @@ "value": { "type": "Focus", "difficulty": "White", - "linked": { "type": "Jam", "difficulty": "White" } + "linked": { + "type": "Jam", + "difficulty": "White" + } } }, { @@ -646,7 +1034,10 @@ "value": { "type": "Barrel Roll", "difficulty": "White", - "linked": { "type": "Jam", "difficulty": "White" } + "linked": { + "type": "Jam", + "difficulty": "White" + } } }, { @@ -654,21 +1045,78 @@ "value": { "type": "Boost", "difficulty": "White", - "linked": { "type": "Jam", "difficulty": "White" } + "linked": { + "type": "Jam", + "difficulty": "White" + } } }, { "type": "action", - "value": { "type": "Jam", "difficulty": "White" } + "value": { + "type": "Jam", + "difficulty": "White" + } } ], - "image": "???", - "ffg": 933, - "artwork": "???" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/enhancedjammingsuite.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/enhancedjammingsuite.png" + } + ], + "cost": { + "value": 0 + }, + "restrictions": [ + { + "ships": [ + "tiewiwhispermodifiedinterceptor" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "L3-37's Programming", + "limited": 1, + "xws": "l337sprogramming-battleofyavin", + "sides": [ + { + "title": "L3-37's Programming", + "type": "Configuration", + "ability": "If you are not shielded, decrease the difficulty of your bank ([Bank Left] and [Bank Right]) maneuvers.", + "slots": [ + "Configuration" + ] + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "Strut-Lock Override", + "limited": 0, + "xws": "strutlockoverride-siegeofcoruscant", + "sides": [ + { + "title": "Strut-Lock Override", + "type": "Configuration", + "ability": "At the start of your activation, you may spend 1 [Charge]. If you do, ignore obstacles while you move through them this round.", + "charges": { + "value": 2, + "recovers": 0 + }, + "slots": [ + "Configuration" + ] } ], - "cost": { "value": 0 }, - "restrictions": [{ "ships": ["tiewiwhispermodifiedinterceptor"] }], - "hyperspace": false + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true } -] +] \ No newline at end of file diff --git a/data/upgrades/crew.json b/data/upgrades/crew.json index cfb90c6e4..e55d0c936 100644 --- a/data/upgrades/crew.json +++ b/data/upgrades/crew.json @@ -1,41 +1,63 @@ [ { - "name": "\"Chopper\"", + "name": "“Chopper”", "limited": 1, "xws": "chopper-crew", "sides": [ { - "title": "\"Chopper\"", + "title": "“Chopper”", "type": "Crew", "ability": "During the Perform Action step, you may perform 1 action, even while stressed. After you perform an action while stressed, suffer 1 [Hit] damage unless you expose 1 of your damage cards.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_83.png", - "slots": ["Crew"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_83.jpg", - "ffg": 307 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/chopper-crew.png", + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/chopper-crew.png" + } + ], + "cost": { + "value": 1 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] } ], - "cost": { "value": 1 }, - "restrictions": [{ "factions": ["Rebel Alliance"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { - "name": "\"Zeb\" Orrelios", + "name": "“Zeb” Orrelios", "limited": 1, "xws": "zeborrelios", "sides": [ { - "title": "\"Zeb\" Orrelios", + "title": "“Zeb” Orrelios", "type": "Crew", "ability": "You can perform primary attacks at range 0. Enemy ships at range 0 can perform primary attacks against you.", - "slots": ["Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_94.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_94.jpg", - "ffg": 318 + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/zeborrelios.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/zeborrelios.png" + } + ], + "cost": { + "value": 1 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] } ], - "cost": { "value": 1 }, - "restrictions": [{ "factions": ["Rebel Alliance"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "0-0-0", @@ -46,17 +68,29 @@ "title": "0-0-0", "type": "Crew", "ability": "At the start of the Engagement Phase, you may choose 1 enemy ship at range 0-1. If you do, you gain 1 calculate token unless that ship chooses to gain 1 stress token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_127.png", - "slots": ["Crew"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_127.jpg", - "ffg": 352 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/000.png", + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/000.png" } ], - "cost": { "value": 5 }, + "cost": { + "value": 5 + }, "restrictions": [ - { "factions": ["Scum and Villainy"], "names": ["Darth Vader"] } + { + "factions": [ + "scumandvillainy" + ], + "names": [ + "Darth Vader" + ] + } ], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "4-LOM", @@ -67,15 +101,26 @@ "title": "4-LOM", "type": "Crew", "ability": "While you perform an attack, after rolling attack dice, you may name a type of green token. If you do, gain 2 ion tokens and, during this attack, the defender cannot spend tokens of the named type.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_128.png", - "slots": ["Crew"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_128.jpg", - "ffg": 353 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/4lom.png", + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/4lom.png" } ], - "cost": { "value": 2 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }], - "hyperspace": false + "cost": { + "value": 2 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Admiral Sloane", @@ -86,15 +131,26 @@ "title": "Admiral Sloane", "type": "Crew", "ability": "After another friendly ship at range 0-3 defends, if it is destroyed, the attacker gains 2 stress tokens. While a friendly ship at range 0-3 performs an attack against a stressed ship, it may reroll 1 attack die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_109.png", - "slots": ["Crew"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_109.jpg", - "ffg": 335 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/admiralsloane.png", + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/admiralsloane.png" } ], - "cost": { "value": 16 }, - "restrictions": [{ "factions": ["Galactic Empire"] }], - "hyperspace": false + "cost": { + "value": 18 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Agent Kallus", @@ -105,16 +161,29 @@ "title": "Agent Kallus", "type": "Crew", "ability": "Setup: After placing forces, assign the Hunted condition to 1 enemy ship. While you perform an attack against the ship with the Hunted condition, you may change 1 of your [Focus] results to a [Hit] result.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/5e9b30fb5a437355afd9d17d8700bd9c.png", - "conditions": ["hunted"], - "slots": ["Crew"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_110.jpg", - "ffg": 336 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/agentkallus.png", + "conditions": [ + "hunted" + ], + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/agentkallus.png" + } + ], + "cost": { + "value": 5 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] } ], - "cost": { "value": 5 }, - "restrictions": [{ "factions": ["Galactic Empire"] }], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Baze Malbus", @@ -125,15 +194,26 @@ "title": "Baze Malbus", "type": "Crew", "ability": "While you perform a [Focus] action, you may treat it as red. If you do, gain 1 additional focus token for each enemy ship at range 0-1, to a maximum of 2.", - "slots": ["Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_79.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_79.jpg", - "ffg": 303 + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/bazemalbus.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/bazemalbus.png" + } + ], + "cost": { + "value": 3 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] } ], - "cost": { "value": 3 }, - "restrictions": [{ "factions": ["Rebel Alliance"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Boba Fett", @@ -144,15 +224,26 @@ "title": "Boba Fett", "type": "Crew", "ability": "Setup: Start in reserve. At the end of Setup, place yourself at range 0 of an obstacle and beyond range 3 of any enemy ship.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_129.png", - "slots": ["Crew"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_129.jpg", - "ffg": 354 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/bobafett.png", + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/bobafett.png" + } + ], + "cost": { + "value": 2 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] } ], - "cost": { "value": 2 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "C-3PO", @@ -163,22 +254,41 @@ "title": "C-3PO", "type": "Crew", "ability": "Before rolling defense dice, you may spend 1 calculate token to guess aloud a number 1 or higher. If you do and you roll exactly that many [Evade] results, add 1 [Evade] result. After you perform the [Calculate] action, gain 1 calculate token.", - "slots": ["Crew"], - "actions": [{ "type": "Calculate", "difficulty": "White" }], + "slots": [ + "Crew" + ], + "actions": [ + { + "type": "Calculate", + "difficulty": "White" + } + ], "grants": [ { "type": "action", - "value": { "type": "Calculate", "difficulty": "White" } + "value": { + "type": "Calculate", + "difficulty": "White" + } } ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_80.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_80.jpg", - "ffg": 304 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/c3po.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/c3po.png" } ], - "cost": { "value": 7 }, - "restrictions": [{ "factions": ["Rebel Alliance"] }], - "hyperspace": true + "cost": { + "value": 7 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Cad Bane", @@ -189,15 +299,26 @@ "title": "Cad Bane", "type": "Crew", "ability": "After you drop or launch a device, you may perform a red [Boost] action.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_130.png", - "slots": ["Crew"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_130.jpg", - "ffg": 355 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/cadbane.png", + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/cadbane.png" } ], - "cost": { "value": 3 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }], - "hyperspace": false + "cost": { + "value": 3 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Captain Phasma", @@ -208,15 +329,26 @@ "title": "Captain Phasma", "type": "Crew", "ability": "At the end of the Engagement Phase, each enemy ship at range 0-1 that is not stressed gains 1 stress token.", - "slots": ["Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/784566afc8c540d5e392689865207059.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/71ad5db561ea39d9d59c4bbdc1b42f35.jpg", - "ffg": 465 + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/captainphasma.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/captainphasma.png" } ], - "cost": { "value": 5 }, - "restrictions": [{ "factions": ["First Order"] }], - "hyperspace": false + "cost": { + "value": 5 + }, + "restrictions": [ + { + "factions": [ + "firstorder" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Cassian Andor", @@ -227,15 +359,26 @@ "title": "Cassian Andor", "type": "Crew", "ability": "During the System Phase, you may choose 1 enemy ship at range 1-2 and guess aloud a bearing and speed, then look at that ship's dial. If the chosen ship's bearing and speed match your guess, you may set your dial to another maneuver.", - "slots": ["Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_81.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_81.jpg", - "ffg": 305 + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/cassianandor.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/cassianandor.png" } ], - "cost": { "value": 5 }, - "restrictions": [{ "factions": ["Rebel Alliance"] }], - "hyperspace": false + "cost": { + "value": 5 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Chewbacca", @@ -246,16 +389,30 @@ "title": "Chewbacca", "type": "Crew", "ability": "At the start of the Engagement Phase, you may spend 2 [Charge] to repair 1 faceup damage card.", - "slots": ["Crew"], - "charges": { "value": 2, "recovers": 1 }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_82.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_82.jpg", - "ffg": 306 + "slots": [ + "Crew" + ], + "charges": { + "value": 2, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/chewbacca.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/chewbacca.png" } ], - "cost": { "value": 3 }, - "restrictions": [{ "factions": ["Rebel Alliance"] }], - "hyperspace": true + "cost": { + "value": 3 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Chewbacca", @@ -266,15 +423,26 @@ "title": "Chewbacca", "type": "Crew", "ability": "At the start of the End Phase, you may spend 1 focus token to repair 1 of your faceup damage cards.", - "slots": ["Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_157.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_157.jpg", - "ffg": 382 + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/chewbacca-crew.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/chewbacca-crew.png" } ], - "cost": { "value": 3 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }], - "hyperspace": false + "cost": { + "value": 3 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Ciena Ree", @@ -285,18 +453,31 @@ "title": "Ciena Ree", "type": "Crew", "ability": "After you perform a [Coordinate] action, if the ship you coordinated performed a [Barrel Roll] or [Boost] action, it may gain 1 stress token to rotate 90°.", - "slots": ["Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_111.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_111.jpg", - "ffg": 337 + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/cienaree.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/cienaree.png" } ], - "cost": { "value": 4 }, + "cost": { + "value": 4 + }, "restrictions": [ - { "factions": ["Galactic Empire"] }, - { "action": { "type": "Coordinate" } } + { + "factions": [ + "galacticempire" + ] + }, + { + "action": { + "type": "Coordinate" + } + } ], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Cikatro Vizago", @@ -307,15 +488,26 @@ "title": "Cikatro Vizago", "type": "Crew", "ability": "During the End Phase, you may choose 2 [Illicit] upgrades equipped to friendly ships at range 0-1. If you do, you may exchange these upgrades. End of Game: Return all [Illicit] upgrades to their original ships.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_131.png", - "slots": ["Crew"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_131.jpg", - "ffg": 356 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/cikatrovizago.png", + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/cikatrovizago.png" } ], - "cost": { "value": 1 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }], - "hyperspace": false + "cost": { + "value": 1 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Darth Vader", @@ -326,16 +518,30 @@ "title": "Darth Vader", "type": "Crew", "ability": "At the start of the Engagement Phase, you may choose 1 ship in your firing arc at range 0-2 and spend 1 [Force]. If you do, that ship suffers 1 [Hit] damage unless it chooses to remove 1 green token.", - "slots": ["Crew"], - "force": { "value": 1, "recovers": 1 }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_112.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_112.jpg", - "ffg": 338 + "slots": [ + "Crew" + ], + "force": { + "value": 1, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/darthvader.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/darthvader.png" } ], - "cost": { "value": 14 }, - "restrictions": [{ "factions": ["Galactic Empire"] }], - "hyperspace": true + "cost": { + "value": 16 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Death Troopers", @@ -346,15 +552,27 @@ "title": "Death Troopers", "type": "Crew", "ability": "During the Activation Phase, enemy ships at range 0-1 cannot remove stress tokens.", - "slots": ["Crew", "Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_113.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_113.jpg", - "ffg": 339 + "slots": [ + "Crew", + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/deathtroopers.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/deathtroopers.png" } ], - "cost": { "value": 6 }, - "restrictions": [{ "factions": ["Galactic Empire"] }], - "hyperspace": true + "cost": { + "value": 6 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Director Krennic", @@ -365,29 +583,50 @@ "title": "Director Krennic", "type": "Crew", "ability": "Setup: Before placing forces, assign the Optimized Prototype condition to another friendly ship.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_114.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/directorkrennic.png", "alt": [ { "image": "https://images-cdn.fantasyflightgames.com/filer_public/10/21/1021c262-702e-4857-9204-35756e051c2c/g18xs_krennic2nd.png", "source": "Store Championship 2018" } ], - "conditions": ["optimizedprototype"], - "slots": ["Crew"], - "actions": [{ "type": "Lock", "difficulty": "White" }], + "conditions": [ + "optimizedprototype" + ], + "slots": [ + "Crew" + ], + "actions": [ + { + "type": "Lock", + "difficulty": "White" + } + ], "grants": [ { "type": "action", - "value": { "type": "Lock", "difficulty": "White" } + "value": { + "type": "Lock", + "difficulty": "White" + } } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_114.jpg", - "ffg": 340 + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/directorkrennic.png" } ], - "cost": { "value": 4 }, - "restrictions": [{ "factions": ["Galactic Empire"] }], - "hyperspace": false + "cost": { + "value": 4 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Emperor Palpatine", @@ -398,16 +637,31 @@ "title": "Emperor Palpatine", "type": "Crew", "ability": "While another friendly ship defends or performs an attack, you may spend 1 [Force] to modify 1 of its dice as though that ship had spent 1 [Force].", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_115.png", - "slots": ["Crew", "Crew"], - "force": { "value": 1, "recovers": 1 }, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_115.jpg", - "ffg": 341 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/emperorpalpatine.png", + "slots": [ + "Crew", + "Crew" + ], + "force": { + "value": 1, + "recovers": 1 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/emperorpalpatine.png" } ], - "cost": { "value": 12 }, - "restrictions": [{ "factions": ["Galactic Empire"] }], - "hyperspace": true + "cost": { + "value": 12 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Freelance Slicer", @@ -418,14 +672,19 @@ "title": "Freelance Slicer", "type": "Crew", "ability": "While you defend, before attack dice are rolled, you may spend a lock you have on the attacker to roll 1 attack die. If you do, the attacker gains 1 jam token. Then, on a [Hit] or [Critical Hit] result, gain 1 jam token.", - "slots": ["Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_42.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_42.jpg", - "ffg": 271 + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/freelanceslicer.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/freelanceslicer.png" } ], - "cost": { "value": 3 }, - "hyperspace": true + "cost": { + "value": 2 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "General Hux", @@ -436,34 +695,53 @@ "title": "General Hux", "type": "Crew", "ability": "While you perform a white [Coordinate] action, you may treat it as red. If you do, you may coordinate up to 2 additional ships of the same ship type, and each ship you coordinate must perform the same action, treating that action as red.", - "slots": ["Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/fa0b8492eff625bc66f00bd561015465.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/94bee4960ca0fb907ba77d5cb2ff7abb.jpg", - "ffg": 466 + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/generalhux.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/generalhux.png" + } + ], + "cost": { + "value": 2 + }, + "restrictions": [ + { + "factions": [ + "firstorder" + ] } ], - "cost": { "value": 3 }, - "restrictions": [{ "factions": ["First Order"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { - "name": "GNK \"Gonk\" Droid", + "name": "GNK “Gonk” Droid", "limited": 0, "xws": "gnkgonkdroid", "sides": [ { - "title": "GNK \"Gonk\" Droid", + "title": "GNK “Gonk” Droid", "type": "Crew", "ability": "Setup: Lose 1 [Charge]. Action: Recover 1 [Charge]. Action: Spend 1 [Charge] to recover 1 shield.", - "slots": ["Crew"], - "charges": { "value": 1, "recovers": 0 }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_43.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_43.jpg", - "ffg": 272 + "slots": [ + "Crew" + ], + "charges": { + "value": 1, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/gnkgonkdroid.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/gnkgonkdroid.png" } ], - "cost": { "value": 5 }, - "hyperspace": false + "cost": { + "value": 5 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Grand Inquisitor", @@ -474,16 +752,30 @@ "title": "Grand Inquisitor", "type": "Crew", "ability": "After an enemy ship at range 0-2 reveals its dial, you may spend 1 [Force] to perform 1 white action on your action bar, treating that action as red.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_116.png", - "slots": ["Crew"], - "force": { "value": 1, "recovers": 1 }, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_116.jpg", - "ffg": 342 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/grandinquisitor.png", + "slots": [ + "Crew" + ], + "force": { + "value": 1, + "recovers": 1 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/grandinquisitor.png" + } + ], + "cost": { + "value": 13 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] } ], - "cost": { "value": 13 }, - "restrictions": [{ "factions": ["Galactic Empire"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Grand Moff Tarkin", @@ -494,19 +786,35 @@ "title": "Grand Moff Tarkin", "type": "Crew", "ability": "During the System Phase, you may spend 2 [Charge]. If you do, each friendly ship may acquire a lock on a ship that you have locked.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_117.png", - "slots": ["Crew"], - "charges": { "value": 2, "recovers": 1 }, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_117.jpg", - "ffg": 343 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/grandmofftarkin.png", + "slots": [ + "Crew" + ], + "charges": { + "value": 2, + "recovers": 1 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/grandmofftarkin.png" } ], - "cost": { "value": 4 }, + "cost": { + "value": 4 + }, "restrictions": [ - { "factions": ["Galactic Empire"] }, - { "action": { "type": "Lock" } } + { + "factions": [ + "galacticempire" + ] + }, + { + "action": { + "type": "Lock" + } + } ], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Hera Syndulla", @@ -517,15 +825,26 @@ "title": "Hera Syndulla", "type": "Crew", "ability": "You can execute red maneuvers even while stressed. After you fully execute a red maneuver, if you have 3 or more stress tokens, remove 1 stress token and suffer 1 [Hit] damage.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_84.png", - "slots": ["Crew"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_84.jpg", - "ffg": 308 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/herasyndulla.png", + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/herasyndulla.png" + } + ], + "cost": { + "value": 4 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] } ], - "cost": { "value": 4 }, - "restrictions": [{ "factions": ["Rebel Alliance"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "IG-88D", @@ -536,22 +855,41 @@ "title": "IG-88D", "type": "Crew", "ability": "You have the pilot ability of each other friendly ship with the IG-2000 upgrade. After you perform a [Calculate] action, gain 1 calculate token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_132.png", - "slots": ["Crew"], - "actions": [{ "type": "Calculate", "difficulty": "White" }], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ig88d.png", + "slots": [ + "Crew" + ], + "actions": [ + { + "type": "Calculate", + "difficulty": "White" + } + ], "grants": [ { "type": "action", - "value": { "type": "Calculate", "difficulty": "White" } + "value": { + "type": "Calculate", + "difficulty": "White" + } } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_132.jpg", - "ffg": 357 + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ig88d.png" + } + ], + "cost": { + "value": 3 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] } ], - "cost": { "value": 3 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "ISB Slicer", @@ -562,15 +900,26 @@ "title": "ISB Slicer", "type": "Crew", "ability": "During the End Phase, enemy ships at range 1-2 cannot remove jam tokens.", - "slots": ["Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_118.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_118.jpg", - "ffg": 344 + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/isbslicer.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/isbslicer.png" + } + ], + "cost": { + "value": 1 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] } ], - "cost": { "value": 1 }, - "restrictions": [{ "factions": ["Galactic Empire"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Informant", @@ -581,15 +930,22 @@ "title": "Informant", "type": "Crew", "ability": "Setup: After placing forces, choose 1 enemy ship and assign the Listening Device condition to it.", - "conditions": ["listeningdevice"], - "slots": ["Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_44.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_44.jpg", - "ffg": 273 + "conditions": [ + "listeningdevice" + ], + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/informant.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/informant.png" } ], - "cost": { "value": 4 }, - "hyperspace": false + "cost": { + "value": 4 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Jabba the Hutt", @@ -600,16 +956,31 @@ "title": "Jabba the Hutt", "type": "Crew", "ability": "During the End Phase, you may choose 1 friendly ship at range 0-2 and spend 1 [Charge]. If you do, that ship recovers 1 [Charge] on 1 of its equipped [Illicit] upgrades.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_133.png", - "slots": ["Crew", "Crew"], - "charges": { "value": 4, "recovers": 0 }, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_133.jpg", - "ffg": 358 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/jabbathehutt.png", + "slots": [ + "Crew", + "Crew" + ], + "charges": { + "value": 4, + "recovers": 0 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/jabbathehutt.png" + } + ], + "cost": { + "value": 11 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] } ], - "cost": { "value": 11 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Jyn Erso", @@ -620,15 +991,26 @@ "title": "Jyn Erso", "type": "Crew", "ability": "If a friendly ship at range 0-3 would gain a focus token, it may gain 1 evade token instead.", - "slots": ["Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_85.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_85.jpg", - "ffg": 309 + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/jynerso.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/jynerso.png" + } + ], + "cost": { + "value": 4 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] } ], - "cost": { "value": 3 }, - "restrictions": [{ "factions": ["Rebel Alliance"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Kanan Jarrus", @@ -639,16 +1021,30 @@ "title": "Kanan Jarrus", "type": "Crew", "ability": "After a friendly ship at range 0-2 fully executes a white maneuver, you may spend 1 [Force] to remove 1 stress token from that ship.", - "slots": ["Crew"], - "force": { "value": 1, "recovers": 1 }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_86.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_86.jpg", - "ffg": 310 + "slots": [ + "Crew" + ], + "force": { + "value": 1, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/kananjarrus.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/kananjarrus.png" + } + ], + "cost": { + "value": 12 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] } ], - "cost": { "value": 12 }, - "restrictions": [{ "factions": ["Rebel Alliance"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Ketsu Onyo", @@ -659,15 +1055,26 @@ "title": "Ketsu Onyo", "type": "Crew", "ability": "At the start of the End Phase, you may choose 1 enemy ship at range 0-2 in your firing arc. If you do, that ship does not remove its tractor tokens.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_134.png", - "slots": ["Crew"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_134.jpg", - "ffg": 359 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ketsuonyo.png", + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ketsuonyo.png" + } + ], + "cost": { + "value": 3 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] } ], - "cost": { "value": 4 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Kylo Ren", @@ -678,17 +1085,33 @@ "title": "Kylo Ren", "type": "Crew", "ability": "Action: Choose 1 enemy ship at range 1-3. If you do, spend 1 [Force] to assign the I'll Show You the Dark Side condition to that ship.", - "conditions": ["illshowyouthedarkside"], - "slots": ["Crew"], - "force": { "value": 1, "recovers": 1 }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/f60322a1f5ace7e45f6c7e0fa0200705.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a61302c8e1cd180d4198e9ae75b82e91.jpg", - "ffg": 467 + "conditions": [ + "illshowyouthedarkside" + ], + "slots": [ + "Crew" + ], + "force": { + "value": 1, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/kyloren.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/kyloren.png" + } + ], + "cost": { + "value": 8 + }, + "restrictions": [ + { + "factions": [ + "firstorder" + ] } ], - "cost": { "value": 9 }, - "restrictions": [{ "factions": ["First Order"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "L3-37", @@ -699,24 +1122,36 @@ "title": "L3-37", "type": "Crew", "ability": "Setup: Equip this side faceup. While you defend, you may flip this card. If you do, the attacker must reroll all attack dice.", - "slots": ["Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_158.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_158.jpg", - "ffg": 384 + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/l337.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/l337-sideb.png" }, { "title": "L3-37's Programming", "type": "Configuration", "ability": "If you are not shielded, decrease the difficulty of your bank ([Bank Left] and [Bank Right]) maneuvers.", - "slots": ["Configuration"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_158b.png", - "ffg": 383, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/b3af6a2a042345a1d95dd7f877fce8c7.jpg" + "slots": [ + "Configuration" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/l337-sideb.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/l337.png" + } + ], + "cost": { + "value": 3 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] } ], - "cost": { "value": 4 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Lando Calrissian", @@ -727,15 +1162,26 @@ "title": "Lando Calrissian", "type": "Crew", "ability": "After you roll dice, you may spend 1 green token to reroll up to 2 of your results.", - "slots": ["Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_159.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_159.jpg", - "ffg": 385 + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/landocalrissian-crew.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/landocalrissian-crew.png" + } + ], + "cost": { + "value": 5 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] } ], - "cost": { "value": 6 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Lando Calrissian", @@ -746,15 +1192,26 @@ "title": "Lando Calrissian", "type": "Crew", "ability": "Action: Roll 2 defense dice. For each [Focus] result, gain 1 focus token. For each [Evade] result, gain 1 evade token. If both results are blank, the opposing player chooses focus or evade. You gain 1 token of that type.", - "slots": ["Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_87.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_87.jpg", - "ffg": 311 + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/landocalrissian.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/landocalrissian.png" + } + ], + "cost": { + "value": 2 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] } ], - "cost": { "value": 2 }, - "restrictions": [{ "factions": ["Rebel Alliance"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Latts Razzi", @@ -765,15 +1222,26 @@ "title": "Latts Razzi", "type": "Crew", "ability": "While you defend, if the attacker is stressed, you may remove 1 stress from the attacker to change 1 of your blank/[Focus] results to an [Evade] result.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_135.png", - "slots": ["Crew"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_135.jpg", - "ffg": 360 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/lattsrazzi.png", + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/lattsrazzi.png" + } + ], + "cost": { + "value": 5 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] } ], - "cost": { "value": 5 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Leia Organa", @@ -784,16 +1252,30 @@ "title": "Leia Organa", "type": "Crew", "ability": "At the start of the Activation Phase, you may spend 3 [Charge]. During this phase, each friendly ship reduces the difficulty of its red maneuvers.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_88.png", - "slots": ["Crew"], - "charges": { "value": 3, "recovers": 1 }, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_88.jpg", - "ffg": 312 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/leiaorgana.png", + "slots": [ + "Crew" + ], + "charges": { + "value": 3, + "recovers": 1 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/leiaorgana.png" + } + ], + "cost": { + "value": 8 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] } ], - "cost": { "value": 7 }, - "restrictions": [{ "factions": ["Rebel Alliance"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Magva Yarro", @@ -804,15 +1286,26 @@ "title": "Magva Yarro", "type": "Crew", "ability": "After you defend, if the attack hit, you may acquire a lock on the attacker.", - "slots": ["Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_89.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_89.jpg", - "ffg": 313 + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/magvayarro.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/magvayarro.png" + } + ], + "cost": { + "value": 5 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] } ], - "cost": { "value": 5 }, - "restrictions": [{ "factions": ["Rebel Alliance"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Maul", @@ -822,22 +1315,45 @@ { "title": "Maul", "type": "Crew", - "ability": "After you suffer damage, you may gain 1 stress token to recover 1 [Force]. You can equip \"Dark Side\" upgrades.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_136.png", - "slots": ["Crew"], - "force": { "value": 1, "recovers": 1 }, + "ability": "After you suffer damage, you may gain 1 stress token to recover 1 [Force]. You can equip “Dark Side” upgrades.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/maul.png", + "slots": [ + "Crew" + ], + "force": { + "value": 1, + "recovers": 1 + }, "grants": [ - { "type": "force", "value": { "side": ["dark"] }, "amount": 1 } + { + "type": "force", + "value": { + "side": [ + "dark" + ] + }, + "amount": 1 + } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_136.jpg", - "ffg": 361 + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/maul.png" } ], - "cost": { "value": 10 }, + "cost": { + "value": 11 + }, "restrictions": [ - { "factions": ["Scum and Villainy"], "names": ["Ezra Bridger"] } + { + "factions": [ + "scumandvillainy" + ], + "names": [ + "Ezra Bridger" + ] + } ], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Minister Tua", @@ -848,15 +1364,26 @@ "title": "Minister Tua", "type": "Crew", "ability": "At the start of the Engagement Phase, if you are damaged, you may perform a red [Reinforce] action.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_119.png", - "slots": ["Crew"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_119.jpg", - "ffg": 345 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ministertua.png", + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ministertua.png" + } + ], + "cost": { + "value": 5 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] } ], - "cost": { "value": 7 }, - "restrictions": [{ "factions": ["Galactic Empire"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Moff Jerjerrod", @@ -867,19 +1394,35 @@ "title": "Moff Jerjerrod", "type": "Crew", "ability": "During the System Phase, you may spend 2 [Charge]. If you do, choose the [1 [Bank Left]], [1 [Straight]], or [1 [Bank Right]] template. Each friendly ship may perform a red [Boost] action using that template.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_120.png", - "slots": ["Crew"], - "charges": { "value": 2, "recovers": 1 }, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_120.jpg", - "ffg": 346 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/moffjerjerrod.png", + "slots": [ + "Crew" + ], + "charges": { + "value": 2, + "recovers": 1 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/moffjerjerrod.png" } ], - "cost": { "value": 7 }, + "cost": { + "value": 6 + }, "restrictions": [ - { "factions": ["Galactic Empire"] }, - { "action": { "type": "Coordinate" } } + { + "factions": [ + "galacticempire" + ] + }, + { + "action": { + "type": "Coordinate" + } + } ], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Nien Nunb", @@ -890,15 +1433,26 @@ "title": "Nien Nunb", "type": "Crew", "ability": "Decrease the difficulty of your bank maneuvers ([Bank Left] and [Bank Right]).", - "slots": ["Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_90.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_90.jpg", - "ffg": 314 + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/niennunb.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/niennunb.png" + } + ], + "cost": { + "value": 5 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] } ], - "cost": { "value": 5 }, - "restrictions": [{ "factions": ["Rebel Alliance"] }], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Novice Technician", @@ -909,14 +1463,19 @@ "title": "Novice Technician", "type": "Crew", "ability": "At the end of the round, you may roll 1 attack die to repair 1 faceup damage card. Then on a [Hit] result, expose 1 damage card.", - "slots": ["Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_45.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_45.jpg", - "ffg": 274 + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/novicetechnician.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/novicetechnician.png" } ], - "cost": { "value": 2 }, - "hyperspace": true + "cost": { + "value": 2 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Perceptive Copilot", @@ -927,14 +1486,19 @@ "title": "Perceptive Copilot", "type": "Crew", "ability": "After you perform a [Focus] action, gain 1 focus token.", - "slots": ["Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_46.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_46.jpg", - "ffg": 275 + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/perceptivecopilot.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/perceptivecopilot.png" } ], - "cost": { "value": 8 }, - "hyperspace": false + "cost": { + "value": 8 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Petty Officer Thanisson", @@ -945,15 +1509,26 @@ "title": "Petty Officer Thanisson", "type": "Crew", "ability": "During the Activation or Engagement Phase, after an enemy ship in your [Front Arc] at range 0-1 gains a red or orange token, if you are not stressed, you may gain 1 stress token. If you do, that ship gains 1 additional token of the type that it gained.", - "slots": ["Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/900397d209adfd3f7bd6429909cc20cc.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/007c0145ba0ec1c57de17c0448cafef2.jpg", - "ffg": 468 + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/pettyofficerthanisson.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/pettyofficerthanisson.png" + } + ], + "cost": { + "value": 2 + }, + "restrictions": [ + { + "factions": [ + "firstorder" + ] } ], - "cost": { "value": 3 }, - "restrictions": [{ "factions": ["First Order"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Qi'ra", @@ -964,15 +1539,26 @@ "title": "Qi'ra", "type": "Crew", "ability": "While you move and perform attacks, you ignore obstacles that you are locking.", - "slots": ["Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_161.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_161.jpg", - "ffg": 387 + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/qira.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/qira.png" + } + ], + "cost": { + "value": 2 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] } ], - "cost": { "value": 2 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "R2-D2", @@ -983,15 +1569,26 @@ "title": "R2-D2", "type": "Crew", "ability": "During the End Phase, if you are damaged and not shielded, you may roll 1 attack die to recover 1 shield. On a [Hit] result, expose 1 of your damage cards.", - "slots": ["Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_91.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_91.jpg", - "ffg": 315 + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/r2d2-crew.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/r2d2-crew.png" + } + ], + "cost": { + "value": 8 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] } ], - "cost": { "value": 8 }, - "restrictions": [{ "factions": ["Rebel Alliance"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Sabine Wren", @@ -1002,15 +1599,26 @@ "title": "Sabine Wren", "type": "Crew", "ability": "Setup: Place 1 ion, 1 jam, 1 stress, and 1 tractor token on this card. After a ship suffers the effect of a friendly bomb, you may remove 1 ion, jam, stress, or tractor token from this card. If you do, that ship gains a matching token.", - "slots": ["Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_92.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_92.jpg", - "ffg": 316 + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/sabinewren.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/sabinewren.png" + } + ], + "cost": { + "value": 4 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] } ], - "cost": { "value": 3 }, - "restrictions": [{ "factions": ["Rebel Alliance"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Saw Gerrera", @@ -1021,15 +1629,26 @@ "title": "Saw Gerrera", "type": "Crew", "ability": "While you perform an attack, you may suffer 1 [Hit] damage to change all of your [Focus] results to [Critical Hit] results.", - "slots": ["Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_93.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_93.jpg", - "ffg": 317 + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/sawgerrera.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/sawgerrera.png" + } + ], + "cost": { + "value": 9 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] } ], - "cost": { "value": 9 }, - "restrictions": [{ "factions": ["Rebel Alliance"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Seasoned Navigator", @@ -1040,17 +1659,30 @@ "title": "Seasoned Navigator", "type": "Crew", "ability": "After you reveal your dial, you may set your dial to another non-red maneuver of the same speed. While you execute that maneuver, increase its difficulty.", - "slots": ["Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_47.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_47.jpg", - "ffg": 276 + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/seasonednavigator.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/seasonednavigator.png" } ], "cost": { "variable": "initiative", - "values": { "0": 2, "1": 3, "2": 4, "3": 5, "4": 6, "5": 7, "6": 8 } + "values": { + "0": 2, + "1": 3, + "2": 4, + "3": 5, + "4": 6, + "5": 7, + "6": 8, + "7": 9, + "8": 10 + } }, - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Seventh Sister", @@ -1061,16 +1693,30 @@ "title": "Seventh Sister", "type": "Crew", "ability": "If an enemy ship at range 0-1 would gain a stress token, you may spend 1 [Force] to have it gain 1 jam or tractor token instead.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_121.png", - "slots": ["Crew"], - "force": { "value": 1, "recovers": 1 }, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_121.jpg", - "ffg": 347 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/seventhsister.png", + "slots": [ + "Crew" + ], + "force": { + "value": 1, + "recovers": 1 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/seventhsister.png" + } + ], + "cost": { + "value": 10 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] } ], - "cost": { "value": 9 }, - "restrictions": [{ "factions": ["Galactic Empire"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Supreme Leader Snoke", @@ -1081,16 +1727,31 @@ "title": "Supreme Leader Snoke", "type": "Crew", "ability": "During the System Phase, you may choose any number of enemy ships beyond range 1. If you do, spend that many [Force] to flip each chosen ship's dial faceup.", - "slots": ["Crew", "Crew"], - "force": { "value": 1, "recovers": 1 }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/5b699f8b5268e5290c42adce0fd2ee3e.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/3b29995fb9e419822a34c672f2543fa6.jpg", - "ffg": 469 + "slots": [ + "Crew", + "Crew" + ], + "force": { + "value": 1, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/supremeleadersnoke.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/supremeleadersnoke.png" + } + ], + "cost": { + "value": 13 + }, + "restrictions": [ + { + "factions": [ + "firstorder" + ] } ], - "cost": { "value": 13 }, - "restrictions": [{ "factions": ["First Order"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Tactical Officer", @@ -1101,24 +1762,42 @@ "title": "Tactical Officer", "type": "Crew", "text": "In the chaos of a starfighter battle, a single order can mean the difference between a victory and a massacre.", - "slots": ["Crew"], - "actions": [{ "type": "Coordinate", "difficulty": "White" }], + "slots": [ + "Crew" + ], + "actions": [ + { + "type": "Coordinate", + "difficulty": "White" + } + ], "grants": [ { "type": "action", - "value": { "type": "Coordinate", "difficulty": "White" } + "value": { + "type": "Coordinate", + "difficulty": "White" + } } ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_48.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_48.jpg", - "ffg": 277 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/tacticalofficer.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/tacticalofficer.png" } ], - "cost": { "value": 3 }, + "cost": { + "value": 3 + }, "restrictions": [ - { "action": { "type": "Coordinate", "difficulty": "Red" } } + { + "action": { + "type": "Coordinate", + "difficulty": "Red" + } + } ], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Tobias Beckett", @@ -1129,15 +1808,26 @@ "title": "Tobias Beckett", "type": "Crew", "ability": "Setup: After placing forces, you may choose 1 obstacle in the play area. If you do, place it anywhere in the play area beyond range 2 of any board edge or ship and beyond range 1 of other obstacles.", - "slots": ["Crew"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_160.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_160.jpg", - "ffg": 386 + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/tobiasbeckett.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/tobiasbeckett.png" } ], - "cost": { "value": 2 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }], - "hyperspace": true + "cost": { + "value": 1 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Unkar Plutt", @@ -1148,15 +1838,26 @@ "title": "Unkar Plutt", "type": "Crew", "ability": "After you partially execute a maneuver, you may suffer 1 [Hit] damage to perform 1 white action.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_137.png", - "slots": ["Crew"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_137.jpg", - "ffg": 362 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/unkarplutt.png", + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/unkarplutt.png" } ], - "cost": { "value": 2 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }], - "hyperspace": false + "cost": { + "value": 2 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Zuckuss", @@ -1167,15 +1868,26 @@ "title": "Zuckuss", "type": "Crew", "ability": "While you perform an attack, if you are not stressed, you may choose 1 defense die and gain 1 stress token. If you do, the defender must reroll that die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_138.png", - "slots": ["Crew"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_138.jpg", - "ffg": 363 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/zuckuss.png", + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/zuckuss.png" } ], - "cost": { "value": 2 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }], - "hyperspace": false + "cost": { + "value": 2 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "C-3PO", @@ -1186,25 +1898,42 @@ "title": "C-3PO", "type": "Crew", "ability": "While you coordinate, you can choose friendly ships beyond range 2 if they have [Calculate] on their action bar. After you perform the [Calculate] or [Coordinate] action, gain 1 calculate token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/a0e80bb89748e7415e945a050f82ba84.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/1629b5a262f8b69e1dee4b841150c9b7.jpg", - "slots": ["Crew"], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/c3po-crew.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/c3po-crew.png", + "slots": [ + "Crew" + ], "grants": [ { "type": "action", - "value": { "type": "Calculate", "difficulty": "White" } + "value": { + "type": "Calculate", + "difficulty": "White" + } }, { "type": "action", - "value": { "type": "Coordinate", "difficulty": "Red" } + "value": { + "type": "Coordinate", + "difficulty": "Red" + } } - ], - "ffg": 472 + ] } ], - "cost": { "value": 5 }, - "restrictions": [{ "factions": ["Resistance"] }], - "hyperspace": true + "cost": { + "value": 6 + }, + "restrictions": [ + { + "factions": [ + "resistance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Han Solo", @@ -1215,21 +1944,35 @@ "title": "Han Solo", "type": "Crew", "ability": "After you perform an [Evade] action, gain additional evade tokens equal to the number of enemy ships at range 0-1.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/622ea4b573afbb5c95b3e9f2989a8aef.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/af2ce405b6c28568aa2d66b78296b351.jpg", - "slots": ["Crew"], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/hansolo-crew.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/hansolo-crew.png", + "slots": [ + "Crew" + ], "grants": [ { "type": "action", - "value": { "type": "Evade", "difficulty": "Red" } + "value": { + "type": "Evade", + "difficulty": "Red" + } } - ], - "ffg": 474 + ] + } + ], + "cost": { + "value": 3 + }, + "restrictions": [ + { + "factions": [ + "resistance" + ] } ], - "cost": { "value": 3 }, - "restrictions": [{ "factions": ["Resistance"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Chewbacca", @@ -1240,16 +1983,30 @@ "title": "Chewbacca", "type": "Crew", "ability": "Setup: Lose 1 [Charge]. After a friendly ship at range 0-3 is dealt 1 damage card, recover 1 [Charge]. While you perform an attack, you may spend 2 [Charge] to change 1 [Focus] result to a [Critical Hit] result.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/3090c218acff7dc71a81e791ce15860e.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/3d124811dd272ec2355a30903a827034.jpg", - "slots": ["Crew"], - "charges": { "value": 2, "recovers": 0 }, - "ffg": 473 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/chewbacca-crew-swz19.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/chewbacca-crew-swz19.png", + "slots": [ + "Crew" + ], + "charges": { + "value": 2, + "recovers": 0 + } + } + ], + "cost": { + "value": 3 + }, + "restrictions": [ + { + "factions": [ + "resistance" + ] } ], - "cost": { "value": 4 }, - "restrictions": [{ "factions": ["Resistance"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Rose Tico", @@ -1260,18 +2017,29 @@ "title": "Rose Tico", "type": "Crew", "ability": "While you defend or perform an attack, you may spend 1 of your results to acquire a lock on the enemy ship.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/60ac08169a90794c33d1d582f1a08480.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/92a93952c31c95dff0fc96f31e88cfd3.jpg", - "slots": ["Crew"], - "ffg": 475 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/rosetico.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/rosetico.png", + "slots": [ + "Crew" + ] + } + ], + "cost": { + "value": 9 + }, + "restrictions": [ + { + "factions": [ + "resistance" + ] } ], - "cost": { "value": 9 }, - "restrictions": [{ "factions": ["Resistance"] }], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { - "name": "Palpatine/Sidious", + "name": "Chancellor Palpatine", "limited": 1, "xws": "chancellorpalpatine", "sides": [ @@ -1279,40 +2047,63 @@ "title": "Chancellor Palpatine", "type": "Crew", "ability": "Setup: Equip this side faceup. After you defend, if the attacker is at range 0-2, you may spend 1 [Force]. If you do, the attacker gains 1 stress token. During the End Phase, you may flip this card.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/8218d7b903ea8c0c0f88375124a93a5f.png", - "force": { "value": 1, "recovers": 1 }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/chancellorpalpatine.png", + "force": { + "value": 1, + "recovers": 1 + }, "grants": [ { "type": "action", - "value": { "type": "Coordinate", "difficulty": "Purple" } + "value": { + "type": "Coordinate", + "difficulty": "Purple" + } } ], - "slots": ["Crew"], - "ffg": 556, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/d07f69ceb063c382e60ce33377e9bef7.jpg" + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/chancellorpalpatine-sideb.png" }, { "title": "Darth Sidious", "type": "Crew", "ability": "After you perform a purple [Coordinate] action, the ship you coordinated gains 1 stress token. Then, it gains 1 focus token or recovers 1 [Force].", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/fe4d36bbd6f43ada43a5cf55354211c0.png", - "force": { "value": 1, "recovers": 1 }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/chancellorpalpatine-sideb.png", + "force": { + "value": 1, + "recovers": 1 + }, "grants": [ { "type": "action", - "value": { "type": "Coordinate", "difficulty": "Purple" } + "value": { + "type": "Coordinate", + "difficulty": "Purple" + } } ], - "slots": ["Crew"], - "ffg": 538, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/e0772c182d95e3abd540950c7689ab34.jpg" + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/chancellorpalpatine.png" } ], - "cost": { "value": 14 }, + "cost": { + "value": 14 + }, "restrictions": [ - { "factions": ["Galactic Republic", "Separatist Alliance"] } + { + "factions": [ + "galacticrepublic", + "separatistalliance" + ] + } ], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Count Dooku", @@ -1323,16 +2114,30 @@ "title": "Count Dooku", "type": "Crew", "ability": "Before a ship at range 0-2 rolls attack or defense dice, if all of your [Force] are active, you may spend 1 [Force] and name a result. If the roll does not contain the named result, the ship must change 1 die to that result.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/a1920988dd8634d9780c6363e3f36f6e.png", - "force": { "value": 1, "recovers": 1 }, - "slots": ["Crew"], - "ffg": 539, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a91424eea1db4aeaf24ab49d5a519e27.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/countdooku.png", + "force": { + "value": 1, + "recovers": 1 + }, + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/countdooku.png" + } + ], + "cost": { + "value": 14 + }, + "restrictions": [ + { + "factions": [ + "separatistalliance" + ] } ], - "cost": { "value": 14 }, - "restrictions": [{ "factions": ["Separatist Alliance"] }], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "General Grievous", @@ -1343,260 +2148,404 @@ "title": "General Grievous", "type": "Crew", "ability": "While you defend, after the Neutralize Results step, if there are 2 or more [Hit]/[Critical Hit] results, you may spend 1 [Charge] to cancel 1 [Hit] or [Critical Hit] result. After a friendly ship is destroyed, recover 1 [Charge].", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/f3740c47b0253ec848c4cfcdde195393.png", - "charges": { "value": 1, "recovers": 0 }, - "slots": ["Crew"], - "ffg": 540, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/3f6a042b2f8acfdcfcd1f05c28419fe3.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/generalgrievous.png", + "charges": { + "value": 1, + "recovers": 0 + }, + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/generalgrievous.png" + } + ], + "cost": { + "value": 3 + }, + "restrictions": [ + { + "factions": [ + "separatistalliance" + ] } ], - "cost": { "value": 3 }, - "restrictions": [{ "factions": ["Separatist Alliance"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Amilyn Holdo", "limited": 1, "xws": "amilynholdo", - "hyperspace": true, - "cost": { "value": 8 }, - "restrictions": [{ "factions": ["Resistance"] }], "sides": [ { "ability": "Before you engage, you may choose another friendly ship at range 1-2. You may transfer to that ship 1 token of a type that ship does not have. That ship may transfer 1 token to you of a type you do not have.", "title": "Amilyn Holdo", "type": "Crew", - "slots": ["Crew"], - "ffg": 581, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/daa4aa8732efd994938dae56b6210ede.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/cbe5e849e9daa4f3f968b2ff6e2879b1.png" + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/amilynholdo.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/amilynholdo.png" } - ] + ], + "cost": { + "value": 4 + }, + "restrictions": [ + { + "factions": [ + "resistance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "GA-97", "limited": 1, "xws": "ga97", - "hyperspace": false, - "cost": { "value": 5 }, - "restrictions": [{ "factions": ["Resistance"] }], "sides": [ { "ability": "Setup: Before placing forces, you may spend 3-5 [Charge]. If you do, choose another friendly ship and assign the It's the Resistance condition to it.", - "conditions": ["itstheresistance"], + "conditions": [ + "itstheresistance" + ], "title": "GA-97", "type": "Crew", - "slots": ["Crew"], + "slots": [ + "Crew" + ], + "charges": { + "value": 5, + "recovers": 1 + }, "grants": [ { "type": "action", - "value": { "type": "Calculate", "difficulty": "White" } + "value": { + "type": "Calculate", + "difficulty": "White" + } } ], - "ffg": 582, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/22b0be31694840d7725790e352fa825d.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/3af44c6d32812dc07238b40842d67b47.png" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ga97.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ga97.png" } - ] + ], + "cost": { + "value": 2 + }, + "restrictions": [ + { + "factions": [ + "resistance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Kaydel Connix", "limited": 1, "xws": "kaydelconnix", - "hyperspace": false, - "cost": { "value": 5 }, - "restrictions": [{ "factions": ["Resistance"] }], "sides": [ { "ability": "After you reveal your dial, you may set your dial to a basic maneuver of the next higher speed. While you execute that maneuver, increase its difficulty.", "title": "Kaydel Connix", "type": "Crew", - "slots": ["Crew"], - "ffg": 583, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/f14db8bb29fcb06dfee758cb33490fbe.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/29a0eb418850a3821c38874daf0a6b0d.png" + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/kaydelconnix.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/kaydelconnix.png" } - ] + ], + "cost": { + "value": 4 + }, + "restrictions": [ + { + "factions": [ + "resistance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Korr Sella", "limited": 1, "xws": "korrsella", - "hyperspace": true, - "cost": { "value": 6 }, - "restrictions": [{ "factions": ["Resistance"] }], "sides": [ { "ability": "After you fully execute a blue maneuver, remove all of your stress tokens.", "title": "Korr Sella", "type": "Crew", - "slots": ["Crew"], - "ffg": 584, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/97aa5ed09744e698d42c2a12a369c786.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/dd102b8e517399d12b17756a863d19ee.png" + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/korrsella.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/korrsella.png" } - ] + ], + "cost": { + "value": 6 + }, + "restrictions": [ + { + "factions": [ + "resistance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Larma D'Acy", "limited": 1, "xws": "larmadacy", - "hyperspace": true, - "cost": { "value": 4 }, - "restrictions": [{ "factions": ["Resistance"] }], "sides": [ { "ability": "While you have 2 or fewer stress tokens, you can perform [Reinforce], [Coordinate], and [Jam] actions, even while stressed. While you perform a white [Reinforce], [Coordinate], or [Jam] action, if you are stressed, treat that action as red.", "title": "Larma D'Acy", "type": "Crew", - "slots": ["Crew"], - "ffg": 585, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/d147142728d8cc0aa647f97966df3988.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/555a815e60cd7bf4612109c3fd65beaa.png" + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/larmadacy.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/larmadacy.png" } - ] + ], + "cost": { + "value": 2 + }, + "restrictions": [ + { + "factions": [ + "resistance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Leia Organa", "limited": 1, "xws": "leiaorgana-resistance", - "hyperspace": true, - "cost": { "value": 16 }, - "restrictions": [{ "factions": ["Resistance"] }], "sides": [ { "ability": "After a friendly ship reveals its dial, you may spend 1 [Force]. If you do, the chosen ship reduces the difficulty of that maneuver.", "title": "Leia Organa", "type": "Crew", - "slots": ["Crew", "Crew"], - "force": { "value": 1, "recovers": 1 }, + "slots": [ + "Crew", + "Crew" + ], + "force": { + "value": 1, + "recovers": 1 + }, "grants": [ { "type": "action", - "value": { "type": "Coordinate", "difficulty": "Purple" } + "value": { + "type": "Coordinate", + "difficulty": "Purple" + } } ], - "ffg": 586, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/bd5f0c91b7fb256f91fcfbd006e56acc.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/0a194c8c529278b471e64edc597b06fc.png" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/leiaorgana-resistance.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/leiaorgana-resistance.png" } - ] + ], + "cost": { + "value": 16 + }, + "restrictions": [ + { + "factions": [ + "resistance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "PZ-4CO", "limited": 1, "xws": "pz4co", - "hyperspace": true, - "cost": { "value": 5 }, - "restrictions": [{ "factions": ["Resistance"] }], "sides": [ { "ability": "At the end of the Activation Phase, you may choose 1 friendly ship at range 1-2. If you do, transfer 1 calculate token to that ship. If your revealed maneuver is blue, you may transfer 1 focus token instead.", "title": "PZ-4CO", "type": "Crew", - "slots": ["Crew"], + "slots": [ + "Crew" + ], "grants": [ { "type": "action", - "value": { "type": "Calculate", "difficulty": "White" } + "value": { + "type": "Calculate", + "difficulty": "White" + } } ], - "ffg": 587, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/219ba43a9fc9c9756a87676551aa7a69.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/11c5bdf18a62dc43bdda0834026dace2.png" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/pz4co.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/pz4co.png" } - ] + ], + "cost": { + "value": 2 + }, + "restrictions": [ + { + "factions": [ + "resistance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "C-3PO", + "limited": 1, + "xws": "c3po-republic", "sides": [ { - "ffg": 616, "title": "C-3PO", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/f64417de71053f39ded8886b72184819.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/01e1a3b43aee6c564662825cadcd3f22.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/c3po-republic.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/c3po-republic.png", "ability": "While you defend, if you are calculating, you may reroll 1 defense die. After you perform a [Calculate] action, gain 1 calculate token.", - "slots": ["Crew"], + "slots": [ + "Crew" + ], "type": "Crew", "grants": [ { "type": "action", - "value": { "type": "Calculate", "difficulty": "White" } + "value": { + "type": "Calculate", + "difficulty": "White" + } } ] } ], - "cost": { "value": 7 }, - "limited": 1, - "hyperspace": true, - "xws": "c3po-republic" + "cost": { + "value": 7 + }, + "restrictions": [ + { + "factions": [ + "galacticrepublic" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Aayla Secura", "limited": 1, "xws": "aaylasecura", - "hyperspace": true, "sides": [ { "ability": "While an enemy ship in your [Bullseye Arc] performs an attack, if the defender is friendly and at range 0-2, the defender may change 1 blank result to a [Focus] result.", "title": "Aayla Secura", "type": "Crew", - "slots": ["Crew"], + "slots": [ + "Crew" + ], + "force": { + "value": 1, + "recovers": 1 + }, "grants": [ { "type": "action", "value": { "type": "Focus", "difficulty": "White", - "linked": { "type": "Coordinate", "difficulty": "Purple" } + "linked": { + "type": "Coordinate", + "difficulty": "Purple" + } } } ], - "ffg": 675, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/c1d9f86978058e101f6cf112c3946655.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/c75b7f3eaadb889b7b94d020c0d81d29.png" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/aaylasecura.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/aaylasecura.png" } ], - "cost": { "value": 14 } + "cost": { + "value": 12 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Agent Terex", "limited": 1, "xws": "agentterex", - "hyperspace": true, "sides": [ { "ability": "Setup: Equip this side faceup and place 3 calculate tokens on this card. At the start of the Engagement Phase, you may choose a friendly ship at range 0-3 and remove 1 calculate token from this card to have that ship gain a matching token. Then, if there are no calculate tokens on this card, flip it.", "title": "Agent Terex", "type": "Crew", - "slots": ["Crew"], - "ffg": 686, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/6e7153cd20c808370bbd80d871cf85c3.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/46f1700aa15a7a4e25b3d19b4ad97818.png" + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/agentterex-sideb.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/agentterex.png" }, { - "slots": ["Crew"], - "ffg": 685, + "slots": [ + "Crew" + ], "title": "Agent Terex (Cyborg)", "type": "Crew", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/87f139d19477b1ab35c2dc2ab578eedc.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/8d74e6cb42cd9717409451bafda8467b.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/agentterex.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/agentterex-sideb.png", "ability": "During the System Phase, roll 1 attack die. On a [Hit] or [Critical Hit] result, gain 1 calculate token. Otherwise gain 1 jam token. Action: Transfer 1 calculate token or 1 jam token to a ship at range 0-3." } ], - "cost": { "value": 7 } + "cost": { + "value": 7 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "K-2SO", "limited": 1, "xws": "k2so", - "hyperspace": false, "sides": [ { "ability": "During the System Phase, you may choose a friendly ship at range 0-3. That ship gains 1 calculate and 1 stress token.", "title": "K-2SO", "type": "Crew", - "slots": ["Crew"], + "slots": [ + "Crew" + ], "grants": [ { "type": "action", @@ -1613,188 +2562,261 @@ } } ], - "ffg": 647, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/ced6485e9da6861b36fe3ab0c747fe76.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/bd3d6c3227984bc0f5daacebdc7d92ad.png" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/k2so.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/k2so.png" } ], - "cost": { "value": 6 } + "cost": { + "value": 6 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Plo Koon", "limited": 1, "xws": "plokoon", - "hyperspace": true, "sides": [ { "ability": "At the start of the End Phase, if you are reinforced, you may choose 1 friendly ship at range 0 or in your [Left Arc] or [Right Arc] at range 1. That ship removes 1 deplete or strain token, or repairs 1 faceup damage card.", - "force": { "value": 1, "recovers": 1 }, + "force": { + "value": 1, + "recovers": 1 + }, "title": "Plo Koon", "type": "Crew", - "slots": ["Crew"], + "slots": [ + "Crew" + ], "grants": [ { "type": "action", - "value": { "type": "Reinforce", "difficulty": "Purple" } + "value": { + "type": "Reinforce", + "difficulty": "Purple" + } } ], - "ffg": 677, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/7551a4c70f701c81e3e79ea9bb5a4237.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/1f07b416e509fa27d4005c8d25452e06.png" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/plokoon.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/plokoon.png" } ], - "cost": { "value": 9 } + "cost": { + "variable": "size", + "values": { + "Small": 8, + "Medium": 8, + "Large": 9, + "Huge": 15 + } + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Toryn Farr", "limited": 1, "xws": "torynfarr", - "hyperspace": false, "sides": [ { "ability": "After you coordinate a friendly ship, it may acquire a lock on a ship you are locking, ignoring range restrictions.", "title": "Toryn Farr", "type": "Crew", - "slots": ["Crew"], + "slots": [ + "Crew" + ], "grants": [ { "type": "action", "value": { "type": "Lock", "difficulty": "White", - "linked": { "type": "Coordinate", "difficulty": "Red" } + "linked": { + "type": "Coordinate", + "difficulty": "Red" + } } } ], - "ffg": 760, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/e8/ee/e8eec466-9409-40e6-8b9b-c3bee65c451f/swz55_toryn-farr_card.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/fa45744ddf40d228a433cca33a7e2f6f.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/torynfarr.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/torynfarr.png" } ], - "cost": { "value": 4 } + "cost": { + "value": 4 + }, + "standard": false, + "wildspace": true, + "epic": true }, { + "name": "Kit Fisto", + "limited": 1, + "xws": "kitfisto", "sides": [ { - "ffg": 676, "title": "Kit Fisto", "type": "Crew", - "slots": ["Crew"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/2b1f84f53e0a2fe6f49dbdef202b6adb.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/d531840147286ab5b43eb5989d6eb8ec.png", + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/kitfisto.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/kitfisto.png", "ability": "At the start of the Engagement Phase, you may choose 1 friendly ship at range 0-1 and spend 1 [Force]. If you do, it may perform a red [Evade] action.", - "force": { "value": 1, "recovers": 1 }, + "force": { + "value": 1, + "recovers": 1 + }, "grants": [ { "type": "action", - "value": { "type": "Evade", "difficulty": "Purple" } + "value": { + "type": "Evade", + "difficulty": "Purple" + } } ] } ], - "name": "Kit Fisto", - "cost": { "value": 8 }, - "limited": 1, - "xws": "kitfisto", - "hyperspace": true + "cost": { + "value": 8 + }, + "standard": true, + "wildspace": true, + "epic": true }, { + "name": "Yoda", + "limited": 1, + "xws": "yoda", "sides": [ { - "ffg": 678, "title": "Yoda", "type": "Crew", - "slots": ["Crew"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/0f0e3e5576ed1df0e5e2b8ccee638dec.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/7b0fd38f53c20d4a8d1e0ffd97c949ab.png", + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/yoda.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/yoda.png", "ability": "After another friendly ship at range 0-2 fully executes a purple maneuver or performs a purple action, you may spend 1 [Force]. If you do, that ship recovers 1 [Force].", - "force": { "value": 2, "recovers": 1 }, + "force": { + "value": 2, + "recovers": 1 + }, "grants": [ { "type": "action", - "value": { "type": "Coordinate", "difficulty": "Purple" } + "value": { + "type": "Coordinate", + "difficulty": "Purple" + } } ] } ], - "name": "Yoda", - "cost": { "value": 12 }, - "limited": 1, - "xws": "yoda", - "hyperspace": true + "cost": { + "value": 11 + }, + "standard": true, + "wildspace": true, + "epic": true }, { + "name": "“Fives”", + "limited": 1, + "xws": "fives", "sides": [ { - "ffg": 679, - "title": "\"Fives\"", + "title": "“Fives”", "type": "Crew", - "slots": ["Crew"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/706062dbbf35d8d46c1e1f4b7dad8661.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/e15010d96446e208166336cffb78f94d.png", + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/fives.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/fives.png", "ability": "After you perform an attack that missed, if the defender's initiative is equal to or greater than your initiative, place 1 evade or focus token on this card. Before you engage, you may remove 1 token from this card to gain 1 matching token." } ], - "name": "\"Fives\"", - "cost": { "value": 3 }, - "limited": 1, - "xws": "fives", - "hyperspace": true + "cost": { + "value": 3 + }, + "standard": true, + "wildspace": true, + "epic": true }, { + "name": "Wolfpack", + "limited": 1, + "xws": "wolfpack", "sides": [ { - "ffg": 680, "title": "Wolfpack", "type": "Crew", - "slots": ["Crew", "Gunner"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/d5a7c585a6f5f06e76c7b927392b61c1.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/63ef9ffc007432e395b3bfa406a879ec.png", + "slots": [ + "Crew", + "Gunner" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/wolfpack.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/wolfpack.png", "ability": "After a friendly ship at range 0-3 defends, if the attacker is in your firing arc, the defender may gain 1 strain token to acquire a lock on the attacker." } ], - "name": "Wolfpack", - "cost": { "value": 4 }, - "limited": 1, - "xws": "wolfpack", - "hyperspace": true + "cost": { + "value": 4 + }, + "standard": true, + "wildspace": true, + "epic": true }, { + "name": "Commander Malarus", + "limited": 1, + "xws": "commandermalarus", "sides": [ { - "ffg": 684, "title": "Commander Malarus", "type": "Crew", - "slots": ["Crew"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/70fb233cb4aee8f02716292268d0b9c1.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/842e172f79c8af94b3dde0cfc769b74a.png", + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/commandermalarus.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/commandermalarus.png", "ability": "Setup: Equip this side faceup. While a friendly non-limited ship at range 0-1 performs a primary attack, that ship may reroll 1 blank result. If it does and the attack does not hit, you must flip this card." }, { - "ffg": 683, "title": "Commander Malarus (Perfected)", "type": "Crew", - "slots": ["Crew"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/c304667782eb50cd85af9fb996a924c9.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/d8dabcfeadffbe5ef9eeb1ba4973f714.png", + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/commandermalarus-sideb.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/commandermalarus-sideb.png", "ability": "While you perform an attack, if the defender is in your [Bullseye Arc], you must convert all [Focus] results to [Hit] results and gain 1 stress token. Then, if you have 2 or more stress tokens, suffer 1 [Hit] damage." } ], - "name": "Commander Malarus", - "cost": { "value": 6 }, - "limited": 1, - "xws": "commandermalarus", - "hyperspace": true + "cost": { + "value": 2 + }, + "standard": true, + "wildspace": true, + "epic": true }, { + "name": "Ghost Company", + "limited": 1, + "xws": "ghostcompany", "sides": [ { - "ffg": 681, "title": "Ghost Company", "type": "Crew", - "slots": ["Crew", "Gunner"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/673fb3c6f002702406456c1b135eda01.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/333dab28d3d96dd2d7a48339d470aae4.png", + "slots": [ + "Crew", + "Gunner" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ghostcompany.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ghostcompany.png", "ability": "After you perform a primary attack, if you are focused, you may perform a [Single Turret Arc] attack against a ship you have not attacked this round as a bonus attack.", "grants": [ { @@ -1802,141 +2824,1484 @@ "value": { "type": "Rotate Arc", "difficulty": "White", - "linked": { "type": "Focus", "difficulty": "Red" } + "linked": { + "type": "Focus", + "difficulty": "Red" + } } } ] } ], - "name": "Ghost Company", - "cost": { "value": 5 }, - "limited": 1, - "xws": "ghostcompany", - "hyperspace": true + "cost": { + "value": 5 + }, + "standard": true, + "wildspace": true, + "epic": true }, { + "name": "Commander Pyre", + "limited": 1, + "xws": "commanderpyre", "sides": [ { - "ffg": 687, "title": "Commander Pyre", "type": "Crew", - "slots": ["Crew"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/7d1c00624b8253b9157856764d2c1004.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/95166cc0044f721aec2933ae972b2898.png", + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/commanderpyre.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/commanderpyre.png", "ability": "Setup: After placing forces, choose an enemy ship. It gains 2 stress tokens. While you defend, if the attacker is stressed, you may reroll 1 defense die." } ], - "name": "Commander Pyre", - "cost": { "value": 5 }, - "limited": 1, - "xws": "commanderpyre", - "hyperspace": true + "cost": { + "value": 5 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Hondo Ohnaka", "limited": 1, "xws": "hondoohnaka", - "hyperspace": true, "sides": [ { "ability": "Action: Choose 2 ships at range 1-3 of you that are friendly to each other. Coordinate one of the chosen ships, then jam the other, ignoring range restrictions.", "title": "Hondo Ohnaka", "type": "Crew", - "slots": ["Crew"], - "ffg": 853, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/f2/30/f230e89a-4885-4721-b2a0-7c0e1ef1726f/swz-hondo-ohnaka.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/9345f2eadd69a3f1ea2f44648a17d9b2.jpg" + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/hondoohnaka.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/hondoohnaka.png" } ], - "cost": { "value": 5 } + "cost": { + "value": 5 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Jango Fett", "limited": 1, "xws": "jangofett", - "hyperspace": true, "sides": [ { "ability": "While you defend or perform an attack, you may spend your lock on the enemy ship to change 1 of the enemy ship's [Focus] results to a blank result.", "title": "Jango Fett", "type": "Crew", - "slots": ["Crew"], - "ffg": 854, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/5b/54/5b5418d8-1e33-403d-abfc-815cf4ffac94/swz82_a1_upgrade_jango-fett.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/3a7ec5348f98da20c7b17b91535a3dd2.jpg" + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/jangofett.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/jangofett.png" } ], - "cost": { "value": 6 }, + "cost": { + "value": 3 + }, "restrictions": [ - { "factions": ["Scum and Villainy", "Separatist Alliance"] } - ] + { + "factions": [ + "scumandvillainy", + "separatistalliance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Zam Wesell", "limited": 1, "xws": "zamwesell", - "hyperspace": true, "sides": [ { "ability": "Setup: Lose 2 [Charge]. During the System Phase, you may assign 1 of your secret conditions to yourself facedown: You Should Thank Me You'd Better Mean Business", "title": "Zam Wesell", "type": "Crew", - "slots": ["Crew"], - "conditions": ["youdbettermeanbusiness", "youshouldthankme"], - "charges": { "value": 2, "recovers": 0 }, - "ffg": 856, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/77/bd/77bd5f12-05de-4c34-9e5a-e8dfa636de52/swz82_a1_upgrade_zam-wessel.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/b8819288e0722a11e26d15ecd0b2717f.jpg" + "slots": [ + "Crew" + ], + "conditions": [ + "youdbettermeanbusiness", + "youshouldthankme" + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/zamwesell.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/zamwesell.png" } ], - "cost": { "value": 11 }, + "cost": { + "value": 11 + }, "restrictions": [ - { "factions": ["Scum and Villainy", "Separatist Alliance"] } - ] + { + "factions": [ + "scumandvillainy", + "separatistalliance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Gamut Key", "limited": 1, "xws": "gamutkey", - "hyperspace": true, "sides": [ { "ability": "At the start of the End Phase, you may spend 2 [Charge] to choose a ship at range 0-1 with 1 or more circular tokens. During the End Phase, circular tokens are not removed from that ship.", "title": "Gamut Key", - "charges": { "value": 2, "recovers": 1 }, + "charges": { + "value": 2, + "recovers": 1 + }, "type": "Crew", - "slots": ["Crew"], - "ffg": 919, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/d6faf9522ae2569b7a125b6a84d5df9a.jpg" + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/gamutkey.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/gamutkey.png" + } + ], + "cost": { + "value": 6 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] } ], - "cost": { "value": 6 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }] + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Protectorate Gleb", "limited": 1, "xws": "protectorategleb", - "hyperspace": true, "sides": [ { "ability": "After you coordinate a friendly ship, you may transfer 1 orange or red token to the ship you coordinated.", "title": "Protectorate Gleb", "type": "Crew", - "slots": ["Crew"], + "slots": [ + "Crew" + ], "grants": [ { "type": "action", - "value": { "type": "Coordinate", "difficulty": "Red" } + "value": { + "type": "Coordinate", + "difficulty": "Red" + } } ], - "ffg": 920, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/70c7a4a5786d2067e293d182d1fc44b2.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/protectorategleb.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/protectorategleb.png" } ], - "cost": { "value": 6 }, + "cost": { + "value": 6 + }, "restrictions": [ - { "factions": ["Scum and Villainy", "Galactic Empire", "First Order"] } - ] + { + "factions": [ + "scumandvillainy", + "galacticempire", + "firstorder" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "The Mandalorian", + "limited": 1, + "xws": "themandalorian", + "sides": [ + { + "ability": "During the End Phase, if you did not defend this round, recover 1 non-recurring [Force], if able.", + "title": "The Mandalorian", + "type": "Crew", + "slots": [ + "Crew" + ], + "grants": [ + { + "type": "action", + "value": { + "type": "Reinforce", + "difficulty": "White" + } + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/themandalorian.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/themandalorian.png" + } + ], + "cost": { + "value": 4 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "The Child", + "limited": 1, + "xws": "thechild", + "sides": [ + { + "ability": "Setup: After placing forces, choose an opponent; they assign the Merciless Pursuit condition to 2 of their ships. Your [Force] lose the recurring icon. After you defend, if you suffer damage during that attack, recover 1 [Force].", + "title": "The Child", + "type": "Crew", + "slots": [ + "Crew" + ], + "force": { + "value": 2, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/thechild.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/thechild.png" + } + ], + "cost": { + "value": 6 + }, + "restrictions": [ + { + "factions": [ + "galacticempire", + "rebelalliance", + "scumandvillainy" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "IG-11", + "limited": 1, + "xws": "ig11", + "standard": true, + "wildspace": true, + "epic": true, + "sides": [ + { + "ability": "Setup: Equip this side faceup. Before you would be dealt a faceup damage card, you must place 1 fuse marker on this card and gain 1 calculate token instead. Then, if there are 2 fuse markers on this card, flip it.", + "title": "IG-11", + "type": "Crew", + "slots": [ + "Crew" + ], + "grants": [ + { + "type": "action", + "value": { + "type": "Calculate", + "difficulty": "White" + } + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ig11.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ig11.png" + }, + { + "ability": "During the End Phase, remove 1 fuse marker from this card. Then, if this card has no fuse markers on it, you are destroyed and each other ship at range 0-1 suffers 1 [Critical Hit] damage. Action: Place 1 fuse marker on this card.", + "title": "IG-11 (Anti-Capture Protocol)", + "type": "Crew", + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ig11-sideb.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ig11-sideb.png" + } + ], + "cost": { + "value": 6 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] + } + ] + }, + { + "name": "Greef Karga", + "limited": 1, + "xws": "greefkarga", + "sides": [ + { + "ability": "You can coordinate allied ships as if they were friendly ships. After you coordinate a ship, it may acquire a lock on an object you have locked.", + "title": "Greef Karga", + "type": "Crew", + "slots": [ + "Crew" + ], + "grants": [ + { + "type": "action", + "value": { + "type": "Coordinate", + "difficulty": "Red" + } + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/greefkarga.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/greefkarga.png" + } + ], + "cost": { + "value": 8 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Kuiil", + "limited": 1, + "xws": "kuiil", + "standard": true, + "wildspace": true, + "epic": true, + "sides": [ + { + "ability": "Action: Roll 1 attack die for each damage card you have. For each [Hit] result, repair 1 faceup Ship damage card, then for each [Critical Hit] result, repair 1 facedown damage card. For each blank result, remove 1 orange token, then for each [Focus] result, gain 1 focus token.", + "title": "Kuiil", + "type": "Crew", + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/kuiil.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/kuiil.png" + } + ], + "cost": { + "variable": "size", + "values": { + "Small": 3, + "Medium": 6, + "Large": 8, + "Huge": 15 + } + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] + } + ] + }, + { + "name": "Peli Motto", + "limited": 1, + "xws": "pelimotto", + "sides": [ + { + "ability": "During the System Phase, you may perform an action on 1 of your damage cards, even while stressed. After you repair a faceup Ship damage card, you may roll 1 attack die. On a [Hit] result, repair another faceup Ship damage card. On a [Critical Hit] result, expose 1 damage card.", + "title": "Peli Motto", + "type": "Crew", + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/pelimotto.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/pelimotto.png" + } + ], + "cost": { + "value": 3 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] + }, + { + "sizes": [ + "Medium", + "Large" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Prime Minister Almec", + "limited": 1, + "xws": "primeministeralmec", + "sides": [ + { + "ability": "Setup: Equip this side faceup. After a friendly ship at range 0-2 reveals a white maneuver, if it has no green tokens, it may gain 1 stress token to gain 1 calculate token. During the End Phase, if you have 2 or more stress tokens, flip this card. ", + "title": "Prime Minister Almec", + "type": "Crew", + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/primeministeralmec.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/primeministeralmec.png" + }, + { + "ability": "After a friendly ship at range 0-2 fully executes a red maneuver, that ship may perform a [Calculate] or [Focus] action on its action bar, even while stressed.", + "title": "Almec, Maul's Puppet", + "type": "Crew", + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/primeministeralmec-sideb.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/primeministeralmec-sideb.png" + } + ], + "cost": { + "value": 8 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy", + "galacticrepublic" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Rook Kast", + "limited": 1, + "xws": "rookkast", + "sides": [ + { + "ability": "After you perform a red action, you may gain 1 strain token. While you perform an attack, if you are strained, you may change 1 of your blank or [Focus] results to a result.", + "title": "Rook Kast", + "type": "Crew", + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/rookkast.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/rookkast.png", + "grants": [ + { + "type": "action", + "value": { + "type": "Lock", + "difficulty": "Red" + } + } + ] + } + ], + "cost": { + "value": 5 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Obi-Wan Kenobi", + "limited": 1, + "xws": "obiwankenobi", + "sides": [ + { + "ability": "After a friendly ship at range 0-2 spends a focus or evade token, you may spend 1 [Force]. If you do, that ship gains 1 focus token.", + "title": "Obi-wan Kenobi", + "type": "Crew", + "slots": [ + "Crew" + ], + "force": { + "value": 1, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/obiwankenobi.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/obiwankenobi.png" + } + ], + "cost": { + "value": 9 + }, + "restrictions": [ + { + "factions": [ + "galacticrepublic" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Bo-Katan Kryze", + "limited": 1, + "xws": "bokatankryze", + "sides": [ + { + "ability": "While you perform an attack, if you are at range 0-1 of the defender, you may reroll 1 attack die.", + "title": "Bo-Katan Kryze", + "type": "Crew", + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/bokatankryze.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/bokatankryze.png" + } + ], + "cost": { + "value": 5 + }, + "restrictions": [ + { + "factions": [ + "galacticrepublic", + "separatistalliance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Bo-Katan Kryze", + "limited": 1, + "xws": "bokatankryze-rebel-scum", + "sides": [ + { + "ability": "After you perform an attack, if the defender was destroyed, each friendly ship at range 0-2 may remove 1 red or orange token.", + "title": "Bo-Katan Kryze", + "type": "Crew", + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/bokatankryze-rebel-scum.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/bokatankryze-rebel-scum.png" + } + ], + "cost": { + "value": 2 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy", + "rebelalliance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Korkie Kryze", + "xws": "korkiekryze", + "limited": 1, + "sides": [ + { + "ability": "After a friendly ship in your [Full Front Arc] at range 1-2 becomes the defender, you may transfer 1 green token to it. \n\nWhile a friendly ship in your [Full Front Arc] at range 1-2 defends, if you obstruct the attack, the defender rolls 1 additional defense die.", + "title": "Korkie Kryze", + "type": "Crew", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/korkiekryze.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/korkiekryze.png", + "slots": [ + "Crew" + ] + } + ], + "cost": { + "value": 5 + }, + "restrictions": [ + { + "factions": [ + "galacticrepublic" + ] + } + ], + "standard": true, + "epic": true, + "wildspace": true + }, + { + "name": "Satine Kryze", + "limited": 1, + "xws": "satinekryze", + "sides": [ + { + "ability": "At the start of the Engagement Phase, you may spend 2 [Charge]. If you do, each friendly ship may choose to gain 1 deplete token and 1 focus tokken or to gain 1 disarm token and 1 evade token.", + "title": "Satine Kryze", + "type": "Crew", + "slots": [ + "Crew" + ], + "charges": { + "value": 2, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/satinekryze.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/satinekryze.png" + } + ], + "cost": { + "value": 7 + }, + "restrictions": [ + { + "factions": [ + "galacticrepublic" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Tal Merrik", + "limited": 1, + "xws": "talmerrik", + "sides": [ + { + "ability": "Setup: Before placing forces, choose 1 enemy ship and assign the False Friend condition to it. Action: If the False Friend condition is not assigned to an enemy ship, assign it to an enemy ship in your [Front Arc] at range 0-2.", + "title": "Tal Merrik", + "type": "Crew", + "slots": [ + "Crew" + ], + "conditions": [ + "falsefriend" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/talmerrik.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/talmerrik.png" + } + ], + "cost": { + "value": 6 + }, + "restrictions": [ + { + "factions": [ + "separatistalliance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Savage Opress", + "limited": 1, + "xws": "savageopress", + "sides": [ + { + "ability": "After a friendly ship in your [Front Arc] at range 1-2 gains a stress of strain token, you may spend 1 [Force]. If you do, that ship gains 1 focus token.", + "title": "Savage Opress", + "type": "Crew", + "slots": [ + "Crew" + ], + "force": { + "value": 1, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/savageopress.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/savageopress.png" + } + ], + "cost": { + "value": 10 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy", + "separatistalliance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Fenn Rau", + "limited": 1, + "xws": "fennrau", + "sides": [ + { + "ability": "Before a friendly ship at range 0-2 engages, if its revealed maneuver is 1 speed or higher and there is an enemy ship in its [Front Arc] at range 1, that friendly ship may remove 1 non-lock red token.", + "title": "Fenn Rau", + "type": "Crew", + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/fennrau.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/fennrau.png" + } + ], + "cost": { + "value": 6 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy", + "rebelalliance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Gar Saxon", + "limited": 1, + "xws": "garsaxon", + "sides": [ + { + "ability": "While a friendly ship at range 1-3 with an initiative of 4 or lower performs an attack against a defender you have locked, the attacker may change 1 [Focus] result to a [Hit] result.", + "title": "Gar Saxon", + "type": "Crew", + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/garsaxon.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/garsaxon.png" + } + ], + "cost": { + "value": 6 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Pre Vizsla", + "limited": 1, + "xws": "previzsla", + "sides": [ + { + "ability": "While you perform a [Coordinate] action, you can choose a friendly [Crew] remote instead of another friendly ship. Instead of performing an action, that remote relocates forward using a [1 [Turn Left]], [1 [Turn Right]], or [2 [Straight]] template.", + "title": "Pre Vizsla", + "type": "Crew", + "slots": [ + "Crew" + ], + "grants": [ + { + "type": "action", + "value": { + "type": "Coordinate", + "difficulty": "White" + } + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/previzsla.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/previzsla.png" + } + ], + "cost": { + "value": 7 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy", + "separatistalliance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Tristan Wren", + "limited": 1, + "xws": "tristanwren", + "sides": [ + { + "ability": "While a friendy unit at range 0-3 performs a [Ordnance] attack, you may spend 1 [Charge]. If you do, the attacker may change 1 [Hit] result to a [Critical Hit] result.", + "title": "Tristan Wren", + "type": "Crew", + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/tristanwren.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/tristanwren.png", + "charges": { + "value": 1, + "recovers": 1 + } + } + ], + "cost": { + "value": 2 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ], + "names": [ + "Gar Saxon" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Ursa Wren", + "limited": 1, + "xws": "ursawren", + "sides": [ + { + "ability": "You can maintain up to 2 locks. Each lock must be on a different object. After a friendly ship at range 0-3 is locked by an enemy ship, you may acquire a lock on an enemy ship.", + "title": "Ursa Wren", + "type": "Crew", + "slots": [ + "Crew" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ursawren.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ursawren.png" + } + ], + "cost": { + "value": 7 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Captain Hark", + "limited": 1, + "xws": "captainhark", + "sides": [ + { + "ability": "After you fully execute a red maneuver, if you are not focused, you may spend 1 [Charge] to gain 1 focus token.", + "title": "Captain Hark", + "type": "Crew", + "slots": [ + "Crew" + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/captainhark.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/captainhark.png" + } + ], + "cost": { + "value": 5 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Ahsoka Tano", + "limited": 1, + "xws": "ahsokatano-crew", + "sides": [ + { + "ability": "After you fully execute a maneuver, you may spend 1 [Force] to choose 1 friendly ship in your [Full Rear Arc] at range 1-2. If you do, that ship may perform a red [Focus] action, even while stressed.", + "title": "Ahsoka Tano", + "type": "Crew", + "slots": [ + "Crew" + ], + "force": { + "value": 1, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ahsokatano-crew.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ahsokatano-crew.png" + } + ], + "cost": { + "value": 10 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy", + "galacticrepublic" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Maul", + "limited": 1, + "xws": "maul-crew", + "sides": [ + { + "title": "Maul", + "type": "Crew", + "ability": "Add [Illicit] slot.", + "slots": [ + "Crew", + "Crew" + ], + "force": { + "value": 1, + "recovers": 1 + }, + "grants": [ + { + "type": "action", + "value": { + "type": "Coordinate", + "difficulty": "Purple" + } + }, + { + "type": "slot", + "value": "Illicit", + "amount": 1 + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/maul-crew.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/maul-crew.png" + } + ], + "cost": { + "value": 10 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Clan Wren Commandos", + "limited": 1, + "xws": "clanwrencommandos", + "sides": [ + { + "title": "Clan Wren Commandos", + "type": "Crew", + "ability": "During the System Phase, you may spend 1 [Charge] to drop a Commando Team remote using the [1 [Straight]] template. You can place that device using its front or rear guides. This card's [Charge] cannot be recovered.", + "slots": [ + "Crew", + "Crew" + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "device": { + "name": "Clan Wren Commandos", + "type": "Remote", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/remotes/clanwrencommandos-a.png", + "effect": "After an enemy ship overlaps you, it gains 1 strain token. Activation Phase: At the start of this phase, you may relocate forward using a [1 [Turn Left]], [2 [Straight]] or [1 [Turn Right]] template. Engagement Phase: You cannot attack if there are enemy ships at range 0. To perform an attack, you must spend 1 [Charge]. While you perform an attack, you may change 1 [Focus] result to a [Hit] result.", + "initiative": 2, + "charges": { + "value": 2, + "recovers": 0 + }, + "stats": [ + { + "type": "attack", + "arc": "Front Arc", + "value": 2, + "minrange": 1, + "maxrange": 2, + "ordnance": true + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 2 + } + ] + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/clanwrencommandos.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/clanwrencommandos.png" + } + ], + "cost": { + "value": 10 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] + }, + { + "sizes": [ + "Medium", + "Large", + "Huge" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Imperial Super Commandos", + "limited": 1, + "xws": "imperialsupercommandos", + "sides": [ + { + "title": "Imperial Super Commandos", + "type": "Crew", + "ability": "During the System Phase, you may spend 1 [Charge] to drop a Commando Team remote using the [1 [Straight]] template. You can place that device using its front or rear guides. This card's [Charge] cannot be recovered.", + "slots": [ + "Crew", + "Crew" + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "device": { + "name": "Imperial Super Commandos", + "type": "Remote", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/remotes/imperialsupercommandos-a.png", + "effect": "After an enemy ship overlaps you, it gains 1 strain token. Activation Phase: At the start of this phase, you may relocate forward using a [1 [Turn Left]], [2 [Straight]] or [1 [Turn Right]] template. Engagement Phase: You cannot attack if there are enemy ships at range 0. To perform an attack, you must spend 1 [Charge]. While you perform an attack, you may change 1 [Focus] result to a [Hit] result.", + "initiative": 2, + "charges": { + "value": 2, + "recovers": 0 + }, + "stats": [ + { + "type": "attack", + "arc": "Front Arc", + "value": 2, + "minrange": 1, + "maxrange": 2, + "ordnance": true + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 2 + } + ] + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/imperialsupercommandos.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/imperialsupercommandos.png" + } + ], + "cost": { + "value": 10 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] + }, + { + "sizes": [ + "Medium", + "Large", + "Huge" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Mandalorian Super Commandos", + "limited": 1, + "xws": "mandaloriansupercommandos", + "sides": [ + { + "title": "Mandalorian Super Commandos", + "type": "Crew", + "ability": "During the System Phase, you may spend 1 [Charge] to drop a Commando Team remote using the [1 [Straight]] template. You can place that device using its front or rear guides. This card's [Charge] cannot be recovered.", + "slots": [ + "Crew", + "Crew" + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "device": { + "name": "Mandalorian Super Commandos", + "type": "Remote", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/remotes/mandaloriansupercommandos-a.png", + "effect": "After an enemy ship overlaps you, it gains 1 strain token. Activation Phase: At the start of this phase, you may relocate forward using a [1 [Turn Left]], [2 [Straight]] or [1 [Turn Right]] template. Engagement Phase: You cannot attack if there are enemy ships at range 0. To perform an attack, you must spend 1 [Charge]. While you perform an attack, you may change 1 [Focus] result to a [Hit] result.", + "initiative": 2, + "charges": { + "value": 2, + "recovers": 0 + }, + "stats": [ + { + "type": "attack", + "arc": "Front Arc", + "value": 2, + "minrange": 1, + "maxrange": 2, + "ordnance": true + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 2 + } + ] + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/mandaloriansupercommandos.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/mandaloriansupercommandos.png" + } + ], + "cost": { + "value": 10 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] + }, + { + "sizes": [ + "Medium", + "Large", + "Huge" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Nite Owl Commandos", + "limited": 1, + "xws": "niteowlcommandos", + "sides": [ + { + "title": "Nite Owl Commandos", + "type": "Crew", + "ability": "During the System Phase, you may spend 1 [Charge] to drop a Commando Team remote using the [1 [Straight]] template. You can place that device using its front or rear guides. This card's [Charge] cannot be recovered.", + "slots": [ + "Crew", + "Crew" + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "device": { + "name": "Nite Owl Commandos", + "type": "Remote", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/remotes/niteowlcommandos-a.png", + "effect": "After an enemy ship overlaps you, it gains 1 strain token. Activation Phase: At the start of this phase, you may relocate forward using a [1 [Turn Left]], [2 [Straight]] or [1 [Turn Right]] template. Engagement Phase: You cannot attack if there are enemy ships at range 0. To perform an attack, you must spend 1 [Charge]. While you perform an attack, you may change 1 [Focus] result to a [Hit] result.", + "initiative": 2, + "charges": { + "value": 2, + "recovers": 0 + }, + "stats": [ + { + "type": "attack", + "arc": "Front Arc", + "value": 2, + "minrange": 1, + "maxrange": 2, + "ordnance": true + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 2 + } + ] + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/niteowlcommandos.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/niteowlcommandos.png" + } + ], + "cost": { + "value": 10 + }, + "restrictions": [ + { + "factions": [ + "galacticrepublic" + ] + }, + { + "sizes": [ + "Medium", + "Large", + "Huge" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Death Watch Commandos", + "limited": 1, + "xws": "deathwatchcommandos", + "sides": [ + { + "title": "Death Watch Commandos", + "type": "Crew", + "ability": "During the System Phase, you may spend 1 [Charge] to drop a Commando Team remote using the [1 [Straight]] template. You can place that device using its front or rear guides. This card's [Charge] cannot be recovered.", + "slots": [ + "Crew", + "Crew" + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "device": { + "name": "Death Watch Commandos", + "type": "Remote", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/remotes/deathwatchcommandos-a.png", + "effect": "After an enemy ship overlaps you, it gains 1 strain token. Activation Phase: At the start of this phase, you may relocate forward using a [1 [Turn Left]], [2 [Straight]] or [1 [Turn Right]] template. Engagement Phase: You cannot attack if there are enemy ships at range 0. To perform an attack, you must spend 1 [Charge]. While you perform an attack, you may change 1 [Focus] result to a [Hit] result.", + "initiative": 2, + "charges": { + "value": 2, + "recovers": 0 + }, + "stats": [ + { + "type": "attack", + "arc": "Front Arc", + "value": 2, + "minrange": 1, + "maxrange": 2, + "ordnance": true + }, + { + "type": "agility", + "value": 2 + }, + { + "type": "hull", + "value": 2 + } + ] + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/deathwatchcommandos.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/deathwatchcommandos.png" + } + ], + "cost": { + "value": 10 + }, + "restrictions": [ + { + "factions": [ + "separatistalliance" + ] + }, + { + "sizes": [ + "Medium", + "Large", + "Huge" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Chewbacca", + "limited": 1, + "xws": "chewbacca-battleofyavin", + "sides": [ + { + "title": "Chewbacca", + "type": "Crew", + "ability": "After you perform an [Evade] action, you may gain 1 focus token.", + "slots": [ + "Crew" + ] + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "Wolfpack", + "limited": 1, + "xws": "wolfpack-siegeofcoruscant", + "sides": [ + { + "title": "Wolfpack", + "type": "Crew", + "slots": [ + "Crew", + "Gunner" + ], + "ability": "While you perform an attack, you may spend a lock belonging to a friendly Plo Koon ship or ship with the Born for This ability that is on the defender to reroll any number of attack dice." + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "“Leebo”", + "limited": 1, + "xws": "leebo-swz103", + "sides": [ + { + "title": "“Leebo”", + "type": "Crew", + "slots": [ + "Crew" + ], + "ability": "After you repair a damage card, you may perform an action from your action bar." + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "Leebo", + "limited": 1, + "xws": "leebo-rsl", + "sides": [ + { + "title": "Leebo", + "type": "Crew", + "ability": "After you repair a damage card, you may perform an action on your action bar.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/leebo-rsl.png", + "slots": [ + "Crew" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/leebo-rsl.png" + } + ], + "cost": { + "value": 3 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy", + "rebelalliance" + ] + } + ], + "standard": false, + "wildspace": true, + "epic": false } -] +] \ No newline at end of file diff --git a/data/upgrades/device.json b/data/upgrades/device.json index 8b3c0c596..4541468bf 100644 --- a/data/upgrades/device.json +++ b/data/upgrades/device.json @@ -7,21 +7,62 @@ { "title": "Bomblet Generator", "type": "Device", - "ability": "Bomb During the System Phase, you may spend 1 [Charge] to drop a Bomblet with the [1 [Straight]] template. At the start of the Activation Phase, you may spend 1 shield to recover 2 [Charge].", - "slots": ["Device", "Device"], - "charges": { "value": 2, "recovers": 0 }, + "ability": "During the System Phase, you may spend 1 [Charge] to drop a Bomblet with the [1 [Straight]] template. At the start of the Activation Phase, you may spend 1 shield to recover 2 [Charge].", + "slots": [ + "Device", + "Device" + ], + "charges": { + "value": 2, + "recovers": 0 + }, "device": { "name": "Bomblet", "type": "Bomb", "effect": "At the end of the Activation Phase, this device detonates. When this device detonates, each ship and remote at range 0-1 rolls 2 attack dice. Each ship or remote suffers 1 [Hit] damage for each [Hit]/[Critical Hit] result." }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_63.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_63.jpg", - "ffg": 392 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/bombletgenerator.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/bombletgenerator.png" } ], - "cost": { "value": 2 }, - "hyperspace": false + "cost": { + "value": 3 + }, + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Blazer Bomb", + "limited": 0, + "xws": "blazerbomb", + "sides": [ + { + "title": "Blazer Bomb", + "type": "Device", + "ability": "During the System Phase, you may spend 1 [Charge] to drop a Blazer Bomb using the [1 [Straight]] template.", + "slots": [ + "Device" + ], + "charges": { + "value": 1, + "recovers": 0 + }, + "device": { + "name": "Blazer Bomb", + "type": "Bomb", + "effect": "At the end of the Activation Phase, this device detonates. When this device detonates, each ship and remote at range 0-1 rolls 1 attack die. Each ship or remote suffers 1 [Hit] damage for each [Hit]/[Critical Hit] result. After this device detonates, place a Blaze by aligning the Blaze's guides to the device's tab. A Blaze is an obstacle. After this obstacle is placed, place a fuse marker on it. During the End Phase, remove each Blaze with no fuse markers, then remove one fuse marker from each Blaze." + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/blazerbomb.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/blazerbomb.png" + } + ], + "cost": { + "value": 2 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Conner Nets", @@ -31,21 +72,29 @@ { "title": "Conner Nets", "type": "Device", - "ability": "Mine During the System Phase, you may spend 1 [Charge] to drop a Conner Net using the [1 [Straight]] template. This card's [Charge] cannot be recovered.", - "slots": ["Device"], - "charges": { "value": 1, "recovers": 0 }, + "ability": "During the System Phase, you may spend 1 [Charge] to drop a Conner Net using the [1 [Straight]] template. This card's [Charge] cannot be recovered.", + "slots": [ + "Device" + ], + "charges": { + "value": 1, + "recovers": 0 + }, "device": { "name": "Conner Net", "type": "Mine", "effect": "After a ship overlaps or moves through this device, it detonates. When this device detonates, the ship suffers 1 [Hit] damage and gains 3 ion tokens." }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_64.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_64.jpg", - "ffg": 393 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/connernets.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/connernets.png" } ], - "cost": { "value": 3 }, - "hyperspace": true + "cost": { + "value": 3 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Proton Bombs", @@ -55,21 +104,29 @@ { "title": "Proton Bombs", "type": "Device", - "ability": "Bomb During the System Phase, you may spend 1 [Charge] to drop a Proton Bomb using the [1 [Straight]] template.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_65.png", - "slots": ["Device"], - "charges": { "value": 2, "recovers": 0 }, + "ability": "During the System Phase, you may spend 1 [Charge] to drop a Proton Bomb using the [1 [Straight]] template.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/protonbombs.png", + "slots": [ + "Device" + ], + "charges": { + "value": 2, + "recovers": 0 + }, "device": { "name": "Proton Bomb", "type": "Bomb", "effect": "At the end of the Activation Phase, this device detonates. When this device detonates, each ship and remote at range 0-1 suffers 1 [Critical Hit] damage." }, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_65.jpg", - "ffg": 394 + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/protonbombs.png" } ], - "cost": { "value": 4 }, - "hyperspace": false + "cost": { + "value": 4 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Proximity Mines", @@ -79,21 +136,29 @@ { "title": "Proximity Mines", "type": "Device", - "ability": "Mine During the System Phase, you may spend 1 [Charge] to drop a Proximity Mine using the [1 [Straight]] template. This card's [Charge] cannot be recovered.", - "slots": ["Device"], - "charges": { "value": 2, "recovers": 0 }, + "ability": "During the System Phase, you may spend 1 [Charge] to drop a Proximity Mine using the [1 [Straight]] template. This card's [Charge] cannot be recovered.", + "slots": [ + "Device" + ], + "charges": { + "value": 2, + "recovers": 0 + }, "device": { "name": "Proximity Mine", "type": "Mine", "effect": "After a ship overlaps or moves through this device, it detonates. When this device detonates, that ship rolls 2 attack dice. That ship then suffers 1 [Hit] damage plus 1 [Hit]/[Critical Hit] damage for each matching result." }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_66.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_66.jpg", - "ffg": 395 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/proximitymines.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/proximitymines.png" } ], - "cost": { "value": 6 }, - "hyperspace": false + "cost": { + "value": 6 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Seismic Charges", @@ -103,21 +168,29 @@ { "title": "Seismic Charges", "type": "Device", - "ability": "Bomb During the System Phase, you may spend 1 [Charge] to drop a Seismic Charge with the [1 [Straight]] template.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_67.png", - "slots": ["Device"], - "charges": { "value": 2, "recovers": 0 }, + "ability": "During the System Phase, you may spend 1 [Charge] to drop a Seismic Charge with the [1 [Straight]] template.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/seismiccharges.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/seismiccharges.png", + "slots": [ + "Device" + ], + "charges": { + "value": 2, + "recovers": 0 + }, "device": { "name": "Seismic Charge", "type": "Bomb", "effect": "At the end of the Activation Phase, this device detonates. When this device detonates, choose 1 obstacle at range 0-1. Each ship and remote at range 0-1 of the obstacle suffers 1 [Hit] damage. Then remove that obstacle." - }, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_67.jpg", - "ffg": 396 + } } ], - "cost": { "value": 3 }, - "hyperspace": false + "cost": { + "value": 3 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "DRK-1 Probe Droids", @@ -128,27 +201,47 @@ "title": "DRK-1 Probe Droids", "type": "Device", "ability": "During the End Phase, you may spend 1 [Charge] to drop or launch 1 DRK-1 probe droid using a speed 3 template. This card's [Charge] cannot be recovered.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/44556cd042e536b41e7e89850e13081a.png", - "slots": ["Device"], - "charges": { "value": 2, "recovers": 0 }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/drk1probedroids.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/drk1probedroids.png", + "slots": [ + "Device" + ], + "charges": { + "value": 2, + "recovers": 0 + }, "device": { "name": "DRK-1 Probe Droid", "type": "Remote", "effect": "While a friendly ship locks an object or jams an enemy ship, it may measure range from you. After an enemy ship overlaps you, that ship rolls 1 attack die. On a [Focus] result, you suffer 1 [Hit] damage. System Phase: At your initiative, you may relocate useing a [2 [Bank Left]], [2 [Straight]], or [2 [Bank Right]] template.", "initiative": 0, "stats": [ - { "type": "agility", "value": 3 }, - { "type": "hull", "value": 1 } + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 1 + } ], - "image": "https://images-cdn.fantasyflightgames.com/filer_public/d1/a7/d1a70245-95d9-4d20-931f-3cadd8a11ed8/swz30_probe-card.png" - }, - "ffg": 541, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a69a3f1075a711b57cf7459e51647a7a.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/remotes/drk1probedroid.png" + } } ], - "cost": { "value": 5 }, - "restrictions": [{ "factions": ["Separatist Alliance"] }], - "hyperspace": true + "cost": { + "value": 5 + }, + "restrictions": [ + { + "factions": [ + "separatistalliance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Electro-Proton Bomb", @@ -158,38 +251,57 @@ { "title": "Electro-Proton Bomb", "type": "Device", - "ability": "Bomb During the System Phase, you may spend 1 [Charge] to drop an Electro-Proton Bomb with the [1 [Straight]] template. Then place 1 fuse marker on that device. This card's [Charge] cannot be recovered.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/0f76484cc390fc97d1fe2f863d75944b.png", - "slots": ["Device", "Modification"], - "charges": { "value": 1, "recovers": 0 }, + "ability": "During the System Phase, you may spend 1 [Charge] to drop an Electro-Proton Bomb with the [1 [Straight]] template. Then place 1 fuse marker on that device. This card's [Charge] cannot be recovered.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/electroprotonbomb.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/electroprotonbomb.png", + "slots": [ + "Device", + "Modification" + ], + "charges": { + "value": 1, + "recovers": 0 + }, "device": { "name": "Electro-Proton Bomb", "type": "Bomb", "effect": "At the end of the Activation Phase, this device detonates. When this device detonates, each ship and remote at range 0-2 rolls 4 attack dice. Each ship loses 1 shield for each blank result, gains 1 ion token for each [Focus]/[Hit] result, and gains 1 disarm token for each [Crit] result. Each remote at range 0-1 loses 1 shield for each blank result and suffers 1 damage for each [Focus]/[Hit] result." - }, - "ffg": 591, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/215f5298b9917bd57db474a38139ba08.jpg" + } } ], - "hyperspace": false, - "cost": { "value": 8 }, - "restrictions": [{ "action": { "type": "Reload", "difficulty": "White" } }] + "cost": { + "value": 8 + }, + "restrictions": [ + { + "action": { + "type": "Reload", + "difficulty": "White" + } + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Cluster Mines", "limited": 0, "xws": "clustermines", - "hyperspace": true, "sides": [ { "title": "Cluster Mines", "type": "Device", - "slots": ["Device"], - "ffg": 648, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/aea6bdafa5066a040a8929d6eb46499a.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/c27f0dcda78915239450bedf5b931d86.png", - "ability": "Mine During the System Phase, you may spend 1 [Charge] to drop a Cluster Mine set using the [1 [Straight]] template. This card's [Charge] cannot be recovered.", - "charges": { "value": 1, "recovers": 0 }, + "slots": [ + "Device" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/clustermines.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/clustermines.png", + "ability": "During the System Phase, you may spend 1 [Charge] to drop a Cluster Mine set using the [1 [Straight]] template. This card's [Charge] cannot be recovered.", + "charges": { + "value": 1, + "recovers": 0 + }, "device": { "name": "Cluster Mine", "type": "Mine", @@ -197,23 +309,31 @@ } } ], - "cost": { "value": 7 } + "cost": { + "value": 6 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Ion Bombs", "limited": 0, "xws": "ionbombs", - "hyperspace": false, "sides": [ { "title": "Ion Bombs", "type": "Device", - "slots": ["Device"], - "ffg": 649, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/f69c5ecaca9ab01380f6329e49970ddf.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/e4c43791c16aea639f2e811c16d1dbcf.png", - "ability": "Bomb During the System Phase, you may spend 1 [Charge] to drop an Ion Bomb using the [1 [Straight]] template.", - "charges": { "value": 2, "recovers": 0 }, + "slots": [ + "Device" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ionbombs.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ionbombs.png", + "ability": "During the System Phase, you may spend 1 [Charge] to drop an Ion Bomb using the [1 [Straight]] template.", + "charges": { + "value": 2, + "recovers": 0 + }, "device": { "name": "Ion Bomb", "type": "Bomb", @@ -221,19 +341,31 @@ } } ], - "cost": { "value": 4 } + "cost": { + "value": 4 + }, + "standard": true, + "wildspace": true, + "epic": true }, { + "name": "Concussion Bombs", + "limited": 0, + "xws": "concussionbombs", "sides": [ { - "ffg": 690, "title": "Concussion Bombs", "type": "Device", - "slots": ["Device"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/960df489d295d30765d019cf42a1f450.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/3b836493f5b17c47e44807c283bc4b04.png", + "slots": [ + "Device" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/concussionbombs.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/concussionbombs.png", "ability": "During the System Phase, if any of this card's [Charge] are inactive, you must spend 1 [Charge] to drop 1 concussion bomb using the [1 [Straight]] template, if able. Otherwise, you may spend 1 [Charge] to drop 1 concussion bomb.", - "charges": { "value": 3, "recovers": 0 }, + "charges": { + "value": 3, + "recovers": 0 + }, "device": { "name": "Concussion Bomb", "type": "Bomb", @@ -241,34 +373,43 @@ } } ], - "name": "Concussion Bombs", - "cost": { "value": 4 }, - "limited": 0, - "xws": "concussionbombs", - "hyperspace": true + "cost": { + "value": 4 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Thermal Detonators", "limited": 0, "xws": "thermaldetonators", - "hyperspace": true, "sides": [ { - "ability": "Bomb During the System Phase, you may spend up to 2 [Charge] to drop that many Thermal Detonators using the [1 [Straight]] or [2 [Straight]] template. Each must be placed using a different template. When you reload this card, recover 1 additional [Charge].", + "ability": "During the System Phase, you may spend up to 2 [Charge] to drop that many Thermal Detonators using the [1 [Straight]] or [2 [Straight]] template. Each must be placed using a different template. When you reload this card, recover 1 additional [Charge].", "title": "Thermal Detonators", "type": "Device", - "slots": ["Device"], - "charges": { "value": 4, "recovers": 0 }, - "ffg": 864, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/52/bf/52bff580-897d-4af0-9084-5088765babf0/swz80_upgrade_thermal-detonators.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/79c228aa933ae9970641262f6352ac4a.jpg", - "device" : { - "name" : "Thermal Detonators", - "type" : "Bomb", - "effect" : "At the end of the Activation Phase, this device detonates. When this device detonates, each ship and remote at range 0–1 rolls 1 attack die. Each ship gains 1 strain token for each [Focus] result, and each ship and remote suffers 1 [Hit]/[Crit] damage for each matching result." - } + "slots": [ + "Device" + ], + "charges": { + "value": 4, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/thermaldetonators.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/thermaldetonators.png", + "device": { + "name": "Thermal Detonators", + "type": "Bomb", + "effect": "At the end of the Activation Phase, this device detonates. When this device detonates, each ship and remote at range 0–1 rolls 1 attack die. Each ship gains 1 strain token for each [Focus] result, and each ship and remote suffers 1 [Hit]/[Crit] damage for each matching result." + } } ], - "cost": { "value": 5 } + "cost": { + "value": 5 + }, + "standard": true, + "wildspace": true, + "epic": true } -] +] \ No newline at end of file diff --git a/data/upgrades/force-power.json b/data/upgrades/force-power.json index b744a79bc..5d9efd05f 100644 --- a/data/upgrades/force-power.json +++ b/data/upgrades/force-power.json @@ -8,14 +8,19 @@ "title": "Heightened Perception", "type": "Force Power", "ability": "At the start of the Engagement Phase, you may spend 1 [Force]. If you do, engage at initiative 7 instead of your standard initiative value this phase.", - "slots": ["Force Power"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_19.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_19.jpg", - "ffg": 248 + "slots": [ + "Force Power" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/heightenedperception.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/heightenedperception.png" } ], - "cost": { "value": 3 }, - "hyperspace": true + "cost": { + "value": 3 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Instinctive Aim", @@ -26,14 +31,19 @@ "title": "Instinctive Aim", "type": "Force Power", "ability": "While you perform a special attack, you may spend 1 [Force] to ignore the [Focus] or [Lock] requirement.", - "slots": ["Force Power"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_20.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_20.jpg", - "ffg": 249 + "slots": [ + "Force Power" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/instinctiveaim.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/instinctiveaim.png" } ], - "cost": { "value": 1 }, - "hyperspace": true + "cost": { + "value": 1 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Sense", @@ -44,14 +54,19 @@ "title": "Sense", "type": "Force Power", "ability": "During the System Phase, you may choose 1 ship at range 0-1 and look at its dial. If you spend 1 [Force], you may choose a ship at range 0-3 instead.", - "slots": ["Force Power"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_21.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_21.jpg", - "ffg": 250 + "slots": [ + "Force Power" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/sense.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/sense.png" } ], - "cost": { "value": 6 }, - "hyperspace": false + "cost": { + "value": 7 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Supernatural Reflexes", @@ -62,18 +77,35 @@ "title": "Supernatural Reflexes", "type": "Force Power", "ability": "Before you activate, you may spend 1 [Force] to perform a [Barrel Roll] or [Boost] action. Then, if you performed an action you do not have on your action bar, suffer 1 [Hit] damage.", - "slots": ["Force Power"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_22.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_22.jpg", - "ffg": 251 + "slots": [ + "Force Power" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/supernaturalreflexes.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/supernaturalreflexes.png" } ], "cost": { "variable": "initiative", - "values": { "0": 4, "1": 4, "2": 4, "3": 8, "4": 16, "5": 24, "6": 32 } + "values": { + "0": 4, + "1": 4, + "2": 4, + "3": 8, + "4": 16, + "5": 24, + "6": 32 + } }, - "restrictions": [{ "sizes": ["Small"] }], - "hyperspace": false + "restrictions": [ + { + "sizes": [ + "Small" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Brilliant Evasion", @@ -84,14 +116,19 @@ "title": "Brilliant Evasion", "type": "Force Power", "ability": "While you defend, if you are not in the attacker's [Bullseye Arc], you may spend 1 [Force] to change 2 of your [Focus] results to [Evade] results.", - "slots": ["Force Power"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/24b175ad35d035f33a35056b0d1d7a36.png", - "ffg": 536, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/73bd7872a2c74e0402255f868d9d12bb.jpg" + "slots": [ + "Force Power" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/brilliantevasion.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/brilliantevasion.png" } ], - "cost": { "value": 2 }, - "hyperspace": false + "cost": { + "value": 2 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Hate", @@ -102,15 +139,26 @@ "title": "Hate", "type": "Force Power", "ability": "After you suffer 1 or more damage, recover that many [Force].", - "slots": ["Force Power"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/4a10b5c8a3d796116163a741d145f4e9.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a373c947f0a56ee4bcf4223250326dc0.jpg", - "ffg": 489 + "slots": [ + "Force Power" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/hate.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/hate.png" + } + ], + "cost": { + "value": 4 + }, + "restrictions": [ + { + "force_side": [ + "dark" + ] } ], - "cost": { "value": 4 }, - "restrictions": [{ "force_side": ["dark"] }], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Predictive Shot", @@ -121,14 +169,19 @@ "title": "Predictive Shot", "type": "Force Power", "ability": "After you declare an attack, if the defender is in your [Bullseye Arc], you may spend 1 [Force]. If you do, during the Roll Defense Dice step, the defender cannot roll more defense dice than the number of your [Hit]/[Critical Hit] results.", - "slots": ["Force Power"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/53ceabb0e2e66e61c077145475b18dab.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/e0100c63b2753daf68a9d3948824b086.png", - "ffg": 490 + "slots": [ + "Force Power" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/predictiveshot.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/predictiveshot.png" } ], - "cost": { "value": 1 }, - "hyperspace": false + "cost": { + "value": 1 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Battle Meditation", @@ -139,35 +192,58 @@ "title": "Battle Meditation", "type": "Force Power", "ability": "You cannot coordinate limited ships. While you perform a purple [Coordinate] action, you may coordinate 1 additional friendly non-limited ship of the same type. Both ships must perform the same action.", - "slots": ["Force Power"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/d0641df31a0fc40c501055dcd34094f6.png", + "slots": [ + "Force Power" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/battlemeditation.png", "grants": [ { "type": "action", - "value": { "type": "Coordinate", "difficulty": "Purple" } + "value": { + "type": "Coordinate", + "difficulty": "Purple" + } } ], - "ffg": 545, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/e9aed0602a75ddad090820e59036a7fd.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/battlemeditation.png" } ], "cost": { "variable": "initiative", - "values": { "0": 3, "1": 3, "2": 3, "3": 3, "4": 4, "5": 6, "6": 8 } + "values": { + "0": 2, + "1": 2, + "2": 2, + "3": 2, + "4": 3, + "5": 4, + "6": 6 + } }, - "restrictions": [{ "factions": ["Galactic Republic"] }], - "hyperspace": false + "restrictions": [ + { + "factions": [ + "galacticrepublic" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Foresight", + "limited": 0, + "xws": "foresight", "sides": [ { - "ffg": 613, "title": "Foresight", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/87b83856576c1d4b7f3036d6008863f6.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/12c948b9a0fe9f619ecda00f9fdcc437.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/foresight.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/foresight.png", "ability": "After an enemy ship executes a maneuver, you may spend 1 [Force] to perform this attack against it as a bonus attack. Attack: You may change 1 [Focus] result to a [Hit] result; your dice cannot be modified otherwise.", - "slots": ["Force Power"], + "slots": [ + "Force Power" + ], "type": "Force Power", "attack": { "arc": "Bullseye Arc", @@ -178,112 +254,235 @@ } } ], - "cost": { "value": 5 }, - "hyperspace": true, - "xws": "foresight", - "limited": 0 + "cost": { + "value": 5 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Precognitive Reflexes", "limited": 0, + "xws": "precognitivereflexes", "sides": [ { - "ffg": 614, "title": "Precognitive Reflexes", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/7c139cebc9475051506c5b79a98f465a.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/931c84c3e1b3afe5d078f6b3dd4f677a.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/precognitivereflexes.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/precognitivereflexes.png", "ability": "After you reveal your dial, you may spend 1 [Force] to perform a [Barrel Roll] or [Boost] action. Then, if you performed an action you do not have on your action bar, gain 1 strain token. If you do, you cannot perform another action during your activation.", - "slots": ["Force Power"], + "slots": [ + "Force Power" + ], "type": "Force Power" } ], "cost": { "variable": "initiative", - "values": { "0": 3, "1": 3, "2": 3, "3": 4, "4": 7, "5": 10, "6": 13 } + "values": { + "0": 3, + "1": 3, + "2": 3, + "3": 4, + "4": 7, + "5": 10, + "6": 13 + } }, - "hyperspace": false, - "xws": "precognitivereflexes" + "restrictions": [ + { + "sizes": [ + "Small" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Extreme Maneuvers", "limited": 0, "xws": "extrememaneuvers", - "hyperspace": true, "sides": [ { "ability": "While you perform a [Boost] action, you may spend 1 [Force] to use the turn ([Turn Left] or [Turn Right]) template instead.", "title": "Extreme Maneuvers", "type": "Force Power", - "slots": ["Force Power"], - "ffg": 848, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/9fde6e000d6e1d9dd28e3ffb301b9c04.jpg" + "slots": [ + "Force Power" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/extrememaneuvers.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/extrememaneuvers.png" } ], - "cost": { "value": 5 } + "cost": { + "value": 5 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Compassion", "limited": 0, "xws": "compassion", - "hyperspace": true, "sides": [ { "ability": "Before another friendly ship at range 0-2 would be dealt a faceup Pilot or Crew damage card, you may spend 1 [Force]. If you do, that damage card is discarded instead, and you are dealt 1 facedown damage card. Then, if you have 2 or more damage cards, recover 2 [Force].", "title": "Compassion", "type": "Force Power", - "slots": ["Force Power"], - "ffg": 934 + "slots": [ + "Force Power" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/compassion.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/compassion.png" } ], - "cost": { "value": 1 } + "cost": { + "value": 1 + }, + "restrictions": [ + { + "force_side": [ + "light" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Malice", "limited": 0, "xws": "malice", - "hyperspace": true, "sides": [ { "ability": "While you perform an attack, you may spend 1 [Force] to change 1 [Focus] or [Hit] result to a [Critical Hit] result. If you do, after you perform that attack, if the defender was dealt 1 or more faceup Pilot or Crew damage cards, recover 2 [Force].", "title": "Malice", "type": "Force Power", - "slots": ["Force Power"], - "ffg": 935 + "slots": [ + "Force Power" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/malice.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/malice.png" + } + ], + "cost": { + "value": 6 + }, + "restrictions": [ + { + "force_side": [ + "dark" + ] } ], - "cost": { "value": 6 } + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Shattering Shot", "limited": 0, "xws": "shatteringshot", - "hyperspace": true, "sides": [ { "ability": "While you perform an attack, if the attack is obstructed by an obstacle or the defender is at range 0 of an obstacle, you may spend 1 [Force] to add 1 [Focus] result.", "title": "Shattering Shot", "type": "Force Power", - "slots": ["Force Power"], - "ffg": 936 + "slots": [ + "Force Power" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/shatteringshot.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/shatteringshot.png" } ], - "cost": { "value": 3 } + "cost": { + "value": 2 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Patience", "limited": 0, "xws": "patience", - "hyperspace": true, "sides": [ { "ability": "At the start of the Engagement Phase, if there is an enemy ship in your [Front Arc], you may gain 1 deplete token to recover 1 [Force].", "title": "Patience", "type": "Force Power", - "slots": ["Force Power"], - "ffg": 849, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/905d768c07c386930b14d1d5f7e74ba4.jpg" + "slots": [ + "Force Power" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/patience.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/patience.png" + } + ], + "cost": { + "value": 2 + }, + "restrictions": [ + { + "force_side": [ + "light" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Roiling Anger", + "limited": 0, + "xws": "roilinganger-siegeofcoruscant", + "sides": [ + { + "title": "Roiling Anger", + "type": "Force Power", + "ability": "At the start of the Engagement Phase, if you are in an enemy ship's [Front Arc], you may gain 1 strain to recover 1 [Force].", + "slots": [ + "Force Power" + ] + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "Roiling Anger", + "limited": 0, + "xws": "roilinganger-rsl", + "sides": [ + { + "title": "Roiling Anger", + "type": "Force Power", + "ability": "At the start of the Engagement Phase, if you are in the [Front Arc] of an enemy ship, you may gain 1 strain token to recover 1 [Force].", + "slots": [ + "Force Power" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/roilinganger-rsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/roilinganger-rsl.png" + } + ], + "cost": { + "value": 3 + }, + "restrictions": [ + { + "force_side": [ + "dark" + ] } ], - "cost": { "value": 2 } + "standard": false, + "wildspace": true, + "epic": false } ] diff --git a/data/upgrades/gunner.json b/data/upgrades/gunner.json index 8749c8b0c..74e84a303 100644 --- a/data/upgrades/gunner.json +++ b/data/upgrades/gunner.json @@ -8,14 +8,19 @@ "title": "Agile Gunner", "type": "Gunner", "ability": "During the End Phase, you may rotate your [Single Turret Arc] indicator.", - "slots": ["Gunner"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_162.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_162.jpg", - "ffg": 388 + "slots": [ + "Gunner" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/agilegunner.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/agilegunner.png" } ], - "cost": { "value": 3 }, - "hyperspace": true + "cost": { + "value": 3 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "BT-1", @@ -26,17 +31,29 @@ "title": "BT-1", "type": "Gunner", "ability": "While you perform an attack, you may change 1 [Hit] result to a [Critical Hit] result for each stress token the defender has.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_140.png", - "slots": ["Gunner"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_140.jpg", - "ffg": 365 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/bt1.png", + "slots": [ + "Gunner" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/bt1.png" } ], - "cost": { "value": 2 }, + "cost": { + "value": 3 + }, "restrictions": [ - { "factions": ["Scum and Villainy"], "names": ["Darth Vader"] } + { + "factions": [ + "scumandvillainy" + ], + "names": [ + "Darth Vader" + ] + } ], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Bistan", @@ -47,15 +64,26 @@ "title": "Bistan", "type": "Gunner", "ability": "After you perform a primary attack, if you are focused, you may perform a bonus [Single Turret Arc] attack against a ship you have not already attacked this round.", - "slots": ["Gunner"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_95.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_95.jpg", - "ffg": 319 + "slots": [ + "Gunner" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/bistan.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/bistan.png" + } + ], + "cost": { + "value": 8 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] } ], - "cost": { "value": 8 }, - "restrictions": [{ "factions": ["Rebel Alliance"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Bossk", @@ -66,15 +94,26 @@ "title": "Bossk", "type": "Gunner", "ability": "After you perform a primary attack that misses, if you are not stressed, you must receive 1 stress token to perform a bonus primary attack against the same target.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_139.png", - "slots": ["Gunner"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_139.jpg", - "ffg": 364 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/bossk.png", + "slots": [ + "Gunner" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/bossk.png" + } + ], + "cost": { + "value": 8 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] } ], - "cost": { "value": 8 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Dengar", @@ -85,16 +124,30 @@ "title": "Dengar", "type": "Gunner", "ability": "After you defend, if the attacker is in your firing arc, you may spend 1 [Charge]. If you do, roll 1 attack die unless the attacker chooses to remove 1 green token. On a [Hit] or [Critical Hit] result, the attacker suffers 1 [Hit] damage.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_141.png", - "slots": ["Gunner"], - "charges": { "value": 1, "recovers": 1 }, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_141.jpg", - "ffg": 366 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/dengar.png", + "slots": [ + "Gunner" + ], + "charges": { + "value": 1, + "recovers": 1 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/dengar.png" } ], - "cost": { "value": 6 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }], - "hyperspace": false + "cost": { + "value": 6 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Ezra Bridger", @@ -105,16 +158,30 @@ "title": "Ezra Bridger", "type": "Gunner", "ability": "After you perform a primary attack, you may spend 1 [Force] to perform a bonus [Single Turret Arc] attack from a [Single Turret Arc] you have not attacked from this round. If you do and you are stressed, you may reroll 1 attack die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_96.png", - "slots": ["Gunner"], - "force": { "value": 1, "recovers": 1 }, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_96.jpg", - "ffg": 320 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ezrabridger.png", + "slots": [ + "Gunner" + ], + "force": { + "value": 1, + "recovers": 1 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ezrabridger.png" } ], - "cost": { "value": 10 }, - "restrictions": [{ "factions": ["Rebel Alliance"] }], - "hyperspace": false + "cost": { + "value": 10 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Fifth Brother", @@ -125,16 +192,30 @@ "title": "Fifth Brother", "type": "Gunner", "ability": "While you perform an attack, you may spend 1 [Force] to change 1 of your [Focus] results to a [Critical Hit] result.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_122.png", - "slots": ["Gunner"], - "force": { "value": 1, "recovers": 1 }, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_122.jpg", - "ffg": 348 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/fifthbrother.png", + "slots": [ + "Gunner" + ], + "force": { + "value": 1, + "recovers": 1 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/fifthbrother.png" } ], - "cost": { "value": 12 }, - "restrictions": [{ "factions": ["Galactic Empire"] }], - "hyperspace": false + "cost": { + "value": 12 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Greedo", @@ -145,16 +226,30 @@ "title": "Greedo", "type": "Gunner", "ability": "While you perform an attack, you may spend 1 [Charge] to change 1 [Hit] result to a [Critical Hit] result. While you defend, if your [Charge] is active, the attacker may change 1 [Hit] result to a [Critical Hit] result.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_142.png", - "slots": ["Gunner"], - "charges": { "value": 1, "recovers": 1 }, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_142.jpg", - "ffg": 367 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/greedo.png", + "slots": [ + "Gunner" + ], + "charges": { + "value": 1, + "recovers": 1 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/greedo.png" + } + ], + "cost": { + "value": 1 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] } ], - "cost": { "value": 1 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Han Solo", @@ -165,15 +260,26 @@ "title": "Han Solo", "type": "Gunner", "ability": "During the Engagement Phase, at initiative 7, you may perform a [Single Turret Arc] attack. You cannot attack from that [Single Turret Arc] again this round.", - "slots": ["Gunner"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_97.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_97.jpg", - "ffg": 321 + "slots": [ + "Gunner" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/hansolo.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/hansolo.png" } ], - "cost": { "value": 10 }, - "restrictions": [{ "factions": ["Rebel Alliance"] }], - "hyperspace": false + "cost": { + "value": 10 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Han Solo", @@ -184,15 +290,26 @@ "title": "Han Solo", "type": "Gunner", "ability": "Before you engage, you may perform a red [Focus] action.", - "slots": ["Gunner"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_163.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_163.jpg", - "ffg": 389 + "slots": [ + "Gunner" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/hansolo-gunner.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/hansolo-gunner.png" } ], - "cost": { "value": 9 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }], - "hyperspace": false + "cost": { + "value": 10 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Hotshot Gunner", @@ -203,14 +320,19 @@ "title": "Hotshot Gunner", "type": "Gunner", "ability": "While you perform a [Single Turret Arc] attack, after the Modify Defense Dice step, the defender removes 1 focus or calculate token.", - "slots": ["Gunner"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_49.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_49.jpg", - "ffg": 278 + "slots": [ + "Gunner" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/hotshotgunner.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/hotshotgunner.png" } ], - "cost": { "value": 6 }, - "hyperspace": false + "cost": { + "value": 6 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Luke Skywalker", @@ -221,16 +343,30 @@ "title": "Luke Skywalker", "type": "Gunner", "ability": "At the start of the Engagement Phase, you may spend 1 [Force] to rotate your [Single Turret Arc] indicator.", - "slots": ["Gunner"], - "force": { "value": 1, "recovers": 1 }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_98.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_98.jpg", - "ffg": 322 + "slots": [ + "Gunner" + ], + "force": { + "value": 1, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/lukeskywalker.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/lukeskywalker.png" } ], - "cost": { "value": 26 }, - "restrictions": [{ "factions": ["Rebel Alliance"] }], - "hyperspace": false + "cost": { + "value": 26 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Skilled Bombardier", @@ -241,14 +377,19 @@ "title": "Skilled Bombardier", "type": "Gunner", "ability": "If you would drop or launch a device, you may use a template of the same bearing with a speed 1 higher or lower.", - "slots": ["Gunner"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_50.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_50.jpg", - "ffg": 279 + "slots": [ + "Gunner" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/skilledbombardier.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/skilledbombardier.png" } ], - "cost": { "value": 2 }, - "hyperspace": true + "cost": { + "value": 2 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Special Forces Gunner", @@ -259,18 +400,31 @@ "title": "Special Forces Gunner", "type": "Gunner", "ability": "While you perform a primary [Front Arc] attack, if your [Single Turret Arc] is in your [Front Arc], you may roll 1 additional attack die. After you perform a primary [Front Arc] attack, if your [Single Turret Arc] is in your [Rear Arc], you may perform a bonus primary [Single Turret Arc] attack.", - "slots": ["Gunner"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/d3aed19c7eb6f9ebc2352ac49cdd6b87.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/b87bf63d7db6195febd879edc4880f13.jpg", - "ffg": 470 + "slots": [ + "Gunner" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/specialforcesgunner.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/specialforcesgunner.png" } ], - "cost": { "value": 9 }, + "cost": { + "value": 9 + }, "restrictions": [ - { "factions": ["First Order"] }, - { "ships": ["tiesffighter"] } + { + "factions": [ + "firstorder" + ] + }, + { + "ships": [ + "tiesffighter" + ] + } ], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Veteran Tail Gunner", @@ -281,15 +435,26 @@ "title": "Veteran Tail Gunner", "type": "Gunner", "ability": "After you perform a primary [Front Arc] attack, you may perform a bonus primary [Rear Arc] attack.", - "slots": ["Gunner"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_51.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_51.jpg", - "ffg": 280 + "slots": [ + "Gunner" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/veterantailgunner.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/veterantailgunner.png" + } + ], + "cost": { + "value": 2 + }, + "restrictions": [ + { + "arcs": [ + "Rear Arc" + ] } ], - "cost": { "value": 2 }, - "restrictions": [{ "arcs": ["Rear Arc"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Veteran Turret Gunner", @@ -300,18 +465,32 @@ "title": "Veteran Turret Gunner", "type": "Gunner", "ability": "After you perform a primary attack, you may perform a bonus [Single Turret Arc] attack using a [Single Turret Arc] you did not already attack from this round.", - "slots": ["Gunner"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_52.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_52.jpg", - "ffg": 281 + "slots": [ + "Gunner" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/veteranturretgunner.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/veteranturretgunner.png" } ], "cost": { "variable": "size", - "values": { "Small": 11, "Medium": 8, "Large": 7 } + "values": { + "Small": 9, + "Medium": 8, + "Large": 7, + "Huge": 7 + } }, - "restrictions": [{ "action": { "type": "Rotate Arc" } }], - "hyperspace": false + "restrictions": [ + { + "action": { + "type": "Rotate Arc" + } + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Finn", @@ -322,15 +501,26 @@ "title": "Finn", "type": "Gunner", "ability": "While you defend or perform a primary attack, if the enemy ship is in your [Front Arc], you may add 1 blank result to your roll (this die can be rerolled or otherwise modified).", - "slots": ["Gunner"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/79477be319935f42270f1712cd269dff.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/7d5d0c76d3c8fdbb5ec893c270eec7b2.jpg", - "ffg": 476 + "slots": [ + "Gunner" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/finn.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/finn.png" } ], - "cost": { "value": 9 }, - "restrictions": [{ "factions": ["Resistance"] }], - "hyperspace": false + "cost": { + "value": 8 + }, + "restrictions": [ + { + "factions": [ + "resistance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Paige Tico", @@ -341,15 +531,26 @@ "title": "Paige Tico", "type": "Gunner", "ability": "After you perform a primary attack, you may drop 1 bomb or rotate your [Single Turret Arc]. After you are destroyed, you may drop 1 bomb.", - "slots": ["Gunner"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/9dc15f634233b5daba107a07aa63d04c.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a34ab7a76083f91577110d31d20b6e14.jpg", - "ffg": 477 + "slots": [ + "Gunner" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/paigetico.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/paigetico.png" + } + ], + "cost": { + "value": 6 + }, + "restrictions": [ + { + "factions": [ + "resistance" + ] } ], - "cost": { "value": 6 }, - "restrictions": [{ "factions": ["Resistance"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Rey", @@ -360,16 +561,30 @@ "title": "Rey", "type": "Gunner", "ability": "While you defend or perform an attack, if the enemy ship is in your [Single Turret Arc], you may spend 1 [Force] to change 1 of your blank results to a [Evade] or [Hit] result.", - "slots": ["Gunner"], - "force": { "value": 1, "recovers": 1 }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/e11aec8ae6ec855694947bc2f9d1917e.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/ab5eea679d5ca9369cd122bc65001119.jpg", - "ffg": 478 + "slots": [ + "Gunner" + ], + "force": { + "value": 1, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/rey-gunner.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/rey-gunner.png" } ], - "restrictions": [{ "factions": ["Resistance"] }], - "cost": { "value": 10 }, - "hyperspace": false + "restrictions": [ + { + "factions": [ + "resistance" + ] + } + ], + "cost": { + "value": 11 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Seventh Fleet Gunner", @@ -379,17 +594,31 @@ { "title": "Seventh Fleet Gunner", "type": "Gunner", - "slots": ["Gunner"], + "slots": [ + "Gunner" + ], "ability": "While another friendly ship performs a primary attack, if the defender is in your firing arc, you may spend 1 [Charge]. If you do, the attacker rolls 1 additional die, to a maximum of 4. During the System Phase, you may gain 1 disarm token to recover 1 [Charge].", - "charges": { "value": 1, "recovers": 0 }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/a532c1de311e8d0a288af8232495a007.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/8461a9f5c79195b802e8b04da922809f.jpg", - "ffg": 553 + "charges": { + "value": 1, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/seventhfleetgunner.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/seventhfleetgunner.png" } ], - "restrictions": [{ "factions": ["Galactic Republic"] }], - "cost": { "value": 8 }, - "hyperspace": false + "restrictions": [ + { + "factions": [ + "galacticrepublic" + ] + } + ], + "cost": { + "value": 6 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Clone Commander Cody", @@ -399,122 +628,169 @@ { "title": "Clone Commander Cody", "type": "Gunner", - "slots": ["Gunner"], + "slots": [ + "Gunner" + ], "ability": "After you perform an attack that missed, if 1 or more [Hit]/[Critical Hit] results were neutralized, the defender gains 1 strain token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/1da8e9de468d456f724d0c1f37e90d28.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/209d0df0333dc348c74c0e8a760ca741.jpg", - "ffg": 552 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/clonecommandercody.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/clonecommandercody.png" } ], - "restrictions": [{ "factions": ["Galactic Republic"] }], - "cost": { "value": 4 }, - "hyperspace": false + "restrictions": [ + { + "factions": [ + "galacticrepublic" + ] + } + ], + "cost": { + "value": 3 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Ahsoka Tano", + "limited": 1, + "xws": "ahsokatano", "sides": [ { - "ffg": 615, "title": "Ahsoka Tano", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/f37eb1e56dc1928bfcd53e4eb95a01ae.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/bdc101788f827aeaf2f50a513b59aa7e.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ahsokatano.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ahsokatano.png", "ability": "After you execute a maneuver, you may spend 1 [Force] and choose a friendly ship at range 1-3 in your firing arc. If you do, it may perform a red [Focus] action, even while stressed.", - "slots": ["Gunner"], - "force": { "value": 1, "recovers": 1 }, + "slots": [ + "Gunner" + ], + "force": { + "value": 1, + "recovers": 1 + }, "type": "Gunner" } ], - "cost": { "value": 12 }, - "limited": 1, - "hyperspace": false, - "xws": "ahsokatano" + "cost": { + "value": 9 + }, + "standard": true, + "wildspace": true, + "epic": true }, { + "name": "Clone Captain Rex", + "limited": 1, + "xws": "clonecaptainrex", "sides": [ { - "ffg": 688, "title": "Clone Captain Rex", "type": "Gunner", - "slots": ["Gunner"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/245421ccca34a8495ab2b1176215763d.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/d5557710e25d5770248736e4743d08ad.png", + "slots": [ + "Gunner" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/clonecaptainrex.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/clonecaptainrex.png", "ability": "While you perform an attack, you may spend 1 [Focus] result. If you do, each friendly ship that has the defender in its [Bullseye Arc] may gain 1 strain to perform a [Focus] action." } ], - "name": "Clone Captain Rex", - "cost": { "value": 2 }, - "limited": 1, - "xws": "clonecaptainrex", - "hyperspace": true + "cost": { + "value": 1 + }, + "standard": true, + "wildspace": true, + "epic": true }, { + "name": "Suppressive Gunner", + "limited": 0, + "xws": "suppressivegunner", "sides": [ { - "ffg": 689, "title": "Suppressive Gunner", "type": "Gunner", - "slots": ["Gunner"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/4902fa74cccbaadfa2108ef7670bcbfe.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/ded967f8af64da8948746e6351238484.png", + "slots": [ + "Gunner" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/suppressivegunner.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/suppressivegunner.png", "ability": "While you perform an attack, you may spend 1 [Focus] result. If you do, the defender gains 1 deplete token unless it chooses to suffer 1 [Hit] damage." } ], - "name": "Suppressive Gunner", - "cost": { "value": 7 }, - "limited": 0, - "xws": "suppressivegunner", - "hyperspace": true + "cost": { + "value": 6 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Boba Fett", "limited": 1, "xws": "bobafett-gunner", - "hyperspace": true, "sides": [ { "ability": "While you perform an attack, if there are no other ships in the attack arc, you may change 1 of your [Focus] results to a [Hit] result.", "title": "Boba Fett", "type": "Gunner", - "slots": ["Gunner"], - "ffg": 857, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/d6d9f440cf8d6965a879db163d42d402.jpg" + "slots": [ + "Gunner" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/bobafett-gunner.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/bobafett-gunner.png" } ], - "cost": { "value": 6 } + "cost": { + "value": 4 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Weapons Systems Officer", "limited": 0, "xws": "weaponssystemsofficer", - "hyperspace": true, "sides": [ { "ability": "After you perform a special attack with the [Lock] requirement, you may acquire a lock on the defender.", "title": "Weapons Systems Officer", "type": "Gunner", - "slots": ["Gunner"], - "ffg": 859, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/c10278c132ecd7cf511b29d4a91c597b.jpg" + "slots": [ + "Gunner" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/weaponssystemsofficer.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/weaponssystemsofficer.png" } ], - "cost": { "value": 5 } + "cost": { + "value": 5 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Sabine Wren", "limited": 1, "xws": "sabinewren-gunner", - "hyperspace": true, "sides": [ { "ability": "After you perform a special attack, you may choose a number of friendly ships at range 0-3 of the defender up to the number of damage cards dealt to the defender during that attack. Each chosen ship may remove 1 strain or stress token.", "title": "Sabine Wren", "type": "Gunner", - "slots": ["Gunner"], - "ffg": 921, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/239d3285c1e55ae021c63a3f0f19985f.jpg" + "slots": [ + "Gunner" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/sabinewren-gunner.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/sabinewren-gunner.png" } ], - "cost": { "value": 2 } + "cost": { + "value": 2 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "DT-798", @@ -525,15 +801,26 @@ "title": "DT-798", "type": "Gunner", "ability": "At the start of the Engagement Phase, you may choose a friendly ship in your firing arc. If you do, that ship gains 1 strain token. While you perform an attack, you may reroll up to 1 die for each ship in the attack arc with 1 or more non-lock red or orange tokens.", - "slots": ["Gunner"], - "image": "???", - "artwork": "???", - "ffg": 940 + "slots": [ + "Gunner" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/dt798.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/dt798.png" + } + ], + "cost": { + "value": 3 + }, + "restrictions": [ + { + "factions": [ + "firstorder" + ] } ], - "cost": { "value": 5 }, - "restrictions": [{ "factions": ["First Order"] }], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "First Order Ordnance Tech", @@ -544,24 +831,176 @@ "title": "First Order Ordnance Tech", "type": "Gunner", "text": "The First Order trains its pilots and gunners to be fanatically loyal, prioritizing victory even over survival.", - "slots": ["Gunner"], + "slots": [ + "Gunner" + ], "grants": [ { "type": "action", "value": { "type": "Reload", "difficulty": "White", - "linked": { "type": "Lock", "difficulty": "White" } + "linked": { + "type": "Lock", + "difficulty": "White" + } } } ], - "image": "???", - "artwork": "???", - "ffg": 937 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/firstorderordnancetech.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/firstorderordnancetech.png" + } + ], + "cost": { + "value": 2 + }, + "restrictions": [ + { + "factions": [ + "firstorder" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Gar Saxon", + "limited": 1, + "xws": "garsaxon-gunner", + "sides": [ + { + "title": "Gar Saxon", + "type": "Gunner", + "ability": "While you perform the [Lock] action, you can only choose an object in your [Front Arc] or [Rear Arc]. While you perform a primary attack, if the defender is in your [Front Arc] or [Rear Arc], you may remove 1 orange or red token from the defender to roll 1 additional die, to a maximum of 4.", + "slots": [ + "Gunner" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/garsaxon-gunner.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/garsaxon-gunner.png" + } + ], + "cost": { + "value": 10 + }, + "restrictions": [ + { + "sizes": [ + "Large", + "Huge" + ] + }, + { + "factions": [ + "scumandvillainy" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Tiber Saxon", + "limited": 1, + "xws": "tibersaxon", + "sides": [ + { + "title": "Tiber Saxon", + "type": "Gunner", + "ability": "After you perform an attack at attack range 1-2 that hits, if the defender has no faceup damage cards, you may spend 1 or more [Charge]. For each [Charge] you spend, the defender gains 1 strain token.", + "slots": [ + "Gunner" + ], + "charges": { + "value": 2, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/tibersaxon.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/tibersaxon.png" + } + ], + "cost": { + "value": 5 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Ursa Wren", + "limited": 1, + "xws": "ursawren-gunner", + "sides": [ + { + "title": "Ursa Wren", + "type": "Gunner", + "ability": "After you acquire a lock on an enemy unit beyond range 2, if there are no friendly units at range 0-1 of the locked unit, gain 1 calculate token.", + "slots": [ + "Gunner" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ursawren-gunner.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ursawren-gunner.png" + } + ], + "cost": { + "value": 4 + }, + "restrictions": [ + { + "factions": [ + "galacticrepublic", + "separatistalliance" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Migs Mayfeld", + "limited": 1, + "xws": "migsmayfeld", + "sides": [ + { + "title": "Migs Mayfeld", + "type": "Gunner", + "ability": "After you perform a [Front Arc] attack, you may perform a [Rear Arc] or [Single Turret Arc] attack as a bonus attack against a different target with 1 or more red or orange tokens.", + "slots": [ + "Gunner" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/migsmayfeld.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/migsmayfeld.png" + } + ], + "cost": { + "variable": "size", + "values": { + "Small": 2, + "Medium": 3, + "Large": 4, + "Huge": 7 + } + }, + "restrictions": [ + { + "factions": [ + "galacticempire", + "scumandvillainy" + ] } ], - "cost": { "value": 3 }, - "restrictions": [{ "factions": ["First Order"] }], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true } -] +] \ No newline at end of file diff --git a/data/upgrades/hardpoint.json b/data/upgrades/hardpoint.json index 1b7a190f5..2a7ba620d 100644 --- a/data/upgrades/hardpoint.json +++ b/data/upgrades/hardpoint.json @@ -3,13 +3,14 @@ "name": "Ion Cannon Battery", "limited": 0, "xws": "ioncannonbattery", - "hyperspace": false, "sides": [ { "ability": "Setup: Equip this side faceup. Bonus Attack: Spend 1 [Energy]. If this attack hits, the defender suffers 1 [Critical Hit] damage, and all [Hit]/[Critical Hit] results inflict ion tokens instead of damage.", "title": "Ion Cannon Battery", "type": "Hardpoint", - "slots": ["Hardpoint"], + "slots": [ + "Hardpoint" + ], "attack": { "arc": "Single Turret Arc", "value": 4, @@ -17,104 +18,137 @@ "maxrange": 4, "ordnance": false }, - "ffg": 736, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/b7837b3c19f0e0e552a3e2024ada0080.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ioncannonbattery.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ioncannonbattery.png" }, { "ability": "Offline: After you engage, you may spend 2 [Energy] to flip this card.", "title": "Ion Cannon Battery (Offline)", "type": "Hardpoint", - "slots": ["Hardpoint"], + "slots": [ + "Hardpoint" + ], "grants": [ { "type": "action", - "value": { "type": "Rotate Arc", "difficulty": "White" } + "value": { + "type": "Rotate Arc", + "difficulty": "White" + } } ], - "ffg": 737, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/64d964f87f3c406a380a4e3d23f8adff.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ioncannonbattery-siedb.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ioncannonbattery-sideb.png" } ], - "cost": { "value": 5 } + "cost": { + "value": 6 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Ordnance Tubes", "limited": 0, "xws": "ordnancetubes", - "hyperspace": false, "sides": [ { "ability": "Setup: Equip this side faceup. You can perform [Torpedo] and [Missile] attacks only as bonus attacks. You must treat the [Front Arc] requirement of your equipped [Torpedo] and [Missile] upgrades as [Full Front Arc]. Bonus Attack: Perform a [Torpedo] attack. Bonus Attack: Perform a [Missile] attack.", "title": "Ordnance Tubes", "type": "Hardpoint", - "slots": ["Hardpoint"], - "ffg": 740, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/1c29cf92ae4254dcc6d6e01649440928.jpg" + "slots": [ + "Hardpoint" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ordnancetubes.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ordnancetubes.png" }, { "ability": "Offline: You must treat the [Front Arc] requirement of your equipped [Torpedo] and [Missile] upgrades as [Bullseye Arc]. Action: Spend 2 [Energy] to flip this card.", "title": "Ordnance Tubes (Offline)", "type": "Hardpoint", - "slots": ["Hardpoint"], - "ffg": 741, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/704417993312731838f68390884c699d.jpg" + "slots": [ + "Hardpoint" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ordnancetubes-sideb.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ordnancetubes-sideb.png" } ], - "cost": { "value": 1 } + "cost": { + "value": 1 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Point-Defense Battery", "limited": 0, "xws": "pointdefensebattery", - "hyperspace": false, "sides": [ { "ability": "Setup: Equip this side faceup. Bonus Attack: Spend 1 [Energy]. Bonus Attack: Spend 1 [Energy]. Bonus Attack: Spend 1 [Energy]. Bonus Attack: Spend 1 [Energy].", "title": "Point-Defense Battery", "type": "Hardpoint", - "slots": ["Hardpoint"], + "slots": [ + "Hardpoint" + ], "grants": [ { "type": "action", - "value": { "type": "Rotate Arc", "difficulty": "White" } + "value": { + "type": "Rotate Arc", + "difficulty": "White" + } } ], "attack": { - "arc": "Single Turret Arc", + "arc": "Double Turret Arc", "value": 2, "minrange": 1, "maxrange": 2, "ordnance": false }, - "ffg": 742, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/19ff0f46629df40158546791f897b55b.jpg" - }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/pointdefensebattery.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/pointdefensebattery.png" + }, { "ability": "Offline: After you engage, you may spend 2 [Energy] to flip this card.", "title": "Point-Defense Battery (Offline)", "type": "Hardpoint", - "slots": ["Hardpoint"], - "ffg": 743, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/190fb055e605840f31474e7c0d908f3a.jpg" + "slots": [ + "Hardpoint" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/pointdefensebattery-sideb.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/pointdefensebattery-sideb.png" } ], - "cost": { "value": 9 } + "cost": { + "value": 8 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Targeting Battery", "limited": 0, "xws": "targetingbattery", - "hyperspace": false, "sides": [ { "ability": "Setup: Equip this side faceup. Bonus Attack: Spend 1 [Energy]. After you perform this attack, you may acquire a lock on the defender.", "title": "Targeting Battery", "type": "Hardpoint", - "slots": ["Hardpoint"], + "slots": [ + "Hardpoint" + ], "grants": [ { "type": "action", - "value": { "type": "Rotate Arc", "difficulty": "White" } + "value": { + "type": "Rotate Arc", + "difficulty": "White" + } } ], "attack": { @@ -124,35 +158,46 @@ "maxrange": 5, "ordnance": false }, - "ffg": 738, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/b60587c3fead89e24b6990a2adb1131c.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/targetingbattery.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/targetingbattery.png" }, { "ability": "Offline: After you engage, you may spend 2 [Energy] to flip this card.", "title": "Targeting Battery (Offline)", "type": "Hardpoint", - "slots": ["Hardpoint"], - "ffg": 739, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/f8b2128da475099b9d362e26f04b8e55.jpg" + "slots": [ + "Hardpoint" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/targetingbattery-sideb.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/targetingbattery-sideb.png" } ], - "cost": { "value": 5 } + "cost": { + "value": 5 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Turbolaser Battery", "limited": 0, "xws": "turbolaserbattery", - "hyperspace": false, "sides": [ { "ability": "Setup: Equip this side faceup. Bonus Attack ([Lock]): Spend 3 [Energy]. If this attack hits, add 3 [Hit] results.", "title": "Turbolaser Battery", "type": "Hardpoint", - "slots": ["Hardpoint"], + "slots": [ + "Hardpoint" + ], "grants": [ { "type": "action", - "value": { "type": "Rotate Arc", "difficulty": "White" } + "value": { + "type": "Rotate Arc", + "difficulty": "White" + } } ], "attack": { @@ -162,35 +207,51 @@ "maxrange": 5, "ordnance": false }, - "ffg": 744, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/3a88323269e88afa9557ec1b2fe46925.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/turbolaserbattery.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/turbolaserbattery.png" }, { "ability": "Offline: After you engage, you may spend 2 [Energy] to flip this card.", "title": "Turbolaser Battery (Offline)", "type": "Hardpoint", - "slots": ["Hardpoint"], - "ffg": 745, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/4962c14923b8a068cd8ba6ac34ebd443.jpg" + "slots": [ + "Hardpoint" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/turbolaserbattery-sideb.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/turbolaserbattery-sideb.png" } ], - "cost": { "value": 10 } + "cost": { + "value": 10 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Tractor Tentacles", "limited": 0, "xws": "tractortentacles", - "hyperspace": false, "restrictions": [ - { "sizes": ["Huge"] }, - { "ships": ["tridentclassassaultship"] } + { + "sizes": [ + "Huge" + ] + }, + { + "ships": [ + "tridentclassassaultship" + ] + } ], "sides": [ { "ability": "Setup: Equip this side faceup. Bonus Attack. Bonus Attack: Spend 1 [Energy]. Bonus Attack: Spend 1 [Energy]. Bonus Attack: Spend 1 [Energy]. Bonus Attack: Spend 1 [Energy].", "title": "Tractor Tentacles", "type": "Hardpoint", - "slots": ["Hardpoint"], + "slots": [ + "Hardpoint" + ], "attack": { "arc": "Rear Arc", "value": 2, @@ -198,31 +259,40 @@ "maxrange": 2, "ordnance": true }, - "ffg": 742, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/60c195f4af8e303047b0633161c42a7d.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/tractortentacles.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/tractortentacles.png" }, { "ability": "Action: Spend 1 [Energy] to repair this card.", "title": "Tractor Tentacles (Offline)", "type": "Hardpoint", - "slots": ["Hardpoint"], - "ffg": 743, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/4c1ea70c43bf582038cc80d0836b74e7.jpg" + "slots": [ + "Hardpoint" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/tractortentacles-sideb.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/tractortentacles-sideb.png" } ], - "cost": { "value": 0 } + "cost": { + "value": 0 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Proton Cannon Battery", "limited": 0, "xws": "protoncannonbattery", - "hyperspace": false, "sides": [ { "ability": "Setup: Equip this side faceup. Bonus Attack: Change 1 [Hit] result to a [Critical Hit] result. Bonus Attack: Spend 1 [Energy]. Change 1 [Hit] result to a [Critical Hit] result.", "title": "Proton Cannon Battery", "type": "Hardpoint", - "slots": ["Hardpoint", "Cargo"], + "slots": [ + "Hardpoint", + "Cargo" + ], "attack": { "arc": "Bullseye Arc", "value": 4, @@ -230,60 +300,88 @@ "maxrange": 5, "ordnance": false }, - "ffg": 742, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/97c81b90378cf7ff53587f74af561ea1.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/protoncannonbattery.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/protoncannonbattery.png" }, { "ability": "Action: Spend 1 [Energy] to repair this card.", "title": "Proton Cannon Battery (Offline)", "type": "Hardpoint", - "slots": ["Hardpoint", "Cargo"], - "ffg": 743, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/bbdc9a802049e98132ee424f4c2bc0ec.jpg" + "slots": [ + "Hardpoint", + "Cargo" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/protoncannonbattery-sideb.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/protoncannonbattery-sideb.png" } ], - "cost": { "value": 10 } + "cost": { + "value": 10 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Enhanced Propulsion", "limited": 0, "xws": "enhancedpropulsion", - "hyperspace": false, "sides": [ { "ability": "Setup: Equip this side faceup. At the start of the End Phase, you may spend 2 [Energy] to execute a white [2 [Straight]], [1 [Bank Left]], or [1 [Bank Right]] maneuver.", "title": "Enhanced Propulsion", "type": "Hardpoint", - "slots": ["Hardpoint", "Cargo"], - "ffg": 123, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/97c81b90378cf7ff53587f74af561ea1.jpg" + "slots": [ + "Hardpoint", + "Cargo" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/enhancedpropulsion.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/enhancedpropulsion.png" }, { "ability": "Action: Spend 1 [Energy] to repair this card.", "title": "Enhanced Propulsion (Offline)", "type": "Hardpoint", - "slots": ["Hardpoint", "Cargo"], - "ffg": 123, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/bbdc9a802049e98132ee424f4c2bc0ec.jpg" + "slots": [ + "Hardpoint", + "Cargo" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/enhancedpropulsion-sideb.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/enhancedpropulsion-sideb.png" } ], - "cost": { "value": 6 }, + "cost": { + "value": 2 + }, "restrictions": [ - { "sizes": ["Huge"] }, - { "ships": ["tridentclassassaultship"] } - ] + { + "sizes": [ + "Huge" + ] + }, + { + "ships": [ + "tridentclassassaultship" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Drill Beak", "limited": 0, "xws": "drillbeak", - "hyperspace": false, "sides": [ { "ability": "Setup: Equip this side faceup. You can perform this attack at range 0. Bonus Attack: Spend 1 [Energy]. If the attack range is 0, change all [Hit] results to [Critical Hit] results.", "title": "Drill Beak", "type": "Hardpoint", - "slots": ["Hardpoint", "Cargo"], + "slots": [ + "Hardpoint", + "Cargo" + ], "attack": { "arc": "Rear Arc", "value": 3, @@ -291,22 +389,38 @@ "maxrange": 1, "ordnance": true }, - "ffg": 123, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/97c81b90378cf7ff53587f74af561ea1.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/drillbeak.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/drillbeak.png" }, { "ability": "Action: Spend 1 [Energy] to repair this card.", "title": "Drill Beak (Offline)", "type": "Hardpoint", - "slots": ["Hardpoint", "Cargo"], - "ffg": 123, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/bbdc9a802049e98132ee424f4c2bc0ec.jpg" + "slots": [ + "Hardpoint", + "Cargo" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/drillbeak-sideb.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/drillbeak-sideb.png" } ], - "cost": { "value": 4 }, + "cost": { + "value": 2 + }, "restrictions": [ - { "sizes": ["Huge"] }, - { "ships": ["tridentclassassaultship"] } - ] + { + "sizes": [ + "Huge" + ] + }, + { + "ships": [ + "tridentclassassaultship" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true } -] +] \ No newline at end of file diff --git a/data/upgrades/hyperdrive.json b/data/upgrades/hyperdrive.json new file mode 100644 index 000000000..116b30660 --- /dev/null +++ b/data/upgrades/hyperdrive.json @@ -0,0 +1,32 @@ +[ + { + "name": "Syliure-31 Hyperdrive", + "limited": 0, + "xws": "syliure31hyperdrive", + "sides": [ + { + "title": "Syliure-31 Hyperdrive", + "type": "Hyperdrive", + "slots": [ + "Hyperdrive" + ], + "ability": "Setup: You can be placed anywhere in the play area beyond range 1 of obstacles, beyond range 3 of enemy ships, and beyond range 3 of the enemy table edge.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/syliure31hyperdrive.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/syliure31hyperdrive.png" + } + ], + "cost": { + "value": 0 + }, + "restrictions": [ + { + "ships": [ + "syliureclasshyperspacering" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true + } +] \ No newline at end of file diff --git a/data/upgrades/illicit.json b/data/upgrades/illicit.json index 93de9a824..ea3e3d5f4 100644 --- a/data/upgrades/illicit.json +++ b/data/upgrades/illicit.json @@ -8,16 +8,31 @@ "title": "Cloaking Device", "type": "Illicit", "ability": "Action: Spend 1 [Charge] to perform a [Cloak] action. At the start of the Planning Phase, roll 1 attack die. On a [Focus] result, decloak or discard your cloak token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_57.png", - "slots": ["Illicit"], - "charges": { "value": 2, "recovers": 0 }, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_57.jpg", - "ffg": 286 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/cloakingdevice.png", + "slots": [ + "Illicit" + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/cloakingdevice.png" } ], - "cost": { "value": 3 }, - "restrictions": [{ "sizes": ["Small", "Medium"] }], - "hyperspace": false + "cost": { + "value": 3 + }, + "restrictions": [ + { + "sizes": [ + "Small", + "Medium" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Contraband Cybernetics", @@ -28,15 +43,23 @@ "title": "Contraband Cybernetics", "type": "Illicit", "ability": "Before you activate, you may spend 1 [Charge]. If you do, until the end of the round, you can perform actions and execute red maneuvers, even while stressed.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_58.png", - "slots": ["Illicit"], - "charges": { "value": 1, "recovers": 0 }, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_58.jpg", - "ffg": 287 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/contrabandcybernetics.png", + "slots": [ + "Illicit" + ], + "charges": { + "value": 1, + "recovers": 0 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/contrabandcybernetics.png" } ], - "cost": { "value": 3 }, - "hyperspace": true + "cost": { + "value": 3 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Deadman's Switch", @@ -47,14 +70,19 @@ "title": "Deadman's Switch", "type": "Illicit", "ability": "After you are destroyed, each other ship at range 0-1 suffers 1 [Hit] damage.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_59.png", - "slots": ["Illicit"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_59.jpg", - "ffg": 288 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/deadmansswitch.png", + "slots": [ + "Illicit" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/deadmansswitch.png" } ], - "cost": { "value": 2 }, - "hyperspace": true + "cost": { + "value": 2 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Feedback Array", @@ -65,14 +93,19 @@ "title": "Feedback Array", "type": "Illicit", "ability": "Before you engage, you may gain 1 ion token and 1 disarm token. If you do, each ship at range 0 suffers 1 [Hit] damage.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_60.png", - "slots": ["Illicit"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_60.jpg", - "ffg": 289 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/feedbackarray.png", + "slots": [ + "Illicit" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/feedbackarray.png" } ], - "cost": { "value": 3 }, - "hyperspace": false + "cost": { + "value": 2 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Inertial Dampeners", @@ -83,17 +116,30 @@ "title": "Inertial Dampeners", "type": "Illicit", "ability": "Before you would execute a maneuver, you may spend 1 shield. If you do, execute a white [0 [Stationary]] instead of the maneuver you revealed, then gain 1 stress token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_61.png", - "slots": ["Illicit"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_61.jpg", - "ffg": 290 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/inertialdampeners.png", + "slots": [ + "Illicit" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/inertialdampeners.png" } ], "cost": { "variable": "initiative", - "values": { "0": 0, "1": 1, "2": 2, "3": 3, "4": 4, "5": 5, "6": 6 } + "values": { + "0": 0, + "1": 1, + "2": 2, + "3": 3, + "4": 4, + "5": 5, + "6": 6, + "7": 7, + "8": 8 + } }, - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Rigged Cargo Chute", @@ -104,149 +150,377 @@ "title": "Rigged Cargo Chute", "type": "Illicit", "ability": "Action: Spend 1 [Charge]. Drop 1 loose cargo using the [1 [Straight]] template.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_62.png", - "slots": ["Illicit"], - "charges": { "value": 1, "recovers": 0 }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/riggedcargochute.png", + "slots": [ + "Illicit" + ], + "charges": { + "value": 1, + "recovers": 0 + }, "device": { "name": "Loose Cargo", "type": "Obstacle", "effect": "Loose cargo is a debris cloud." }, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_62.jpg", - "ffg": 291 + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/riggedcargochute.png" + } + ], + "cost": { + "value": 4 + }, + "restrictions": [ + { + "sizes": [ + "Medium", + "Large" + ] } ], - "cost": { "value": 4 }, - "restrictions": [{ "sizes": ["Medium", "Large"] }], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Coaxium Hyperfuel", "limited": 0, "xws": "coaxiumhyperfuel", - "hyperspace": false, "sides": [ { "ability": "You can perform the [SLAM] action even while stressed. If you do, you suffer 1 [Critical Hit] damage unless you expose 1 of your damage cards. After you partially execute a maneuver, you may expose 1 of your damage cards or suffer 1 [Critical Hit] damage to perform a [SLAM] action.", "title": "Coaxium Hyperfuel", "type": "Illicit", - "slots": ["Illicit"], - "ffg": 650, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/791981d898356ad13e463b8699975155.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/1622f5d9e279b54d4610820f5dd31a95.png" + "slots": [ + "Illicit" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/coaxiumhyperfuel.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/coaxiumhyperfuel.png" } ], - "cost": { "value": 1 } + "cost": { + "value": 1 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Quick-Release Locks", "limited": 1, "xws": "quickreleaselocks", - "hyperspace": false, "sides": [ { "ability": "During the System Phase, you may spend 1 [Charge] to drop 1 cargo crate drift in your [Rear Arc] at range 0. It cannot overlap a ship this way.. This card's [Charge] cannot be recovered.", "title": "Quick-Release Locks", "type": "Illicit", - "slots": ["Illicit"], - "charges": { "value": 2, "recovers": 0 }, - "ffg": 753, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/af/19/af197066-3d72-45aa-acbc-68c50abd20ef/swz55_quick-release-locks_card.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/836fa300919eafe8e7ac5fbc47b8c0c6.jpg" + "slots": [ + "Illicit" + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/quickreleaselocks.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/quickreleaselocks.png" } ], - "cost": { "value": 5 } + "cost": { + "value": 4 + }, + "restrictions": [ + { + "sizes": [ + "Huge" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Saboteur's Map", "limited": 1, "xws": "saboteursmap", - "hyperspace": false, "sides": [ { "ability": "At the end of Setup, you may spend up to 1 [Charge] from each of your equipped Mine upgrades to place the corresponding device in the play area beyond range 2 of any enemy ship, strategic marker, or other device.", "title": "Saboteur's Map", "type": "Illicit", - "slots": ["Illicit"], - "ffg": 754, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/db/b6/dbb6b484-2d70-46ac-b2cd-49f1a300e0bf/swz55_saboteurs-map_card.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/46a2b1477a848a09c56dbcd49ab6f9f4.jpg" + "slots": [ + "Illicit" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/saboteursmap.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/saboteursmap.png" + } + ], + "cost": { + "value": 2 + }, + "restrictions": [ + { + "sizes": [ + "Huge" + ] } ], - "cost": { "value": 3 } + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Scanner Baffler", "limited": 1, "xws": "scannerbaffler", - "hyperspace": false, "sides": [ { "ability": "At the end of Setup, you may choose any number of other friendly, non-huge ships in your deployment area at range 0-1. If you do, place those ships anywhere in the same deployment area.", "title": "Scanner Baffler", "type": "Illicit", - "slots": ["Illicit"], - "ffg": 755, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/3d/58/3d58ccbe-3a8b-410e-bbf6-5ffadb2230c9/swz55_scanner-baffler_card.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/c4749e45f352215cb96d6b1125c09a91.jpg" + "slots": [ + "Illicit" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/scannerbaffler.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/scannerbaffler.png" } ], - "cost": { "value": 8 } + "cost": { + "value": 7 + }, + "restrictions": [ + { + "sizes": [ + "Huge" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true }, { "name": "False Transponder Codes", "limited": 0, "xws": "falsetranspondercodes", - "hyperspace": true, "sides": [ { "ability": "After you acquire a lock on an object or an object acquires a lock on you, if you have 1 active [Charge], lose 1 [Charge] and jam that object, ignoring range restrictions.", "title": "False Transponder Codes", "type": "Illicit", - "slots": ["Illicit"], - "charges": { "value": 1, "recovers": 0 }, - "ffg": 877, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/de/d4/ded4b0e6-683b-4caa-b642-41fdd09f7ed6/swz82_a1_upgrade_false-codes.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/06d6e39ec52930c4faca371e8dcd3fd6.jpg" + "slots": [ + "Illicit" + ], + "charges": { + "value": 1, + "recovers": 0 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/falsetranspondercodes.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/falsetranspondercodes.png" } ], - "cost": { "value": 3 } + "cost": { + "value": 3 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Babu Frik", "limited": 1, "xws": "babufrik", - "hyperspace": true, "sides": [ { "ability": "Before you would gain a non-lock red or orange token, you may spend 1 [Charge] to place it on this card instead. During the System Phase, if there are 1 or more tokens on this card, you must spend 1 [Charge]. If you cannot, remove those tokens and gain matching tokens.", "title": "Babu Frik", "type": "Illicit", - "slots": ["Illicit"], - "charges": { "value": 3, "recovers": 0 }, - "ffg": 930 + "slots": [ + "Illicit" + ], + "charges": { + "value": 3, + "recovers": 0 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/babufrik.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/babufrik.png" + } + ], + "restrictions": [ + { + "factions": [ + "scumandvillainy", + "resistance" + ] } ], - "restrictions": [{ "factions": ["Scum and Villainy", "Resistance"] }], - "cost": { "value": 7 } + "cost": { + "value": 5 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Overtuned Modulators", "limited": 0, "xws": "overtunedmodulators", - "hyperspace": true, "sides": [ { "ability": "During the System Phase, if you are not stressed, you may spend 1 [Charge] to gain 3 calculate tokens. During the End Phase, if your [Charge] is inactive, for each green token you remove, gain 1 strain token.", "title": "Overtuned Modulators", "type": "Illicit", - "slots": ["Illicit"], - "charges": { "value": 1, "recovers": 0 }, - "ffg": 931, - "image": "???", - "artwork": "???" + "slots": [ + "Illicit" + ], + "charges": { + "value": 1, + "recovers": 0 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/overtunedmodulators.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/overtunedmodulators.png" + } + ], + "cost": { + "value": 3 + }, + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Tracking Fob", + "limited": 3, + "xws": "trackingfob", + "sides": [ + { + "ability": "Setup: After placing forces, choose an opponent: they assign the Marked for Elimination condition to 1 of their ships. They must assign it to a limited ship, if able. You ignore range restrictions while acquiring locks on the ship with the Marked for Elimination condition.", + "title": "Tracking Fob", + "type": "Illicit", + "slots": [ + "Illicit" + ], + "conditions": [ + "markedforelimination" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/trackingfob.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/trackingfob.png" + } + ], + "restrictions": [ + { + "keywords": [ + "Bounty Hunter" + ] + } + ], + "cost": { + "value": 3 + }, + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Hotshot Tail Blaster", + "limited": 0, + "xws": "hotshottailblaster", + "sides": [ + { + "ability": "This attack can be performed at range 0. Attack: Spend 1 [Charge].", + "title": "Hotshot Tail Blaster", + "type": "Illicit", + "slots": [ + "Illicit" + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "attack": { + "arc": "Rear Arc", + "value": 2, + "minrange": 0, + "maxrange": 1, + "ordnance": true + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/hotshottailblaster.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/hotshottailblaster.png" + } + ], + "cost": { + "value": 2 + }, + "restrictions": [ + { + "sizes": [ + "Medium", + "Large" + ] } ], - "cost": { "value": 3 } + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Chaff Particles", + "limited": 0, + "xws": "chaffparticles-rsl", + "sides": [ + { + "title": "Chaff Particles", + "type": "Illicit", + "ability": "While you defend, at the end of the Neutralize Results step, you may spend 1 [Charge] and 1 [Focus] or [Evade] result to remove 1 red or orange token.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/chaffparticles-rsl.png", + "slots": [ + "Illicit" + ], + "charges": { + "value": 1, + "recovers": 0 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/chaffparticles-rsl.png" + } + ], + "cost": { + "value": 3 + }, + "restrictions": [ + { + "sizes": [ + "Small" + ] + } + ], + "standard": false, + "wildspace": true, + "epic": false + }, + { + "name": "Fuel Injection Override", + "limited": 0, + "xws": "fuelinjectionoverride-rsl", + "sides": [ + { + "title": "Fuel Injection Override", + "type": "Illicit", + "ability": "Before you activate, you may spend 1 [Charge] and gain 1 strain token. If you do, until the end of the round, while you move, you must use a template of 1 speed higher if able.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/fuelinjectionoverride-rsl.png", + "slots": [ + "Illicit" + ], + "charges": { + "value": 1, + "recovers": 0 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/fuelinjectionoverride-rsl.png" + } + ], + "cost": { + "value": 2 + }, + "standard": false, + "wildspace": true, + "epic": false } ] diff --git a/data/upgrades/missile.json b/data/upgrades/missile.json index 3c7ed7559..64c3d39e6 100644 --- a/data/upgrades/missile.json +++ b/data/upgrades/missile.json @@ -8,8 +8,14 @@ "title": "Barrage Rockets", "type": "Missile", "ability": "Attack ([Focus]): Spend 1 [Charge]. If the defender is in your [Bullseye Arc], you may spend 1 or more [Charge] to reroll that many attack dice.", - "slots": ["Missile", "Missile"], - "charges": { "value": 5, "recovers": 0 }, + "slots": [ + "Missile", + "Missile" + ], + "charges": { + "value": 5, + "recovers": 0 + }, "attack": { "arc": "Front Arc", "value": 3, @@ -17,13 +23,16 @@ "maxrange": 3, "ordnance": true }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_36.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_36.jpg", - "ffg": 265 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/barragerockets.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/barragerockets.png" } ], - "cost": { "value": 8 }, - "hyperspace": false + "cost": { + "value": 8 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Cluster Missiles", @@ -34,8 +43,13 @@ "title": "Cluster Missiles", "type": "Missile", "ability": "Attack ([Lock]): Spend 1 [Charge]. After this attack, you may perform this attack as a bonus attack against a different target at range 0-1 of the defender, ignoring the [Lock] requirement.", - "slots": ["Missile"], - "charges": { "value": 4, "recovers": 0 }, + "slots": [ + "Missile" + ], + "charges": { + "value": 4, + "recovers": 0 + }, "attack": { "arc": "Front Arc", "value": 3, @@ -43,13 +57,25 @@ "maxrange": 2, "ordnance": true }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_37.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_37.jpg", - "ffg": 266 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/clustermissiles.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/clustermissiles.png" } ], - "cost": { "value": 4 }, - "hyperspace": false + "cost": { + "variable": "initiative", + "values": { + "0": 3, + "1": 3, + "2": 3, + "3": 4, + "4": 4, + "5": 4, + "6": 4 + } + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Concussion Missiles", @@ -60,9 +86,14 @@ "title": "Concussion Missiles", "type": "Missile", "ability": "Attack ([Lock]): Spend 1 [Charge]. After this attack hits, each ship at range 0-1 of the defender exposes 1 of its damage cards.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_38.png", - "slots": ["Missile"], - "charges": { "value": 3, "recovers": 0 }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/concussionmissiles.png", + "slots": [ + "Missile" + ], + "charges": { + "value": 3, + "recovers": 0 + }, "attack": { "arc": "Front Arc", "value": 3, @@ -70,12 +101,15 @@ "maxrange": 3, "ordnance": true }, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_38.jpg", - "ffg": 267 + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/concussionmissiles.png" } ], - "cost": { "value": 6 }, - "hyperspace": true + "cost": { + "value": 6 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Homing Missiles", @@ -86,8 +120,13 @@ "title": "Homing Missiles", "type": "Missile", "ability": "Attack ([Lock]): Spend 1 [Charge]. After you declare the defender, the defender may choose to suffer 1 [Hit] damage. If it does, skip the Attack and Defense Dice steps and the attack is treated as hitting.", - "slots": ["Missile"], - "charges": { "value": 2, "recovers": 0 }, + "slots": [ + "Missile" + ], + "charges": { + "value": 2, + "recovers": 0 + }, "attack": { "arc": "Front Arc", "value": 4, @@ -95,13 +134,16 @@ "maxrange": 3, "ordnance": true }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_39.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_39.jpg", - "ffg": 268 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/homingmissiles.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/homingmissiles.png" } ], - "cost": { "value": 5 }, - "hyperspace": false + "cost": { + "value": 5 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Ion Missiles", @@ -112,8 +154,13 @@ "title": "Ion Missiles", "type": "Missile", "ability": "Attack ([Lock]): Spend 1 [Charge]. If this attack hits, spend 1 [Hit] or [Critical Hit] result to cause the defender to suffer 1 [Hit] damage. All remaining [Hit]/[Critical Hit] results inflict ion tokens instead of damage.", - "slots": ["Missile"], - "charges": { "value": 3, "recovers": 0 }, + "slots": [ + "Missile" + ], + "charges": { + "value": 3, + "recovers": 0 + }, "attack": { "arc": "Front Arc", "value": 3, @@ -121,13 +168,16 @@ "maxrange": 3, "ordnance": true }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_40.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_40.jpg", - "ffg": 269 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ionmissiles.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ionmissiles.png" } ], - "cost": { "value": 2 }, - "hyperspace": false + "cost": { + "value": 2 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Proton Rockets", @@ -138,9 +188,14 @@ "title": "Proton Rockets", "type": "Missile", "ability": "Attack ([Focus]): Spend 1 [Charge].", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_41.png", - "slots": ["Missile"], - "charges": { "value": 1, "recovers": 0 }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/protonrockets.png", + "slots": [ + "Missile" + ], + "charges": { + "value": 1, + "recovers": 0 + }, "attack": { "arc": "Bullseye Arc", "value": 5, @@ -148,12 +203,15 @@ "maxrange": 2, "ordnance": true }, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_41.jpg", - "ffg": 270 + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/protonrockets.png" } ], - "cost": { "value": 5 }, - "hyperspace": true + "cost": { + "value": 5 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Energy-Shell Charges", @@ -164,7 +222,10 @@ "title": "Energy-Shell Charges", "type": "Missile", "ability": "Attack ([Calculate]): Spend 1 [Charge]. While you perform this attack, you may spend 1 calculate token to change 1 [Focus] result to a [Critical Hit] result. Action: Reload this card.", - "charges": { "value": 1, "recovers": 0 }, + "charges": { + "value": 1, + "recovers": 0 + }, "attack": { "arc": "Front Arc", "value": 3, @@ -172,18 +233,32 @@ "maxrange": 3, "ordnance": true }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/4b6213e5ed13735bb381df08bdd1398d.png", - "slots": ["Missile"], - "ffg": 532, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a0eeefcf98562fdbc606c8638c35b6db.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/energyshellcharges.png", + "slots": [ + "Missile" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/energyshellcharges.png" } ], "restrictions": [ - { "action": { "type": "Calculate", "difficulty": "White" } }, - { "factions": ["Separatist Alliance"] } + { + "action": { + "type": "Calculate", + "difficulty": "White" + } + }, + { + "factions": [ + "separatistalliance" + ] + } ], - "cost": { "value": 5 }, - "hyperspace": true + "cost": { + "value": 4 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Discord Missiles", @@ -194,26 +269,47 @@ "title": "Discord Missiles", "type": "Missile", "ability": "At the start of the Engagement Phase, you may spend 1 calculate token and 1 [Charge] to launch 1 buzz droid swarm using the [3 [Bank Left]], [3 [Straight]], or [3 [Bank Right]] template. This card's [Charge] cannot be recovered.", - "charges": { "value": 1, "recovers": 0 }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/ee2f0b906cb4f1dbcafc274f44b76d3d.png", - "slots": ["Missile"], + "charges": { + "value": 1, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/discordmissiles.png", + "slots": [ + "Missile" + ], "device": { "name": "Buzz Droid Swarm", "type": "Remote", "effect": "After an enemy ship moves through or overlaps you, relocate to its front or rear guides (you are at range 0 of this ship). You cannot overlap an object this way. If you cannot be placed at either set of guides, you and that ship each suffer 1 [Hit] damage. Engagement Phase: At your initiative, each enemy ship at range 0 suffers 1 [Critical Hit] damage.", "initiative": 0, "stats": [ - { "type": "agility", "value": 3 }, - { "type": "hull", "value": 1 } - ] + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 1 + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/remotes/buzzdroidswarm.png" }, - "ffg": 543, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a2c1b72df5f0b429bf38fbd9ad61bc99.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/discordmissiles.png" + } + ], + "cost": { + "value": 4 + }, + "restrictions": [ + { + "factions": [ + "separatistalliance" + ] } ], - "cost": { "value": 4 }, - "restrictions": [{ "factions": ["Separatist Alliance"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Diamond-Boron Missiles", @@ -223,9 +319,15 @@ { "title": "Diamond-Boron Missiles", "type": "Missile", - "slots": ["Missile", "Missile"], + "slots": [ + "Missile", + "Missile" + ], "ability": "Attack ([Lock]): Spend 1 [Charge]. After this attack hits, you may spend 1 [Charge]. If you do, each ship at range 0-1 of the defender with agility equal to or less than the defender's rolls 1 attack die and suffers 1 [Hit]/[Critical Hit] damage for each matching result.", - "charges": { "value": 3, "recovers": 0 }, + "charges": { + "value": 3, + "recovers": 0 + }, "attack": { "arc": "Front Arc", "value": 3, @@ -233,19 +335,21 @@ "maxrange": 3, "ordnance": true }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/f2c1893053af65ce47300fb133a30312.png", - "ffg": 580, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/bc97441f8e8461e6949ab70b0a4bf0c5.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/diamondboronmissiles.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/diamondboronmissiles.png" } ], - "cost": { "value": 5 }, - "hyperspace": true + "cost": { + "value": 3 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Mag-Pulse Warheads", "limited": 0, "xws": "magpulsewarheads", - "hyperspace": true, "sides": [ { "ability": "Attack ([Lock]): Spend 1 [Charge]. If this attack hits, the defender suffers 1 [Critical Hit] damage and gains 1 deplete and 1 jam token. Then cancel all [Hit]/[Critical Hit] results.", @@ -256,39 +360,58 @@ "ordnance": true, "value": 3 }, - "charges": { "value": 2, "recovers": 0 }, + "charges": { + "value": 2, + "recovers": 0 + }, "title": "Mag-Pulse Warheads", "type": "Missile", - "slots": ["Missile"], - "ffg": 651, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/71140b3339226017653867076e19310f.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/94cdc3be1cf133e123e30f25f181faf7.png" + "slots": [ + "Missile" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/magpulsewarheads.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/magpulsewarheads.png" } ], - "cost": { "value": 5 } + "cost": { + "value": 4 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Electro-Chaff Missiles", "limited": 2, "xws": "electrochaffmissiles", - "hyperspace": true, "sides": [ { - "ability": "During the System Phase, you may spend 1 [Charge] from this cared to launch 1 electro-chaff cloud using the [3 [Bank Left]], [3 [Bank Right]], or [4 [Straight]] template.", - "charges": { "value": 1, "recovers": 0 }, + "ability": "During the System Phase, you may spend 1 [Charge] from this card to launch 1 electro-chaff cloud using the [3 [Bank Left]], [3 [Bank Right]], or [4 [Straight]] template. Then place 1 fuse marker on it. This card's [Charge] cannot be recovered.", + "charges": { + "value": 1, + "recovers": 0 + }, "title": "Electro-Chaff Missiles", "type": "Missile", - "slots": ["Missile", "Device"], - "ffg": 932 + "slots": [ + "Missile", + "Device" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/electrochaffmissiles.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/electrochaffmissiles.png" } ], - "cost": { "value": 4 } + "cost": { + "value": 4 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Multi-Missile Pods", "limited": 0, "xws": "multimissilepods", - "hyperspace": true, "sides": [ { "ability": "Attack ([Calculate] or [Lock]): Spend 1 [Charge]. If the defender is in your [Front Arc], you may spend 1 [Charge] to roll 1 additional attack die. If the defender is in your [Bullseye Arc], you may spend up to 2 [Charge] to roll that many additional attack dice instead.", @@ -299,22 +422,31 @@ "ordnance": true, "value": 2 }, - "charges": { "value": 5, "recovers": 0 }, + "charges": { + "value": 5, + "recovers": 0 + }, "title": "Multi-Missile Pods", "type": "Missile", - "slots": ["Missile", "Missile"], - "ffg": 673, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/af81354b305251139da023c343c9f70f.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/5abef5ee3d6e4acf94cd77280375aa72.png" + "slots": [ + "Missile", + "Missile" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/multimissilepods.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/multimissilepods.png" } ], - "cost": { "value": 4 } + "cost": { + "value": 4 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "XX-23 S-Thread Tracers", "limited": 2, "xws": "xx23sthreadtracers", - "hyperspace": true, "sides": [ { "ability": "Attack ([Focus], [Calculate], or [Lock]): Spend 1 [Charge]. If this attack hits, each friendly ship at range 1-3 of the defender may acquire a lock on the defender. Then cancel all dice results.", @@ -325,15 +457,148 @@ "ordnance": true, "value": 3 }, - "charges": { "value": 2, "recovers": 0 }, + "charges": { + "value": 2, + "recovers": 0 + }, "title": "XX-23 S-Thread Tracers", "type": "Missile", - "slots": ["Missile"], - "ffg": 851, - "image": "https://images-cdn.fantasyflightgames.com/filer_public/96/d7/96d7fd7e-cca2-403d-a291-5fcb973404c6/swz81_upgrade_s-tread-tracers.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/34fa7fa46dbf8626f1480fc9937e7c1b.jpg" + "slots": [ + "Missile" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/xx23sthreadtracers.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/xx23sthreadtracers.png" + } + ], + "cost": { + "value": 4 + }, + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Seeker Missiles", + "limited": 0, + "xws": "seekermissiles-swz103", + "sides": [ + { + "ability": "Attack ([Lock]): During the Modify Attack Dice step, you may spend up to 2 additional [Charge]. Change one [Focus] result to a [Hit] result for each [Charge] spent in this way.", + "attack": { + "arc": "Front Arc", + "maxrange": 3, + "minrange": 2, + "ordnance": true, + "value": 3 + }, + "charges": { + "value": 4, + "recovers": 0 + }, + "title": "Seeker Missiles", + "type": "Missile", + "slots": [ + "Missile" + ] + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "Seeker Missiles", + "limited": 2, + "xws": "seekermissiles-rsl", + "sides": [ + { + "title": "Seeker Missiles", + "type": "Missile", + "ability": "Attack ([Lock]): Spend 1 [Charge]. After this attack misses, if 1 or more [Hit]/[Critical Hit] results were neutralized, the defender gains 1 strain token.", + "slots": [ + "Missile" + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "attack": { + "arc": "Front Arc", + "value": 3, + "minrange": 2, + "maxrange": 3, + "ordnance": true + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/seekermissiles-rsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/seekermissiles-rsl.png" + } + ], + "cost": { + "value": 5 + }, + "standard": false, + "wildspace": true, + "epic": false + }, + { + "name": "Saturation Rockets", + "limited": 1, + "xws": "saturationrockets-alphaclassstarwing", + "sides": [ + { + "ability": "Attack: Spend 2 [Charge]. If the defender is in your [Front Arc], you may spend 1 additional [Charge] to roll 1 additional attack die. After this attack, you may spend 1 [Charge] to perform this attack as a bonus attack against a different target at range 0-1 of the defender without paying the [Charge] cost.", + "attack": { + "arc": "Full Front Arc", + "maxrange": 2, + "minrange": 1, + "ordnance": true, + "value": 3 + }, + "charges": { + "value": 4, + "recovers": 1 + }, + "title": "Saturation Rockets", + "type": "Missile", + "slots": [ + "Missile" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": false, + "standardLoadoutOnly": true + }, + { + "name": "Heavy Plasma Missiles", + "limited": 1, + "xws": "heavyplasmamissiles-alphaclassstarwing", + "sides": [ + { + "ability": "Attack ([Lock]): Spend 1 [Charge]. After this attack hits, the defender loses 1 shield.", + "attack": { + "arc": "Front Arc", + "maxrange": 3, + "minrange": 1, + "ordnance": true, + "value": 3 + }, + "charges": { + "value": 2, + "recovers": 0 + }, + "title": "Heavy Plasma Missiles", + "type": "Missile", + "slots": [ + "Missile" + ] } ], - "cost": { "value": 4 } + "standard": false, + "wildspace": false, + "epic": false, + "standardLoadoutOnly": true } ] diff --git a/data/upgrades/modification.json b/data/upgrades/modification.json index 1f3d6299f..810161e14 100644 --- a/data/upgrades/modification.json +++ b/data/upgrades/modification.json @@ -8,16 +8,31 @@ "title": "Ablative Plating", "type": "Modification", "ability": "Before you would suffer damage from an obstacle or from a friendly bomb detonating, you may spend 1 [Charge]. If you do, prevent 1 damage.", - "slots": ["Modification"], - "charges": { "value": 2, "recovers": 0 }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_68.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_68.jpg", - "ffg": 292 + "slots": [ + "Modification" + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ablativeplating.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ablativeplating.png" } ], - "cost": { "value": 4 }, - "restrictions": [{ "sizes": ["Medium", "Large"] }], - "hyperspace": false + "cost": { + "value": 4 + }, + "restrictions": [ + { + "sizes": [ + "Medium", + "Large" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Advanced SLAM", @@ -28,15 +43,27 @@ "title": "Advanced SLAM", "type": "Modification", "ability": "After you perform a [SLAM] action, if you fully executed the maneuver, you may perform a white action on your action bar, treating that action as red.", - "slots": ["Modification"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_69.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_69.jpg", - "ffg": 293 + "slots": [ + "Modification" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/advancedslam.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/advancedslam.png" } ], - "cost": { "value": 3 }, - "restrictions": [{ "action": { "type": "SLAM", "difficulty": "White" } }], - "hyperspace": false + "cost": { + "value": 3 + }, + "restrictions": [ + { + "action": { + "type": "SLAM", + "difficulty": "White" + } + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Afterburners", @@ -47,19 +74,39 @@ "title": "Afterburners", "type": "Modification", "ability": "After you fully execute a speed 3-5 maneuver, you may spend 1 [Charge] to perform a [Boost] action, even while stressed.", - "slots": ["Modification"], - "charges": { "value": 2, "recovers": 0 }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_70.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_70.jpg", - "ffg": 294 + "slots": [ + "Modification" + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/afterburners.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/afterburners.png" } ], "cost": { "variable": "initiative", - "values": { "0": 4, "1": 4, "2": 4, "3": 4, "4": 5, "5": 6, "6": 7 } + "values": { + "0": 4, + "1": 4, + "2": 4, + "3": 4, + "4": 5, + "5": 6, + "6": 7 + } }, - "restrictions": [{ "sizes": ["Small"] }], - "hyperspace": false + "restrictions": [ + { + "sizes": [ + "Small" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Electronic Baffle", @@ -70,14 +117,19 @@ "title": "Electronic Baffle", "type": "Modification", "ability": "During the End Phase, you may suffer 1 [Hit] damage to remove 1 red token.", - "slots": ["Modification"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_71.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_71.jpg", - "ffg": 295 + "slots": [ + "Modification" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/electronicbaffle.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/electronicbaffle.png" } ], - "cost": { "value": 2 }, - "hyperspace": true + "cost": { + "value": 2 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Engine Upgrade", @@ -88,25 +140,47 @@ "title": "Engine Upgrade", "type": "Modification", "text": "Large military forces such as the Galactic Empire have standardized engines, but individual pilots and small organizations often replace the power couplings, add thrusters, or use high-performance fuel to get extra push out of their engines.", - "slots": ["Modification"], - "actions": [{ "type": "Boost", "difficulty": "White" }], + "slots": [ + "Modification" + ], + "actions": [ + { + "type": "Boost", + "difficulty": "White" + } + ], "grants": [ { "type": "action", - "value": { "type": "Boost", "difficulty": "White" } + "value": { + "type": "Boost", + "difficulty": "White" + } } ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_72.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_72.jpg", - "ffg": 296 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/engineupgrade.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/engineupgrade.png" } ], "cost": { "variable": "size", - "values": { "Small": 3, "Medium": 4, "Large": 7 } + "values": { + "Small": 2, + "Medium": 4, + "Large": 7 + } }, - "restrictions": [{ "action": { "type": "Boost", "difficulty": "Red" } }], - "hyperspace": true + "restrictions": [ + { + "action": { + "type": "Boost", + "difficulty": "Red" + } + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Hull Upgrade", @@ -117,18 +191,32 @@ "title": "Hull Upgrade", "type": "Modification", "text": "For those who cannot afford an enhanced shield generator, bolting additional plates onto the hull of a ship can serve as an adequate substitute.", - "slots": ["Modification"], - "grants": [{ "type": "stat", "value": "hull", "amount": 1 }], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_73.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_73.jpg", - "ffg": 297 + "slots": [ + "Modification" + ], + "grants": [ + { + "type": "stat", + "value": "hull", + "amount": 1 + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/hullupgrade.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/hullupgrade.png" } ], "cost": { "variable": "agility", - "values": { "0": 2, "1": 3, "2": 5, "3": 7 } + "values": { + "0": 2, + "1": 3, + "2": 5, + "3": 7 + } }, - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Munitions Failsafe", @@ -139,14 +227,19 @@ "title": "Munitions Failsafe", "type": "Modification", "ability": "While you perform a [Torpedo] or [Missile] attack, after rolling attack dice, you may cancel all dice results to recover 1 [Charge] you spent as a cost for the attack.", - "slots": ["Modification"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_74.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_74.jpg", - "ffg": 298 + "slots": [ + "Modification" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/munitionsfailsafe.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/munitionsfailsafe.png" } ], - "cost": { "value": 1 }, - "hyperspace": false + "cost": { + "value": 1 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Shield Upgrade", @@ -163,18 +256,32 @@ "source": "Season Three 2018" } ], - "slots": ["Modification"], - "grants": [{ "type": "stat", "value": "shields", "amount": 1 }], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_75.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_75.jpg", - "ffg": 299 + "slots": [ + "Modification" + ], + "grants": [ + { + "type": "stat", + "value": "shields", + "amount": 1 + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/shieldupgrade.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/shieldupgrade.png" } ], "cost": { "variable": "agility", - "values": { "0": 3, "1": 4, "2": 6, "3": 8 } + "values": { + "0": 3, + "1": 4, + "2": 6, + "3": 8 + } }, - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Static Discharge Vanes", @@ -185,14 +292,19 @@ "title": "Static Discharge Vanes", "type": "Modification", "ability": "Before you would gain 1 ion or jam token, if you are not stressed, you may choose another ship at range 0-1 and gain 1 stress token. If you do, the chosen ship gains that ion or jam token instead, then you suffer 1 [Hit] damage.", - "slots": ["Modification"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/9c42b09b923d60ac8504e52bd0cbaf25.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_76.jpg", - "ffg": 300 + "slots": [ + "Modification" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/staticdischargevanes.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/staticdischargevanes.png" } ], - "cost": { "value": 5 }, - "hyperspace": false + "cost": { + "value": 4 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Stealth Device", @@ -203,18 +315,29 @@ "title": "Stealth Device", "type": "Modification", "ability": "While you defend, if your [Charge] is active, roll 1 additional defense die. After you suffer damage, lose 1 [Charge].", - "slots": ["Modification"], - "charges": { "value": 1, "recovers": 0 }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_77.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_77.jpg", - "ffg": 301 + "slots": [ + "Modification" + ], + "charges": { + "value": 1, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/stealthdevice.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/stealthdevice.png" } ], "cost": { "variable": "agility", - "values": { "0": 3, "1": 4, "2": 6, "3": 8 } + "values": { + "0": 3, + "1": 4, + "2": 6, + "3": 8 + } }, - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Tactical Scrambler", @@ -225,15 +348,27 @@ "title": "Tactical Scrambler", "type": "Modification", "ability": "While you obstruct an enemy ship's attack, the defender rolls 1 additional defense die.", - "slots": ["Modification"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_78.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_78.jpg", - "ffg": 302 + "slots": [ + "Modification" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/tacticalscrambler.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/tacticalscrambler.png" } ], - "cost": { "value": 2 }, - "restrictions": [{ "sizes": ["Medium", "Large"] }], - "hyperspace": false + "cost": { + "value": 1 + }, + "restrictions": [ + { + "sizes": [ + "Medium", + "Large" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Impervium Plating", @@ -244,16 +379,30 @@ "title": "Impervium Plating", "type": "Modification", "ability": "Before you would be dealt a faceup Ship damage card, you may spend 1 [Charge] to discard it instead.", - "charges": { "value": 2, "recovers": 0 }, - "slots": ["Modification"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/93e0fe1b2931944d128126b854c4ad33.png", - "ffg": 534, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/20769de45863e2bbb180f05e6ed1e0e3.jpg" + "charges": { + "value": 2, + "recovers": 0 + }, + "slots": [ + "Modification" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/imperviumplating.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/imperviumplating.png" } ], - "restrictions": [{ "ships": ["belbullab22starfighter"] }], - "hyperspace": true, - "cost": { "value": 4 } + "restrictions": [ + { + "ships": [ + "belbullab22starfighter" + ] + } + ], + "cost": { + "value": 4 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Synchronized Console", @@ -264,18 +413,32 @@ "title": "Synchronized Console", "type": "Modification", "ability": "After you perform an attack, you may choose a friendly ship at range 1 or a friendly ship with the Synchronized Console upgrade at range 1-3 and spend a lock you have on the defender. If you do, the friendly ship you chose may acquire a lock on the defender.", - "slots": ["Modification"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/e3e5bd38f39f904fbaaa75293e56fb38.png", - "ffg": 554, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/f105bb42b6d3500c300e48ab695c1647.jpg" + "slots": [ + "Modification" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/synchronizedconsole.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/synchronizedconsole.png" } ], "restrictions": [ - { "factions": ["Galactic Republic"] }, - { "action": { "type": "Lock", "difficulty": "White" } } + { + "factions": [ + "galacticrepublic" + ] + }, + { + "action": { + "type": "Lock", + "difficulty": "White" + } + } ], - "hyperspace": true, - "cost": { "value": 1 } + "cost": { + "value": 1 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Spare Parts Canisters", @@ -286,16 +449,30 @@ "title": "Spare Parts Canisters", "type": "Modification", "ability": "Action: Spend 1 [Charge] to recover 1 charge on one of your equipped [Astromech] upgrades. Action: Spend 1 [Charge] to drop 1 spare parts, then break all locks assigned to you.", - "charges": { "value": 1, "recovers": 0 }, - "slots": ["Modification"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/79d9f2b2bc32bd78ab67dc82eece696a.png", - "ffg": 550, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a61b812e2e74fab5435c9684462cd9d7.jpg" + "charges": { + "value": 1, + "recovers": 0 + }, + "slots": [ + "Modification" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/sparepartscanisters.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/sparepartscanisters.png" + } + ], + "restrictions": [ + { + "equipped": [ + "Astromech" + ] } ], - "restrictions": [{ "equipped": ["Astromech"] }], - "hyperspace": false, - "cost": { "value": 3 } + "cost": { + "value": 2 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Delayed Fuses", @@ -306,158 +483,584 @@ "title": "Delayed Fuses", "type": "Modification", "ability": "After you drop, launch, or place a bomb or mine, you may place 1 fuse marker on that device.", - "slots": ["Modification"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/4572ece39224eeaf2dfce2770b96f919.png", - "ffg": 592, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/453d2de1f5059d0e6eb7884a4bf7986b.jpg" + "slots": [ + "Modification" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/delayedfuses.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/delayedfuses.png" } ], - "hyperspace": false, - "cost": { "value": 1 } + "cost": { + "value": 1 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Angled Deflectors", "limited": 0, "xws": "angleddeflectors", - "hyperspace": true, - "cost": { - "variable": "agility", - "values": { "0": 6, "1": 3, "2": 1, "3": 1 } - }, - "restrictions": [{ "sizes": ["Small", "Medium"] }], "sides": [ { "text": "Starfighter shields often have manual overrides that allow them to be angled for increased front or rear protection. However, doing so leaves the ship exposed if the pilot's situational awareness falters.", "title": "Angled Deflectors", "type": "Modification", - "slots": ["Modification"], - "restrictions": [{ "sizes": ["Small", "Medium"] }], + "slots": [ + "Modification" + ], + "restrictions": [ + { + "sizes": [ + "Small", + "Medium" + ] + } + ], "grants": [ - { "type": "stat", "value": "shields", "amount": -1 }, + { + "type": "stat", + "value": "shields", + "amount": -1 + }, { "type": "action", - "value": { "type": "Reinforce", "difficulty": "White" } + "value": { + "type": "Reinforce", + "difficulty": "White" + } } ], - "ffg": 593, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/691b45548136b6e5fd005e7797ae53d9.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/41cf9c90abcd8ff5c668bb447967b75c.png" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/angleddeflectors.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/angleddeflectors.png" + } + ], + "cost": { + "variable": "agility", + "values": { + "0": 6, + "1": 2, + "2": 1, + "3": 1 } - ] + }, + "restrictions": [ + { + "sizes": [ + "Small", + "Medium" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Targeting Computer", "limited": 0, + "xws": "targetingcomputer", "sides": [ { - "ffg": 619, "title": "Targeting Computer", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/2e8e6572a5802967220296ec22e5d8cb.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/619d3d56eadaada29c6602cc7cd00148.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/targetingcomputer.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/targetingcomputer.png", "text": "Targeting computers are standard features on many vessels, especially those designed to deliver ordnance. Some light starfighters and transport craft lack such weapons guidance, though it can be installed as an after-market modification.", - "slots": ["Modification"], + "slots": [ + "Modification" + ], "type": "Modification", "grants": [ { "type": "action", - "value": { "type": "Lock", "difficulty": "White" } + "value": { + "type": "Lock", + "difficulty": "White" + } } ] } ], - "cost": { "value": 3 }, - "hyperspace": false, - "xws": "targetingcomputer" + "cost": { + "value": 2 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Independent Calculations", "limited": 0, "xws": "independentcalculations", - "hyperspace": true, "sides": [ { "ability": "Replace your Networked Calculations ship ability with the following: Independent Calculations: While you perform a white [Calculate] action, you may treat it as red to gain 1 additional calculate token. Other ships cannot spend your calculate tokens using the Networked Calculations ship ability.", "title": "Independent Calculations", "type": "Modification", - "slots": ["Modification"], - "ffg": 866, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/327275e06ddaac1afbe7b8209883aa4b.jpg" + "slots": [ + "Modification" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/independentcalculations.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/independentcalculations.png" } ], "restrictions": [ - { "shipAbility": ["Networked Calculations"] }, - { "standardized": true } + { + "shipAbility": [ + "Networked Calculations" + ] + }, + { + "standardized": true + } ], - "cost": { "value": 0 } + "cost": { + "value": 0 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Overdrive Thruster", "limited": 1, "xws": "overdrivethruster", - "hyperspace": true, "sides": [ { "ability": "While you perform a red [Boost], [Barrel Roll], or [SLAM] action, you must use a template of 1 speed higher, if able.", "title": "Overdrive Thruster", "type": "Modification", - "slots": ["Modification"], - "ffg": 721, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/fb6fef19ae0bf5b42d4da716f4826c26.jpg" + "slots": [ + "Modification" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/overdrivethruster.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/overdrivethruster.png" } ], "cost": { "variable": "initiative", - "values": { "0": 2, "1": 3, "2": 4, "3": 5, "4": 6, "5": 7, "6": 8 } - } + "values": { + "0": 2, + "1": 3, + "2": 4, + "3": 5, + "4": 6, + "5": 7, + "6": 8 + } + }, + "restrictions": [ + { + "ships": [ + "t70xwing" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Precision Ion Engines", "limited": 0, "xws": "precisionionengines", - "hyperspace": true, "sides": [ { "ability": "Before you execute a speed 1-3 Koiogran Turn ([Koiogran Turn]) maneuver, you may spend 1 [Charge] to execute that maneuver as a Segnor's Loop ([Segnor's Loop Left] or [Segnor's Loop Right]) maneuver instead.", "title": "Precision Ion Engines", "type": "Modification", - "slots": ["Modification"], - "charges": { "value": 2, "recovers": 0 }, - "ffg": 867, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/fbafd721fa85216ee1d16d305e31e694.jpg" + "slots": [ + "Modification" + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/precisionionengines.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/precisionionengines.png" } ], - "cost": { "value": 2 } + "cost": { + "variable": "initiative", + "values": { + "0": 1, + "1": 1, + "2": 1, + "3": 1, + "4": 1, + "5": 2, + "6": 2 + } + }, + "restrictions": [ + { + "keywords": [ + "TIE" + ] + }, + { + "agility": [ + 3 + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Mandalorian Optics", "limited": 0, "xws": "mandalorianoptics", - "hyperspace": false, "sides": [ { "ability": "During the System Phase, you may spend 1 [Charge] to acquire a lock on an object in your [Front Arc]. While you perform a primary attack, if you have a lock on the defender, ignore obstacles beyond range 0 obstructing the attack.", "title": "Mandalorian Optics", "type": "Modification", - "slots": ["Modification"], - "charges": { "value": 2, "recovers": 0 }, - "image": "https://infinitearenas.com/xw2/images/upgrades/mandalorianoptics.png" + "slots": [ + "Modification" + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/mandalorianoptics.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/mandalorianoptics.png" } - ] + ], + "cost": { + "value": 5 + }, + "restrictions": [ + { + "keywords": [ + "Mandalorian" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Drop-Seat bay", + "limited": 0, + "xws": "dropseatbay", + "sides": [ + { + "ability": "If you would drop a [Crew] remote using a straight [[Straight]] template, you may use a bank [[Bank Left] or [Bank Right]] template of the same speed instead and can align that template's middle line with the hashmark on your ship's left or right side instead of your rear guides. Remove [Device] slot. Add 2 [Crew] slots.", + "title": "Drop-Seat bay", + "type": "Modification", + "grants": [ + { + "type": "slot", + "value": "Crew", + "amount": 2 + }, + { + "type": "slot", + "value": "Device", + "amount": -1 + } + ], + "slots": [ + "Modification" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/dropseatbay.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/dropseatbay.png" + } + ], + "restrictions": [ + { + "ships": [ + "gauntletfighter" + ] + } + ], + "cost": { + "value": 1 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Beskar Reinforced Plating", "limited": 0, "xws": "beskarreinforcedplating", - "hyperspace": false, "sides": [ { "ability": "While you defend, if the attacker is in your [Front Arc], before you would be dealt a faceup damage card, you may spend 1 [Charge] to be dealt that card facedown instead, or spend 2 [Charge] to discard it instead.", "title": "Beskar Reinforced Plating", "type": "Modification", - "slots": ["Modification"], - "charges": { "value": 2, "recovers": 0 }, - "image": "https://infinitearenas.com/xw2/images/upgrades/beskarreinforcedplating.png" + "slots": [ + "Modification" + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/beskarreinforcedplating.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/beskarreinforcedplating.png" + } + ], + "cost": { + "variable": "agility", + "values": { + "0": 2, + "1": 3, + "2": 4, + "3": 5 + } + }, + "restrictions": [ + { + "keywords": [ + "Mandalorian" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Burnout Thrusters", + "limited": 0, + "xws": "burnoutthrusters", + "sides": [ + { + "ability": "After you perform a [SLAM] action, lose 1 [Charge]. Then you may gain 1 deplete token to remove 1 disarm token. If your [Charge] is inactive, you cannot perform the [SLAM] action.", + "title": "Burnout Thrusters", + "type": "Modification", + "slots": [ + "Modification" + ], + "charges": { + "value": 1, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/burnoutthrusters.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/burnoutthrusters.png", + "grants": [ + { + "type": "action", + "value": { + "type": "SLAM", + "difficulty": "White" + } + } + ] + } + ], + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] + }, + { + "sizes": [ + "Small", + "Medium" + ] + } + ], + "cost": { + "value": 4 + }, + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Unstable Sublight Engines", + "limited": 0, + "xws": "unstablesublightengines-battleofyavin", + "sides": [ + { + "ability": "After you are destroyed, you must execute a [1 [Straight]] maneuver, then each other ship at range 0-1 suffers 1 [Hit] damage.", + "title": "Unstable Sublight Engines", + "type": "Modification", + "slots": [ + "Modification" + ] + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "Sensor Jammer", + "limited": 0, + "xws": "sensorjammer-battleofyavin", + "sides": [ + { + "ability": "While defending, if there is a friendly lock on the attacker, you may change 1 of the attacker's [Hit] results to a [Focus] result.", + "title": "Sensor Jammer", + "type": "Modification", + "slots": [ + "Modification" + ] + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "Contingency Protocol", + "limited": 0, + "xws": "contingencyprotocol-siegeofcoruscant", + "sides": [ + { + "ability": "After this ship is destroyed, another friendly ship at range 0-3 with Contingency Protocol may perform an action, even while stressed.", + "title": "Contingency Protocol", + "type": "Modification", + "slots": [ + "Modification" + ] + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "Evasion Sequence 7", + "limited": 0, + "xws": "evasionsequence7-siegeofcoruscant", + "sides": [ + { + "ability": "While you perform a red [Evade] action, if there is an obstacle or scenario feature at range 1, treat the action as white, instead.", + "title": "Evasion Sequence 7", + "type": "Modification", + "slots": [ + "Modification" + ] + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "Automated Loaders", + "limited": 0, + "xws": "automatedloaders-swz98", + "sides": [ + { + "ability": "After you perform a primary attack, you may spend 1 [Charge] to perform a [Reload] action.", + "title": "Automated Loaders", + "type": "Modification", + "slots": [ + "Modification" + ], + "charges": { + "value": 1, + "recovers": 0 + } } - ] + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "Contingency Protocol", + "limited": 0, + "xws": "contingencyprotocol-rsl", + "sides": [ + { + "title": "Contingency Protocol", + "type": "Modification", + "ability": "After you are destroyed, you may choose a friendly ship with the Contingency Protocol upgrade at range 0-3. If you do, it may perform an action, even while stressed", + "slots": [ + "Modification" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/contingencyprotocol-rsl.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/contingencyprotocol-rsl.png" + } + ], + "cost": { + "variable": "size", + "values": { + "Small": 1, + "Medium": 2, + "Large": 2 + } + }, + "restrictions": [ + { + "factions": [ + "separatistalliance" + ] + }, + { + "equipped": [ + "Tactical Relay" + ] + }, + { + "keywords": [ + "Droid" + ] + } + ], + "standard": false, + "wildspace": true, + "epic": false + }, + { + "name": "Stygium Reserve", + "limited": 0, + "xws": "stygiumreserve-tiephphantom", + "sides": [ + { + "title": "Stygium Reserve", + "type": "Modification", + "charges": { + "value": 1, + "recovers": 0 + }, + "ability": "After you fully execute a maneuver, you may spend 1 [Charge] to perform a [Boost] action, even while stressed.", + "slots": [ + "Modification" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": false, + "standardLoadoutOnly": true + }, + { + "name": "Manual Ailerons", + "limited": 0, + "xws": "manualailerons-tiephphantom", + "sides": [ + { + "title": "Manual Ailerons", + "type": "Modification", + "charges": { + "value": 2, + "recovers": 0 + }, + "ability": "When you decloak, you may spend 1 [Charge] to use the [2 [Bank Left]] or [2 [Bank Right]] template instead of the [2 [Straight]] template.", + "slots": [ + "Modification" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": false, + "standardLoadoutOnly": true } ] diff --git a/data/upgrades/sensor.json b/data/upgrades/sensor.json index e74da1683..74b07ebf2 100644 --- a/data/upgrades/sensor.json +++ b/data/upgrades/sensor.json @@ -8,17 +8,25 @@ "title": "Advanced Sensors", "type": "Sensor", "ability": "After you reveal your dial, you may perform 1 action. If you do, you cannot perform another action during your activation.", - "slots": ["Sensor"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_23.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_23.jpg", - "ffg": 252 + "slots": [ + "Sensor" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/advancedsensors.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/advancedsensors.png" } ], "cost": { "variable": "size", - "values": { "Small": 13, "Medium": 11, "Large": 9 } + "values": { + "Small": 13, + "Medium": 11, + "Large": 9, + "Huge": 0 + } }, - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Collision Detector", @@ -29,15 +37,23 @@ "title": "Collision Detector", "type": "Sensor", "ability": "While you boost or barrel roll, you can move through and overlap obstacles. After you move through or overlap an obstacle, you may spend 1 [Charge] to ignore its effects until the end of the round.", - "slots": ["Sensor"], - "charges": { "value": 2, "recovers": 0 }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_24.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_24.jpg", - "ffg": 253 + "slots": [ + "Sensor" + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/collisiondetector.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/collisiondetector.png" } ], - "cost": { "value": 6 }, - "hyperspace": false + "cost": { + "value": 6 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Fire-Control System", @@ -48,14 +64,19 @@ "title": "Fire-Control System", "type": "Sensor", "ability": "While you perform an attack, if you have a lock on the defender, you may reroll 1 attack die. If you do, you cannot spend your lock during this attack.", - "slots": ["Sensor"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_25.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_25.jpg", - "ffg": 254 + "slots": [ + "Sensor" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/firecontrolsystem.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/firecontrolsystem.png" } ], - "cost": { "value": 2 }, - "hyperspace": true + "cost": { + "value": 2 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Trajectory Simulator", @@ -66,35 +87,104 @@ "title": "Trajectory Simulator", "type": "Sensor", "ability": "During the System Phase, if you would drop or launch a bomb, you may launch it using the [5 [Straight]] template instead.", - "slots": ["Sensor"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_26.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_26.jpg", - "ffg": 255 + "slots": [ + "Sensor" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/trajectorysimulator.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/trajectorysimulator.png" } ], - "cost": { "value": 6 }, - "hyperspace": false + "cost": { + "variable": "size", + "values": { + "Small": 5, + "Medium": 4, + "Large": 3, + "Huge": 3 + } + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Passive Sensors", "limited": 0, "xws": "passivesensors", - "hyperspace": true, "sides": [ { "ability": "Action: Spend 1 [Charge]. You can only perform this action in your Perform Action step. While your [Charge] is inactive, you cannot be coordinated. Before you engage, if your [Charge] is inactive, you may perform a [Calculate] or [Lock] action.", "title": "Passive Sensors", "type": "Sensor", - "slots": ["Sensor"], - "charges": { "value": 1, "recovers": 1 }, - "ffg": 577, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a9c69fd08df1a2ce84f240943fe05245.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/08a980b359fb73dbcb9a315e94d505f0.png" + "slots": [ + "Sensor" + ], + "charges": { + "value": 1, + "recovers": 1 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/passivesensors.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/passivesensors.png" } ], "cost": { "variable": "initiative", - "values": { "0": 4, "1": 4, "2": 4, "3": 4, "4": 5, "5": 6, "6": 7 } - } + "values": { + "0": 4, + "1": 4, + "2": 4, + "3": 4, + "4": 5, + "5": 6, + "6": 7, + "7": 4, + "8": 4 + } + }, + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Long-Range Scanners", + "limited": 0, + "xws": "longrangescanners-alphaclassstarwing", + "sides": [ + { + "title": "Long-Range Scanners", + "type": "Sensor", + "charges": { + "value": 2, + "recovers": 0 + }, + "ability": "Before you perform a [Lock] action, you may spend 1 [Charge]. If you do, you may acquire a lock on an object at any range during that action.", + "slots": [ + "Sensor" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": false, + "standardLoadoutOnly": true + }, + { + "name": "Relay System", + "limited": 0, + "xws": "relaysystem-tiephphantom", + "sides": [ + { + "title": "Relay System", + "type": "Sensor", + "ability": "After a friendly ship at range 0-2 performs a [Lock] action, you may acquire a lock on the same object. After you perform an attack that hits, you may spend a lock you have on the defender. If you do, another friendly ship at range 0-1 may acquire a lock on the defender.", + "slots": [ + "Sensor" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": false, + "standardLoadoutOnly": true } -] +] \ No newline at end of file diff --git a/data/upgrades/tactical-relay.json b/data/upgrades/tactical-relay.json index 50c849664..e991960b1 100644 --- a/data/upgrades/tactical-relay.json +++ b/data/upgrades/tactical-relay.json @@ -8,24 +8,38 @@ "title": "Kraken", "type": "Tactical Relay", "ability": "During the End Phase, you may choose up to 3 friendly ships at range 0-3. If you do, each of these ships does not remove 1 calculate token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/47dae8a3ecd27a48f3dc35aff03a1a75.png", - "slots": ["Tactical Relay"], - "ffg": 531, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/0e1c2510e830ff6d9e7e6226ef2792b4.jpg", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/kraken.png", + "slots": [ + "Tactical Relay" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/kraken.png", "grants": [ { "type": "action", - "value": { "type": "Calculate", "difficulty": "White" } + "value": { + "type": "Calculate", + "difficulty": "White" + } } ] } ], "restrictions": [ - { "factions": ["Separatist Alliance"] }, - { "solitary": true } + { + "factions": [ + "separatistalliance" + ] + }, + { + "solitary": true + } ], - "hyperspace": true, - "cost": { "value": 10 } + "cost": { + "value": 10 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "TV-94", @@ -36,18 +50,29 @@ "title": "TV-94", "type": "Tactical Relay", "ability": "While a friendly ship at range 0-3 performs a primary attack against a defender in its [Bullseye Arc], if there are 2 or fewer attack dice, it may spend 1 calculate token to add 1 [Hit] result.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/633a34a139c912116c1b034fc2765484.png", - "slots": ["Tactical Relay"], - "ffg": 530, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/f6177b6339e425fff560af884596a83b.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/tv94.png", + "slots": [ + "Tactical Relay" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/tv94.png" } ], "restrictions": [ - { "factions": ["Separatist Alliance"] }, - { "solitary": true } + { + "factions": [ + "separatistalliance" + ] + }, + { + "solitary": true + } ], - "cost": { "value": 5 }, - "hyperspace": false + "cost": { + "value": 5 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "K2-B4", @@ -58,18 +83,29 @@ "title": "K2-B4", "type": "Tactical Relay", "ability": "While a friendly ship at range 0-3 defends, it may spend 1 calculate token. If it does, add 1 [Evade] result unless the attacker chooses to gain 1 strain token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/2178079ef9488899e51e927b2e136572.png", - "slots": ["Tactical Relay"], - "ffg": 537, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/fa9a0b38a079ec78b6db330c2ffc9b0a.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/k2b4.png", + "slots": [ + "Tactical Relay" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/k2b4.png" } ], "restrictions": [ - { "factions": ["Separatist Alliance"] }, - { "solitary": true } + { + "factions": [ + "separatistalliance" + ] + }, + { + "solitary": true + } ], - "cost": { "value": 5 }, - "hyperspace": true + "cost": { + "value": 5 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "TA-175", @@ -80,42 +116,64 @@ "title": "TA-175", "type": "Tactical Relay", "ability": "After a friendly ship at range 0-3 with [Calculate] on its action bar is destroyed, each friendly ship at range 0-3 with [Calculate] in its action bar gains 1 calculate token.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/d71e07aa3147c6fe943bd0c8131a0096.png", - "slots": ["Tactical Relay"], - "ffg": 590, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/daa093356e5022b74d375979446e32ff.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ta175.png", + "slots": [ + "Tactical Relay" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ta175.png" } ], "restrictions": [ - { "factions": ["Separatist Alliance"] }, - { "solitary": true } + { + "factions": [ + "separatistalliance" + ] + }, + { + "solitary": true + } ], - "cost": { "value": 11 }, - "hyperspace": false + "cost": { + "value": 11 + }, + "standard": true, + "wildspace": true, + "epic": true }, { + "name": "Kalani", + "limited": 1, + "xws": "kalani", "sides": [ { - "ffg": 682, "title": "Kalani", "type": "Tactical Relay", - "slots": ["Tactical Relay"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/903cb81e543eb48cd7ae6872f214cb24.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/f7d014b30966a8e308aad5d1336d50dd.png", + "slots": [ + "Tactical Relay" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/kalani.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/kalani.png", "ability": "After an enemy ship executes a maneuver, if it is in the [Bullseye Arc] of a friendly ship at range 0-3, you may spend 1 [Charge]. If you do, that friendly ship acquires a lock on that enemy ship, then gains 1 stress token.", - "charges": { "value": 3, "recovers": 3 }, + "charges": { + "value": 3, + "recovers": 3 + }, "grants": [ { "type": "action", - "value": { "type": "Calculate", "difficulty": "White" } + "value": { + "type": "Calculate", + "difficulty": "White" + } } ] } ], - "name": "Kalani", - "cost": { "value": 5 }, - "limited": 1, - "xws": "kalani", - "hyperspace": true + "cost": { + "value": 3 + }, + "standard": true, + "wildspace": true, + "epic": true } -] +] \ No newline at end of file diff --git a/data/upgrades/talent.json b/data/upgrades/talent.json index 77f97c202..a43b1b832 100644 --- a/data/upgrades/talent.json +++ b/data/upgrades/talent.json @@ -8,15 +8,26 @@ "title": "Composure", "type": "Talent", "ability": "After you fail an action, if you have no green tokens, you may perform a [Focus] action. If you do, you cannot perform additional actions this round.", - "slots": ["Talent"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/73927eb0dc7bc2bb0de194f1af1dead2.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_156.jpg", - "ffg": 381 + "slots": [ + "Talent" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/composure.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/composure.png" + } + ], + "cost": { + "value": 1 + }, + "restrictions": [ + { + "action": { + "type": "Focus" + } } ], - "cost": { "value": 1 }, - "restrictions": [{ "action": { "type": "Focus" } }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Crack Shot", @@ -27,15 +38,23 @@ "title": "Crack Shot", "type": "Talent", "ability": "While you perform a primary attack, if the defender is in your [Bullseye Arc], before the Neutralize Results step, you may spend 1 [Charge] to cancel 1 [Evade] result.", - "slots": ["Talent"], - "charges": { "value": 1, "recovers": 0 }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_1.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_1.jpg", - "ffg": 230 + "slots": [ + "Talent" + ], + "charges": { + "value": 1, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/crackshot.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/crackshot.png" } ], - "cost": { "value": 3 }, - "hyperspace": false + "cost": { + "value": 3 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Daredevil", @@ -46,18 +65,32 @@ "title": "Daredevil", "type": "Talent", "ability": "While you perform a white [Boost] action, you may treat it as red to use the [1 [Turn Left]] or [1 [Turn Right]] template instead.", - "slots": ["Talent"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_2.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_2.jpg", - "ffg": 231 + "slots": [ + "Talent" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/daredevil.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/daredevil.png" } ], - "cost": { "value": 2 }, + "cost": { + "value": 2 + }, "restrictions": [ - { "sizes": ["Small"] }, - { "action": { "type": "Boost", "difficulty": "White" } } + { + "sizes": [ + "Small" + ] + }, + { + "action": { + "type": "Boost", + "difficulty": "White" + } + } ], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Debris Gambit", @@ -68,22 +101,42 @@ "title": "Debris Gambit", "type": "Talent", "ability": "While you perform a red [Evade] action, if there is an obstacle at range 0-1, treat the action as white instead.", - "slots": ["Talent"], - "actions": [{ "type": "Evade", "difficulty": "Red" }], + "slots": [ + "Talent" + ], + "actions": [ + { + "type": "Evade", + "difficulty": "Red" + } + ], "grants": [ { "type": "action", - "value": { "type": "Evade", "difficulty": "Red" } + "value": { + "type": "Evade", + "difficulty": "Red" + } } ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_3.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_3.jpg", - "ffg": 232 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/debrisgambit.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/debrisgambit.png" } ], - "cost": { "value": 3 }, - "restrictions": [{ "sizes": ["Small", "Medium"] }], - "hyperspace": false + "cost": { + "value": 3 + }, + "restrictions": [ + { + "sizes": [ + "Small", + "Medium" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Elusive", @@ -94,16 +147,31 @@ "title": "Elusive", "type": "Talent", "ability": "While you defend, you may spend 1 [Charge] to reroll 1 defense die. After you fully execute a red maneuver, recover 1 [Charge].", - "slots": ["Talent"], - "charges": { "value": 1, "recovers": 0 }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_4.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_4.jpg", - "ffg": 233 + "slots": [ + "Talent" + ], + "charges": { + "value": 1, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/elusive.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/elusive.png" + } + ], + "cost": { + "value": 2 + }, + "restrictions": [ + { + "sizes": [ + "Small", + "Medium" + ] } ], - "cost": { "value": 2 }, - "restrictions": [{ "sizes": ["Small", "Medium"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Expert Handling", @@ -114,27 +182,47 @@ "title": "Expert Handling", "type": "Talent", "text": "While heavy fighters can often be coaxed into a barrel roll, seasoned pilots know how to do it without putting undue stress on their craft or leaving themselves open to attack.", - "slots": ["Talent"], - "actions": [{ "type": "Barrel Roll", "difficulty": "White" }], + "slots": [ + "Talent" + ], + "actions": [ + { + "type": "Barrel Roll", + "difficulty": "White" + } + ], "grants": [ { "type": "action", - "value": { "type": "Barrel Roll", "difficulty": "White" } + "value": { + "type": "Barrel Roll", + "difficulty": "White" + } } ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_5.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_5.jpg", - "ffg": 234 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/experthandling.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/experthandling.png" } ], "cost": { "variable": "size", - "values": { "Small": 2, "Medium": 3, "Large": 4 } + "values": { + "Small": 2, + "Medium": 2, + "Large": 4 + } }, "restrictions": [ - { "action": { "type": "Barrel Roll", "difficulty": "Red" } } + { + "action": { + "type": "Barrel Roll", + "difficulty": "Red" + } + } ], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Fanatical", @@ -145,15 +233,26 @@ "title": "Fanatical", "type": "Talent", "ability": "While you perform a primary attack, if you are not shielded, you may change 1 [Focus] result to a [Hit] result.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/8b164bdb2b401b6741519f6c6e067550.png", - "slots": ["Talent"], - "ffg": 459, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/0a7cac152b045daf71fa5d28504e54b4.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/fanatical.png", + "slots": [ + "Talent" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/fanatical.png" } ], - "cost": { "value": 1 }, - "restrictions": [{ "factions": ["First Order"] }], - "hyperspace": true + "cost": { + "value": 2 + }, + "restrictions": [ + { + "factions": [ + "firstorder" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Fearless", @@ -164,15 +263,26 @@ "title": "Fearless", "type": "Talent", "ability": "While you perform a [Front Arc] primary attack, if the attack range is 1 and you are in the defender's [Front Arc], you may change 1 of your results to a [Hit] result.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_6.png", - "slots": ["Talent"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_6.jpg", - "ffg": 235 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/fearless.png", + "slots": [ + "Talent" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/fearless.png" } ], - "cost": { "value": 3 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }], - "hyperspace": false + "cost": { + "value": 3 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Heroic", @@ -183,15 +293,26 @@ "title": "Heroic", "type": "Talent", "ability": "While you defend or perform an attack, if you have only blank results and have 2 or more results, you may reroll any number of your dice.", - "slots": ["Talent"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/9f8baf4893cd90288df44b69b50fa788.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/0f6d1677c35001248d7768047c10aa87.jpg", - "ffg": 471 + "slots": [ + "Talent" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/heroic.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/heroic.png" + } + ], + "cost": { + "value": 2 + }, + "restrictions": [ + { + "factions": [ + "resistance" + ] } ], - "cost": { "value": 2 }, - "restrictions": [{ "factions": ["Resistance"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Intimidation", @@ -202,14 +323,19 @@ "title": "Intimidation", "type": "Talent", "ability": "While an enemy ship at range 0 defends, it rolls 1 fewer defense die.", - "slots": ["Talent"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_7.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_7.jpg", - "ffg": 236 + "slots": [ + "Talent" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/intimidation.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/intimidation.png" } ], - "cost": { "value": 3 }, - "hyperspace": false + "cost": { + "value": 3 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Juke", @@ -220,21 +346,33 @@ "title": "Juke", "type": "Talent", "ability": "While you perform an attack, if you are evading, you may change 1 of the defender's [Evade] results to a [Focus] result.", - "slots": ["Talent"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_8.png", + "slots": [ + "Talent" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/juke.png", "alt": [ { "image": "https://images-cdn.fantasyflightgames.com/filer_public/4c/e1/4ce1fe4d-b778-4dc9-8272-23aac7c3884d/g18xs_juke2nd.png", "source": "Store Championship 2018" } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_8.jpg", - "ffg": 237 + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/juke.png" + } + ], + "cost": { + "value": 6 + }, + "restrictions": [ + { + "sizes": [ + "Small", + "Medium" + ] } ], - "cost": { "value": 6 }, - "restrictions": [{ "sizes": ["Small", "Medium"] }], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Lone Wolf", @@ -245,15 +383,23 @@ "title": "Lone Wolf", "type": "Talent", "ability": "While you defend or perform an attack, if there are no other friendly ships at range 0-2, you may spend 1 [Charge] to reroll 1 of your dice.", - "slots": ["Talent"], - "charges": { "value": 1, "recovers": 1 }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_9.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_9.jpg", - "ffg": 238 + "slots": [ + "Talent" + ], + "charges": { + "value": 1, + "recovers": 1 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/lonewolf.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/lonewolf.png" } ], - "cost": { "value": 5 }, - "hyperspace": false + "cost": { + "value": 5 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Marksmanship", @@ -264,14 +410,19 @@ "title": "Marksmanship", "type": "Talent", "ability": "While you perform an attack, if the defender is in your [Bullseye Arc], you may change 1 [Hit] result to a [Critical Hit] result.", - "slots": ["Talent"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_10.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_10.jpg", - "ffg": 239 + "slots": [ + "Talent" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/marksmanship.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/marksmanship.png" } ], - "cost": { "value": 1 }, - "hyperspace": false + "cost": { + "value": 1 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Outmaneuver", @@ -282,14 +433,28 @@ "title": "Outmaneuver", "type": "Talent", "ability": "While you perform a [Front Arc] attack, if you are not in the defender's firing arc, the defender rolls 1 fewer defense die.", - "slots": ["Talent"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_11.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_11.jpg", - "ffg": 240 + "slots": [ + "Talent" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/outmaneuver.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/outmaneuver.png" } ], - "cost": { "value": 6 }, - "hyperspace": false + "cost": { + "variable": "initiative", + "values": { + "0": 5, + "1": 5, + "2": 5, + "3": 5, + "4": 6, + "5": 6, + "6": 6 + } + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Predator", @@ -300,14 +465,19 @@ "title": "Predator", "type": "Talent", "ability": "While you perform a primary attack, if the defender is in your [Bullseye Arc], you may reroll 1 attack die.", - "slots": ["Talent"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_12.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_12.jpg", - "ffg": 241 + "slots": [ + "Talent" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/predator.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/predator.png" } ], - "cost": { "value": 2 }, - "hyperspace": true + "cost": { + "value": 2 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Ruthless", @@ -318,15 +488,26 @@ "title": "Ruthless", "type": "Talent", "ability": "While you perform an attack, you may choose another friendly ship at range 0-1 of the defender. If you do, that ship suffers 1 [Hit] damage and you may change 1 of your die results to a [Hit] result.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_13.png", - "slots": ["Talent"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_13.jpg", - "ffg": 242 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ruthless.png", + "slots": [ + "Talent" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ruthless.png" } ], - "cost": { "value": 1 }, - "restrictions": [{ "factions": ["Galactic Empire"] }], - "hyperspace": true + "cost": { + "value": 1 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Saturation Salvo", @@ -337,15 +518,26 @@ "title": "Saturation Salvo", "type": "Talent", "ability": "While you perform a [Torpedo] or [Missile] attack, you may spend 1 [Charge] from that upgrade. If you do, choose two defense dice. The defender must reroll those dice.", - "slots": ["Talent"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_14.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_14.jpg", - "ffg": 243 + "slots": [ + "Talent" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/saturationsalvo.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/saturationsalvo.png" } ], - "cost": { "value": 3 }, - "restrictions": [{ "action": { "type": "Reload" } }], - "hyperspace": false + "cost": { + "value": 3 + }, + "restrictions": [ + { + "action": { + "type": "Reload" + } + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Selfless", @@ -356,15 +548,26 @@ "title": "Selfless", "type": "Talent", "ability": "While another friendly ship at range 0-1 defends, before the Neutralize Results step, if you are in the attack arc, you may suffer 1 [Critical Hit] damage to cancel 1 [Critical Hit] result.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_15.png", - "slots": ["Talent"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_15.jpg", - "ffg": 244 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/selfless.png", + "slots": [ + "Talent" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/selfless.png" + } + ], + "cost": { + "value": 2 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] } ], - "cost": { "value": 2 }, - "restrictions": [{ "factions": ["Rebel Alliance"] }], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Squad Leader", @@ -375,24 +578,43 @@ "title": "Squad Leader", "type": "Talent", "ability": "While you coordinate, the ship you choose can perform an action only if that action is also on your action bar.", - "slots": ["Talent"], - "actions": [{ "type": "Coordinate", "difficulty": "Red" }], + "slots": [ + "Talent" + ], + "actions": [ + { + "type": "Coordinate", + "difficulty": "Red" + } + ], "grants": [ { "type": "action", - "value": { "type": "Coordinate", "difficulty": "Red" } + "value": { + "type": "Coordinate", + "difficulty": "Red" + } } ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_16.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_16.jpg", - "ffg": 245 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/squadleader.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/squadleader.png" } ], "cost": { "variable": "initiative", - "values": { "0": 2, "1": 4, "2": 6, "3": 8, "4": 10, "5": 12, "6": 14 } + "values": { + "0": 2, + "1": 4, + "2": 5, + "3": 7, + "4": 9, + "5": 10, + "6": 12 + } }, - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Swarm Tactics", @@ -403,17 +625,28 @@ "title": "Swarm Tactics", "type": "Talent", "ability": "At the start of the Engagement Phase, you may choose 1 friendly ship at range 1. If you do, that ship treats its initiative as equal to yours until the end of the round.", - "slots": ["Talent"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_17.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_17.jpg", - "ffg": 246 + "slots": [ + "Talent" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/swarmtactics.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/swarmtactics.png" } ], "cost": { "variable": "initiative", - "values": { "0": 3, "1": 3, "2": 3, "3": 3, "4": 3, "5": 4, "6": 5 } + "values": { + "0": 3, + "1": 3, + "2": 3, + "3": 3, + "4": 3, + "5": 4, + "6": 5 + } }, - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Trick Shot", @@ -424,14 +657,19 @@ "title": "Trick Shot", "type": "Talent", "ability": "While you perform an attack that is obstructed by an obstacle, roll 1 additional attack die.", - "slots": ["Talent"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_18.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_18.jpg", - "ffg": 247 + "slots": [ + "Talent" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/trickshot.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/trickshot.png" } ], - "cost": { "value": 4 }, - "hyperspace": false + "cost": { + "value": 3 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Treacherous", @@ -442,16 +680,30 @@ "title": "Treacherous", "type": "Talent", "ability": "While you defend, you may choose a ship obstructing the attack and spend 1 [Charge]. If you do, cancel 1 [Hit] or [Critical Hit] result, and the ship you chose gains 1 strain token. After a ship at range 0-3 is destroyed, recover 1 [Charge].", - "slots": ["Talent"], - "charges": { "value": 1, "recovers": 0 }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/a10d907fea50e32ab28d924c67486d37.png", - "ffg": 529, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/406e6007268488c36fc9066fb0a5d70f.jpg" + "slots": [ + "Talent" + ], + "charges": { + "value": 1, + "recovers": 0 + }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/treacherous.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/treacherous.png" + } + ], + "cost": { + "value": 1 + }, + "restrictions": [ + { + "factions": [ + "separatistalliance" + ] } ], - "hyperspace": true, - "restrictions": [{ "factions": ["Separatist Alliance"] }], - "cost": { "value": 2 } + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Dedicated", @@ -462,18 +714,29 @@ "title": "Dedicated", "type": "Talent", "ability": "While another friendly ship in your [Left Arc] or [Right Arc] at range 0-2 defends, if it is limited or has the Dedicated upgrade and you are not strained, you may gain 1 strain token. If you do, the defender rerolls 1 of their blank results.", - "slots": ["Talent"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/31c6723d7e5670c257acfa8788160437.png", - "ffg": 544, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/21b00eaf0d2f447db8fc7b2dc69222ab.jpg" + "slots": [ + "Talent" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/dedicated.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/dedicated.png" } ], - "hyperspace": true, + "cost": { + "value": 1 + }, "restrictions": [ - { "factions": ["Galactic Republic"] }, - { "non-limited": true } + { + "factions": [ + "galacticrepublic" + ] + }, + { + "non-limited": true + } ], - "cost": { "value": 1 } + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Ensnare", @@ -483,46 +746,51 @@ { "title": "Ensnare", "type": "Talent", - "slots": ["Talent"], + "slots": [ + "Talent" + ], "ability": "At the end of the Activation Phase, if you are tractored, you may choose 1 ship in your [Single Turret Arc] arc at range 0-1. Transfer 1 tractor token to it.", - "ffg": 610, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/9513320be3bb150bb8ee6d3504e0ed01.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/5d7e0560460a1d91281537a658ddfc86.png" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ensnare.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ensnare.png" } ], "cost": { "variable": "initiative", "values": { - "0": 19, - "1": 19, - "2": 19, - "3": 19, - "4": 19, - "5": 21, - "6": 24 + "0": 12, + "1": 12, + "2": 12, + "3": 15, + "4": 15, + "5": 15, + "6": 15 } }, - "hyperspace": false, - "restrictions": [{ "ships": ["nantexclassstarfighter"] }] + "restrictions": [ + { + "ships": [ + "nantexclassstarfighter" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Snap Shot", "limited": 0, "xws": "snapshot", - "hyperspace": true, - "cost": { - "variable": "size", - "values": { "Small": 7, "Medium": 8, "Large": 9 } - }, "sides": [ { "ability": "After an enemy ship executes a maneuver, you may perform this attack against it as a bonus attack. Attack: Your dice cannot be modified.", "title": "Snap Shot", "type": "Talent", - "slots": ["Talent"], - "ffg": 612, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/ec959ee48f953dbde71aa7c89d0b54bf.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/fed45c0416dfd298d9433c4608e99b7e.png", + "slots": [ + "Talent" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/snapshot.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/snapshot.png", "attack": { "arc": "Front Arc", "value": 2, @@ -531,225 +799,396 @@ "ordnance": true } } - ] + ], + "cost": { + "variable": "size", + "values": { + "Small": 6, + "Medium": 7, + "Large": 8, + "Huge": 9 + } + }, + "standard": true, + "wildspace": true, + "epic": true }, { + "name": "Gravitic Deflection", + "limited": 0, + "xws": "graviticdeflection", "sides": [ { - "ffg": 611, "title": "Gravitic Deflection", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/8bcd2006892a98b5b29d9aba67733cb6.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/50ec6aa5a267ece16d36533f4efe2bb0.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/graviticdeflection.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/graviticdeflection.png", "ability": "While you defend, you may reroll 1 defense die for each tractored ship in the attack arc.", - "slots": ["Talent"], + "slots": [ + "Talent" + ], "type": "Talent" } ], - "name": "Gravitic Deflection", - "limited": 0, - "cost": { "value": 4 }, - "hyperspace": true, - "xws": "graviticdeflection" + "cost": { + "value": 2 + }, + "restrictions": [ + { + "ships": [ + "nantexclassstarfighter" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Proud Tradition", "limited": 0, "xws": "proudtradition", - "hyperspace": true, "sides": [ { "ability": "Setup: Equip this side faceup. While you have 2 or fewer stress tokens, you may perform [Focus] actions even while stressed. After you perform an attack, if you are stressed, the defender may spend 1 focus token or suffer 1 [Critical Hit] damage to flip this card.", "title": "Proud Tradition", "type": "Talent", - "slots": ["Talent"], - "ffg": 653, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/8f9f85aa00fb260336b9938e2a3f7c33.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/09ec8bb3b37800437bbff7963db6aec6.png" + "slots": [ + "Talent" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/proudtradition-sideb.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/proudtradition.png" }, { "ability": "Treat your [Focus] actions as red.", "title": "False Tradition", "type": "Talent", - "slots": ["Talent"], - "ffg": 652, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/30486dca1780008aea8c4c905f44ead3.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/a060961e9ee792e605c75aaf6d65ad34.png" + "slots": [ + "Talent" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/proudtradition.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/proudtradition-sideb.png" + } + ], + "cost": { + "value": 1 + }, + "restrictions": [ + { + "factions": [ + "firstorder" + ] } ], - "cost": { "value": 2 } + "standard": true, + "wildspace": true, + "epic": true }, { + "name": "Deadeye Shot", + "limited": 0, + "xws": "deadeyeshot", "sides": [ { - "ffg": 670, "title": "Deadeye Shot", "type": "Talent", - "slots": ["Talent"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/9f2bb1378eecd7358ebb4fd42b3f2f65.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/99f10f4dd059aae2529ec0863a6cc47e.png", + "slots": [ + "Talent" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/deadeyeshot.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/deadeyeshot.png", "ability": "While you perform a primary attack, if the defender is in your [Bullseye Arc], you may spend 1 [Hit] result or change 1 [Critical Hit] result to a [Hit] result. If you do, the defender exposes 1 of its damage cards." } ], - "name": "Deadeye Shot", - "cost": { "value": 1 }, - "limited": 0, - "xws": "deadeyeshot", - "hyperspace": true + "cost": { + "value": 1 + }, + "restrictions": [ + { + "sizes": [ + "Small", + "Medium" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Backwards Tailslide", "limited": 0, "xws": "backwardstailslide", - "hyperspace": true, "sides": [ { - "ability": "While you boost or barrel roll, if your equipped [Configuration] upgrade has the \"(Closed)\" side faceup, you can move through and overlap obstacles. After you boost or barrel roll through an obstacle, if you are not at range 0 of it, gain 1 evade token.", + "ability": "While you boost or barrel roll, if your equipped [Configuration] upgrade has the “(Closed)” side faceup, you can move through and overlap obstacles. After you boost or barrel roll through an obstacle, if you are not at range 0 of it, gain 1 evade token.", "title": "Backwards Tailslide", "type": "Talent", - "slots": ["Talent"], - "ffg": 715, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/d30db8383beca909eca0993a9299d226.jpg" + "slots": [ + "Talent" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/backwardstailslide.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/backwardstailslide.png" + } + ], + "cost": { + "value": 1 + }, + "restrictions": [ + { + "keywords": [ + "X-wing" + ] + }, + { + "equipped": [ + "Configuration" + ] } ], - "cost": { "value": 2 } + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Ion Limiter Override", "limited": 0, "xws": "ionlimiteroverride", - "hyperspace": true, "sides": [ { "ability": "After you fully execute a red maneuver, you may perform a [Barrel Roll] action, even while stressed. If you do, roll an attack die; on a [Hit] result gain 1 strain token, and on a [Critical Hit] result gain 1 ion token.", "title": "Ion Limiter Override", "type": "Talent", - "slots": ["Talent"], - "ffg": 717, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/babf3b90df6a73d026d4ab7670306ab7.jpg" + "slots": [ + "Talent" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ionlimiteroverride.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ionlimiteroverride.png" + } + ], + "cost": { + "value": 2 + }, + "restrictions": [ + { + "keywords": [ + "TIE" + ] } ], - "restrictions": [{ "names": ["TIE"] }], - "cost": { "value": 2 } + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Marg Sabl Closure", "limited": 0, "xws": "margsablclosure", - "hyperspace": true, "sides": [ { "ability": "After you fully execute a maneuver, if you moved through an obstacle, structure, or huge ship, or if you deployed, you may choose 1 enemy ship in your [Front Arc] at range 1-2. That ship gains 1 strain token.", "title": "Marg Sabl Closure", "type": "Talent", - "slots": ["Talent"], - "ffg": 846, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/6c495e5b96157ab865a895c70d614ae6.jpg" + "slots": [ + "Talent" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/margsablclosure.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/margsablclosure.png" } ], - "cost": { "value": 1 } + "cost": { + "value": 1 + }, + "restrictions": [ + { + "sizes": [ + "Small", + "Medium" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Starbird Slash", "limited": 0, "xws": "starbirdslash", - "hyperspace": true, "sides": [ { "ability": "After you fully execute a maneuver, you may choose 1 enemy ship you moved through. That ship gains 1 strain token. Then, if you are in that ship's firing arc, you gain 1 strain token.", "title": "Starbird Slash", "type": "Talent", - "slots": ["Talent"], - "ffg": 716, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/9651ea60a9c2b74779fbcadcc989c171.jpg" + "slots": [ + "Talent" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/starbirdslash.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/starbirdslash.png" } ], - "cost": { "value": 1 } + "cost": { + "value": 1 + }, + "restrictions": [ + { + "keywords": [ + "A-wing" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Cutthroat", "limited": 0, "xws": "cutthroat", - "hyperspace": true, "sides": [ { "ability": "After another friendly ship at range 0-3 is destroyed, if that ship is limited or has the Cutthroat upgrade, you may remove 1 of your orange or red tokens, or recover 1 non-recurring [Charge] on your ship card or one of your equipped upgrade cards.", "title": "Cutthroat", "type": "Talent", - "slots": ["Talent"], - "ffg": 914, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/ae15ec14df97ac215567f78fe6c92343.jpg" + "slots": [ + "Talent" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/cutthroat.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/cutthroat.png" + } + ], + "cost": { + "value": 1 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] } ], - "cost": { "value": 2 } + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Disciplined", "limited": 0, "xws": "disciplined", - "hyperspace": true, "sides": [ { "ability": "After another friendly ship at range 0-3 is destroyed, if that ship is limited or has the Disciplined upgrade, you may perform a [Lock] or [Barrel Roll] action.", "title": "Disciplined", "type": "Talent", - "slots": ["Talent"], - "ffg": 915, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/bddffdbe4ada9aa8b6f43b883cfb7acb.jpg" + "slots": [ + "Talent" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/disciplined.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/disciplined.png" + } + ], + "cost": { + "value": 2 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] } ], - "cost": { "value": 2 } + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Hopeful", "limited": 0, "xws": "hopeful", - "hyperspace": true, "sides": [ { "ability": "After another friendly ship at range 0-3 is destroyed, if that ship is limited or has the Hopeful upgrade, you may perform a [Focus] or [Boost] action.", "title": "Hopeful", "type": "Talent", - "slots": ["Talent"], - "ffg": 916, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/3c50ea7c72423be60ac00017cbaed807.jpg" + "slots": [ + "Talent" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/hopeful.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/hopeful.png" + } + ], + "cost": { + "value": 1 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] } ], - "cost": { "value": 1 } + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Interloper Turn", "limited": 0, "xws": "interloperturn", - "hyperspace": true, "sides": [ { "ability": "Before you execute a speed 1-2 turn ([Turn Left] or [Turn Right]) or speed 1-2 Koiogran Turn ([Koiogran Turn]) maneuver, if you are at range 0-1 of an asteroid, structure, or huge ship, you may gain 1 tractor token.", "title": "Interloper Turn", "type": "Talent", - "slots": ["Talent"], - "ffg": 917, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/1ae514eedd2e4129b311b69c4174e5f6.jpg" + "slots": [ + "Talent" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/interloperturn.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/interloperturn.png" + } + ], + "restrictions": [ + { + "ships": [ + "tieddefender" + ] } ], - "restrictions": [{ "ships": ["tieddefender"] }], - "cost": { "value": 1 } + "cost": { + "value": 1 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Tierfon Belly Run", "limited": 0, "xws": "tierfonbellyrun", - "hyperspace": true, "sides": [ { "ability": "You can perform special attacks even while at range 0 of asteroids. While you defend, if you are at range 0 of an obstacle, attack dice cannot be rerolled.", "title": "Tierfon Belly Run", "type": "Talent", - "slots": ["Talent"], - "ffg": 918, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a1b35914e278f332b59e04749c90452c.jpg" + "slots": [ + "Talent" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/tierfonbellyrun.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/tierfonbellyrun.png" } ], - "cost": { "value": 1 } + "cost": { + "value": 0 + }, + "restrictions": [ + { + "keywords": [ + "Y-wing" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Feedback Ping", @@ -760,15 +1199,31 @@ "title": "Feedback Ping", "type": "Talent", "ability": "After a ship executes a maneuver, if it is at range 0-1 of a friendly device, you may acquire a lock on that ship, ignoring range restrictions.", - "slots": ["Talent"], - "image": "???", - "artwork": "???", - "ffg": 938 + "slots": [ + "Talent" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/feedbackping.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/feedbackping.png" + } + ], + "cost": { + "value": 1 + }, + "restrictions": [ + { + "action": { + "type": "Reload" + } + }, + { + "keywords": [ + "TIE" + ] } ], - "cost": { "value": 1 }, - "restrictions": [{ "action": { "type": "Reload" } }, { "names": ["TIE"] }], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Clan Training", @@ -779,14 +1234,409 @@ "title": "Clan Training", "type": "Talent", "ability": "Before you engage, if you are not focused and there is an enemy ship in your [Front Arc] at range 1, you may spend 1 [Charge] to perform a red [Focus] action. After you perform an attack, if the defender is destroyed, recover 1 [Charge].", - "slots": ["Talent"], - "image": "https://infinitearenas.com/xw2/images/upgrades/clantraining.png", - "artwork": "???" + "charges": { + "value": 1, + "recovers": 0 + }, + "slots": [ + "Talent" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/clantraining.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/clantraining.png" + } + ], + "cost": { + "value": 3 + }, + "restrictions": [ + { + "keywords": [ + "Mandalorian" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Notorious", + "limited": 1, + "xws": "notorious", + "sides": [ + { + "title": "Notorious", + "type": "Talent", + "ability": "After you defend, if the attacker is in your firing arc, you may spend 1 [Charge]. If you do, the attacker gains 1 strain token. While you perform an attack, if the defender is strained, you may reroll 1 blank result.", + "charges": { + "value": 2, + "recovers": 1 + }, + "slots": [ + "Talent" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/notorious.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/notorious.png" + } + ], + "cost": { + "value": 5 + }, + "restrictions": [ + { + "equipped": [ + "Illicit" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Enduring", + "limited": 0, + "xws": "enduring", + "sides": [ + { + "title": "Enduring", + "type": "Talent", + "ability": "While you defend, if you are not in the attacker's [Bullseye Arc], [Critical Hit] results are neutralized before [Hit] results. After you suffer [Critical Hit] damage, you may perform a [Calculate] or [Focus] action on your action bar, even while stressed, treating that action as red.", + "slots": [ + "Talent" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/enduring.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/enduring.png" + } + ], + "cost": { + "value": 2 + }, + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Attack Speed", + "limited": 0, + "xws": "attackspeed-battleofyavin", + "sides": [ + { + "title": "Attack Speed", + "type": "Talent", + "ability": "After you fully execute a [3 [Straight]] or [4 [Straight]] maneuver, you may perform a boost using the [1 [Straight]] template. (This is not an action).", + "slots": [ + "Talent" + ] + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "Fanatic", + "limited": 0, + "xws": "fanatic-battleofyavin", + "sides": [ + { + "title": "Fanatic", + "type": "Talent", + "ability": "While you perform a primary attack, if you are damaged, you may change 1 [Focus] result to a [Hit] result.", + "slots": [ + "Talent" + ] + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "Vengeful", + "limited": 0, + "xws": "vengeful-battleofyavin", + "sides": [ + { + "title": "Vengeful", + "type": "Talent", + "ability": "After a friendly ship at range 0-3 is destroyed, if that ship is limited, you may remove 1 of your red tokens or recover 1 recurring charge on your ship card.", + "slots": [ + "Talent" + ] + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "Efficient Processing", + "limited": 0, + "xws": "efficientprocessing-swz103", + "sides": [ + { + "title": "Efficient Processing", + "type": "Talent", + "ability": "After you perform a [Calculate] action, gain one calculate token.", + "slots": [ + "Talent" + ] + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "Mercenary", + "limited": 0, + "xws": "mercenary-swz103", + "sides": [ + { + "title": "Mercenary", + "type": "Talent", + "ability": "After another friendly ship at range 0-2 is destroyed, before it is removed from the play area, transfer one of its green tokens to yourself.", + "slots": [ + "Talent" + ] + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "Swift Approach", + "limited": 0, + "xws": "swiftapproach-swz98", + "sides": [ + { + "title": "Swift Approach", + "type": "Talent", + "ability": "During the System Phase, after you drop or launch a device, you may perform a white [Barrel Roll] or [Boost] action, even while stressed.", + "slots": [ + "Talent" + ] + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "Top Cover", + "limited": 0, + "xws": "topcover-swz98", + "sides": [ + { + "title": "Top Cover", + "type": "Talent", + "ability": "After a friendly ship at range 0-1 defends, if you have not dropped or launched a device this round, you may launch a device using the (3 [Bank Left]), (3 [Straight]), or (3 [Bank Right]) template. You ignore the effects of friendly devices.", + "slots": [ + "Talent" + ] + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "True Grit", + "limited": 0, + "xws": "truegrit-swz98", + "sides": [ + { + "title": "True Grit", + "type": "Talent", + "ability": "At the end of the Activation Phase, if you are not strained, you may gain one strain token to remove one non-lock red or orange token.", + "slots": [ + "Talent" + ] + } + ], + "standard": false, + "wildspace": true, + "epic": true, + "standardLoadoutOnly": true + }, + { + "name": "No Escape", + "limited": 0, + "xws": "noescape-rsl", + "sides": [ + { + "ability": "While you perform a primary attack, if there are more friendly ships than enemy ships at range 0-1 of the defender, you may reroll 1 of your blank results.", + "title": "No Escape", + "type": "Talent", + "slots": [ + "Talent" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/noescape-rsl.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/noescape-rsl.png" + } + ], + "cost": { + "value": 1 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] + }, + { + "non-limited": true + } + ], + "standard": false, + "wildspace": true, + "epic": false + }, + { + "name": "Silent Hunter", + "limited": 0, + "xws": "silenthunter-rsl", + "sides": [ + { + "ability": "After you decloak, you may acquire a lock on an enemy ship in your [Bullseye Arc].", + "title": "Silent Hunter", + "type": "Talent", + "slots": [ + "Talent" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/silenthunter-rsl.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/silenthunter-rsl.png" + } + ], + "cost": { + "value": 2 + }, + "standard": false, + "wildspace": true, + "epic": false + }, + { + "name": "Parting Gift", + "limited": 0, + "xws": "partinggift-rsl", + "sides": [ + { + "ability": "After you are destroyed, you may drop 1 bomb. If you do, you must place it in the play area touching you instead.", + "title": "Parting Gift", + "type": "Talent", + "slots": [ + "Talent" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/partinggift-rsl.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/partinggift-rsl.png" + } + ], + "cost": { + "value": 1 + }, + "standard": false, + "wildspace": true, + "epic": false + }, + { + "name": "Formed Up", + "limited": 3, + "xws": "formedup-rsl", + "sides": [ + { + "ability": "At the end of the End Phase, if there are at least 2 other friendly TIE/ln Fighters at range 0-1 or another friendly ship with the Formed Up upgrade at range 0-1, you may remove 1 non-lock red token.", + "title": "Formed Up", + "type": "Talent", + "slots": [ + "Talent" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/formedup-rsl.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/formedup-rsl.png" + } + ], + "cost": { + "value": 1 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] + }, + { + "ships": [ + "tielnfighter" + ] + } + ], + "standard": false, + "wildspace": true, + "epic": false + }, + { + "name": "Without a Trace", + "limited": 0, + "xws": "withoutatrace-tiephphantom", + "sides": [ + { + "title": "Without a Trace", + "type": "Talent", + "ability": "After you gain a cloak token, you may remove 1 red token. While you are cloaked, enemy ships cannot acquire locks on you.", + "slots": [ + "Talent" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": false, + "standardLoadoutOnly": true + }, + { + "name": "Silent Hunter", + "limited": 0, + "xws": "silenthunter-tiephphantom", + "sides": [ + { + "title": "Silent Hunter", + "type": "Talent", + "ability": "After you decloak, you may acquire a lock on an enemy ship in your [Bullseye Arc].", + "slots": [ + "Talent" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": false, + "standardLoadoutOnly": true + }, + { + "name": "Stealth Gambit", + "limited": 0, + "xws": "stealthgambit-tiephphantom", + "sides": [ + { + "title": "Silent Hunter", + "type": "Talent", + "ability": "After a friendly ship performs an attack that hits an enemy ship in your [Front Arc], if you are cloaked, you may gain a strain token to remove your cloak token and perform a bonus primary attack targeting the defender. At the end of the Engagement Phase, if you are strained, gain an evade token.", + "slots": [ + "Talent" + ] } ], - "hyperspace": false, - "restrictions": [{ - "names": ["Mandalorian"] - }] + "standard": false, + "wildspace": false, + "epic": false, + "standardLoadoutOnly": true } ] diff --git a/data/upgrades/team.json b/data/upgrades/team.json index d44bcf758..5a68720f7 100644 --- a/data/upgrades/team.json +++ b/data/upgrades/team.json @@ -3,47 +3,60 @@ "name": "Bombardment Specialists", "limited": 0, "xws": "bombardmentspecialists", - "hyperspace": false, "sides": [ { "ability": "While you perform an attack, you may spend 1 calculate token to increase or decrease the range requirement by 1, to a limit of 0-5.", "title": "Bombardment Specialists", "type": "Team", - "slots": ["Team"], + "slots": [ + "Team" + ], "grants": [ { "type": "action", "value": { "type": "Lock", "difficulty": "White", - "linked": { "type": "Calculate", "difficulty": "White" } + "linked": { + "type": "Calculate", + "difficulty": "White" + } } } ], - "ffg": 746, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/00df0c7fae30d4be941f32ba2fce1bc0.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/bombardmentspecialists.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/bombardmentspecialists.png" } ], - "cost": { "value": 6 } + "cost": { + "value": 8 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Comms Team", "limited": 0, "xws": "commsteam", - "hyperspace": false, "sides": [ { "ability": "After you perform a [Coordinate] action, you may spend up to 2 [Energy] to coordinate that many additional ships at range 0-1 of the ship you coordinated.", "title": "Comms Team", "type": "Team", - "slots": ["Team"], + "slots": [ + "Team" + ], "grants": [ { "type": "action", "value": { "type": "Coordinate", "difficulty": "White", - "linked": { "type": "Calculate", "difficulty": "White" } + "linked": { + "type": "Calculate", + "difficulty": "White" + } } }, { @@ -51,163 +64,222 @@ "value": { "type": "Jam", "difficulty": "White", - "linked": { "type": "Calculate", "difficulty": "White" } + "linked": { + "type": "Calculate", + "difficulty": "White" + } } } ], - "ffg": 747, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/accec3b3b4603e26ba5bf37cddc2ff1d.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/commsteam.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/commsteam.png" } ], - "cost": { "value": 7 } + "cost": { + "value": 6 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Damage Control Team", "limited": 0, "xws": "damagecontrolteam", - "hyperspace": false, "sides": [ { "ability": "Before you engage, you may spend 1 or more [Energy] to flip that many of your Offline upgrade cards. Action: Spend 1 or more [Energy] to repair that many of your faceup Ship damage cards.", "title": "Damage Control Team", "type": "Team", - "slots": ["Team"], + "slots": [ + "Team" + ], "grants": [ { "type": "action", "value": { "type": "Reinforce", "difficulty": "White", - "linked": { "type": "Calculate", "difficulty": "White" } + "linked": { + "type": "Calculate", + "difficulty": "White" + } } } ], - "ffg": 750, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/2e47d434c593aca8030f04103b86a132.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/damagecontrolteam.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/damagecontrolteam.png" } ], - "cost": { "value": 3 } + "cost": { + "value": 3 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Gunnery Specialists", "limited": 0, "xws": "gunneryspecialists", - "hyperspace": false, "sides": [ { "ability": "While you perform a primary or [Hardpoint] attack, you may spend 1 or more [Energy] to reroll that many attack dice.", "title": "Gunnery Specialists", "type": "Team", - "slots": ["Team"], + "slots": [ + "Team" + ], "grants": [ { "type": "action", "value": { "type": "Rotate Arc", "difficulty": "White", - "linked": { "type": "Calculate", "difficulty": "White" } + "linked": { + "type": "Calculate", + "difficulty": "White" + } } } ], - "ffg": 749, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/e39555ce2c899f2f12dcf6fe6e0f5f25.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/gunneryspecialists.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/gunneryspecialists.png" } ], - "cost": { "value": 5 } + "cost": { + "value": 4 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "IG-RM Droids", "limited": 0, "xws": "igrmdroids", - "hyperspace": false, "sides": [ { "ability": "While you perform an attack, if you are calculating, you may change 1 [Hit] result to a [Critical Hit] result.", "title": "IG-RM Droids", "type": "Team", - "slots": ["Team"], + "slots": [ + "Team" + ], "grants": [ { "type": "action", - "value": { "type": "Calculate", "difficulty": "White" } + "value": { + "type": "Calculate", + "difficulty": "White" + } } ], - "ffg": 748, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/a2e89d07fdf5680e06bce60518845ba9.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/igrmdroids.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/igrmdroids.png" } ], - "cost": { "value": 2 } + "cost": { + "value": 2 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Ordnance Team", "limited": 0, "xws": "ordnanceteam", - "hyperspace": false, "sides": [ { "ability": "While you perform a [Reload] action, you may spend up to 3 [Energy] to reload that many additional [Charge] on your equipped [Missile]/[Torpedo] upgrades. After you perform a [Reload] action, you may spend 1 [Energy] to remove 1 disarm token.", "title": "Ordnance Team", "type": "Team", - "slots": ["Team"], + "slots": [ + "Team" + ], "grants": [ { "type": "action", "value": { "type": "Reload", "difficulty": "White", - "linked": { "type": "Calculate", "difficulty": "White" } + "linked": { + "type": "Calculate", + "difficulty": "White" + } } } ], - "ffg": 751, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/7a267ccc8299728e6f9fa8650b1321ca.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ordnanceteam.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ordnanceteam.png" } ], - "cost": { "value": 2 } + "cost": { + "value": 2 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Sensor Experts", "limited": 0, "xws": "sensorexperts", - "hyperspace": false, "sides": [ { "ability": "You can maintain up to 3 locks on different objects. After you perform a [Lock] action, you may spend up to 2 [Energy] to acquire a lock on that many other objects at range 0-1 of the object you locked, ignoring range restrictions.", "title": "Sensor Experts", "type": "Team", - "slots": ["Team"], + "slots": [ + "Team" + ], "grants": [ { "type": "action", "value": { "type": "Lock", "difficulty": "White", - "linked": { "type": "Calculate", "difficulty": "White" } + "linked": { + "type": "Calculate", + "difficulty": "White" + } } } ], - "ffg": 752, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/779973fbba5deb810846a7f0bf7bf3c3.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/sensorexperts.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/sensorexperts.png" } ], - "cost": { "value": 6 } + "cost": { + "value": 6 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Tractor Technicians", "limited": 0, "xws": "tractortechnicians", - "hyperspace": false, "sides": [ { "ability": "During the End Phase, each other ship at range 0-1 cannot remove its tractor tokens. Before a tractored enemy ship at range 0-1 reveals its dial, you may spend 1 [Energy]. if you do, while that ship executes its maneuver this activation, it reduces the speed of that maneuver by 1, to a minimum of 1.", "title": "Tractor Technicians", "type": "Team", - "slots": ["Team"], - "ffg": 123, - "artwork": "???" + "slots": [ + "Team" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/tractortechnicians.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/tractortechnicians.png" } ], - "cost": { "value": 2 } + "cost": { + "value": 1 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Corsair Crew", @@ -218,42 +290,69 @@ "title": "Corsair Crew", "type": "Team", "text": "While you perform an attack against a standard ship, you may spend 1 [Hit] result. If you do, the defender gains 1 deplete token.", - "slots": ["Team", "Gunner"], - "image": "???", - "artwork": "???", - "ffg": 123 + "slots": [ + "Team", + "Gunner" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/corsaircrew.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/corsaircrew.png" + } + ], + "cost": { + "value": 2 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] } ], - "cost": { "value": 5 }, - "restrictions": [{ "factions": ["Scum and Villainy"] }], - "hyperspace": true + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Droid Crew", "limited": 0, "xws": "droidcrew", - "hyperspace": false, "sides": [ { "ability": "While you perform a white [Focus] action, treat it as red instead. At the start of the End Phase, repair all of your faceup Crew damage cards.", "title": "Droid Crew", "type": "Team", - "slots": ["Team"], + "slots": [ + "Team" + ], "grants": [ { "type": "action", "value": { "type": "Calculate", "difficulty": "White", - "linked": { "type": "Lock", "difficulty": "Red" } + "linked": { + "type": "Lock", + "difficulty": "Red" + } } } ], - "ffg": 123, - "artwork": "???" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/droidcrew.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/droidcrew.png" + } + ], + "cost": { + "value": 5 + }, + "restrictions": [ + { + "factions": [ + "separatistalliance" + ] } ], - "cost": { "value": 5 }, - "restrictions": [{ "factions": ["Separatist Alliance"] }] + "standard": false, + "wildspace": false, + "epic": true } -] +] \ No newline at end of file diff --git a/data/upgrades/tech.json b/data/upgrades/tech.json index 46371dd38..2f79a0e05 100644 --- a/data/upgrades/tech.json +++ b/data/upgrades/tech.json @@ -8,14 +8,19 @@ "title": "Advanced Optics", "type": "Tech", "ability": "While you perform an attack, you may spend 1 focus token to change 1 of your blank results to a [Hit] result.", - "slots": ["Tech"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/e77e204e6b7164f6a1d945b20a0c4359.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/e19aa7cd99df250715c17386135cd140.jpg", - "ffg": 460 + "slots": [ + "Tech" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/advancedoptics.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/advancedoptics.png" } ], - "cost": { "value": 5 }, - "hyperspace": false + "cost": { + "value": 4 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Ferrosphere Paint", @@ -26,15 +31,26 @@ "title": "Ferrosphere Paint", "type": "Tech", "ability": "After an enemy ship locks you, if you are not in that ship's [Bullseye Arc], that ship gains 1 stress token.", - "slots": ["Tech"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/55d8ff7d35b714d9c9a6ef1fd7732a60.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/55ff3d199702695f23631d85a25bbae6.jpg", - "ffg": 488 + "slots": [ + "Tech" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ferrospherepaint.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ferrospherepaint.png" + } + ], + "cost": { + "value": 3 + }, + "restrictions": [ + { + "factions": [ + "resistance" + ] } ], - "cost": { "value": 3 }, - "restrictions": [{ "factions": ["Resistance"] }], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Hyperspace Tracking Data", @@ -45,15 +61,31 @@ "title": "Hyperspace Tracking Data", "type": "Tech", "ability": "Setup: Before placing forces, you may choose a number between 0 and 6. Treat your initiative as the chosen value during Setup. After Setup, assign 1 focus or evade token to each friendly ship at range 0-2.", - "slots": ["Tech"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/a48713c6784bf33bd3f8b36eb19221c3.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/fa5c01453d7aa2e2f1f100593e79669d.jpg", - "ffg": 461 + "slots": [ + "Tech" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/hyperspacetrackingdata.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/hyperspacetrackingdata.png" + } + ], + "cost": { + "value": 2 + }, + "restrictions": [ + { + "factions": [ + "firstorder" + ] + }, + { + "sizes": [ + "Large" + ] } ], - "cost": { "value": 2 }, - "restrictions": [{ "factions": ["First Order"] }, { "sizes": ["Large"] }], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Primed Thrusters", @@ -64,18 +96,35 @@ "title": "Primed Thrusters", "type": "Tech", "ability": "While you have 2 or fewer stress tokens, you can perform [Barrel Roll] and [Boost] actions even while stressed.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/a114625347a0f3088f4679f8107ab631.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/3789dd873db0d0c74293531bef49e16e.jpg", - "slots": ["Tech"], - "ffg": 463 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/primedthrusters.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/primedthrusters.png", + "slots": [ + "Tech" + ] } ], "cost": { "variable": "initiative", - "values": { "0": 4, "1": 5, "2": 6, "3": 7, "4": 8, "5": 9, "6": 10 } + "values": { + "0": 4, + "1": 5, + "2": 6, + "3": 7, + "4": 8, + "5": 9, + "6": 10 + } }, - "restrictions": [{ "sizes": ["Small"] }], - "hyperspace": true + "restrictions": [ + { + "sizes": [ + "Small" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Targeting Synchronizer", @@ -86,14 +135,19 @@ "title": "Targeting Synchronizer", "type": "Tech", "ability": "While a friendly ship at range 1-2 performs an attack against a target you have locked, that ship ignores the [Lock] attack requirement.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/83782f01cd3486006c4d279864d2983a.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/1597042d794000fb34d1eee30cc10f35.jpg", - "slots": ["Tech"], - "ffg": 464 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/targetingsynchronizer.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/targetingsynchronizer.png", + "slots": [ + "Tech" + ] } ], - "cost": { "value": 3 }, - "hyperspace": true + "cost": { + "value": 3 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Pattern Analyzer", @@ -104,14 +158,19 @@ "title": "Pattern Analyzer", "type": "Tech", "ability": "While you fully execute a red maneuver, before the Check Difficulty step, you may perform 1 action.", - "slots": ["Tech"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/ace963fc4fe9d97f64ab8564dc4beae7.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/811e07d55f95e53fef3182020d8cbf6e.jpg", - "ffg": 462 + "slots": [ + "Tech" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/patternanalyzer.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/patternanalyzer.png" } ], - "cost": { "value": 5 }, - "hyperspace": false + "cost": { + "value": 5 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Biohexacrypt Codes", @@ -122,73 +181,141 @@ "title": "Biohexacrypt Codes", "type": "Tech", "ability": "While you coordinate or jam, if you have a lock on a ship, you may spend that lock to choose that ship, ignoring range restrictions.", - "slots": ["Tech"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/094f3bbc6e3041886398e9eaf692d4ab.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/14c54aef2e36ac34564194e4785c98ce.jpg", - "ffg": 491 + "slots": [ + "Tech" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/biohexacryptcodes.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/biohexacryptcodes.png" } ], - "cost": { "value": 1 }, + "cost": { + "value": 1 + }, "restrictions": [ - { "factions": ["First Order"] }, - { "action": { "type": "Lock" } } + { + "factions": [ + "firstorder" + ] + }, + { + "action": { + "type": "Lock" + } + } ], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Deuterium Power Cells", "limited": 0, "xws": "deuteriumpowercells", - "hyperspace": true, "sides": [ { "ability": "During the System Phase, you may spend 1 [Charge] and gain 1 disarm token to recover 1 shield. Before you would gain 1 non-lock token, if you are not stressed, you may spend 1 [Charge] to gain 1 stress token instead.", - "charges": { "value": 2, "recovers": 0 }, + "charges": { + "value": 2, + "recovers": 0 + }, "title": "Deuterium Power Cells", "type": "Tech", - "slots": ["Tech", "Modification"], - "ffg": 654, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/038636d357004cc01635a93c224d921d.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/c0e458b69076138e2408664be131f61e.png" + "slots": [ + "Tech", + "Modification" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/deuteriumpowercells.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/deuteriumpowercells.png" } ], - "cost": { "value": 8 } + "cost": { + "variable": "agility", + "values": { + "0": 4, + "1": 5, + "2": 6, + "3": 7 + } + }, + "standard": true, + "wildspace": true, + "epic": true }, { + "name": "Automated Target Priority", + "limited": 0, + "xws": "automatedtargetpriority", "sides": [ { - "ffg": 671, "title": "Automated Target Priority", "type": "Tech", - "slots": ["Tech"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/d0f9614d25d622b900f5ceafc8028fbd.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/49d9da05371e92cafec65512526b85c3.png", + "slots": [ + "Tech" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/automatedtargetpriority.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/automatedtargetpriority.png", "ability": "While you perform an attack, you must choose a defender at the closest valid attack range. After you perform an attack that missed, place 1 calculate token on this card. Before you engage, you may remove 1 calculate token from this card to gain a matching token." } ], - "name": "Automated Target Priority", - "cost": { "value": 1 }, - "limited": 0, - "xws": "automatedtargetpriority", - "hyperspace": true + "cost": { + "value": 1 + }, + "standard": true, + "wildspace": true, + "epic": true }, { + "name": "Sensor Buoy Suite", + "limited": 1, + "xws": "sensorbuoysuite", "sides": [ { - "ffg": 672, "title": "Sensor Buoy Suite", "type": "Tech", - "slots": ["Tech"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/8962c76fb021f876c97b6044b7da827b.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/f8fd5c5d87f0512c774b6ac4d0c83f2e.png", - "ability": "Setup: Before placing forces, place 2 sensor buoy remotes beyond range 2 of any edge. Before you engage, you may acquire a lock on a ship at range 0-1 of a friendly sensor buoy, ignoring range restrictions." + "slots": [ + "Tech" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/sensorbuoysuite.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/sensorbuoysuite.png", + "ability": "Setup: Before placing forces, place 2 sensor buoy remotes beyond range 2 of any edge. Before you engage, you may acquire a lock on a ship at range 0-1 of a friendly sensor buoy, ignoring range restrictions.", + "device": { + "name": "Sensor Buoy", + "type": "Remote", + "initiative": 0, + "stats": [ + { + "type": "agility", + "value": 3 + }, + { + "type": "hull", + "value": 2 + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/remotes/sensorbuoyblue.png", + "text": "First Order sensor buoys are often placed to warn of enemies approaching their hidden fortresses." + } } ], - "name": "Sensor Buoy Suite", - "cost": { "value": 4 }, - "limited": 1, - "xws": "sensorbuoysuite", - "hyperspace": true + "cost": { + "value": 4 + }, + "restrictions": [ + { + "factions": [ + "firstorder" + ] + }, + { + "sizes": [ + "Medium", + "Large" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Sensor Scramblers", @@ -199,16 +326,26 @@ "title": "Sensor Scramblers", "type": "Tech", "ability": "Setup: Gain 1 cloak token. While you are cloaked, other ships cannot acquire locks on you. During the End Phase, if you are cloaked and there is an enemy ship at range 0-3, you must decloak. If you do and that decloak fails, lose 1 cloak token.", - "slots": ["Tech"], - "image": "???", - "artwork": "???", - "ffg": 939 + "slots": [ + "Tech" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/sensorscramblers.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/sensorscramblers.png" } ], - "cost": { "value": 1 }, + "cost": { + "value": 2 + }, "restrictions": [ - { "ships": ["tiewiwhispermodifiedinterceptor", "tievnsilencer"] } + { + "ships": [ + "tiewiwhispermodifiedinterceptor", + "tievnsilencer" + ] + } ], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true } -] +] \ No newline at end of file diff --git a/data/upgrades/title.json b/data/upgrades/title.json index 32e9c66d5..53bae563c 100644 --- a/data/upgrades/title.json +++ b/data/upgrades/title.json @@ -8,25 +8,51 @@ "title": "Andrasta", "type": "Title", "ability": "Add [Device] slot.", - "slots": ["Title"], - "actions": [{ "type": "Reload", "difficulty": "White" }], + "slots": [ + "Title" + ], + "actions": [ + { + "type": "Reload", + "difficulty": "White" + } + ], "grants": [ - { "type": "slot", "value": "Device", "amount": 1 }, + { + "type": "slot", + "value": "Device", + "amount": 1 + }, { "type": "action", - "value": { "type": "Reload", "difficulty": "White" } + "value": { + "type": "Reload", + "difficulty": "White" + } } ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_146.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_146.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/andrasta.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/andrasta.png" } ], - "cost": { "value": 2 }, + "cost": { + "value": 2 + }, "restrictions": [ - { "factions": ["Scum and Villainy"] }, - { "ships": ["firesprayclasspatrolcraft"] } + { + "factions": [ + "scumandvillainy" + ] + }, + { + "ships": [ + "firesprayclasspatrolcraft" + ] + } ], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Black One", @@ -37,22 +63,50 @@ "title": "Black One", "type": "Title", "ability": "After you perform a [SLAM] action, lose 1 [Charge]. Then you may gain 1 ion token to remove 1 disarm token. If your [Charge] is inactive, you cannot perform the [SLAM] action.", - "slots": ["Title"], - "charges": { "value": 1, "recovers": 0 }, - "actions": [{ "type": "SLAM", "difficulty": "White" }], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/3e9870bff7f61acc12970c254eaeca89.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/b617cc192e2ffb8368de79d69e1e7956.jpg", + "slots": [ + "Title" + ], + "charges": { + "value": 1, + "recovers": 0 + }, + "actions": [ + { + "type": "SLAM", + "difficulty": "White" + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/blackone.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/blackone.png", "grants": [ { "type": "action", - "value": { "type": "SLAM", "difficulty": "White" } + "value": { + "type": "SLAM", + "difficulty": "White" + } } ] } ], - "cost": { "value": 4 }, - "restrictions": [{ "factions": ["Resistance"] }, { "ships": ["t70xwing"] }], - "hyperspace": true + "cost": { + "value": 4 + }, + "restrictions": [ + { + "factions": [ + "resistance" + ] + }, + { + "ships": [ + "t70xwing" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Dauntless", @@ -63,17 +117,31 @@ "title": "Dauntless", "type": "Title", "ability": "After you partially execute a maneuver, you may perform 1 white action, treating that action as red.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_123.png", - "slots": ["Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_123.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/dauntless.png", + "slots": [ + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/dauntless.png" } ], - "cost": { "value": 4 }, + "cost": { + "value": 2 + }, "restrictions": [ - { "factions": ["Galactic Empire"] }, - { "ships": ["vt49decimator"] } + { + "factions": [ + "galacticempire" + ] + }, + { + "ships": [ + "vt49decimator" + ] + } ], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Ghost", @@ -84,17 +152,31 @@ "title": "Ghost", "type": "Title", "ability": "You can dock 1 attack shuttle or Sheathipede-class shuttle. Your docked ships can deploy only from your rear guides.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_102.png", - "slots": ["Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_102.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ghost.png", + "slots": [ + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ghost.png" } ], - "cost": { "value": 0 }, + "cost": { + "value": 0 + }, "restrictions": [ - { "factions": ["Rebel Alliance"] }, - { "ships": ["vcx100lightfreighter"] } + { + "factions": [ + "rebelalliance" + ] + }, + { + "ships": [ + "vcx100lightfreighter" + ] + } ], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Havoc", @@ -105,22 +187,48 @@ "title": "Havoc", "type": "Title", "ability": "Remove [Crew] slot. Add [Sensor] and [Astromech] slots.", - "slots": ["Title"], + "slots": [ + "Title" + ], "grants": [ - { "type": "slot", "value": "Sensor", "amount": 1 }, - { "type": "slot", "value": "Astromech", "amount": 1 }, - { "type": "slot", "value": "Crew", "amount": -1 } + { + "type": "slot", + "value": "Sensor", + "amount": 1 + }, + { + "type": "slot", + "value": "Astromech", + "amount": 1 + }, + { + "type": "slot", + "value": "Crew", + "amount": -1 + } ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_147.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_147.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/havoc.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/havoc.png" } ], - "cost": { "value": 2 }, + "cost": { + "value": 0 + }, "restrictions": [ - { "factions": ["Scum and Villainy"] }, - { "ships": ["scurrgh6bomber"] } + { + "factions": [ + "scumandvillainy" + ] + }, + { + "ships": [ + "scurrgh6bomber" + ] + } ], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Hound's Tooth", @@ -131,17 +239,31 @@ "title": "Hound's Tooth", "type": "Title", "ability": "1 Z-95-AF4 headhunter can dock with you.", - "slots": ["Title"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_148.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_148.jpg" + "slots": [ + "Title" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/houndstooth.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/houndstooth.png" } ], - "cost": { "value": 1 }, + "cost": { + "value": 0 + }, "restrictions": [ - { "factions": ["Scum and Villainy"] }, - { "ships": ["yv666lightfreighter"] } + { + "factions": [ + "scumandvillainy" + ] + }, + { + "ships": [ + "yv666lightfreighter" + ] + } ], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "IG-2000", @@ -152,17 +274,31 @@ "title": "IG-2000", "type": "Title", "ability": "You have the pilot ability of each other friendly ship with the IG-2000 upgrade.", - "slots": ["Title"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_149.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_149.jpg" + "slots": [ + "Title" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ig2000.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ig2000.png" } ], - "cost": { "value": 1 }, + "cost": { + "value": 0 + }, "restrictions": [ - { "factions": ["Scum and Villainy"] }, - { "ships": ["aggressorassaultfighter"] } + { + "factions": [ + "scumandvillainy" + ] + }, + { + "ships": [ + "aggressorassaultfighter" + ] + } ], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Lando's Millennium Falcon", @@ -173,17 +309,31 @@ "title": "Lando's Millennium Falcon", "type": "Title", "ability": "1 Escape Craft may dock with you. While you have an Escape Craft docked, you may treat its shields as if they were on your ship card. While you perform a primary attack against a stressed ship, roll 1 additional attack die.", - "slots": ["Title"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/96b50606e65bfe308b9e75a03d9a1884.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_164.jpg" + "slots": [ + "Title" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/landosmillenniumfalcon.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/landosmillenniumfalcon.png" } ], - "cost": { "value": 3 }, + "cost": { + "value": 2 + }, "restrictions": [ - { "factions": ["Scum and Villainy"] }, - { "ships": ["customizedyt1300lightfreighter"] } + { + "factions": [ + "scumandvillainy" + ] + }, + { + "ships": [ + "customizedyt1300lightfreighter" + ] + } ], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Marauder", @@ -194,18 +344,38 @@ "title": "Marauder", "type": "Title", "ability": "While you perform a primary [Rear Arc] attack, you may reroll 1 attack die. Add [Gunner] slot.", - "slots": ["Title"], - "grants": [{ "type": "slot", "value": "Gunner", "amount": 1 }], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_150.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_150.jpg" + "slots": [ + "Title" + ], + "grants": [ + { + "type": "slot", + "value": "Gunner", + "amount": 1 + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/marauder.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/marauder.png" } ], - "cost": { "value": 6 }, + "cost": { + "value": 6 + }, "restrictions": [ - { "factions": ["Scum and Villainy"] }, - { "ships": ["firesprayclasspatrolcraft"] } + { + "factions": [ + "scumandvillainy" + ] + }, + { + "ships": [ + "firesprayclasspatrolcraft" + ] + } ], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Millennium Falcon", @@ -216,24 +386,46 @@ "title": "Millennium Falcon", "type": "Title", "ability": "While you defend, if you are evading, you may reroll 1 defense die.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_103.png", - "slots": ["Title"], - "actions": [{ "type": "Evade", "difficulty": "White" }], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/millenniumfalcon.png", + "slots": [ + "Title" + ], + "actions": [ + { + "type": "Evade", + "difficulty": "White" + } + ], "grants": [ { "type": "action", - "value": { "type": "Evade", "difficulty": "White" } + "value": { + "type": "Evade", + "difficulty": "White" + } } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_103.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/millenniumfalcon.png" } ], - "cost": { "value": 3 }, + "cost": { + "value": 3 + }, "restrictions": [ - { "factions": ["Rebel Alliance"] }, - { "ships": ["modifiedyt1300lightfreighter"] } + { + "factions": [ + "rebelalliance" + ] + }, + { + "ships": [ + "modifiedyt1300lightfreighter" + ] + } ], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Mist Hunter", @@ -244,25 +436,51 @@ "title": "Mist Hunter", "type": "Title", "ability": "Add [Cannon] slot.", - "slots": ["Title"], - "actions": [{ "type": "Barrel Roll", "difficulty": "White" }], + "slots": [ + "Title" + ], + "actions": [ + { + "type": "Barrel Roll", + "difficulty": "White" + } + ], "grants": [ - { "type": "slot", "value": "Cannon", "amount": 1 }, + { + "type": "slot", + "value": "Cannon", + "amount": 1 + }, { "type": "action", - "value": { "type": "Barrel Roll", "difficulty": "White" } + "value": { + "type": "Barrel Roll", + "difficulty": "White" + } } ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_151.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_151.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/misthunter.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/misthunter.png" } ], - "cost": { "value": 1 }, + "cost": { + "value": 1 + }, "restrictions": [ - { "factions": ["Scum and Villainy"] }, - { "ships": ["g1astarfighter"] } + { + "factions": [ + "scumandvillainy" + ] + }, + { + "ships": [ + "g1astarfighter" + ] + } ], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Moldy Crow", @@ -272,21 +490,41 @@ { "title": "Moldy Crow", "type": "Title", - "ability": "Gain a [Front Arc] primary weapon with a value of \"3.\" During the End Phase, do not remove up to 2 focus tokens.", - "slots": ["Title"], + "ability": "Gain a [Front Arc] primary weapon with a value of “3.” During the End Phase, do not remove up to 2 focus tokens.", + "slots": [ + "Title" + ], "grants": [ - { "type": "stat", "value": "attack", "arc": "Front Arc", "amount": 3 } + { + "type": "stat", + "value": "attack", + "arc": "Front Arc", + "amount": 3 + } ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_104.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_104.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/moldycrow.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/moldycrow.png" } ], - "cost": { "value": 16 }, + "cost": { + "value": 16 + }, "restrictions": [ - { "factions": ["Rebel Alliance", "Scum and Villainy"] }, - { "ships": ["hwk290lightfreighter"] } + { + "factions": [ + "rebelalliance", + "scumandvillainy" + ] + }, + { + "ships": [ + "hwk290lightfreighter" + ] + } ], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Outrider", @@ -297,17 +535,67 @@ "title": "Outrider", "type": "Title", "ability": "While you perform an attack that is obstructed by an obstacle, the defender rolls 1 fewer defense die. After you fully execute a maneuver, if you moved through or overlapped an obstacle, you may remove 1 of your red or orange tokens.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_105.png", - "slots": ["Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_105.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/outrider.png", + "slots": [ + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/outrider.png" + } + ], + "cost": { + "value": 9 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] + }, + { + "ships": [ + "yt2400lightfreighter" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Outrider (2023)", + "limited": 1, + "xws": "outrider2023", + "sides": [ + { + "title": "Outrider (2023)", + "type": "Title", + "ability": "While you perform a primary attack at range 3, roll 1 additional attack die. While you perform an attack that is obstructed by an obstacle, you may change one of the defender's [Evade] results to a [Focus] result.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/outrider2023.png", + "slots": [ + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/outrider2023.png" } ], - "cost": { "value": 6 }, + "cost": { + "value": 7 + }, "restrictions": [ - { "factions": ["Rebel Alliance"] }, - { "ships": ["yt2400lightfreighter"] } + { + "factions": [ + "rebelalliance", + "scumandvillainy" + ] + }, + { + "ships": [ + "yt2400lightfreighter2023" + ] + } ], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Phantom", @@ -318,17 +606,32 @@ "title": "Phantom", "type": "Title", "ability": "You can dock at range 0-1.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_106.png", - "slots": ["Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_106.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/phantom.png", + "slots": [ + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/phantom.png" } ], - "cost": { "value": 0 }, + "cost": { + "value": 0 + }, "restrictions": [ - { "factions": ["Rebel Alliance"] }, - { "ships": ["attackshuttle", "sheathipedeclassshuttle"] } + { + "factions": [ + "rebelalliance" + ] + }, + { + "ships": [ + "attackshuttle", + "sheathipedeclassshuttle" + ] + } ], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Punishing One", @@ -339,21 +642,43 @@ "title": "Punishing One", "type": "Title", "ability": "While you perform a primary attack, if the defender is in your [Front Arc], roll 1 additional attack die. Remove [Crew] slot. Add [Astromech] slot.", - "slots": ["Title"], + "slots": [ + "Title" + ], "grants": [ - { "type": "slot", "value": "Crew", "amount": -1 }, - { "type": "slot", "value": "Astromech", "amount": 1 } + { + "type": "slot", + "value": "Crew", + "amount": -1 + }, + { + "type": "slot", + "value": "Astromech", + "amount": 1 + } ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_152.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_152.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/punishingone.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/punishingone.png" } ], - "cost": { "value": 5 }, + "cost": { + "value": 5 + }, "restrictions": [ - { "factions": ["Scum and Villainy"] }, - { "ships": ["jumpmaster5000"] } + { + "factions": [ + "scumandvillainy" + ] + }, + { + "ships": [ + "jumpmaster5000" + ] + } ], - "hyperspace": true + "standard": true, + "wildspace": true, + "epic": true }, { "name": "ST-321", @@ -364,17 +689,31 @@ "title": "ST-321", "type": "Title", "ability": "After you perform a [Coordinate] action, you may choose an enemy ship at range 0-3 of the ship you coordinated. If you do, acquire a lock on that enemy ship, ignoring range restrictions.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_124.png", - "slots": ["Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_124.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/st321.png", + "slots": [ + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/st321.png" } ], - "cost": { "value": 3 }, + "cost": { + "value": 3 + }, "restrictions": [ - { "factions": ["Galactic Empire"] }, - { "ships": ["lambdaclasst4ashuttle"] } + { + "factions": [ + "galacticempire" + ] + }, + { + "ships": [ + "lambdaclasst4ashuttle" + ] + } ], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Shadow Caster", @@ -385,17 +724,31 @@ "title": "Shadow Caster", "type": "Title", "ability": "After you perform an attack that hits, if the defender is in your [Single Turret Arc] and your [Front Arc], the defender gains 1 tractor token.", - "slots": ["Title"], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_153.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_153.jpg" + "slots": [ + "Title" + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/shadowcaster.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/shadowcaster.png" } ], - "cost": { "value": 1 }, + "cost": { + "value": 1 + }, "restrictions": [ - { "factions": ["Scum and Villainy"] }, - { "ships": ["lancerclasspursuitcraft"] } + { + "factions": [ + "scumandvillainy" + ] + }, + { + "ships": [ + "lancerclasspursuitcraft" + ] + } ], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Slave I", @@ -406,18 +759,38 @@ "title": "Slave I", "type": "Title", "ability": "After you reveal a turn ([Turn Left] or [Turn Right]) or bank ([Bank Left] or [Bank Right]) maneuver, you may set your dial to the maneuver of the same speed and bearing in the other direction. Add [Torpedo] slot.", - "slots": ["Title"], - "grants": [{ "type": "slot", "value": "Torpedo", "amount": 1 }], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_154.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_154.jpg" + "slots": [ + "Title" + ], + "grants": [ + { + "type": "slot", + "value": "Torpedo", + "amount": 1 + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/slavei.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/slavei.png" } ], - "cost": { "value": 6 }, + "cost": { + "value": 6 + }, "restrictions": [ - { "factions": ["Scum and Villainy"] }, - { "ships": ["firesprayclasspatrolcraft"] } + { + "factions": [ + "scumandvillainy" + ] + }, + { + "ships": [ + "firesprayclasspatrolcraft" + ] + } ], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Virago", @@ -428,19 +801,42 @@ "title": "Virago", "type": "Title", "ability": "During the End Phase, you may spend 1 [Charge] to perform a red [Boost] action. Add [Modification] slot.", - "slots": ["Title"], - "charges": { "value": 2, "recovers": 0 }, + "slots": [ + "Title" + ], + "charges": { + "value": 2, + "recovers": 0 + }, "grants": [ - { "type": "slot", "value": "Modification", "amount": 1 }, - { "type": "stat", "value": "shields", "amount": 1 } + { + "type": "slot", + "value": "Modification", + "amount": 1 + }, + { + "type": "stat", + "value": "shields", + "amount": 1 + } ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_155.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_155.jpg" + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/virago.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/virago.png" } ], - "cost": { "value": 7 }, - "restrictions": [{ "ships": ["starviperclassattackplatform"] }], - "hyperspace": false + "cost": { + "value": 7 + }, + "restrictions": [ + { + "ships": [ + "starviperclassattackplatform" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Rey's Millennium Falcon", @@ -451,17 +847,31 @@ "title": "Rey's Millennium Falcon", "type": "Title", "ability": "If you have 2 or fewer stress tokens, you can execute red Segnor's Loop [[Segnor's Loop Left] or [Segnor's Loop Right]] maneuvers and perform [Boost] and [Rotate Arc] actions even while stressed.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/23627443c7f5e7447c306ea7c6242634.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/905ee2a41b7d3b6d1f76294b4cd3e99e.jpg", - "slots": ["Title"] + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/reysmillenniumfalcon.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/reysmillenniumfalcon.png", + "slots": [ + "Title" + ] } ], - "cost": { "value": 2 }, + "cost": { + "value": 2 + }, "restrictions": [ - { "factions": ["Resistance"] }, - { "ships": ["scavengedyt1300"] } + { + "factions": [ + "resistance" + ] + }, + { + "ships": [ + "scavengedyt1300" + ] + } ], - "hyperspace": false + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Soulless One", @@ -472,18 +882,38 @@ "title": "Soulless One", "type": "Title", "ability": "While you defend, if the attacker is outside your firing arc, you may reroll 1 defense die.", - "slots": ["Title"], - "grants": [{ "type": "stat", "value": "hull", "amount": 2 }], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/36b33e7330846570087096cb55fba140.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/36d9391908fe020dec45153ce9bd7d3d.jpg" + "slots": [ + "Title" + ], + "grants": [ + { + "type": "stat", + "value": "hull", + "amount": 2 + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/soullessone.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/soullessone.png" } ], + "cost": { + "value": 7 + }, "restrictions": [ - { "factions": ["Separatist Alliance"] }, - { "ships": ["belbullab22starfighter"] } + { + "factions": [ + "separatistalliance" + ] + }, + { + "ships": [ + "belbullab22starfighter" + ] + } ], - "hyperspace": true, - "cost": { "value": 6 } + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Scimitar", @@ -494,146 +924,300 @@ "title": "Scimitar", "type": "Title", "ability": "Setup: After the Place Forces step, you may cloak. After you decloak, you may choose an enemy ship in your [Bullseye Arc]. If you do, it gains 1 jam token.", - "slots": ["Title"], + "slots": [ + "Title" + ], "grants": [ { "type": "action", - "value": { "type": "Cloak", "difficulty": "Red" } + "value": { + "type": "Cloak", + "difficulty": "Red" + } }, { "type": "action", - "value": { "type": "Jam", "difficulty": "White" } + "value": { + "type": "Jam", + "difficulty": "White" + } } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/1380bed351b072e5c4df4bb776625fad.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/73d545fd02afd29fa8aa9e9015e7be6e.png" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/scimitar.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/scimitar.png" } ], + "cost": { + "value": 3 + }, "restrictions": [ - { "factions": ["Separatist Alliance"] }, - { "ships": ["sithinfiltrator"] } + { + "factions": [ + "separatistalliance" + ] + }, + { + "ships": [ + "sithinfiltrator" + ] + } ], - "hyperspace": true, - "cost": { "value": 3 } + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Assailer", "limited": 1, "xws": "assailer", - "hyperspace": false, "sides": [ { "ability": "Add [Gunner] slot. While you defend, if the attack range is 1, you may roll 1 additional defense die.", "title": "Assailer", "type": "Title", - "slots": ["Title"], + "slots": [ + "Title" + ], "grants": [ - { "type": "stat", "value": "hull", "amount": 2 }, - { "type": "stat", "value": "shields", "amount": -2 }, - { "type": "slot", "value": "Gunner", "amount": 1 } + { + "type": "stat", + "value": "hull", + "amount": 2 + }, + { + "type": "stat", + "value": "shields", + "amount": -2 + }, + { + "type": "slot", + "value": "Gunner", + "amount": 1 + } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/adbdc704e0f66a27d4ae2ecfb2323d2d.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/assailer.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/assailer.png" + } + ], + "cost": { + "value": 5 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] + }, + { + "ships": [ + "raiderclasscorvette" + ] } ], - "cost": { "value": 5 } + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Blood Crow", "limited": 1, "xws": "bloodcrow", - "hyperspace": false, "sides": [ { "ability": "Add [Gunner] slot. While you perform an attack at attack range 1-2, you may add 1 [Focus] result.", "title": "Blood Crow", "type": "Title", - "slots": ["Title"], + "slots": [ + "Title" + ], "grants": [ - { "type": "stat", "value": "energy", "amount": 2 }, - { "type": "stat", "value": "shields", "amount": -1 }, - { "type": "slot", "value": "Gunner", "amount": 1 } + { + "type": "stat", + "value": "energy", + "amount": 2 + }, + { + "type": "stat", + "value": "shields", + "amount": -1 + }, + { + "type": "slot", + "value": "Gunner", + "amount": 1 + } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/7043e25c4bf030ade5b026e5bc8bd43e.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/bloodcrow.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/bloodcrow.png" + } + ], + "cost": { + "value": 8 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] + }, + { + "ships": [ + "gozanticlasscruiser" + ] } ], - "cost": { "value": 8 } + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Bright Hope", "limited": 1, "xws": "brighthope", - "hyperspace": false, "sides": [ { "ability": "You can reinforce only your [Full Front Arc]. While you defend, if you are reinforced and the attacker is in your [Full Front Arc], you may roll 1 additional defense die.", "title": "Bright Hope", "type": "Title", - "slots": ["Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/4f3cb0d471b9ea207665b120a5b27eb7.jpg" + "slots": [ + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/brighthope.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/brighthope.png" + } + ], + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] + }, + { + "ships": [ + "gr75mediumtransport" + ] } ], - "cost": { "value": 5 } + "cost": { + "value": 5 + }, + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Broken Horn", "limited": 1, "xws": "brokenhorn", - "hyperspace": false, "sides": [ { "ability": "Add [Crew] and [Illicit] slots. If you are damaged, reduce the difficulty of your speed 3-5 maneuvers.", "title": "Broken Horn", "type": "Title", - "slots": ["Title"], + "slots": [ + "Title" + ], "grants": [ - { "type": "slot", "value": "Illicit", "amount": 1 }, - { "type": "slot", "value": "Crew", "amount": 1 } + { + "type": "slot", + "value": "Illicit", + "amount": 1 + }, + { + "type": "slot", + "value": "Crew", + "amount": 1 + } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/b6b2484bd0fc2c17ff2159b1280a2e5d.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/brokenhorn.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/brokenhorn.png" } ], - "cost": { "value": 4 } + "cost": { + "value": 4 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] + }, + { + "ships": [ + "croccruiser" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Corvus", "limited": 1, "xws": "corvus", - "hyperspace": false, "sides": [ { "ability": "You can dock up to 2 small ships. After you perform a [Calculate] action, gain 1 calculate token.", "title": "Corvus", "type": "Title", - "slots": ["Title"], + "slots": [ + "Title" + ], "grants": [ { "type": "action", - "value": { "type": "Calculate", "difficulty": "White" } + "value": { + "type": "Calculate", + "difficulty": "White" + } } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/89af7f90118cad6862fa2acb79f05e24.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/corvus.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/corvus.png" } ], - "cost": { "value": 3 } + "cost": { + "value": 3 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] + }, + { + "ships": [ + "raiderclasscorvette" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Dodonna's Pride", "limited": 1, "xws": "dodonnaspride", - "hyperspace": false, "sides": [ { "ability": "Add [Team] and [Cargo] slots.", "title": "Dodonna's Pride", "type": "Title", - "slots": ["Title"], + "slots": [ + "Title" + ], "grants": [ { "type": "action", "value": { "type": "Evade", "difficulty": "White", - "linked": { "type": "Coordinate", "difficulty": "Red" } + "linked": { + "type": "Coordinate", + "difficulty": "Red" + } } }, { @@ -641,441 +1225,1168 @@ "value": { "type": "Focus", "difficulty": "White", - "linked": { "type": "Coordinate", "difficulty": "Red" } + "linked": { + "type": "Coordinate", + "difficulty": "Red" + } } }, - { "type": "stat", "value": "shields", "amount": -2 }, - { "type": "slot", "value": "Team", "amount": 1 }, - { "type": "slot", "value": "Cargo", "amount": 1 } + { + "type": "stat", + "value": "shields", + "amount": -2 + }, + { + "type": "slot", + "value": "Team", + "amount": 1 + }, + { + "type": "slot", + "value": "Cargo", + "amount": 1 + } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/1dca6b93927cdf20f638ddc7362e0f0f.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/dodonnaspride.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/dodonnaspride.png" + } + ], + "cost": { + "value": 4 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] + }, + { + "ships": [ + "cr90corelliancorvette" + ] } ], - "cost": { "value": 4 } + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Impetuous", "limited": 1, "xws": "impetuous", - "hyperspace": false, "sides": [ { "ability": "Add [Crew] slot. After you perform an attack, if the defender was destroyed, you may perform a [Focus] or [Lock] action.", "title": "Impetuous", "type": "Title", - "slots": ["Title"], + "slots": [ + "Title" + ], "grants": [ - { "type": "stat", "value": "energy", "amount": 2 }, - { "type": "stat", "value": "shields", "amount": -2 }, - { "type": "slot", "value": "Crew", "amount": 1 } + { + "type": "stat", + "value": "energy", + "amount": 2 + }, + { + "type": "stat", + "value": "shields", + "amount": -2 + }, + { + "type": "slot", + "value": "Crew", + "amount": 1 + } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/158a70d7bae002ca5bcd4c6fe94cb2d1.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/impetuous.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/impetuous.png" + } + ], + "cost": { + "value": 4 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] + }, + { + "ships": [ + "raiderclasscorvette" + ] } ], - "cost": { "value": 4 } + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Insatiable Worrt", "limited": 1, "xws": "insatiableworrt", - "hyperspace": false, "sides": [ { "ability": "Add [Cargo] slot. During the End Phase, you may recover 1 additional shield or 1 additional [Energy].", "title": "Insatiable Worrt", "type": "Title", - "slots": ["Title"], + "slots": [ + "Title" + ], "grants": [ - { "type": "stat", "value": "energy", "amount": -1 }, - { "type": "stat", "value": "hull", "amount": 3 }, - { "type": "stat", "value": "shields", "amount": -1 }, - { "type": "slot", "value": "Cargo", "amount": 1 } - ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/0dc42b21873c86f819f3dd528cdae1ff.jpg" + { + "type": "stat", + "value": "energy", + "amount": -1 + }, + { + "type": "stat", + "value": "hull", + "amount": 3 + }, + { + "type": "stat", + "value": "shields", + "amount": -1 + }, + { + "type": "slot", + "value": "Cargo", + "amount": 1 + } + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/insatiableworrt.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/insatiableworrt.png" } ], - "cost": { "value": 7 } + "cost": { + "value": 7 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] + }, + { + "ships": [ + "croccruiser" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Instigator", "limited": 1, "xws": "instigator", - "hyperspace": false, "sides": [ { "ability": "Add [Team] slot. While you perform an attack, if the defender has an orange or red token, you may reroll up to 2 attack dice.", "title": "Instigator", "type": "Title", - "slots": ["Title"], + "slots": [ + "Title" + ], "grants": [ - { "type": "slot", "value": "Team", "amount": 1 } + { + "type": "slot", + "value": "Team", + "amount": 1 + } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/943dfb58136280a8cf1ea781bf7b0c2f.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/instigator.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/instigator.png" } ], - "cost": { "value": 6 } + "cost": { + "value": 6 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] + }, + { + "ships": [ + "raiderclasscorvette" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Jaina's Light", "limited": 1, "xws": "jainaslight", - "hyperspace": false, "sides": [ { "ability": "While a friendly ship at range 0-2 defends, if the attack is obstructed by an obstacle, you may spend 1 [Energy]. If you do, the defender rolls 1 additional defense die.", "title": "Jaina's Light", "type": "Title", - "slots": ["Title"], + "slots": [ + "Title" + ], "grants": [ - { "type": "stat", "value": "energy", "amount": -1 }, - { "type": "stat", "value": "shields", "amount": 1 } + { + "type": "stat", + "value": "energy", + "amount": -1 + }, + { + "type": "stat", + "value": "shields", + "amount": 1 + } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/8276e8197e00c4f86b5f987643106334.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/jainaslight.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/jainaslight.png" } ], - "cost": { "value": 4 } + "cost": { + "value": 4 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] + }, + { + "ships": [ + "cr90corelliancorvette" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Kaz's Fireball", "limited": 1, "xws": "kazsfireball", - "hyperspace": true, "sides": [ { "ability": "Setup: When you resolve Explosion with Wings, you may search the damage deck and choose a damage card with the Ship trait; you are dealt that card instead. Then, shuffle the damage deck. You can perform actions on damage cards even while ionized.", "title": "Kaz's Fireball", "type": "Title", - "slots": ["Title"], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/0affe4d794e05c485d6103e5414e816a.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/793a1b659936801101622a5fc0a71e73.png" + "slots": [ + "Title" + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/kazsfireball.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/kazsfireball.png" } ], - "cost": { "value": 1 } + "cost": { + "value": 0 + }, + "restrictions": [ + { + "factions": [ + "resistance" + ] + }, + { + "ships": [ + "fireball" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Liberator", "limited": 1, "xws": "liberator", - "hyperspace": false, "sides": [ { "ability": "You can dock up to 2 small ships. After a ship deploys from you, it may perform a [Focus] or [Barrel Roll] action.", "title": "Liberator", "type": "Title", - "slots": ["Title"], + "slots": [ + "Title" + ], "grants": [ - { "type": "stat", "value": "energy", "amount": 1 } + { + "type": "stat", + "value": "energy", + "amount": 1 + } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/18bb0bda87c23b452e0c4788136beb30.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/liberator.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/liberator.png" } ], - "cost": { "value": 5 } + "cost": { + "value": 5 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] + }, + { + "ships": [ + "cr90corelliancorvette" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Luminous", "limited": 1, "xws": "luminous", - "hyperspace": false, "sides": [ { "ability": "Setup: You are placed in reserve. At the end of setup, you are placed in the play area at range 0-2 of a friendly ship.", "title": "Luminous", "type": "Title", - "slots": ["Title"], + "slots": [ + "Title" + ], "grants": [ - { "type": "stat", "value": "energy", "amount": 2 }, - { "type": "stat", "value": "shields", "amount": -1 } + { + "type": "stat", + "value": "energy", + "amount": 2 + }, + { + "type": "stat", + "value": "shields", + "amount": -1 + } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/2989267c764d1eeff27159d85948b3df.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/luminous.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/luminous.png" } ], - "cost": { "value": 12 } + "cost": { + "value": 12 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] + }, + { + "ships": [ + "gr75mediumtransport" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Merchant One", "limited": 1, "xws": "merchantone", - "hyperspace": false, "sides": [ { "ability": "Add [Turret], [Team], and [Cargo] slots. Bonus Attack: Perform a [Turret] attack.", "title": "Merchant One", "type": "Title", - "slots": ["Title"], + "slots": [ + "Title" + ], "grants": [ { "type": "action", - "value": { "type": "Evade", "difficulty": "Red" } + "value": { + "type": "Evade", + "difficulty": "Red" + } }, { "type": "action", - "value": { "type": "Coordinate", "difficulty": "White" } + "value": { + "type": "Coordinate", + "difficulty": "White" + } }, - { "type": "slot", "value": "Turret", "amount": 1 }, - { "type": "slot", "value": "Team", "amount": 1 }, - { "type": "slot", "value": "Cargo", "amount": 1 } + { + "type": "slot", + "value": "Turret", + "amount": 1 + }, + { + "type": "slot", + "value": "Team", + "amount": 1 + }, + { + "type": "slot", + "value": "Cargo", + "amount": 1 + } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/9c35d5bc7124123ec8818e53912449bd.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/merchantone.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/merchantone.png" + } + ], + "cost": { + "value": 8 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy" + ] + }, + { + "ships": [ + "croccruiser" + ] } ], - "cost": { "value": 8 } + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Quantum Storm", "limited": 1, "xws": "quantumstorm", - "hyperspace": false, "sides": [ { "ability": "Add [Team] and [Cargo] slots. After you fully execute a white maneuver, recover 1 [Energy].", "title": "Quantum Storm", "type": "Title", - "slots": ["Title"], + "slots": [ + "Title" + ], "grants": [ - { "type": "stat", "value": "energy", "amount": 1 }, - { "type": "slot", "value": "Team", "amount": 1 }, - { "type": "slot", "value": "Cargo", "amount": 1 } + { + "type": "stat", + "value": "energy", + "amount": 1 + }, + { + "type": "slot", + "value": "Team", + "amount": 1 + }, + { + "type": "slot", + "value": "Cargo", + "amount": 1 + } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/8b4166822602b0cb41a42d15ca563a0d.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/quantumstorm.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/quantumstorm.png" } ], - "cost": { "value": 3 } - }, + "cost": { + "value": 3 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] + }, + { + "ships": [ + "gr75mediumtransport" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true + }, { "name": "Requiem", "limited": 1, "xws": "requiem", - "hyperspace": false, "sides": [ { "ability": "After a ship deploys from you, it may acquire a lock on one ship you are locking, ignoring range restrictions.", "title": "Requiem", "type": "Title", - "slots": ["Title"], - "grants": [ - { "type": "stat", "value": "energy", "amount": 1 }, - { "type": "stat", "value": "hull", "amount": -1 } + "slots": [ + "Title" ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/81651841ae936b5090980c8fbf31fda3.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/requiem.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/requiem.png" + } + ], + "cost": { + "value": 7 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] + }, + { + "ships": [ + "gozanticlasscruiser" + ] } ], - "cost": { "value": 7 } + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Suppressor", "limited": 1, "xws": "suppressor", - "hyperspace": false, "sides": [ { "ability": "Add [Sensor] slot. After you coordinate a friendly ship, you may spend 1 [Energy] to jam an enemy ship at range 0-2 of that ship, ignoring range restrictions.", "title": "Suppressor", "type": "Title", - "slots": ["Title"], + "slots": [ + "Title" + ], "grants": [ - { "type": "stat", "value": "hull", "amount": -2 }, - { "type": "stat", "value": "shields", "amount": 2 }, - { "type": "slot", "value": "Sensor", "amount": 1 } + { + "type": "stat", + "value": "hull", + "amount": -2 + }, + { + "type": "stat", + "value": "shields", + "amount": 2 + }, + { + "type": "slot", + "value": "Sensor", + "amount": 1 + } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/45c68a9c1b84a9ca1a6dd4ed5b618210.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/suppressor.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/suppressor.png" } ], - "cost": { "value": 6 } + "cost": { + "value": 6 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] + }, + { + "ships": [ + "gozanticlasscruiser" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Tantive IV", "limited": 1, "xws": "tantiveiv", - "hyperspace": false, "sides": [ { "ability": "Add 2 [Crew] slots. While you defend, if the attacker is in your [Rear Arc], you may roll 1 additional defense die.", "title": "Tantive IV", "type": "Title", - "slots": ["Title"], + "slots": [ + "Title" + ], "grants": [ - { "type": "slot", "value": "Crew", "amount": 2 } + { + "type": "slot", + "value": "Crew", + "amount": 2 + } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/de2147d3f99347d5c07789917402b470.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/tantiveiv.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/tantiveiv.png" + } + ], + "cost": { + "value": 5 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] + }, + { + "ships": [ + "cr90corelliancorvette" + ] } ], - "cost": { "value": 5 } + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Thunderstrike", "limited": 1, "xws": "thunderstrike", - "hyperspace": false, "sides": [ { "ability": "Add [Gunner] slot. While you perform a bonus attack, if you have not attacked the defender this round, you may reroll 1 attack die.", "title": "Thunderstrike", "type": "Title", - "slots": ["Title"], + "slots": [ + "Title" + ], "grants": [ - { "type": "stat", "value": "hull", "amount": 3 }, - { "type": "stat", "value": "shields", "amount": -3 }, - { "type": "slot", "value": "Gunner", "amount": 1 } + { + "type": "stat", + "value": "hull", + "amount": 3 + }, + { + "type": "stat", + "value": "shields", + "amount": -3 + }, + { + "type": "slot", + "value": "Gunner", + "amount": 1 + } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/4359306125f05df5481d93982c070c13.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/thunderstrike.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/thunderstrike.png" + } + ], + "cost": { + "value": 4 + }, + "restrictions": [ + { + "factions": [ + "rebelalliance" + ] + }, + { + "ships": [ + "cr90corelliancorvette" + ] } ], - "cost": { "value": 4 } + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Vector", "limited": 1, "xws": "vector", - "hyperspace": false, "sides": [ { "ability": "Add [Crew] and [Cargo] slots. After a ship deploys from you, it may perform a [Evade] or [Boost] action.", "title": "Vector", "type": "Title", - "slots": ["Title"], + "slots": [ + "Title" + ], "grants": [ - { "type": "slot", "value": "Cargo", "amount": 1 }, - { "type": "slot", "value": "Crew", "amount": 1 } + { + "type": "slot", + "value": "Cargo", + "amount": 1 + }, + { + "type": "slot", + "value": "Crew", + "amount": 1 + } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/63b122a7f37720ef1a7d58bacbc70d15.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/vector.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/vector.png" + } + ], + "cost": { + "value": 7 + }, + "restrictions": [ + { + "factions": [ + "galacticempire" + ] + }, + { + "ships": [ + "gozanticlasscruiser" + ] } ], - "cost": { "value": 7 } + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Slave I", "limited": 1, "xws": "slavei-swz82", - "hyperspace": true, "sides": [ { "ability": "While you perform a [Front Arc] attack, if you are in the defender's [Full Rear Arc], you may change 1 [Hit] result to a [Critical Hit] result. Add [Gunner] slot.", "title": "Slave I", "type": "Title", - "slots": ["Title"], - "grants": [{ "type": "slot", "value": "Gunner", "amount": 1 }], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/d16195cbd5b4a9e1cfaf94b35dd188e7.jpg" + "slots": [ + "Title" + ], + "grants": [ + { + "type": "slot", + "value": "Gunner", + "amount": 1 + } + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/slavei-swz82.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/slavei-swz82.png" } ], + "cost": { + "value": 3 + }, "restrictions": [ - { "factions": ["Scum and Villainy", "Separatist Alliance"] }, - { "ships": ["firesprayclasspatrolcraft"] } + { + "factions": [ + "scumandvillainy", + "separatistalliance" + ] + }, + { + "ships": [ + "firesprayclasspatrolcraft" + ] + } ], - "cost": { "value": 3 } + "standard": true, + "wildspace": true, + "epic": true }, { "name": "B6 Blade Wing Prototype", "limited": 1, "xws": "b6bladewingprototype", - "hyperspace": true, "sides": [ { "ability": "Add [Gunner] slot.", "title": "B6 Blade Wing Prototype", "type": "Title", - "slots": ["Title"], - "grants": [{ "type": "slot", "value": "Gunner", "amount": 1 }], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/69e848f2da9a8f6f18d2f89096a94513.jpg" + "slots": [ + "Title" + ], + "grants": [ + { + "type": "slot", + "value": "Gunner", + "amount": 1 + } + ], + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/b6bladewingprototype.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/b6bladewingprototype.png" } ], - "cost": { "value": 1 }, + "cost": { + "value": 1 + }, "restrictions": [ - { "factions": ["Rebel Alliance"] }, - { "ships": ["asf01bwing"] } - ] + { + "factions": [ + "rebelalliance" + ] + }, + { + "ships": [ + "asf01bwing" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Nautolan's Revenge", "limited": 1, "xws": "nautolansrevenge", - "hyperspace": false, "sides": [ { "ability": "Before you engage, you may spend up to 2 calculate tokens. If you do, recover that many [Energy].", "title": "Nautolan's Revenge", "type": "Title", - "slots": ["Title"], + "slots": [ + "Title" + ], "grants": [ - { "type": "stat", "value": "energy", "amount": 1 }, - { "type": "stat", "value": "hull", "amount": -2 }, - { "type": "stat", "value": "shields", "amount": 1 } + { + "type": "stat", + "value": "energy", + "amount": 1 + }, + { + "type": "stat", + "value": "hull", + "amount": -2 + }, + { + "type": "stat", + "value": "shields", + "amount": 1 + } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/63b122a7f37720ef1a7d58bacbc70d15.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/nautolansrevenge.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/nautolansrevenge.png" } ], - "cost": { "value": 2 }, + "cost": { + "value": 2 + }, "restrictions": [ - { "factions": ["Scum and Villainy"] }, - { "ships": ["tridentclassassaultship"] } - ] + { + "factions": [ + "scumandvillainy" + ] + }, + { + "ships": [ + "tridentclassassaultship" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Grappler", "limited": 1, "xws": "grappler", - "hyperspace": false, "sides": [ { "ability": "While you perform a Drill Beak attack at range 1, if the defender is tractored, treat it as being range 0 instead.", "title": "Grappler", "type": "Title", - "slots": ["Title"], + "slots": [ + "Title" + ], "grants": [ - { "type": "stat", "value": "hull", "amount": 2 }, - { "type": "stat", "value": "shields", "amount": -1 } + { + "type": "stat", + "value": "hull", + "amount": 2 + }, + { + "type": "stat", + "value": "shields", + "amount": -1 + } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/63b122a7f37720ef1a7d58bacbc70d15.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/grappler.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/grappler.png" } ], - "cost": { "value": 3 }, + "cost": { + "value": 3 + }, "restrictions": [ - { "ships": ["tridentclassassaultship"] } - ] + { + "ships": [ + "tridentclassassaultship" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Neimoidian Grasp", "limited": 1, "xws": "neimoidiangrasp", - "hyperspace": false, "sides": [ { "ability": "After you perform an attack, you may perform a red [Evade] action. While you defend, if you are evading, you may roll 1 additional defense die.", "title": "Neimoidian Grasp", "type": "Title", - "slots": ["Title"], + "slots": [ + "Title" + ], "grants": [ - { "type": "stat", "value": "shields", "amount": -2 } + { + "type": "stat", + "value": "shields", + "amount": -2 + } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/63b122a7f37720ef1a7d58bacbc70d15.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/neimoidiangrasp.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/neimoidiangrasp.png" } ], - "cost": { "value": 5 }, + "cost": { + "value": 5 + }, "restrictions": [ - { "factions": ["Separatist Alliance"] }, - { "ships": ["tridentclassassaultship"] } - ] + { + "factions": [ + "separatistalliance" + ] + }, + { + "ships": [ + "tridentclassassaultship" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true }, { "name": "Trident", "limited": 1, "xws": "trident", - "hyperspace": false, "sides": [ { "ability": "After you overlap a ship or a ship overlaps you, if it is not tractored, you may spend 1 [Energy]. If you do, it gains 3 tractor tokens.", "title": "Trident", "type": "Title", - "slots": ["Title"], + "slots": [ + "Title" + ], "grants": [ - { "type": "stat", "value": "energy", "amount": 1 } + { + "type": "stat", + "value": "energy", + "amount": 1 + } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/63b122a7f37720ef1a7d58bacbc70d15.jpg" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/trident.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/trident.png" } ], - "cost": { "value": 4 }, + "cost": { + "value": 4 + }, "restrictions": [ - { "factions": ["Separatist Alliance"] }, - { "ships": ["tridentclassassaultship"] } - ] + { + "factions": [ + "separatistalliance" + ] + }, + { + "ships": [ + "tridentclassassaultship" + ] + } + ], + "standard": false, + "wildspace": false, + "epic": true + }, + { + "name": "Nightbrother", + "limited": 1, + "xws": "nightbrother", + "sides": [ + { + "ability": "After you reveal a non-blue maneuver, if you are stressed, you may spend 2 [Charge] to gain 1 focus or evade token. Add [Crew] slot.", + "title": "Nightbrother", + "type": "Title", + "slots": [ + "Title", + "Modification" + ], + "charges": { + "value": 2, + "recovers": 1 + }, + "grants": [ + { + "type": "slot", + "value": "Crew", + "amount": 1 + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/nightbrother.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/nightbrother.png" + } + ], + "cost": { + "value": 3 + }, + "restrictions": [ + { + "factions": [ + "scumandvillainy", + "rebelalliance" + ] + }, + { + "ships": [ + "gauntletfighter" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Gauntlet", + "limited": 1, + "xws": "gauntlet", + "sides": [ + { + "ability": "During the System Phase, you may spend 1 [Charge] to repair 1 faceup ship damage card. Add [Crew] slot.", + "title": "Gauntlet", + "type": "Title", + "slots": [ + "Title", + "Modification" + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "grants": [ + { + "type": "slot", + "value": "Crew", + "amount": -1 + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/gauntlet.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/gauntlet.png" + } + ], + "cost": { + "value": 3 + }, + "restrictions": [ + { + "factions": [ + "galacticrepublic", + "separatistalliance" + ] + }, + { + "ships": [ + "gauntletfighter" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Razor Crest", + "limited": 1, + "xws": "razorcrest", + "sides": [ + { + "ability": "Setup: Place 1 non-limited [Illicit] upgrade facedown under this card. During the System Phase, you may reveal that [Illicit] upgrade and equip it as if it were equipped at Setup (without paying its points cost).", + "title": "Razor Crest", + "type": "Title", + "slots": [ + "Title" + ], + "grants": [ + { + "type": "action", + "value": { + "type": "Evade", + "difficulty": "White", + "linked": { + "type": "Barrel Roll", + "difficulty": "Red" + } + } + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/razorcrest.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/razorcrest.png" + } + ], + "cost": { + "value": 4 + }, + "restrictions": [ + { + "ships": [ + "st70assaultship" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true + }, + { + "name": "Xanadu Blood", + "limited": 1, + "xws": "xanadublood", + "sides": [ + { + "ability": "Add [Crew] and [Device] slots.", + "title": "Xanadu Blood", + "type": "Title", + "slots": [ + "Title" + ], + "grants": [ + { + "type": "slot", + "value": "Crew", + "amount": 1 + }, + { + "type": "slot", + "value": "Device", + "amount": 1 + }, + { + "type": "action", + "value": { + "type": "Cloak", + "difficulty": "Red" + } + } + ], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/xanadublood.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/xanadublood.png" + } + ], + "cost": { + "value": 2 + }, + "restrictions": [ + { + "ships": [ + "rogueclassstarfighter" + ] + } + ], + "standard": true, + "wildspace": true, + "epic": true } -] +] \ No newline at end of file diff --git a/data/upgrades/torpedo.json b/data/upgrades/torpedo.json index aabd5c631..aedc2fcc1 100644 --- a/data/upgrades/torpedo.json +++ b/data/upgrades/torpedo.json @@ -1,4 +1,38 @@ [ + { + "name": "Homing Torpedoes", + "limited": 0, + "xws": "homingtorpedoes", + "sides": [ + { + "title": "Homing Torpedoes", + "type": "Torpedo", + "ability": "Attack ([Lock]): Spend 1 [Charge]. After you declare the defender, the defender may choose to suffer 1 [Critical Hit] damage. If it does, skip the Attack and Defense Dice steps and the attack is treated as hitting.", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/homingtorpedoes.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/homingtorpedoes.png", + "slots": [ + "Torpedo" + ], + "charges": { + "value": 2, + "recovers": 0 + }, + "attack": { + "arc": "Front Arc", + "value": 4, + "minrange": 1, + "maxrange": 2, + "ordnance": true + } + } + ], + "cost": { + "value": 5 + }, + "standard": true, + "wildspace": true, + "epic": true + }, { "name": "Adv. Proton Torpedoes", "limited": 0, @@ -8,8 +42,13 @@ "title": "Adv. Proton Torpedoes", "type": "Torpedo", "ability": "Attack ([Lock]): Spend 1 [Charge]. Change 1 [Hit] result to a [Critical Hit] result.", - "slots": ["Torpedo"], - "charges": { "value": 1, "recovers": 0 }, + "slots": [ + "Torpedo" + ], + "charges": { + "value": 1, + "recovers": 0 + }, "attack": { "arc": "Front Arc", "value": 5, @@ -17,13 +56,16 @@ "maxrange": 1, "ordnance": true }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_33.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_33.jpg", - "ffg": 262 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/advprotontorpedoes.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/advprotontorpedoes.png" } ], - "cost": { "value": 5 }, - "hyperspace": true + "cost": { + "value": 5 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Ion Torpedoes", @@ -34,8 +76,13 @@ "title": "Ion Torpedoes", "type": "Torpedo", "ability": "Attack ([Lock]): Spend 1 [Charge]. If this attack hits, spend 1 [Hit] or [Critical Hit] result to cause the defender to suffer 1 [Hit] damage. All remaining [Hit]/[Critical Hit] results inflict ion tokens instead of damage.", - "slots": ["Torpedo"], - "charges": { "value": 2, "recovers": 0 }, + "slots": [ + "Torpedo" + ], + "charges": { + "value": 2, + "recovers": 0 + }, "attack": { "arc": "Front Arc", "value": 4, @@ -43,13 +90,16 @@ "maxrange": 3, "ordnance": true }, - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_34.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_34.jpg", - "ffg": 263 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/iontorpedoes.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/iontorpedoes.png" } ], - "cost": { "value": 4 }, - "hyperspace": true + "cost": { + "value": 4 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Proton Torpedoes", @@ -60,9 +110,14 @@ "title": "Proton Torpedoes", "type": "Torpedo", "ability": "Attack ([Lock]): Spend 1 [Charge]. Change 1 [Hit] result to a [Critical Hit] result.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_35.png", - "slots": ["Torpedo"], - "charges": { "value": 2, "recovers": 0 }, + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/protontorpedoes.png", + "slots": [ + "Torpedo" + ], + "charges": { + "value": 2, + "recovers": 0 + }, "attack": { "arc": "Front Arc", "value": 4, @@ -70,25 +125,32 @@ "maxrange": 3, "ordnance": true }, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_35.jpg", - "ffg": 264 + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/protontorpedoes.png" } ], - "cost": { "value": 12 }, - "hyperspace": true + "cost": { + "value": 12 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Plasma Torpedoes", "limited": 0, "xws": "plasmatorpedoes", - "hyperspace": false, "sides": [ { "ability": "Attack ([Lock]): Spend 1 [Charge]. During the Neutralize Results step, [Critical Hit] results are canceled before [Hit] results. After this attack hits, the defender loses 1 shield.", "title": "Plasma Torpedoes", "type": "Torpedo", - "slots": ["Torpedo"], - "charges": { "value": 2, "recovers": 0 }, + "slots": [ + "Torpedo" + ], + "charges": { + "value": 2, + "recovers": 0 + }, "attack": { "arc": "Front Arc", "value": 3, @@ -96,12 +158,25 @@ "maxrange": 3, "ordnance": true }, - "ffg": 579, - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/4123de29aa73a40eca130e1e75d9353b.jpg", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/en/60fb85c3782c235904678bac8a106150.png" + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/plasmatorpedoes.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/plasmatorpedoes.png" } ], - "cost": { "value": 7 } + "cost": { + "variable": "initiative", + "values": { + "0": 5, + "1": 5, + "2": 5, + "3": 7, + "4": 7, + "5": 7, + "6": 7 + } + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Tracking Torpedoes", @@ -112,14 +187,29 @@ "title": "Tracking Torpedoes", "type": "Torpedo", "ability": "During the System Phase, you may spend up to 3 [Charge] to launch that many tracking torpedoes using the [3 [Bank Left]], [4 [Straight]], and [3 [Bank Right]] templates. Each device must use a seperate template. Then each device may acquire a lock on an object you have locked, ignoring range restrictions. This card's [Charge] cannot be recovered.", - "slots": ["Torpedo"], - "charges": { "value": 3, "recovers": 0 }, - "artwork": "???", - "ffg": 123 + "slots": [ + "Torpedo" + ], + "charges": { + "value": 3, + "recovers": 0 + }, + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/trackingtorpedoes.png", + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/trackingtorpedoes.png" + } + ], + "cost": { + "value": 8 + }, + "restrictions": [ + { + "sizes": [ + "Huge" + ] } ], - "cost": { "value": 8 }, - "restrictions": [{ "sizes": ["Huge"] }], - "hyperspace": false + "standard": false, + "wildspace": false, + "epic": true } -] +] \ No newline at end of file diff --git a/data/upgrades/turret.json b/data/upgrades/turret.json index 3ab3f107e..2b8362e8b 100644 --- a/data/upgrades/turret.json +++ b/data/upgrades/turret.json @@ -8,7 +8,9 @@ "title": "Dorsal Turret", "type": "Turret", "ability": "Attack", - "slots": ["Turret"], + "slots": [ + "Turret" + ], "attack": { "arc": "Single Turret Arc", "value": 2, @@ -16,20 +18,31 @@ "maxrange": 2, "ordnance": false }, - "actions": [{ "type": "Rotate Arc", "difficulty": "White" }], + "actions": [ + { + "type": "Rotate Arc", + "difficulty": "White" + } + ], "grants": [ { "type": "action", - "value": { "type": "Rotate Arc", "difficulty": "White" } + "value": { + "type": "Rotate Arc", + "difficulty": "White" + } } ], - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_31.png", - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_31.jpg", - "ffg": 260 + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/dorsalturret.png", + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/dorsalturret.png" } ], - "cost": { "value": 2 }, - "hyperspace": true + "cost": { + "value": 2 + }, + "standard": true, + "wildspace": true, + "epic": true }, { "name": "Ion Cannon Turret", @@ -40,8 +53,10 @@ "title": "Ion Cannon Turret", "type": "Turret", "ability": "Attack: If this attack hits, spend 1 [Hit] or [Critical Hit] result to cause the defender to suffer 1 [Hit] damage. All remaining [Hit]/[Critical Hit] results inflict ion tokens instead of damage.", - "image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Upgrade_32.png", - "slots": ["Turret"], + "image": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/En/upgrades/ioncannonturret.png", + "slots": [ + "Turret" + ], "attack": { "arc": "Single Turret Arc", "value": 3, @@ -49,18 +64,29 @@ "maxrange": 2, "ordnance": false }, - "actions": [{ "type": "Rotate Arc", "difficulty": "White" }], + "actions": [ + { + "type": "Rotate Arc", + "difficulty": "White" + } + ], "grants": [ { "type": "action", - "value": { "type": "Rotate Arc", "difficulty": "White" } + "value": { + "type": "Rotate Arc", + "difficulty": "White" + } } ], - "artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_U_32.jpg", - "ffg": 261 + "artwork": "https://raw.githubusercontent.com/SogeMoge/x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art/upgrades/ioncannonturret.png" } ], - "cost": { "value": 5 }, - "hyperspace": true + "cost": { + "value": 5 + }, + "standard": true, + "wildspace": true, + "epic": true } -] +] \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..c860b098c --- /dev/null +++ b/package-lock.json @@ -0,0 +1,8367 @@ +{ + "name": "xwing-data2-legacy", + "version": "3.9.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "xwing-data2-legacy", + "version": "3.9.1", + "license": "MIT", + "dependencies": { + "core-js": "^3.33.0", + "lodash": "^4.17.21", + "nomnom": "^1.5.3", + "string-math": "^1.2.2" + }, + "devDependencies": { + "@types/node": "^17.0.21", + "exceljs": "^4.3", + "git-diff": "^2.0.6", + "husky": "^4.2.1", + "jest": "^29.3.1", + "jest-json-schema": "^2.1.0", + "json-stable-stringify": "^1.0.1", + "jsonfile": "^5.0.0", + "jsonlint-cli": "^1.0.1", + "lint-staged": "^10.0.7", + "node-fetch": "^3.1.1", + "prettier": "^1.19.1", + "ts-node": "^10.5.0", + "typescript": "^4.5.5" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz", + "integrity": "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz", + "integrity": "sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helpers": "^7.23.2", + "@babel/parser": "^7.23.0", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.2", + "@babel/types": "^7.23.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", + "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", + "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.2", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@fast-csv/format": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/@fast-csv/format/-/format-4.3.5.tgz", + "integrity": "sha512-8iRn6QF3I8Ak78lNAa+Gdl5MJJBM5vRHivFtMRUWINdevNo00K7OXxS2PshawLKTejVwieIlPmK5YlLu6w4u8A==", + "dev": true, + "dependencies": { + "@types/node": "^14.0.1", + "lodash.escaperegexp": "^4.1.2", + "lodash.isboolean": "^3.0.3", + "lodash.isequal": "^4.5.0", + "lodash.isfunction": "^3.0.9", + "lodash.isnil": "^4.0.0" + } + }, + "node_modules/@fast-csv/format/node_modules/@types/node": { + "version": "14.18.63", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz", + "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==", + "dev": true + }, + "node_modules/@fast-csv/parse": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/@fast-csv/parse/-/parse-4.3.6.tgz", + "integrity": "sha512-uRsLYksqpbDmWaSmzvJcuApSEe38+6NQZBUsuAyMZKqHxH0g1wcJgsKUvN3WC8tewaqFjBMMGrkHmC+T7k8LvA==", + "dev": true, + "dependencies": { + "@types/node": "^14.0.1", + "lodash.escaperegexp": "^4.1.2", + "lodash.groupby": "^4.6.0", + "lodash.isfunction": "^3.0.9", + "lodash.isnil": "^4.0.0", + "lodash.isundefined": "^3.0.1", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/@fast-csv/parse/node_modules/@types/node": { + "version": "14.18.63", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz", + "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==", + "dev": true + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.0.0.tgz", + "integrity": "sha512-ZR0rq/f/E4f4XcgnDvtMWXCUJpi8eO0rssVhmztsZqLIEFA9UUP9zmpE0VxlM+kv/E1ul2I876Fwil2ayptDVg==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", + "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/console/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@jest/console/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/core/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@jest/core/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@jest/reporters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@jest/transform/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@jest/types/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@samverschueren/stream-to-observable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz", + "integrity": "sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==", + "dev": true, + "dependencies": { + "any-observable": "^0.3.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, + "node_modules/@types/babel__core": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.2.tgz", + "integrity": "sha512-pNpr1T1xLUc2l3xJKuPtsEky3ybxN3m4fJkknfIpTCTfIZCDW57oAg+EfCgIIp2rvCe0Wn++/FfodDS4YXxBwA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.1", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz", + "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", + "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.8.tgz", + "integrity": "sha512-yGeB2dHEdvxjP0y4UbRtQaSkXJ9649fYCmIdRoul5kfAoGCwxuCbMhag0k3RPfnuh9kPGm8x89btcfDEXdVWGw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.7.tgz", + "integrity": "sha512-MhzcwU8aUygZroVwL2jeYk6JisJrPl/oov/gsgGCue9mkgl9wjGbzReYQClxiUgFDnib9FuHqTndccKeZKxTRw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", + "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-kv43F9eb3Lhj+lr/Hn6OcLCs/sSM8bt+fIaP11rCYngfV6NVjzWXJ17owQtDQTL9tQ8WSLUrGsSJ6rJz0F1w1A==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/node": { + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", + "dev": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "17.0.28", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.28.tgz", + "integrity": "sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz", + "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/any-observable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", + "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/archiver": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", + "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", + "dev": true, + "dependencies": { + "archiver-utils": "^2.1.0", + "async": "^3.2.4", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/archiver-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", + "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "dev": true, + "dependencies": { + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/archiver-utils/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/archiver-utils/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/archiver-utils/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-jest/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/babel-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/babel-jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-jest/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "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==", + "dev": true, + "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/big-integer": { + "version": "1.6.51", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/binary": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", + "integrity": "sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==", + "dev": true, + "dependencies": { + "buffers": "~0.1.1", + "chainsaw": "~0.1.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bluebird": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", + "integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", + "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk= sha512-FozP+z0rEpi3AywbeT1QnOrGFJDbC0986aFDR2NlNLF+/WEYdv/7/qb1FVtla+KBWswkQBOA7okWd+85ThWlCQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "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-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "node_modules/buffer-indexof-polyfill": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz", + "integrity": "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/buffers": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", + "integrity": "sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==", + "dev": true, + "engines": { + "node": ">=0.2.0" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ==", + "dev": true, + "dependencies": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/camelcase-keys/node_modules/camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001549", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001549.tgz", + "integrity": "sha512-qRp48dPYSCYaP+KurZLhDYdVE+yEyht/3NlmcJgVQ2VMGt6JL36ndQ/7rgspdZsJuxDPFIo/OzBT2+GmIJ53BA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/caw": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/caw/-/caw-1.2.0.tgz", + "integrity": "sha512-GIAlMoessjWW8p0mkStU4kMvV35toVCAyOWhUajk7O0d7wJI8F9TDjfrkSoO26b0d1QsnDLmw5I3X+yd6OKorQ==", + "dev": true, + "dependencies": { + "get-proxy": "^1.0.1", + "is-obj": "^1.0.0", + "object-assign": "^3.0.0", + "tunnel-agent": "^0.4.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/caw/node_modules/object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha512-jHP15vXVGeVh1HuaA2wY6lxk+whK/x4KBG88VXeRma7CCun7iGD5qPc4eYykQ9sdQvg8jkwFKsSxHln2ybW3xQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chainsaw": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", + "integrity": "sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==", + "dev": true, + "dependencies": { + "traverse": ">=0.3.0 <0.4" + }, + "engines": { + "node": "*" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true + }, + "node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "dev": true, + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-fs": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cli-fs/-/cli-fs-1.0.4.tgz", + "integrity": "sha1-I2ve9FyY9tqh3ldHPnCBQdqmwBY= sha512-u2OE5YOE4vqUzBah1XeV7v75OUWdMszAcPoKpwai7eDtoSN1tRBqmVeuHpImjvfZlb8Pq5ZX7huhgZ7xY+iRzA==", + "dev": true + }, + "node_modules/cli-rc": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/cli-rc/-/cli-rc-1.0.12.tgz", + "integrity": "sha1-yJw/FYnLdTN4lyHudb7hLfpe95U= sha512-O7lCeH9eGA0h+gJb3GI3hq04rM5J4gts4+0HSpPQg4qgbL78QFw9+3fzIbnIxoX8iwint9EzXSYCvaKS2WXt5Q==", + "dev": true, + "dependencies": { + "async": "~1.4.0", + "cli-fs": "~1.0.4", + "cli-util": "~1.1.27", + "ini": "~1.3.4" + } + }, + "node_modules/cli-rc/node_modules/async": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.4.2.tgz", + "integrity": "sha1-bJ7csRztTw3S8tQNsNSaEJwIiqs= sha512-O4fvy4JjdS0Q8MYH4jOODxJdXGbZ61eqfXdmfFDloHSnWoggxkn/+xWbh2eQbmQ6pJNliaravcTK1iQMpW9k4Q==", + "dev": true + }, + "node_modules/cli-regexp": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/cli-regexp/-/cli-regexp-0.1.2.tgz", + "integrity": "sha1-a82TsJ+y7RAl0woRVdWZeVSlNRI= sha512-L++cAQ5g0Nu6aV56B3uaR+c7jEGSAa4WApY1ZN7XiD8niJ5jRfXE/qvMwgz3uZBG0rft4hJS75Vpz2F3mSm4Mg==", + "dev": true + }, + "node_modules/cli-truncate": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", + "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ= sha512-f4r4yJnbT++qUPI9NR4XLDLq41gQ+uqnPItWG0F5ZkehuNiTTa3EY0S4AqTSUOeJ7/zU41oWPQSNkW5BqPL9bg==", + "dev": true, + "dependencies": { + "slice-ansi": "0.0.4", + "string-width": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-util": { + "version": "1.1.27", + "resolved": "https://registry.npmjs.org/cli-util/-/cli-util-1.1.27.tgz", + "integrity": "sha1-QtaeNqBAoyH8nPhRwVE8rcUJMFQ= sha512-Z6+zI0kIrqf9Oi+PmUm8J9AELp8bTf2vCLYseudYtdOPNJvzpNiExO95aHIm477IbPdu/8SE9Wvc/M1kJl4Anw==", + "dev": true, + "dependencies": { + "cli-regexp": "~0.1.0" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/cliui/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.0.tgz", + "integrity": "sha512-VKIhJgvk8E1W28m5avZ2Gv2Ruv5YiF56ug2oclvaG9md69BuZImMG2sk9g7QNKLUbtYAKQjXjYxbYZVUlMMKmQ==", + "dev": true + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/colors": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz", + "integrity": "sha512-XjsuUwpDeY98+yz959OlUK6m7mLBM+1MEG5oaenfuQnNnrQk1WvtcvFgN3FNDP3f2NmZ211t0mNEfSEN1h0eIg==", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/compare-versions": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", + "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==", + "dev": true + }, + "node_modules/compress-commons": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz", + "integrity": "sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==", + "dev": true, + "dependencies": { + "buffer-crc32": "^0.2.13", + "crc32-stream": "^4.0.2", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/core-js": { + "version": "3.33.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.0.tgz", + "integrity": "sha512-HoZr92+ZjFEKar5HS6MC776gYslNOKHt75mEBKWKnPeFDpZ6nH5OeF3S6HFT1mUAUZKrzkez05VboaX8myjSuw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "dev": true, + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/crc32-stream": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.3.tgz", + "integrity": "sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==", + "dev": true, + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/create-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/create-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/create-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/create-jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/create-jest/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==", + "dev": true, + "dependencies": { + "array-find-index": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz", + "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/date-fns": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", + "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==", + "dev": true + }, + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==", + "dev": true + }, + "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/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "dev": true, + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/denodeify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", + "integrity": "sha1-OjYof1A05pnnV3kBBSwubJQlFjE= sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==", + "dev": true + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/duplexer2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/duplexer2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/duplexer2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.554", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.554.tgz", + "integrity": "sha512-Q0umzPJjfBrrj8unkONTgbKQXzXRrH7sVV7D9ea2yBV3Oaogz991yhbpfvo2LMNkJItmruXTEzVpP9cp7vaIiQ==", + "dev": true + }, + "node_modules/elegant-spinner": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", + "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4= sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/exceljs": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/exceljs/-/exceljs-4.3.0.tgz", + "integrity": "sha512-hTAeo5b5TPvf8Z02I2sKIT4kSfCnOO2bCxYX8ABqODCdAjppI3gI9VYiGCQQYVcBaBSKlFDMKlAQRqC+kV9O8w==", + "dev": true, + "dependencies": { + "archiver": "^5.0.0", + "dayjs": "^1.8.34", + "fast-csv": "^4.3.1", + "jszip": "^3.5.0", + "readable-stream": "^3.6.0", + "saxes": "^5.0.1", + "tmp": "^0.2.0", + "unzipper": "^0.10.11", + "uuid": "^8.3.0" + }, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dev": true, + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/fast-csv": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/fast-csv/-/fast-csv-4.3.6.tgz", + "integrity": "sha512-2RNSpuwwsJGP0frGsOmTb9oUF+VkFSM4SyLTDgwf2ciHWTarN0lQTC+F2f/t5J9QjW+c65VFIAAu85GsvMIusw==", + "dev": true, + "dependencies": { + "@fast-csv/format": "4.3.5", + "@fast-csv/parse": "4.3.6" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fb-watchman": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", + "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg= sha512-+6dk4acfiWsbMc8pH0boQDeQprOM4mO/kS4IAvZVJZk4B6CZYLg4DkTGbL82vhglUXDtkJPnLfO0WXv3uxGNfA==", + "dev": true, + "dependencies": { + "bser": "^2.0.0" + } + }, + "node_modules/fetch-blob": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.1.4.tgz", + "integrity": "sha512-Eq5Xv5+VlSrYWEqKrusxY1C3Hm/hjeAsCGVG3ft7pZahlUAChpGZT/Ms1WmSLnEAisEXszjzu/s+ce6HZB2VHA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, + "node_modules/figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-versions": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-4.0.0.tgz", + "integrity": "sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==", + "dev": true, + "dependencies": { + "semver-regex": "^3.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "dev": true, + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8= sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/fstream/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz", + "integrity": "sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg==", + "dev": true + }, + "node_modules/get-proxy": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-1.1.0.tgz", + "integrity": "sha512-3cJ+77wC52qD2PqWNXtB2HkU6tQXc/X3hSMtSN0Y8c8nbYMMxF7vpsjH4H0iSt+28l/NK13DKl8iKAVGkqDFnA==", + "dev": true, + "dependencies": { + "rc": "^1.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-stdin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", + "integrity": "sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/git-diff": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/git-diff/-/git-diff-2.0.6.tgz", + "integrity": "sha512-/Iu4prUrydE3Pb3lCBMbcSNIf81tgGt0W1ZwknnyF62t3tHmtiJTRj0f+1ZIhp3+Rh0ktz1pJVoa7ZXUCskivA==", + "dev": true, + "dependencies": { + "chalk": "^2.3.2", + "diff": "^3.5.0", + "loglevel": "^1.6.1", + "shelljs": "^0.8.1", + "shelljs.exec": "^1.1.7" + }, + "engines": { + "node": ">= 4.8.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-4.0.0.tgz", + "integrity": "sha1-Nv8GxancHbwgH3AAdJkogoV+mBc= sha512-tf+ZZEIfGphbdxcRZPDHuVGEanAs/LmWL60v0rCi4zFF5W3JvoPYXy3P7I8KWqLYUEEl41YOK6zH84bnjELNLA==", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^6.0.1", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/globby/node_modules/glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI= sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==", + "dev": true, + "dependencies": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8= sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0= sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/html-escaper": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.0.tgz", + "integrity": "sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig==", + "dev": true + }, + "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==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/husky": { + "version": "4.3.8", + "resolved": "https://registry.npmjs.org/husky/-/husky-4.3.8.tgz", + "integrity": "sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "compare-versions": "^3.6.0", + "cosmiconfig": "^7.0.0", + "find-versions": "^4.0.0", + "opencollective-postinstall": "^2.0.2", + "pkg-dir": "^5.0.0", + "please-upgrade-node": "^3.2.0", + "slash": "^3.0.0", + "which-pm-runs": "^1.0.0" + }, + "bin": { + "husky-run": "bin/run.js", + "husky-upgrade": "lib/upgrader/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/husky" + } + }, + "node_modules/husky/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/husky/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/husky/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/husky/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/husky/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/husky/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/husky/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/husky/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/husky/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/husky/node_modules/pkg-dir": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", + "dev": true, + "dependencies": { + "find-up": "^5.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/husky/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "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/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", + "dev": true + }, + "node_modules/import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o= sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz", + "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==", + "dev": true + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs= sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8= sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-observable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", + "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", + "dev": true, + "dependencies": { + "symbol-observable": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= sha512-NECAi6wp6CgMesHuVUEK8JwjCvm/tvnn5pCbB42JOHp3mgUizN0nagXu4HEqQZBkieGEQ+jVcMKWqoVd6CDbLQ==", + "dev": true + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk= sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "dev": true + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==", + "dev": true, + "dependencies": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + } + }, + "node_modules/isomorphic-fetch/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isomorphic-fetch/node_modules/node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "dev": true, + "dependencies": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", + "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "dev": true, + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-circus/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-circus/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-circus/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-cli/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-config/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-config/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-diff/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-diff/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-each/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-each/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-each/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-json-schema": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/jest-json-schema/-/jest-json-schema-2.1.0.tgz", + "integrity": "sha512-FaXuFj6Rak1OnV+cfQsD8YnfyfEJ/DeGbomRnmNRO0HeyCpqLsDkC0Lr6z0hXK4/d7Ekz1mqBewVJpcYQ6H89w==", + "dev": true, + "dependencies": { + "ajv": "^6.10.2", + "chalk": "^2.4.1", + "jest-matcher-utils": "^24.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-json-schema/node_modules/@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-json-schema/node_modules/@types/istanbul-reports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz", + "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/jest-json-schema/node_modules/@types/yargs": { + "version": "13.0.8", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.8.tgz", + "integrity": "sha512-XAvHLwG7UQ+8M4caKIH0ZozIOYay5fQkAgyIXegXT9jPtdIGdhga+sUEdAr1CiG46aB+c64xQEYyEzlwWVTNzA==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-json-schema/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-json-schema/node_modules/diff-sequences": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", + "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-json-schema/node_modules/jest-diff": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", + "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "diff-sequences": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-json-schema/node_modules/jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-json-schema/node_modules/jest-matcher-utils": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", + "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-json-schema/node_modules/pretty-format": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", + "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "ansi-regex": "^4.0.0", + "ansi-styles": "^3.2.0", + "react-is": "^16.8.4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-json-schema/node_modules/react-is": { + "version": "16.12.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.12.0.tgz", + "integrity": "sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q==", + "dev": true + }, + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-matcher-utils/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-matcher-utils/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-message-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "dev": true, + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-resolve/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-resolve/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runner/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-runner/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runtime/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-runtime/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-snapshot/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-validate/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-watcher/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-watcher/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-watcher/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jjv": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/jjv/-/jjv-1.0.2.tgz", + "integrity": "sha1-Bxnyy8/X3zT41XwbA7MyoPj2bn8= sha512-IjuAyt9uqIA51mWUO1+TOuPstsGMV6rax73+zMm6C23Wwmq1UCGTJOXjlOTTQOCzthxAppmr++scJxQm+We+7Q==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg==", + "dev": true, + "dependencies": { + "jsonify": "~0.0.0" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-5.0.0.tgz", + "integrity": "sha512-NQRZ5CRo74MhMMC3/3r5g2k4fjodJ/wh8MxjFbCViWKFjxrnudWSY5vomh+23ZaXzAS7J3fBZIR2dV6WbmfM0w==", + "dev": true, + "dependencies": { + "universalify": "^0.1.2" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= sha512-trvBk1ki43VZptdBI5rIlG4YOzyeH/WefQt5rj1grasPn4iiZWKet8nkgc4GlsAylaztn0qZfUYOiTsASJFdNA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/jsonlint": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.2.tgz", + "integrity": "sha1-VzcEUIX1XrRVxosf9OvAG9UOiDA= sha512-NZOYIER5KgQFsImdFbIg6K3mMQU1wZ7mfH5W57gOGKMcRlQ5hQmMbp0dyGovJj33+5adwnb/lWdSApkEtCBgLQ==", + "dev": true, + "dependencies": { + "JSV": ">= 4.0.x", + "nomnom": ">= 1.5.x" + }, + "bin": { + "jsonlint": "lib/cli.js" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/jsonlint-cli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/jsonlint-cli/-/jsonlint-cli-1.0.1.tgz", + "integrity": "sha512-SNNLE6SuHV+8vjWu/mD4iy8JOfQ+bdByx1jnEwbROyGJIbZ+cDo0Z9aNzDrnWOp4GiLt9zBjvArl+JlMxThksQ==", + "dev": true, + "dependencies": { + "cli-rc": "1.0.12", + "core-js": "2.1.5", + "denodeify": "1.2.1", + "get-stdin": "5.0.1", + "globby": "4.0.0", + "isomorphic-fetch": "2.2.1", + "jjv": "1.0.2", + "jsonlint": "1.6.2", + "lodash": "4.6.1", + "meow": "3.7.0", + "minimatch": "3.0.0", + "mkdirp": "0.5.1", + "omni-fetch": "0.1.0", + "path-exists": "2.1.0" + }, + "bin": { + "jsonlint-cli": "index.js" + } + }, + "node_modules/jsonlint-cli/node_modules/core-js": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.1.5.tgz", + "integrity": "sha512-8E65/CbwO+3dRdwvaDbgUon1rnxjRLjbyqNI/p58hQf7kicAG0Z8mQ6hoerLqGysRIH7oEtYTXg7Iiit7GW4pA==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true + }, + "node_modules/jsonlint-cli/node_modules/lodash": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.6.1.tgz", + "integrity": "sha512-85DFrB4TYPwVZbZw/HCGnmRUdDQOxGJuDmSfZ9OQEESdFJ1NxlYLoQObfHJGr+UsWwmVQhwG2iPmUCi6+eKzUg==", + "dev": true + }, + "node_modules/jsonlint-cli/node_modules/minimatch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz", + "integrity": "sha512-ekKdP/98gMbw+JdQaHZlS5/irFw63ktA3FXHaal7TXkvdaUJ9M6BewwNyEujYzRsTirZGmEVDho+Gh8bfcpVxw==", + "deprecated": "Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue", + "dev": true, + "dependencies": { + "brace-expansion": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jsonlint-cli/node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "dev": true, + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/JSV": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz", + "integrity": "sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c= sha512-ZJ6wx9xaKJ3yFUhq5/sk82PJMuUyLk277I8mQeyDgCTjGdjWJIvPfaU5LIXaMuaN2UO1X3kZH4+lgphublZUHw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "dev": true, + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "node_modules/jszip/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/jszip/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/jszip/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "node_modules/lazystream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/lazystream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/lazystream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dev": true, + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= sha512-8ZmlJFVK9iCmtLz19HpSsR8HaAMWBT284VMNednLwlIMDP2hJDCIhUp0IZ2xUcZ+Ob6BM0VvCSJwzASDM45NLQ==", + "dev": true + }, + "node_modules/lint-staged": { + "version": "10.0.7", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.0.7.tgz", + "integrity": "sha512-Byj0F4l7GYUpYYHEqyFH69NiI6ICTg0CeCKbhRorL+ickbzILKUlZLiyCkljZV02wnoh7yH7PmFyYm9PRNwk9g==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "commander": "^4.0.1", + "cosmiconfig": "^6.0.0", + "debug": "^4.1.1", + "dedent": "^0.7.0", + "execa": "^3.4.0", + "listr": "^0.14.3", + "log-symbols": "^3.0.0", + "micromatch": "^4.0.2", + "normalize-path": "^3.0.0", + "please-upgrade-node": "^3.2.0", + "string-argv": "0.3.1", + "stringify-object": "^3.3.0" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" + } + }, + "node_modules/lint-staged/node_modules/ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "dependencies": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lint-staged/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/lint-staged/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/lint-staged/node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "node_modules/lint-staged/node_modules/execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": "^8.12.0 || >=9.7.0" + } + }, + "node_modules/lint-staged/node_modules/get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lint-staged/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/lint-staged/node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/lint-staged/node_modules/supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/listenercount": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", + "integrity": "sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==", + "dev": true + }, + "node_modules/listr": { + "version": "0.14.3", + "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz", + "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==", + "dev": true, + "dependencies": { + "@samverschueren/stream-to-observable": "^0.3.0", + "is-observable": "^1.1.0", + "is-promise": "^2.1.0", + "is-stream": "^1.1.0", + "listr-silent-renderer": "^1.1.1", + "listr-update-renderer": "^0.5.0", + "listr-verbose-renderer": "^0.5.0", + "p-map": "^2.0.0", + "rxjs": "^6.3.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/listr-silent-renderer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", + "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4= sha512-L26cIFm7/oZeSNVhWB6faeorXhMg4HNlb/dS/7jHhr708jxlXrtrBWo4YUxZQkc6dGoxEAe6J/D3juTRBUzjtA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/listr-update-renderer": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz", + "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "cli-truncate": "^0.2.1", + "elegant-spinner": "^1.0.1", + "figures": "^1.7.0", + "indent-string": "^3.0.0", + "log-symbols": "^1.0.2", + "log-update": "^2.3.0", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "listr": "^0.14.2" + } + }, + "node_modules/listr-update-renderer/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8= sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/listr-update-renderer/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/listr-update-renderer/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/listr-update-renderer/node_modules/log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg= sha512-mmPrW0Fh2fxOzdBbFv4g1m6pR72haFLPJ2G5SJEELf1y+iaQrDG6cWCPjy54RHYbZAt7X+ls690Kw62AdWXBzQ==", + "dev": true, + "dependencies": { + "chalk": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/listr-update-renderer/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/listr-update-renderer/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/listr-verbose-renderer": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz", + "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "cli-cursor": "^2.1.0", + "date-fns": "^1.27.2", + "figures": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/listr-verbose-renderer/node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/listr/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ= sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/load-json-file/node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "dev": true, + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/load-json-file/node_modules/strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", + "dev": true, + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==", + "dev": true + }, + "node_modules/lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==", + "dev": true + }, + "node_modules/lodash.escaperegexp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", + "integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==", + "dev": true + }, + "node_modules/lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==", + "dev": true + }, + "node_modules/lodash.groupby": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.groupby/-/lodash.groupby-4.6.0.tgz", + "integrity": "sha512-5dcWxm23+VAoz+awKmBaiBvzox8+RqMgFhi7UvX9DHZr2HdxHXM/Wrf8cfKpsW37RNrvtPn6hSwNqurSILbmJw==", + "dev": true + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "dev": true + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "dev": true + }, + "node_modules/lodash.isfunction": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", + "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", + "dev": true + }, + "node_modules/lodash.isnil": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/lodash.isnil/-/lodash.isnil-4.0.0.tgz", + "integrity": "sha512-up2Mzq3545mwVnMhTDMdfoG1OurpA/s5t88JmQX809eH3C8491iu2sfKhTfhQtKY78oPNhiaHJUpT/dUDAAtng==", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, + "node_modules/lodash.isundefined": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash.isundefined/-/lodash.isundefined-3.0.1.tgz", + "integrity": "sha512-MXB1is3s899/cD8jheYYE2V9qTHwKvt+npCwpD+1Sxm3Q3cECXCiYHjeHWXNwr6Q0SOBPrYUDxendrO6goVTEA==", + "dev": true + }, + "node_modules/lodash.union": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", + "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==", + "dev": true + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-update": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", + "integrity": "sha1-iDKP19HOeTiykoN0bwsbwSayRwg= sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^3.0.0", + "cli-cursor": "^2.0.0", + "wrap-ansi": "^3.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/loglevel": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.3.tgz", + "integrity": "sha512-LoEDv5pgpvWgPF4kNYuIp0qqSJVWak/dML0RY74xlzMZiT9w77teNAwKYKWBTYjlokMirg+o3jBwp+vlLrcfAA==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==", + "dev": true, + "dependencies": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", + "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA==", + "dev": true, + "dependencies": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/micromatch": { + "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.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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "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" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA==", + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "dev": true, + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mkdirp/node_modules/minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q==", + "dev": true + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "dev": true, + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "dev": true + }, + "node_modules/nomnom": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.5.3.tgz", + "integrity": "sha512-nUscgRAa6iMYF9izbt6fiE5hC0j8pqqnaSooh1txcyYgwys2F4ZxWcSFbc9NxkDsmUbal/NmIIzxKDqE5snLUA==", + "deprecated": "Package no longer supported. Contact support@npmjs.com for more info.", + "dependencies": { + "colors": "0.5.x", + "underscore": "1.1.x" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/omni-fetch": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/omni-fetch/-/omni-fetch-0.1.0.tgz", + "integrity": "sha512-bY1kgVbdKBo/hWwHXSwPvDtnygcyA7WOTEK9GhRl0YdzoorHinMBlza5DuZnD+u7E7jV3BP0TYyJO2TR2zL8Yg==", + "dev": true, + "dependencies": { + "caw": "^1.2.0" + }, + "peerDependencies": { + "isomorphic-fetch": "^2" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E= sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "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/opencollective-postinstall": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz", + "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==", + "dev": true, + "bin": { + "opencollective-postinstall": "index.js" + } + }, + "node_modules/p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18= sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw= sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA= sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o= sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "dependencies": { + "semver-compare": "^1.0.0" + } + }, + "node_modules/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/prompts": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.0.tgz", + "integrity": "sha512-NfbbPPg/74fT7wk2XYQ7hAIp9zJyZp5Fu19iRbORqqy1BhtrkZ0fPafBU+7bmn8ie69DpT0R6QpJIN2oisYjJg==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pure-rand": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", + "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", + "dev": true, + "dependencies": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", + "dev": true, + "dependencies": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", + "dev": true, + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "dev": true, + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg/node_modules/path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdir-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "dev": true, + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/readdir-glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g==", + "dev": true, + "dependencies": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/redent/node_modules/indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg==", + "dev": true, + "dependencies": { + "repeating": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==", + "dev": true, + "dependencies": { + "is-finite": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I= sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368= sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "dev": true, + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/restore-cursor/node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/restore-cursor/node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/rimraf": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.1.tgz", + "integrity": "sha512-IQ4ikL8SjBiEDZfk+DFVwqRK8md24RWMEJkdSlgNLkyyAImcjf8SWvU1qFMDOb4igBClbTQ/ugPqXcRwdFTxZw==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rxjs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.1.tgz", + "integrity": "sha512-y0j31WJc83wPu31vS1VlAFW5JGrnGC+j+TtGAa1fRQphy48+fDYiDmX8tjGloToEsMkxnouOg/1IzXGKkJnZMg==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "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/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w= sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true + }, + "node_modules/semver-regex": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.4.tgz", + "integrity": "sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dev": true, + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/shelljs.exec": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/shelljs.exec/-/shelljs.exec-1.1.8.tgz", + "integrity": "sha512-vFILCw+lzUtiwBAHV8/Ex8JsFjelFMdhONIsgKNLgTzeRckp2AOYRQtHJE/9LhNvdMmE27AGtzWx0+DHpwIwSw==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.4.tgz", + "integrity": "sha512-/ekMoM4NJ59ivGSfKapeG+FWtrmWvA1p6FBZwXrqojw90vJu8lBmrTxCMuBCydKtkaUe2zt4PlxeTKpjwMbyig==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU= sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", + "dev": true + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-argv": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", + "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", + "dev": true, + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-math": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/string-math/-/string-math-1.2.2.tgz", + "integrity": "sha512-rfRZpMZbIy+0pepaW8iDCR+iW+GONxyi0jXfdyW4MgpFATH/Vlz+d3vt8UMu/a1RjA9xiejBDFayvTXzs/ROTw==" + }, + "node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8= sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==", + "dev": true, + "dependencies": { + "get-stdin": "^4.0.1" + }, + "bin": { + "strip-indent": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-indent/node_modules/get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/traverse": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", + "integrity": "sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-node/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "dev": true + }, + "node_modules/tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha512-e0IoVDWx8SDHc/hwFTqJDQ7CCDTEeGhmcT9jkWJjoGQSpgBz20nAMr80E3Tpk7PatJ1b37DQDgJR3CNSzcMOZQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/underscore": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz", + "integrity": "sha512-w4QtCHoLBXw1mjofIDoMyexaEdWGMedWNDhlWTtT1V1lCRqi65Pnoygkh6+WRdr+Bm8ldkBNkNeCsXGMlQS9HQ==", + "engines": { + "node": "*" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unzipper": { + "version": "0.10.14", + "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.14.tgz", + "integrity": "sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g==", + "dev": true, + "dependencies": { + "big-integer": "^1.6.17", + "binary": "~0.3.0", + "bluebird": "~3.4.1", + "buffer-indexof-polyfill": "~1.0.0", + "duplexer2": "~0.1.4", + "fstream": "^1.0.12", + "graceful-fs": "^4.2.2", + "listenercount": "~1.0.1", + "readable-stream": "~2.3.6", + "setimmediate": "~1.0.4" + } + }, + "node_modules/unzipper/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/unzipper/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/unzipper/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, + "node_modules/v8-to-istanbul": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz", + "integrity": "sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.0.tgz", + "integrity": "sha512-EqPmREeOzttaLRm5HS7io98goBgZ7IVz79aDvqjD0kYXLtFZTc0T/U6wHTPKyIjb+MdN7DFIIX6hgdBEpWmfPA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.6.19", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.19.tgz", + "integrity": "sha512-d67JP4dHSbm2TrpFj8AbO8DnL1JXL5J9u0Kq2xW6d0TFDbCA3Muhdt8orXC22utleTVj7Prqt82baN6RBvnEgw==", + "dev": true + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-pm-runs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", + "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= sha512-SIqZVnlKPt/s5tOArosKIvGC1bwpoj6w5Q3SmimaVOOU8YFsjuMvvZO1MbKCbO8D6VV0XkROC8jrXJNYa1xBDA==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", + "integrity": "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo= sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==", + "dev": true, + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8= sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "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==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zip-stream": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz", + "integrity": "sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==", + "dev": true, + "dependencies": { + "archiver-utils": "^3.0.4", + "compress-commons": "^4.1.2", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/zip-stream/node_modules/archiver-utils": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-3.0.4.tgz", + "integrity": "sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==", + "dev": true, + "dependencies": { + "glob": "^7.2.3", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + } + } +} diff --git a/package.json b/package.json index 7269edfbb..a18920599 100644 --- a/package.json +++ b/package.json @@ -1,30 +1,32 @@ { - "name": "xwing-data2", - "version": "2.5.3", - "repository": "git@github.com:guidokessels/xwing-data2.git", + "name": "xwing-data2-legacy", + "version": "3.9.1", + "repository": "git@github.com:SogeMoge/xwing-data2-legacy.git", "author": "Guido Kessels ", + "maintainer": "Artem Kropachev @SogeMoge", "license": "MIT", "scripts": { "validate:json": "jsonlint-cli data/**/*.json", "validate:tests": "jest tests/**.test.js", "validate:tests:watch": "jest --watch tests/**.test.js", "format": "prettier --loglevel warn --write \"data/**/*.json\"", - "changelog": "git log --pretty=format:'- %s (%h)' --no-merges", - "ffg2xws": "node scripts/ffg2xws.js && prettier --write data/ffg-xws.json", - "hyperspace": "node scripts/hyperspace.js && yarn format", - "ffgscrape": "node scripts/ffgscrape.js && node scripts/ffgprocess.js && node scripts/ffgtranslations.js && yarn format" + "changelog": "git log --pretty=format:'- %s (%h)' --no-merges" }, "devDependencies": { + "@types/node": "^17.0.21", + "exceljs": "^4.3", "git-diff": "^2.0.6", "husky": "^4.2.1", - "jest": "^25.1.0", + "jest": "^29.3.1", "jest-json-schema": "^2.1.0", "json-stable-stringify": "^1.0.1", "jsonfile": "^5.0.0", "jsonlint-cli": "^1.0.1", "lint-staged": "^10.0.7", "node-fetch": "^3.1.1", - "prettier": "^1.19.1" + "prettier": "^1.19.1", + "ts-node": "^10.5.0", + "typescript": "^4.5.5" }, "lint-staged": { "*.{js,json}": [ @@ -40,6 +42,9 @@ "printWidth": 80 }, "dependencies": { + "core-js": "^3.33.0", + "lodash": "^4.17.21", + "nomnom": "^1.5.3", "string-math": "^1.2.2" } -} +} \ No newline at end of file diff --git a/scripts/updatePilotImages.py b/scripts/updatePilotImages.py new file mode 100644 index 000000000..af7e78d94 --- /dev/null +++ b/scripts/updatePilotImages.py @@ -0,0 +1,143 @@ +import json +from pathlib import Path + + +def process_json_files_in_directory( + directory: str, card_type: str, card_object: str +) -> None: + """ + Processes JSON files in the specified directory, updates the 'image' field + for each card in card_object, and writes the updated data back to the file. + + Args: + directory (str): The directory to search for JSON files. + card_type (str): The card type to include in the image URL. + card_object (str): The key in the JSON file with list of cards. + """ + directory_path = Path(directory) + + # Iterate over all JSON files in the directory and its subdirectories + for file_path in directory_path.rglob("*.json"): + try: + # Open and load the JSON file + with file_path.open("r", encoding="utf-8") as json_file: + data = json.load(json_file) + + if isinstance(data, list): + # Handle JSON data as a list of dictionaries + for item in data: + if ( + isinstance(item, dict) + and isinstance(item.get(card_object), list) + and len(item[card_object]) == 1 + ): + for card in item[card_object]: + if isinstance(card, dict): + + # Update the 'image' field + if ( + "image" not in card + and "artwork" not in card + ): + card_xws = item["xws"] + print( + f"{card_xws} is a SL upgrade " + f":{file_path}" + ) + + else: + card["image"] = build_image_url( + card_type, item["xws"] + ) + card["artwork"] = build_artwork_url( + card_type, item["xws"] + ) + elif ( + isinstance(item, dict) + and isinstance(item.get(card_object), list) + and len(item[card_object]) == 2 + ): + card_xws = item["xws"] + print(f"{card_xws} has two sides " f":{file_path}") + # image_xws = item["xws"] + # sideb_xws = item["xws"] + "-sideb" + # item[card_object][0]["image"] = build_image_url( + # card_type, image_xws + # ) + # item[card_object][0]["artwork"] = build_artwork_url( + # card_type, image_xws + # ) + # item[card_object][1]["image"] = build_image_url( + # card_type, sideb_xws + # ) + # item[card_object][1]["artwork"] = build_artwork_url( + # card_type, sideb_xws + # ) + + elif isinstance(data, dict): + # Handle JSON data as a dictionary + if card_object in data and isinstance(data[card_object], list): + for card in data[card_object]: + if isinstance(card, dict): + # Update the 'image' field + card["image"] = build_image_url( + card_type, card["xws"] + ) + + card["artwork"] = build_artwork_url( + card_type, card["xws"] + ) + + else: + # Skip files with unsupported JSON structures + print(f"Skipped {file_path} - Unsupported JSON structure") + + # Write the updated data back to the file + with file_path.open("w", encoding="utf-8") as json_file: + json.dump(data, json_file, ensure_ascii=False, indent=2) + print(f"Updated {file_path}") + + except (IOError, json.JSONDecodeError) as e: + # Handle file I/O and JSON decoding errors + print(f"Failed to process {file_path}: {e}") + + +def build_image_url(card_type: str, xws: str) -> str: + """ + Constructs the URL for the image based on card type and xws value. + + Args: + card_type (str): The type of card (e.g., "pilots", "upgrades"). + xws (str): The xws identifier for the card. + + Returns: + str: The constructed image URL. + """ + base_url = ( + "https://raw.githubusercontent.com/SogeMoge/" + "x-wing2.0-project-goldenrod/2.0-legacy/src/images/En" + ) + return f"{base_url}/{card_type}/{xws}.png" + + +def build_artwork_url(card_type: str, xws: str) -> str: + """ + Constructs the URL for the artwork based on card type and xws value. + + Args: + card_type (str): The type of card (e.g., "pilots", "upgrades"). + xws (str): The xws identifier for the card. + + Returns: + str: The constructed image URL. + """ + base_url = ( + "https://raw.githubusercontent.com/SogeMoge/" + "x-wing2.0-project-goldenrod/2.0-legacy/src/images/Art" + ) + return f"{base_url}/{card_type}/{xws}.png" + + +# Example usage +process_json_files_in_directory(r".\data\upgrades", "upgrades", "sides") +process_json_files_in_directory(r".\data\pilots", "pilots", "pilots") diff --git a/tests/helpers/data.js b/tests/helpers/data.js index 2db61e743..e6d1721bc 100644 --- a/tests/helpers/data.js +++ b/tests/helpers/data.js @@ -4,17 +4,22 @@ const loadedData = {}; const mapSlotXWSToName = { astromech: "Astromech", cannon: "Cannon", + cargo: "Cargo", + command: "Command", configuration: "Configuration", crew: "Crew", device: "Device", "force-power": "Force Power", gunner: "Gunner", + hardpoint: "Hardpoint", + hyperdrive: "Hyperdrive", illicit: "Illicit", missile: "Missile", modification: "Modification", sensor: "Sensor", "tactical-relay": "Tactical Relay", talent: "Talent", + team: "Team", tech: "Tech", title: "Title", torpedo: "Torpedo", diff --git a/tests/helpers/keywords.js b/tests/helpers/keywords.js index 95983a22d..3c0b7b75f 100644 --- a/tests/helpers/keywords.js +++ b/tests/helpers/keywords.js @@ -66,7 +66,8 @@ const MISC = [ "Force", "Hit", "Shield", - "Energy" + "Energy", + "Ordnance" ]; const SIZES = ["Small", "Large", "Medium"]; diff --git a/tests/schemas/pilot.schema.json b/tests/schemas/pilot.schema.json index 705259f3d..ecccfd1cb 100644 --- a/tests/schemas/pilot.schema.json +++ b/tests/schemas/pilot.schema.json @@ -9,6 +9,13 @@ "xws": { "type": "string", "pattern": "^[a-z0-9-]+$" }, "ability": { "type": "string" }, "text": { "type": "string" }, + "standardLoadout": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[a-z0-9-]+$" + } + }, "conditions": { "type": "array", "items": { @@ -56,6 +63,7 @@ "Force Power", "Gunner", "Hardpoint", + "Hyperdrive", "Illicit", "Missile", "Modification", @@ -89,6 +97,7 @@ "Sith", "Spectre", "TIE", + "Wookiee", "X-wing", "Y-wing", "YT-1300" @@ -97,8 +106,6 @@ }, "image": { "type": "string" }, "artwork": { "type": "string" }, - "ffg": { "type": "integer" }, - "hyperspace": { "type": "boolean" }, "alt": { "type": "array", "minItems": 1, @@ -112,6 +119,9 @@ "additionalProperties": false } }, + "standard": { "type": "boolean" }, + "wildspace": { "type": "boolean" }, + "epic": { "type": "boolean" }, "shipAbility": { "type": "object", "properties": { @@ -121,6 +131,75 @@ "required": ["name", "text"], "additionalProperties": false }, +"shipStats": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["agility", "hull", "shields"] + }, + "value": { + "type": "integer", + "minimum": 0 + } + }, + "required": ["type", "value"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["agility", "hull", "shields", "energy"] + }, + "value": { + "type": "integer", + "minimum": 0 + }, + "recovers": { + "type": "integer", + "minimum": 0 + } + }, + "required": ["type", "value", "recovers"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["attack"] + }, + "arc": { + "type": "string", + "enum": [ + "Double Turret Arc", + "Full Front Arc", + "Front Arc", + "Bullseye Arc", + "Single Turret Arc", + "Rear Arc", + "Left Arc", + "Right Arc" + ] + }, + "value": { + "type": "integer", + "minimum": 1 + } + }, + "required": ["type", "value", "arc"], + "additionalProperties": false + } + ] + } + }, "shipActions": { "type": "array", "items": { @@ -181,6 +260,10 @@ } } }, - "required": ["name", "hyperspace"], + "required": ["name", "standard", "wildspace", "epic"], + "oneOf": [ + {"required": ["slots"]}, + {"required": ["standardLoadout"]} + ], "additionalProperties": false } diff --git a/tests/schemas/quick-build.schema.json b/tests/schemas/quick-build.schema.json index 46e6e3c93..f5a3c4924 100644 --- a/tests/schemas/quick-build.schema.json +++ b/tests/schemas/quick-build.schema.json @@ -6,7 +6,7 @@ "threat": { "type": "integer", "minimum": 1, - "maximum": 6 + "maximum": 10 }, "pilots": { "type": "array", @@ -21,7 +21,7 @@ "type": "object", "additionalProperties": false, "patternProperties": { - "^(astromech|cannon|configuration|crew|device|force-power|gunner|illicit|missile|modification|sensor|tactical-relay|talent|tech|title|torpedo|turret)$": { + "^(astromech|cannon|configuration|crew|device|force-power|gunner|illicit|missile|modification|sensor|tactical-relay|talent|tech|title|torpedo|turret|command|hardpoint|team|cargo|hyperdrive)$": { "type": "array", "minLength": 1, "items": { "type": "string", "pattern": "^[a-z0-9-]+$" } diff --git a/tests/schemas/ship.schema.json b/tests/schemas/ship.schema.json index 4b9ad013a..6cb3c558d 100644 --- a/tests/schemas/ship.schema.json +++ b/tests/schemas/ship.schema.json @@ -2,18 +2,17 @@ "properties": { "name": { "type": "string" }, "xws": { "type": "string", "pattern": "^[a-z0-9-]+$" }, - "ffg": { "type": "integer", "minimum": 0 }, "cost": { "type": "integer", "minimum": 0 }, "faction": { "type": "string", "enum": [ - "Rebel Alliance", - "Galactic Empire", - "Scum and Villainy", - "Resistance", - "First Order", - "Galactic Republic", - "Separatist Alliance" + "rebelalliance", + "galacticempire", + "scumandvillainy", + "resistance", + "firstorder", + "galacticrepublic", + "separatistalliance" ] }, "icon": { "type": "string" }, diff --git a/tests/schemas/upgrade.schema.json b/tests/schemas/upgrade.schema.json index ba7b768a0..50252a5ab 100644 --- a/tests/schemas/upgrade.schema.json +++ b/tests/schemas/upgrade.schema.json @@ -9,7 +9,15 @@ "additionalProperties": false, "description": "Points cost", "properties": { - "value": { "type": "integer", "minimum": 0 } + "value": { "type": "string" } + } + }, + { + "type": "object", + "additionalProperties": false, + "description": "Points cost", + "properties": { + "value": { "type": "integer"} } }, { @@ -73,7 +81,10 @@ ] }, "xws": { "type": "string", "pattern": "^[a-z0-9-]+$" }, - "hyperspace": { "type": "boolean" }, + "standard": { "type": "boolean" }, + "wildspace": { "type": "boolean" }, + "epic": { "type": "boolean" }, + "standardLoadoutOnly": { "type": "boolean" }, "restrictions": { "type": "array", "items": { @@ -87,13 +98,13 @@ "items": { "type": "string", "enum": [ - "Rebel Alliance", - "Galactic Empire", - "Scum and Villainy", - "Resistance", - "First Order", - "Galactic Republic", - "Separatist Alliance" + "rebelalliance", + "galacticempire", + "scumandvillainy", + "resistance", + "firstorder", + "galacticrepublic", + "separatistalliance" ] } }, @@ -123,6 +134,31 @@ "enum": ["light", "dark"] } }, + "keywords": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "A-wing", + "B-wing", + "Bounty Hunter", + "Clone", + "Dark Side", + "Droid", + "Freighter", + "Jedi", + "Light Side", + "Mandalorian", + "Partisan", + "Sith", + "Spectre", + "TIE", + "X-wing", + "Y-wing", + "YT-1300" + ] + } + }, "names": { "type": "array", "minItems": 1, @@ -192,6 +228,7 @@ "starviperclassattackplatform", "scurrgh6bomber", "yt2400lightfreighter", + "yt2400lightfreighter2023", "auzituckgunship", "kihraxzfighter", "sheathipedeclassshuttle", @@ -256,7 +293,17 @@ "tiewiwhispermodifiedinterceptor", "tiesebomber", "btanr2ywing", - "tridentclassassaultship" + "st70assaultship", + "gauntletfighter", + "tridentclassassaultship", + "raiderclasscorvette", + "gozanticlasscruiser", + "gr75mediumtransport", + "croccruiser", + "cr90corelliancorvette", + "fireball", + "rogueclassstarfighter", + "syliureclasshyperspacering" ] } }, @@ -276,6 +323,7 @@ "Force Power", "Gunner", "Hardpoint", + "Hyperdrive", "Illicit", "Missile", "Modification", @@ -289,6 +337,14 @@ "Turret" ] } + }, + "agility": { + "type": "array", + "minItems": 1, + "items": { + "type": "number", + "enum": [0, 1, 2, 3] + } } } } @@ -317,6 +373,7 @@ "Force Power", "Gunner", "Hardpoint", + "Hyperdrive", "Illicit", "Missile", "Modification", @@ -346,6 +403,7 @@ "Force Power", "Gunner", "Hardpoint", + "Hyperdrive", "Illicit", "Missile", "Modification", @@ -362,7 +420,6 @@ }, "image": { "type": "string" }, "artwork": { "type": "string" }, - "ffg": { "type": "integer" }, "attack": { "type": "object", "additionalProperties": false, @@ -422,11 +479,21 @@ "enum": ["Bomb", "Mine", "Obstacle", "Remote"] }, "effect": { "type": "string" }, + "text": { "type": "string" }, "initiative": { "type": "integer", "minimum": 0, "maximum": 6 }, + "charges": { + "type": "object", + "properties": { + "value": { "type": "integer", "minimum": 0 }, + "recovers": { "type": "integer", "minimum": -1, "maximum": 2 } + }, + "required": ["value", "recovers"], + "additionalProperties": false + }, "stats": { "type": "array", "items": { @@ -467,6 +534,17 @@ "value": { "type": "integer", "minimum": 1 + }, + "ordnance": { + "type": "boolean" + }, + "minrange": { + "type": "integer", + "minimum": 0 + }, + "maxrange": { + "type": "integer", + "minimum": 0 } }, "required": ["type", "value", "arc"], @@ -478,13 +556,13 @@ "image": { "type": "string" }, "artwork": { "type": "string" } }, - "required": ["name", "type", "effect"], + "required": ["name", "type"], "additionalProperties": false } } } } }, - "required": ["name", "hyperspace", "limited", "sides"], + "required": ["name", "standard", "wildspace", "epic", "limited", "sides"], "additionalProperties": false } diff --git a/yarn.lock b/yarn.lock index 09ea65272..649a0e0cc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,165 +2,336 @@ # yarn lockfile v1 -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" - integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g== +"@ampproject/remapping@^2.2.0": + version "2.2.1" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== dependencies: - "@babel/highlight" "^7.8.3" + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" -"@babel/core@^7.1.0", "@babel/core@^7.7.5": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.4.tgz#d496799e5c12195b3602d0fddd77294e3e38e80e" - integrity sha512-0LiLrB2PwrVI+a2/IEskBopDYSd8BCb3rOvH7D5tzoWd696TBEduBvuLVm4Nx6rltrLZqvI3MCalB2K2aVzQjA== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/generator" "^7.8.4" - "@babel/helpers" "^7.8.4" - "@babel/parser" "^7.8.4" - "@babel/template" "^7.8.3" - "@babel/traverse" "^7.8.4" - "@babel/types" "^7.8.3" - convert-source-map "^1.7.0" +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.13": + version "7.22.13" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz" + integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== + dependencies: + "@babel/highlight" "^7.22.13" + chalk "^2.4.2" + +"@babel/compat-data@^7.22.9": + version "7.23.2" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz" + integrity sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ== + +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.8.0": + version "7.23.2" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz" + integrity sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.23.0" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-module-transforms" "^7.23.0" + "@babel/helpers" "^7.23.2" + "@babel/parser" "^7.23.0" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.2" + "@babel/types" "^7.23.0" + convert-source-map "^2.0.0" debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.0" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@^7.8.4": + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.23.0", "@babel/generator@^7.7.2": + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz" + integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g== + dependencies: + "@babel/types" "^7.23.0" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/helper-compilation-targets@^7.22.15": + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz" + integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw== + dependencies: + "@babel/compat-data" "^7.22.9" + "@babel/helper-validator-option" "^7.22.15" + browserslist "^4.21.9" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + +"@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-module-imports@^7.22.15": + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-module-transforms@^7.23.0": + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz" + integrity sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-string-parser@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz" + integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== + +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== + +"@babel/helper-validator-option@^7.22.15": + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz" + integrity sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA== + +"@babel/helpers@^7.23.2": + version "7.23.2" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz" + integrity sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ== + dependencies: + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.2" + "@babel/types" "^7.23.0" + +"@babel/highlight@^7.22.13": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz" + integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0": + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz" + integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== + +"@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.8.4.tgz#35bbc74486956fe4251829f9f6c48330e8d0985e" - integrity sha512-PwhclGdRpNAf3IxZb0YVuITPZmmrXz9zf6fH8lT4XbrmfQKr6ryBzhv593P5C6poJRciFCL/eHGW2NuGrgEyxA== + resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: - "@babel/types" "^7.8.3" - jsesc "^2.5.1" - lodash "^4.17.13" - source-map "^0.5.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/helper-function-name@^7.8.3": +"@babel/plugin-syntax-bigint@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz#eeeb665a01b1f11068e9fb86ad56a1cb1a824cca" - integrity sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA== + resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== dependencies: - "@babel/helper-get-function-arity" "^7.8.3" - "@babel/template" "^7.8.3" - "@babel/types" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/helper-get-function-arity@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5" - integrity sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA== +"@babel/plugin-syntax-class-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== dependencies: - "@babel/types" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670" - integrity sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ== +"@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/helper-split-export-declaration@^7.8.3": +"@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9" - integrity sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA== + resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== dependencies: - "@babel/types" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/helpers@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.8.4.tgz#754eb3ee727c165e0a240d6c207de7c455f36f73" - integrity sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w== +"@babel/plugin-syntax-jsx@^7.7.2": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz" + integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== dependencies: - "@babel/template" "^7.8.3" - "@babel/traverse" "^7.8.4" - "@babel/types" "^7.8.3" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/highlight@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797" - integrity sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg== +"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^4.0.0" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/parser@^7.1.0", "@babel/parser@^7.7.5", "@babel/parser@^7.8.3", "@babel/parser@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.4.tgz#d1dbe64691d60358a974295fa53da074dd2ce8e8" - integrity sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw== - -"@babel/plugin-syntax-bigint@^7.0.0": +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-object-rest-spread@^7.0.0": +"@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/runtime@^7.6.3": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.8.4.tgz#d79f5a2040f7caa24d53e563aad49cbc05581308" - integrity sha512-neAp3zt80trRVBI1x0azq6c57aNBqYZH8KhMm3TaB7wEI5Q4A2SHfBHE8w9gOhI/lrqxtEbXZgQIrHP+wvSGwQ== +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: - regenerator-runtime "^0.13.2" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/template@^7.7.4", "@babel/template@^7.8.3": +"@babel/plugin-syntax-optional-chaining@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.3.tgz#e02ad04fe262a657809327f578056ca15fd4d1b8" - integrity sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ== + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/parser" "^7.8.3" - "@babel/types" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/traverse@^7.1.0", "@babel/traverse@^7.7.4", "@babel/traverse@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.8.4.tgz#f0845822365f9d5b0e312ed3959d3f827f869e3c" - integrity sha512-NGLJPZwnVEyBPLI+bl9y9aSnxMhsKz42so7ApAv9D+b4vAFPpY013FTS9LdKxcABoIYFU52HcYga1pPlx454mg== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/generator" "^7.8.4" - "@babel/helper-function-name" "^7.8.3" - "@babel/helper-split-export-declaration" "^7.8.3" - "@babel/parser" "^7.8.4" - "@babel/types" "^7.8.3" +"@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.7.2": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz" + integrity sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/template@^7.22.15", "@babel/template@^7.3.3": + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz" + integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== + dependencies: + "@babel/code-frame" "^7.22.13" + "@babel/parser" "^7.22.15" + "@babel/types" "^7.22.15" + +"@babel/traverse@^7.23.2": + version "7.23.2" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz" + integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw== + dependencies: + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.23.0" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.23.0" + "@babel/types" "^7.23.0" debug "^4.1.0" globals "^11.1.0" - lodash "^4.17.13" -"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.3.tgz#5a383dffa5416db1b73dedffd311ffd0788fb31c" - integrity sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg== +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz" + integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== dependencies: - esutils "^2.0.2" - lodash "^4.17.13" + "@babel/helper-string-parser" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" "@bcoe/v8-coverage@^0.2.3": version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@cnakazawa/watch@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" - integrity sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@fast-csv/format@4.3.5": + version "4.3.5" + resolved "https://registry.npmjs.org/@fast-csv/format/-/format-4.3.5.tgz" + integrity sha512-8iRn6QF3I8Ak78lNAa+Gdl5MJJBM5vRHivFtMRUWINdevNo00K7OXxS2PshawLKTejVwieIlPmK5YlLu6w4u8A== + dependencies: + "@types/node" "^14.0.1" + lodash.escaperegexp "^4.1.2" + lodash.isboolean "^3.0.3" + lodash.isequal "^4.5.0" + lodash.isfunction "^3.0.9" + lodash.isnil "^4.0.0" + +"@fast-csv/parse@4.3.6": + version "4.3.6" + resolved "https://registry.npmjs.org/@fast-csv/parse/-/parse-4.3.6.tgz" + integrity sha512-uRsLYksqpbDmWaSmzvJcuApSEe38+6NQZBUsuAyMZKqHxH0g1wcJgsKUvN3WC8tewaqFjBMMGrkHmC+T7k8LvA== + dependencies: + "@types/node" "^14.0.1" + lodash.escaperegexp "^4.1.2" + lodash.groupby "^4.6.0" + lodash.isfunction "^3.0.9" + lodash.isnil "^4.0.0" + lodash.isundefined "^3.0.1" + lodash.uniq "^4.5.0" "@istanbuljs/load-nyc-config@^1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.0.0.tgz#10602de5570baea82f8afbfa2630b24e7a8cfe5b" + resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.0.0.tgz" integrity sha512-ZR0rq/f/E4f4XcgnDvtMWXCUJpi8eO0rssVhmztsZqLIEFA9UUP9zmpE0VxlM+kv/E1ul2I876Fwil2ayptDVg== dependencies: camelcase "^5.3.1" @@ -170,212 +341,317 @@ "@istanbuljs/schema@^0.1.2": version "0.1.2" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" + resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz" integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== -"@jest/console@^25.1.0": - version "25.1.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-25.1.0.tgz#1fc765d44a1e11aec5029c08e798246bd37075ab" - integrity sha512-3P1DpqAMK/L07ag/Y9/Jup5iDEG9P4pRAuZiMQnU0JB3UOvCyYCjCoxr7sIA80SeyUCUKrr24fKAxVpmBgQonA== +"@jest/console@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz" + integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== dependencies: - "@jest/source-map" "^25.1.0" - chalk "^3.0.0" - jest-util "^25.1.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" slash "^3.0.0" -"@jest/core@^25.1.0": - version "25.1.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-25.1.0.tgz#3d4634fc3348bb2d7532915d67781cdac0869e47" - integrity sha512-iz05+NmwCmZRzMXvMo6KFipW7nzhbpEawrKrkkdJzgytavPse0biEnCNr2wRlyCsp3SmKaEY+SGv7YWYQnIdig== - dependencies: - "@jest/console" "^25.1.0" - "@jest/reporters" "^25.1.0" - "@jest/test-result" "^25.1.0" - "@jest/transform" "^25.1.0" - "@jest/types" "^25.1.0" +"@jest/core@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz" + integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== + dependencies: + "@jest/console" "^29.7.0" + "@jest/reporters" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" ansi-escapes "^4.2.1" - chalk "^3.0.0" + chalk "^4.0.0" + ci-info "^3.2.0" exit "^0.1.2" - graceful-fs "^4.2.3" - jest-changed-files "^25.1.0" - jest-config "^25.1.0" - jest-haste-map "^25.1.0" - jest-message-util "^25.1.0" - jest-regex-util "^25.1.0" - jest-resolve "^25.1.0" - jest-resolve-dependencies "^25.1.0" - jest-runner "^25.1.0" - jest-runtime "^25.1.0" - jest-snapshot "^25.1.0" - jest-util "^25.1.0" - jest-validate "^25.1.0" - jest-watcher "^25.1.0" - micromatch "^4.0.2" - p-each-series "^2.1.0" - realpath-native "^1.1.0" - rimraf "^3.0.0" + graceful-fs "^4.2.9" + jest-changed-files "^29.7.0" + jest-config "^29.7.0" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-resolve-dependencies "^29.7.0" + jest-runner "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + jest-watcher "^29.7.0" + micromatch "^4.0.4" + pretty-format "^29.7.0" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^25.1.0": - version "25.1.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-25.1.0.tgz#4a97f64770c9d075f5d2b662b5169207f0a3f787" - integrity sha512-cTpUtsjU4cum53VqBDlcW0E4KbQF03Cn0jckGPW/5rrE9tb+porD3+hhLtHAwhthsqfyF+bizyodTlsRA++sHg== - dependencies: - "@jest/fake-timers" "^25.1.0" - "@jest/types" "^25.1.0" - jest-mock "^25.1.0" - -"@jest/fake-timers@^25.1.0": - version "25.1.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-25.1.0.tgz#a1e0eff51ffdbb13ee81f35b52e0c1c11a350ce8" - integrity sha512-Eu3dysBzSAO1lD7cylZd/CVKdZZ1/43SF35iYBNV1Lvvn2Undp3Grwsv8PrzvbLhqwRzDd4zxrY4gsiHc+wygQ== - dependencies: - "@jest/types" "^25.1.0" - jest-message-util "^25.1.0" - jest-mock "^25.1.0" - jest-util "^25.1.0" - lolex "^5.0.0" - -"@jest/reporters@^25.1.0": - version "25.1.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-25.1.0.tgz#9178ecf136c48f125674ac328f82ddea46e482b0" - integrity sha512-ORLT7hq2acJQa8N+NKfs68ZtHFnJPxsGqmofxW7v7urVhzJvpKZG9M7FAcgh9Ee1ZbCteMrirHA3m5JfBtAaDg== +"@jest/environment@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz" + integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== + dependencies: + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + +"@jest/expect-utils@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz" + integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== + dependencies: + jest-get-type "^29.6.3" + +"@jest/expect@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz" + integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== + dependencies: + expect "^29.7.0" + jest-snapshot "^29.7.0" + +"@jest/fake-timers@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz" + integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== + dependencies: + "@jest/types" "^29.6.3" + "@sinonjs/fake-timers" "^10.0.2" + "@types/node" "*" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +"@jest/globals@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz" + integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/types" "^29.6.3" + jest-mock "^29.7.0" + +"@jest/reporters@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz" + integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^25.1.0" - "@jest/environment" "^25.1.0" - "@jest/test-result" "^25.1.0" - "@jest/transform" "^25.1.0" - "@jest/types" "^25.1.0" - chalk "^3.0.0" + "@jest/console" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + "@types/node" "*" + chalk "^4.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" - glob "^7.1.2" + glob "^7.1.3" + graceful-fs "^4.2.9" istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.0" + istanbul-lib-instrument "^6.0.0" istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.0" - jest-haste-map "^25.1.0" - jest-resolve "^25.1.0" - jest-runtime "^25.1.0" - jest-util "^25.1.0" - jest-worker "^25.1.0" + istanbul-reports "^3.1.3" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + jest-worker "^29.7.0" slash "^3.0.0" - source-map "^0.6.0" - string-length "^3.1.0" - terminal-link "^2.0.0" - v8-to-istanbul "^4.0.1" - optionalDependencies: - node-notifier "^6.0.0" + string-length "^4.0.1" + strip-ansi "^6.0.0" + v8-to-istanbul "^9.0.1" + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" -"@jest/source-map@^25.1.0": - version "25.1.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-25.1.0.tgz#b012e6c469ccdbc379413f5c1b1ffb7ba7034fb0" - integrity sha512-ohf2iKT0xnLWcIUhL6U6QN+CwFWf9XnrM2a6ybL9NXxJjgYijjLSitkYHIdzkd8wFliH73qj/+epIpTiWjRtAA== +"@jest/source-map@^29.6.3": + version "29.6.3" + resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz" + integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== dependencies: + "@jridgewell/trace-mapping" "^0.3.18" callsites "^3.0.0" - graceful-fs "^4.2.3" - source-map "^0.6.0" + graceful-fs "^4.2.9" -"@jest/test-result@^25.1.0": - version "25.1.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-25.1.0.tgz#847af2972c1df9822a8200457e64be4ff62821f7" - integrity sha512-FZzSo36h++U93vNWZ0KgvlNuZ9pnDnztvaM7P/UcTx87aPDotG18bXifkf1Ji44B7k/eIatmMzkBapnAzjkJkg== +"@jest/test-result@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz" + integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== dependencies: - "@jest/console" "^25.1.0" - "@jest/transform" "^25.1.0" - "@jest/types" "^25.1.0" + "@jest/console" "^29.7.0" + "@jest/types" "^29.6.3" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^25.1.0": - version "25.1.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-25.1.0.tgz#4df47208542f0065f356fcdb80026e3c042851ab" - integrity sha512-WgZLRgVr2b4l/7ED1J1RJQBOharxS11EFhmwDqknpknE0Pm87HLZVS2Asuuw+HQdfQvm2aXL2FvvBLxOD1D0iw== +"@jest/test-sequencer@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz" + integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== dependencies: - "@jest/test-result" "^25.1.0" - jest-haste-map "^25.1.0" - jest-runner "^25.1.0" - jest-runtime "^25.1.0" + "@jest/test-result" "^29.7.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + slash "^3.0.0" -"@jest/transform@^25.1.0": - version "25.1.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-25.1.0.tgz#221f354f512b4628d88ce776d5b9e601028ea9da" - integrity sha512-4ktrQ2TPREVeM+KxB4zskAT84SnmG1vaz4S+51aTefyqn3zocZUnliLLm5Fsl85I3p/kFPN4CRp1RElIfXGegQ== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^25.1.0" - babel-plugin-istanbul "^6.0.0" - chalk "^3.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.3" - jest-haste-map "^25.1.0" - jest-regex-util "^25.1.0" - jest-util "^25.1.0" - micromatch "^4.0.2" - pirates "^4.0.1" - realpath-native "^1.1.0" +"@jest/transform@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz" + integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== + dependencies: + "@babel/core" "^7.11.6" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^2.0.0" + fast-json-stable-stringify "^2.1.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + micromatch "^4.0.4" + pirates "^4.0.4" slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" + write-file-atomic "^4.0.2" "@jest/types@^24.9.0": version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" + resolved "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz" integrity sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw== dependencies: "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^1.1.1" "@types/yargs" "^13.0.0" -"@jest/types@^25.1.0": - version "25.1.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.1.0.tgz#b26831916f0d7c381e11dbb5e103a72aed1b4395" - integrity sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA== +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== dependencies: + "@jest/schemas" "^29.6.3" "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^15.0.0" - chalk "^3.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": + version "0.3.3" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": + version "3.1.1" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.19" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz" + integrity sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" "@samverschueren/stream-to-observable@^0.3.0": version "0.3.0" - resolved "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz#ecdf48d532c58ea477acfcab80348424f8d0662f" + resolved "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz" integrity sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg== dependencies: any-observable "^0.3.0" -"@sinonjs/commons@^1.7.0": - version "1.7.0" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.7.0.tgz#f90ffc52a2e519f018b13b6c4da03cbff36ebed6" - integrity sha512-qbk9AP+cZUsKdW1GJsBpxPKFmCJ0T8swwzVje3qFd+AkQb74Q/tiuzrdfFg8AD2g5HH/XbE/I8Uc1KYHVYWfhg== +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + +"@sinonjs/commons@^3.0.0": + version "3.0.0" + resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz" + integrity sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA== dependencies: type-detect "4.0.8" -"@types/babel__core@^7.1.0": - version "7.1.3" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.3.tgz#e441ea7df63cd080dfcd02ab199e6d16a735fc30" - integrity sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA== +"@sinonjs/fake-timers@^10.0.2": + version "10.3.0" + resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz" + integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" + "@sinonjs/commons" "^3.0.0" + +"@tsconfig/node10@^1.0.7": + version "1.0.9" + resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + +"@types/babel__core@^7.1.14": + version "7.20.2" + resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.2.tgz" + integrity sha512-pNpr1T1xLUc2l3xJKuPtsEky3ybxN3m4fJkknfIpTCTfIZCDW57oAg+EfCgIIp2rvCe0Wn++/FfodDS4YXxBwA== + dependencies: + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" "@types/babel__generator" "*" "@types/babel__template" "*" "@types/babel__traverse" "*" "@types/babel__generator@*": version "7.6.1" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.1.tgz#4901767b397e8711aeb99df8d396d7ba7b7f0e04" + resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz" integrity sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" + resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz" integrity sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg== dependencies: "@babel/parser" "^7.1.0" @@ -383,101 +659,102 @@ "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": version "7.0.8" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.8.tgz#479a4ee3e291a403a1096106013ec22cf9b64012" + resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.8.tgz" integrity sha512-yGeB2dHEdvxjP0y4UbRtQaSkXJ9649fYCmIdRoul5kfAoGCwxuCbMhag0k3RPfnuh9kPGm8x89btcfDEXdVWGw== dependencies: "@babel/types" "^7.3.0" "@types/color-name@^1.1.1": version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" + resolved "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz" integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== +"@types/graceful-fs@^4.1.3": + version "4.1.7" + resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.7.tgz" + integrity sha512-MhzcwU8aUygZroVwL2jeYk6JisJrPl/oov/gsgGCue9mkgl9wjGbzReYQClxiUgFDnib9FuHqTndccKeZKxTRw== + dependencies: + "@types/node" "*" + "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" + resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz" integrity sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg== "@types/istanbul-lib-report@*": version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^1.1.1": version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz#7a8cbf6a406f36c8add871625b278eaf0b0d255a" + resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz" integrity sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" +"@types/istanbul-reports@^3.0.0": + version "3.0.2" + resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.2.tgz" + integrity sha512-kv43F9eb3Lhj+lr/Hn6OcLCs/sSM8bt+fIaP11rCYngfV6NVjzWXJ17owQtDQTL9tQ8WSLUrGsSJ6rJz0F1w1A== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/node@*", "@types/node@^17.0.21": + version "17.0.45" + resolved "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz" + integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== + +"@types/node@^14.0.1": + version "14.18.63" + resolved "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz" + integrity sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ== + "@types/parse-json@^4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== -"@types/stack-utils@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" - integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== +"@types/stack-utils@^2.0.0": + version "2.0.1" + resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== "@types/yargs-parser@*": version "15.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" + resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz" integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== "@types/yargs@^13.0.0": version "13.0.8" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.8.tgz#a38c22def2f1c2068f8971acb3ea734eb3c64a99" + resolved "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.8.tgz" integrity sha512-XAvHLwG7UQ+8M4caKIH0ZozIOYay5fQkAgyIXegXT9jPtdIGdhga+sUEdAr1CiG46aB+c64xQEYyEzlwWVTNzA== dependencies: "@types/yargs-parser" "*" -"@types/yargs@^15.0.0": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.3.tgz#41453a0bc7ab393e995d1f5451455638edbd2baf" - integrity sha512-XCMQRK6kfpNBixHLyHUsGmXrpEmFFxzMrcnSXFMziHd8CoNJo8l16FkHyQq4x+xbM7E2XL83/O78OD8u+iZTdQ== +"@types/yargs@^17.0.8": + version "17.0.28" + resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.28.tgz" + integrity sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw== dependencies: "@types/yargs-parser" "*" -"JSV@>= 4.0.x": - version "4.0.2" - resolved "https://registry.yarnpkg.com/JSV/-/JSV-4.0.2.tgz#d077f6825571f82132f9dffaed587b4029feff57" - integrity sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c= +acorn-walk@^8.1.1: + version "8.2.0" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -abab@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f" - integrity sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w== +acorn@^8.4.1: + version "8.10.0" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz" + integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== -acorn-globals@^4.3.2: - version "4.3.4" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" - integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== - dependencies: - acorn "^6.0.1" - acorn-walk "^6.0.1" - -acorn-walk@^6.0.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913" - integrity sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw== - -acorn@^6.0.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" - integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== - -acorn@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c" - integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ== - -ajv@^6.10.2, ajv@^6.5.5: +ajv@^6.10.2: version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" @@ -487,372 +764,389 @@ ajv@^6.10.2, ajv@^6.5.5: ansi-escapes@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz" integrity sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw== ansi-escapes@^4.2.1: version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.0.tgz#a4ce2b33d6b214b7950d8595c212f12ac9cc569d" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz" integrity sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg== dependencies: type-fest "^0.8.1" ansi-regex@^2.0.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + version "3.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz" + integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== -ansi-regex@^4.0.0, ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== +ansi-regex@^4.0.0: + version "4.1.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz" + integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-styles@^2.2.1: version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" -ansi-styles@^4.0.0, ansi-styles@^4.1.0: +ansi-styles@^4.0.0: version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz" integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== dependencies: "@types/color-name" "^1.1.1" color-convert "^2.0.1" -ansi-styles@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" - integrity sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg= +ansi-styles@^4.1.0: + version "4.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz" + integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== + dependencies: + "@types/color-name" "^1.1.1" + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== any-observable@^0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b" + resolved "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz" integrity sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog== -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - anymatch@^3.0.3: version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz" integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" +archiver-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz" + integrity sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw== + dependencies: + glob "^7.1.4" + graceful-fs "^4.2.0" + lazystream "^1.0.0" + lodash.defaults "^4.2.0" + lodash.difference "^4.5.0" + lodash.flatten "^4.4.0" + lodash.isplainobject "^4.0.6" + lodash.union "^4.6.0" + normalize-path "^3.0.0" + readable-stream "^2.0.0" + +archiver-utils@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/archiver-utils/-/archiver-utils-3.0.4.tgz" + integrity sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw== + dependencies: + glob "^7.2.3" + graceful-fs "^4.2.0" + lazystream "^1.0.0" + lodash.defaults "^4.2.0" + lodash.difference "^4.5.0" + lodash.flatten "^4.4.0" + lodash.isplainobject "^4.0.6" + lodash.union "^4.6.0" + normalize-path "^3.0.0" + readable-stream "^3.6.0" + +archiver@^5.0.0: + version "5.3.2" + resolved "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz" + integrity sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw== + dependencies: + archiver-utils "^2.1.0" + async "^3.2.4" + buffer-crc32 "^0.2.1" + readable-stream "^3.6.0" + readdir-glob "^1.1.2" + tar-stream "^2.2.0" + zip-stream "^4.1.0" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + argparse@^1.0.7: version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" - integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= - array-find-index@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= + resolved "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz" + integrity sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw== array-union@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + resolved "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng== dependencies: array-uniq "^1.0.1" array-uniq@^1.0.1: version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + resolved "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== arrify@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - dependencies: - safer-buffer "~2.1.0" + resolved "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" + integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== +async@^3.2.4: + version "3.2.4" + resolved "https://registry.npmjs.org/async/-/async-3.2.4.tgz" + integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== async@~1.4.0: version "1.4.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.4.2.tgz#6c9edcb11ced4f0dd2f2d40db0d49a109c088aab" - integrity sha1-bJ7csRztTw3S8tQNsNSaEJwIiqs= - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" - integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== - -babel-jest@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-25.1.0.tgz#206093ac380a4b78c4404a05b3277391278f80fb" - integrity sha512-tz0VxUhhOE2y+g8R2oFrO/2VtVjA1lkJeavlhExuRBg3LdNJY9gwQ+Vcvqt9+cqy71MCTJhewvTB7Qtnnr9SWg== - dependencies: - "@jest/transform" "^25.1.0" - "@jest/types" "^25.1.0" - "@types/babel__core" "^7.1.0" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^25.1.0" - chalk "^3.0.0" + resolved "https://registry.npmjs.org/async/-/async-1.4.2.tgz" + integrity sha1-bJ7csRztTw3S8tQNsNSaEJwIiqs= sha512-O4fvy4JjdS0Q8MYH4jOODxJdXGbZ61eqfXdmfFDloHSnWoggxkn/+xWbh2eQbmQ6pJNliaravcTK1iQMpW9k4Q== + +babel-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz" + integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== + dependencies: + "@jest/transform" "^29.7.0" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^29.6.3" + chalk "^4.0.0" + graceful-fs "^4.2.9" slash "^3.0.0" -babel-plugin-istanbul@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" - integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@istanbuljs/load-nyc-config" "^1.0.0" "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^4.0.0" + istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.1.0.tgz#fb62d7b3b53eb36c97d1bc7fec2072f9bd115981" - integrity sha512-oIsopO41vW4YFZ9yNYoLQATnnN46lp+MZ6H4VvPKFkcc2/fkl3CfE/NZZSmnEIEsJRmJAgkVEK0R7Zbl50CpTw== +babel-plugin-jest-hoist@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz" + integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.1.14" "@types/babel__traverse" "^7.0.6" -babel-preset-jest@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-25.1.0.tgz#d0aebfebb2177a21cde710996fce8486d34f1d33" - integrity sha512-eCGn64olaqwUMaugXsTtGAM2I0QTahjEtnRu0ql8Ie+gDWAc1N6wqN0k2NilnyTunM69Pad7gJY7LOtwLimoFQ== - dependencies: - "@babel/plugin-syntax-bigint" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^25.1.0" +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + +babel-preset-jest@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz" + integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== + dependencies: + babel-plugin-jest-hoist "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" balanced-match@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +big-integer@^1.6.17: + version "1.6.51" + resolved "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz" + integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== + +binary@~0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz" + integrity sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg== dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" + buffers "~0.1.1" + chainsaw "~0.1.0" -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= +bl@^4.0.3: + version "4.1.0" + resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== dependencies: - tweetnacl "^0.14.3" + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +bluebird@~3.4.1: + version "3.4.7" + resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz" + integrity sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA== brace-expansion@^1.0.0, brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1: +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" -browser-process-hrtime@^0.1.2: - version "0.1.3" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz#616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4" - integrity sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw== - -browser-resolve@^1.11.3: - version "1.11.3" - resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" - integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== +browserslist@^4.21.9, "browserslist@>= 4.21.0": + version "4.22.1" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz" + integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ== dependencies: - resolve "1.1.7" + caniuse-lite "^1.0.30001541" + electron-to-chromium "^1.4.535" + node-releases "^2.0.13" + update-browserslist-db "^1.0.13" bser@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719" - integrity sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk= + resolved "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz" + integrity sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk= sha512-FozP+z0rEpi3AywbeT1QnOrGFJDbC0986aFDR2NlNLF+/WEYdv/7/qb1FVtla+KBWswkQBOA7okWd+85ThWlCQ== dependencies: node-int64 "^0.4.0" +buffer-crc32@^0.2.1, buffer-crc32@^0.2.13: + version "0.2.13" + resolved "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + buffer-from@^1.0.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz" integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== -builtin-modules@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= +buffer-indexof-polyfill@~1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz" + integrity sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A== -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +buffers@~0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz" + integrity sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ== callsites@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== camelcase-keys@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= + resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz" + integrity sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ== dependencies: camelcase "^2.0.0" map-obj "^1.0.0" camelcase@^2.0.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= + resolved "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz" + integrity sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw== -camelcase@^5.0.0, camelcase@^5.3.1: +camelcase@^5.3.1: version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" +camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= +caniuse-lite@^1.0.30001541: + version "1.0.30001549" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001549.tgz" + integrity sha512-qRp48dPYSCYaP+KurZLhDYdVE+yEyht/3NlmcJgVQ2VMGt6JL36ndQ/7rgspdZsJuxDPFIo/OzBT2+GmIJ53BA== caw@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/caw/-/caw-1.2.0.tgz#ffb226fe7efc547288dc62ee3e97073c212d1034" - integrity sha1-/7Im/n78VHKI3GLuPpcHPCEtEDQ= + resolved "https://registry.npmjs.org/caw/-/caw-1.2.0.tgz" + integrity sha512-GIAlMoessjWW8p0mkStU4kMvV35toVCAyOWhUajk7O0d7wJI8F9TDjfrkSoO26b0d1QsnDLmw5I3X+yd6OKorQ== dependencies: get-proxy "^1.0.1" is-obj "^1.0.0" object-assign "^3.0.0" tunnel-agent "^0.4.0" +chainsaw@~0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz" + integrity sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ== + dependencies: + traverse ">=0.3.0 <0.4" + chalk@^1.0.0, chalk@^1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + resolved "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== dependencies: ansi-styles "^2.2.1" escape-string-regexp "^1.0.2" @@ -860,9 +1154,9 @@ chalk@^1.0.0, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.0.1, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" @@ -871,52 +1165,56 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: chalk@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + resolved "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz" integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" - integrity sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8= +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: - ansi-styles "~1.0.0" - has-color "~0.1.0" - strip-ansi "~0.1.0" + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== ci-info@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +cjs-module-lexer@^1.0.0: + version "1.2.3" + resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz" + integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== cli-cursor@^2.0.0, cli-cursor@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= + resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" + integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw== dependencies: restore-cursor "^2.0.0" cli-fs@~1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/cli-fs/-/cli-fs-1.0.4.tgz#236bdef45c98f6daa1de57473e708141daa6c016" - integrity sha1-I2ve9FyY9tqh3ldHPnCBQdqmwBY= + resolved "https://registry.npmjs.org/cli-fs/-/cli-fs-1.0.4.tgz" + integrity sha1-I2ve9FyY9tqh3ldHPnCBQdqmwBY= sha512-u2OE5YOE4vqUzBah1XeV7v75OUWdMszAcPoKpwai7eDtoSN1tRBqmVeuHpImjvfZlb8Pq5ZX7huhgZ7xY+iRzA== cli-rc@1.0.12: version "1.0.12" - resolved "https://registry.yarnpkg.com/cli-rc/-/cli-rc-1.0.12.tgz#c89c3f1589cb7533789721ee75bee12dfa5ef795" - integrity sha1-yJw/FYnLdTN4lyHudb7hLfpe95U= + resolved "https://registry.npmjs.org/cli-rc/-/cli-rc-1.0.12.tgz" + integrity sha1-yJw/FYnLdTN4lyHudb7hLfpe95U= sha512-O7lCeH9eGA0h+gJb3GI3hq04rM5J4gts4+0HSpPQg4qgbL78QFw9+3fzIbnIxoX8iwint9EzXSYCvaKS2WXt5Q== dependencies: async "~1.4.0" cli-fs "~1.0.4" @@ -925,139 +1223,125 @@ cli-rc@1.0.12: cli-regexp@~0.1.0: version "0.1.2" - resolved "https://registry.yarnpkg.com/cli-regexp/-/cli-regexp-0.1.2.tgz#6bcd93b09fb2ed1025d30a1155d5997954a53512" - integrity sha1-a82TsJ+y7RAl0woRVdWZeVSlNRI= + resolved "https://registry.npmjs.org/cli-regexp/-/cli-regexp-0.1.2.tgz" + integrity sha1-a82TsJ+y7RAl0woRVdWZeVSlNRI= sha512-L++cAQ5g0Nu6aV56B3uaR+c7jEGSAa4WApY1ZN7XiD8niJ5jRfXE/qvMwgz3uZBG0rft4hJS75Vpz2F3mSm4Mg== cli-truncate@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" - integrity sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ= + resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz" + integrity sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ= sha512-f4r4yJnbT++qUPI9NR4XLDLq41gQ+uqnPItWG0F5ZkehuNiTTa3EY0S4AqTSUOeJ7/zU41oWPQSNkW5BqPL9bg== dependencies: slice-ansi "0.0.4" string-width "^1.0.1" cli-util@~1.1.27: version "1.1.27" - resolved "https://registry.yarnpkg.com/cli-util/-/cli-util-1.1.27.tgz#42d69e36a040a321fc9cf851c1513cadc5093054" - integrity sha1-QtaeNqBAoyH8nPhRwVE8rcUJMFQ= + resolved "https://registry.npmjs.org/cli-util/-/cli-util-1.1.27.tgz" + integrity sha1-QtaeNqBAoyH8nPhRwVE8rcUJMFQ= sha512-Z6+zI0kIrqf9Oi+PmUm8J9AELp8bTf2vCLYseudYtdOPNJvzpNiExO95aHIm477IbPdu/8SE9Wvc/M1kJl4Anw== dependencies: cli-regexp "~0.1.0" -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== dependencies: string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" co@^4.6.0: version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== code-point-at@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA== collect-v8-coverage@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.0.tgz#150ee634ac3650b71d9c985eb7f608942334feb1" + resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.0.tgz" integrity sha512-VKIhJgvk8E1W28m5avZ2Gv2Ruv5YiF56ug2oclvaG9md69BuZImMG2sk9g7QNKLUbtYAKQjXjYxbYZVUlMMKmQ== -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - color-convert@^1.9.0: version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: color-name "1.1.3" color-convert@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - color-name@~1.1.4: version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" - integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w== - dependencies: - delayed-stream "~1.0.0" +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +colors@0.5.x: + version "0.5.1" + resolved "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz" + integrity sha512-XjsuUwpDeY98+yz959OlUK6m7mLBM+1MEG5oaenfuQnNnrQk1WvtcvFgN3FNDP3f2NmZ211t0mNEfSEN1h0eIg== commander@^4.0.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== -compare-versions@^3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.5.1.tgz#26e1f5cf0d48a77eced5046b9f67b6b61075a393" - integrity sha512-9fGPIB7C6AyM18CJJBHt5EnCZDG3oiTJYy0NjfIAGjKpzv0tkxWko7TNQHF5ymqm7IH03tqmeuBxtvD+Izh6mg== +compare-versions@^3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz" + integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== -component-emitter@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" - integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= +compress-commons@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz" + integrity sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg== + dependencies: + buffer-crc32 "^0.2.13" + crc32-stream "^4.0.2" + normalize-path "^3.0.0" + readable-stream "^3.6.0" concat-map@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -convert-source-map@^1.4.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" - integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== - dependencies: - safe-buffer "~5.1.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - dependencies: - safe-buffer "~5.1.1" +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= +core-js@^3.33.0: + version "3.33.0" + resolved "https://registry.npmjs.org/core-js/-/core-js-3.33.0.tgz" + integrity sha512-HoZr92+ZjFEKar5HS6MC776gYslNOKHt75mEBKWKnPeFDpZ6nH5OeF3S6HFT1mUAUZKrzkez05VboaX8myjSuw== core-js@2.1.5: version "2.1.5" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.1.5.tgz#9610a059abc2624e5be18b6e624dcb6a4ed4b46d" - integrity sha1-lhCgWavCYk5b4YtuYk3Lak7UtG0= + resolved "https://registry.npmjs.org/core-js/-/core-js-2.1.5.tgz" + integrity sha512-8E65/CbwO+3dRdwvaDbgUon1rnxjRLjbyqNI/p58hQf7kicAG0Z8mQ6hoerLqGysRIH7oEtYTXg7Iiit7GW4pA== -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== cosmiconfig@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz" integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== dependencies: "@types/parse-json" "^4.0.0" @@ -1066,294 +1350,227 @@ cosmiconfig@^6.0.0: path-type "^4.0.0" yaml "^1.7.2" -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== +cosmiconfig@^7.0.0: + version "7.1.0" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" -cross-spawn@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14" - integrity sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg== +crc-32@^1.2.0: + version "1.2.2" + resolved "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz" + integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== + +crc32-stream@^4.0.2: + version "4.0.3" + resolved "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.3.tgz" + integrity sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw== dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" + crc-32 "^1.2.0" + readable-stream "^3.4.0" -cssom@^0.4.1: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== +create-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz" + integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-config "^29.7.0" + jest-util "^29.7.0" + prompts "^2.0.1" -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== -cssstyle@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.2.0.tgz#e4c44debccd6b7911ed617a4395e5754bba59992" - integrity sha512-sEb3XFPx3jNnCAMtqrXPDeSgQr+jojtCeNf8cvMNMh1cG970+lljssvQDzPq6lmmJu2Vhqood/gtEomBiHOGnA== +cross-spawn@^7.0.0, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: - cssom "~0.3.6" + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" currently-unhandled@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= + resolved "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz" + integrity sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng== dependencies: array-find-index "^1.0.1" -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - data-uri-to-buffer@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz#b5db46aea50f6176428ac05b73be39a57701a64b" + resolved "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz" integrity sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA== -data-urls@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" - integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== - dependencies: - abab "^2.0.0" - whatwg-mimetype "^2.2.0" - whatwg-url "^7.0.0" - date-fns@^1.27.2: version "1.30.1" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" + resolved "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz" integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw== -debug@^2.2.0, debug@^2.3.3: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" +dayjs@^1.8.34: + version "1.11.10" + resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz" + integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== debug@^4.1.0, debug@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: - ms "^2.1.1" + ms "2.1.2" -decamelize@^1.1.2, decamelize@^1.2.0: +decamelize@^1.1.2: version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== dedent@^0.7.0: version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= + resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" + integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== + +dedent@^1.0.0: + version "1.5.1" + resolved "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz" + integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== deep-extend@^0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -define-properties@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== denodeify@1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/denodeify/-/denodeify-1.2.1.tgz#3a36287f5034e699e7577901052c2e6c94251631" - integrity sha1-OjYof1A05pnnV3kBBSwubJQlFjE= + resolved "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz" + integrity sha1-OjYof1A05pnnV3kBBSwubJQlFjE= sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg== detect-newline@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== diff-sequences@^24.9.0: version "24.9.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" + resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz" integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== -diff-sequences@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.1.0.tgz#fd29a46f1c913fd66c22645dc75bffbe43051f32" - integrity sha512-nFIfVk5B/NStCsJ+zaPO4vYuLjlzQ6uFvPxzYyHlejNZ/UGa7G/n7peOXVrVNvRuyfstt+mZQYGpjxg9Z6N8Kw== +diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== diff@^3.5.0: version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" + resolved "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz" integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== -domexception@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" - integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== - dependencies: - webidl-conversions "^4.0.2" +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= +duplexer2@~0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz" + integrity sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA== dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" + readable-stream "^2.0.2" + +electron-to-chromium@^1.4.535: + version "1.4.554" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.554.tgz" + integrity sha512-Q0umzPJjfBrrj8unkONTgbKQXzXRrH7sVV7D9ea2yBV3Oaogz991yhbpfvo2LMNkJItmruXTEzVpP9cp7vaIiQ== elegant-spinner@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" - integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4= + resolved "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz" + integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4= sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ== + +emittery@^0.13.1: + version "0.13.1" + resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz" + integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== encoding@^0.1.11: - version "0.1.12" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" - integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s= + version "0.1.13" + resolved "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== dependencies: - iconv-lite "~0.4.13" + iconv-lite "^0.6.2" -end-of-stream@^1.1.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" - integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== +end-of-stream@^1.1.0, end-of-stream@^1.4.1: + version "1.4.4" + resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== dependencies: once "^1.4.0" error-ex@^1.2.0, error-ex@^1.3.1: version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" -es-abstract@^1.5.1: - version "1.13.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" - integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== - dependencies: - es-to-primitive "^1.2.0" - function-bind "^1.1.1" - has "^1.0.3" - is-callable "^1.1.4" - is-regex "^1.0.4" - object-keys "^1.0.12" - -es-to-primitive@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" - integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escodegen@^1.11.1: - version "1.13.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.13.0.tgz#c7adf9bd3f3cc675bb752f202f79a720189cab29" - integrity sha512-eYk2dCkxR07DsHA/X2hRBj0CFAZeri/LyDMc0C8JT1Hqi6JnVpMhJ7XFITbb0+yZS3lVkaPL2oCkZ3AVmeVbMw== - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== -esprima@^4.0.0, esprima@^4.0.1: +esprima@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -estraverse@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= - -esutils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" - integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= - -exec-sh@^0.3.2: - version "0.3.4" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" - integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^3.2.0, execa@^3.4.0: +exceljs@^4.3: + version "4.3.0" + resolved "https://registry.npmjs.org/exceljs/-/exceljs-4.3.0.tgz" + integrity sha512-hTAeo5b5TPvf8Z02I2sKIT4kSfCnOO2bCxYX8ABqODCdAjppI3gI9VYiGCQQYVcBaBSKlFDMKlAQRqC+kV9O8w== + dependencies: + archiver "^5.0.0" + dayjs "^1.8.34" + fast-csv "^4.3.1" + jszip "^3.5.0" + readable-stream "^3.6.0" + saxes "^5.0.1" + tmp "^0.2.0" + unzipper "^0.10.11" + uuid "^8.3.0" + +execa@^3.4.0: version "3.4.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89" + resolved "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz" integrity sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g== dependencies: cross-spawn "^7.0.0" @@ -1367,105 +1584,65 @@ execa@^3.2.0, execa@^3.4.0: signal-exit "^3.0.2" strip-final-newline "^2.0.0" +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.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" + exit@^0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expect@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-25.1.0.tgz#7e8d7b06a53f7d66ec927278db3304254ee683ee" - integrity sha512-wqHzuoapQkhc3OKPlrpetsfueuEiMf3iWh0R8+duCu9PIjXoP7HgD5aeypwTnXUAjC8aMsiVDaWwlbJ1RlQ38g== - dependencies: - "@jest/types" "^25.1.0" - ansi-styles "^4.0.0" - jest-get-type "^25.1.0" - jest-matcher-utils "^25.1.0" - jest-message-util "^25.1.0" - jest-regex-util "^25.1.0" + resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= +expect@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz" + integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== dependencies: - is-extendable "^0.1.0" + "@jest/expect-utils" "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= +fast-csv@^4.3.1: + version "4.3.6" + resolved "https://registry.npmjs.org/fast-csv/-/fast-csv-4.3.6.tgz" + integrity sha512-2RNSpuwwsJGP0frGsOmTb9oUF+VkFSM4SyLTDgwf2ciHWTarN0lQTC+F2f/t5J9QjW+c65VFIAAu85GsvMIusw== dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + "@fast-csv/format" "4.3.5" + "@fast-csv/parse" "4.3.6" fast-deep-equal@^3.1.1: version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-json-stable-stringify@^2.0.0: +fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-levenshtein@~2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - fb-watchman@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" - integrity sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg= + resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz" + integrity sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg= sha512-+6dk4acfiWsbMc8pH0boQDeQprOM4mO/kS4IAvZVJZk4B6CZYLg4DkTGbL82vhglUXDtkJPnLfO0WXv3uxGNfA== dependencies: bser "^2.0.0" -fetch-blob@^3.1.2, fetch-blob@^3.1.3: +fetch-blob@^3.1.2, fetch-blob@^3.1.4: version "3.1.4" - resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.1.4.tgz#e8c6567f80ad7fc22fd302e7dcb72bafde9c1717" + resolved "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.1.4.tgz" integrity sha512-Eq5Xv5+VlSrYWEqKrusxY1C3Hm/hjeAsCGVG3ft7pZahlUAChpGZT/Ms1WmSLnEAisEXszjzu/s+ce6HZB2VHA== dependencies: node-domexception "^1.0.0" @@ -1473,168 +1650,136 @@ fetch-blob@^3.1.2, fetch-blob@^3.1.3: figures@^1.7.0: version "1.7.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" - integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= + resolved "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz" + integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ== dependencies: escape-string-regexp "^1.0.5" object-assign "^4.1.0" figures@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= + resolved "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz" + integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA== dependencies: escape-string-regexp "^1.0.5" -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - fill-range@^7.0.1: version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== dependencies: to-regex-range "^5.0.1" find-up@^1.0.0: version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= + resolved "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz" + integrity sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA== dependencies: path-exists "^2.0.0" pinkie-promise "^2.0.0" find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== dependencies: locate-path "^5.0.0" path-exists "^4.0.0" -find-versions@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-3.2.0.tgz#10297f98030a786829681690545ef659ed1d254e" - integrity sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww== +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: - semver-regex "^2.0.0" - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + locate-path "^6.0.0" + path-exists "^4.0.0" -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== +find-versions@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/find-versions/-/find-versions-4.0.0.tgz" + integrity sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ== dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" + semver-regex "^3.1.2" formdata-polyfill@^4.0.10: version "4.0.10" - resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" + resolved "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz" integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== dependencies: fetch-blob "^3.1.2" -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805" - integrity sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA== +fstream@^1.0.12: + version "1.0.12" + resolved "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz" + integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" function-bind@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== -gensync@^1.0.0-beta.1: - version "1.0.0-beta.1" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" - integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-caller-file@^2.0.1: +get-caller-file@^2.0.5: version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-own-enumerable-property-symbols@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz#b877b49a5c16aefac3655f2ed2ea5b684df8d203" + resolved "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz" integrity sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg== get-proxy@^1.0.1: version "1.1.0" - resolved "https://registry.yarnpkg.com/get-proxy/-/get-proxy-1.1.0.tgz#894854491bc591b0f147d7ae570f5c678b7256eb" - integrity sha1-iUhUSRvFkbDxR9euVw9cZ4tyVus= + resolved "https://registry.npmjs.org/get-proxy/-/get-proxy-1.1.0.tgz" + integrity sha512-3cJ+77wC52qD2PqWNXtB2HkU6tQXc/X3hSMtSN0Y8c8nbYMMxF7vpsjH4H0iSt+28l/NK13DKl8iKAVGkqDFnA== dependencies: rc "^1.1.2" -get-stdin@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" - integrity sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g= - get-stdin@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= + resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz" + integrity sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw== -get-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" +get-stdin@5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz" + integrity sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA== get-stream@^5.0.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz" integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== dependencies: pump "^3.0.0" -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== git-diff@^2.0.6: version "2.0.6" - resolved "https://registry.yarnpkg.com/git-diff/-/git-diff-2.0.6.tgz#4a8ece670d64d1f9f4e68191ad8b1013900f6c1e" + resolved "https://registry.npmjs.org/git-diff/-/git-diff-2.0.6.tgz" integrity sha512-/Iu4prUrydE3Pb3lCBMbcSNIf81tgGt0W1ZwknnyF62t3tHmtiJTRj0f+1ZIhp3+Rh0ktz1pJVoa7ZXUCskivA== dependencies: chalk "^2.3.2" @@ -1645,8 +1790,8 @@ git-diff@^2.0.6: glob@^6.0.1: version "6.0.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" - integrity sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI= + resolved "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz" + integrity sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI= sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A== dependencies: inflight "^1.0.4" inherits "2" @@ -1654,27 +1799,27 @@ glob@^6.0.1: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== +glob@^7.0.0, glob@^7.1.3, glob@^7.1.4, glob@^7.2.3: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^3.0.4" + minimatch "^3.1.1" once "^1.3.0" path-is-absolute "^1.0.0" globals@^11.1.0: version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globby@4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-4.0.0.tgz#36ff06c5a9dc1dbc201f700074992882857e9817" - integrity sha1-Nv8GxancHbwgH3AAdJkogoV+mBc= + resolved "https://registry.npmjs.org/globby/-/globby-4.0.0.tgz" + integrity sha1-Nv8GxancHbwgH3AAdJkogoV+mBc= sha512-tf+ZZEIfGphbdxcRZPDHuVGEanAs/LmWL60v0rCi4zFF5W3JvoPYXy3P7I8KWqLYUEEl41YOK6zH84bnjELNLA== dependencies: array-union "^1.0.1" arrify "^1.0.0" @@ -1683,160 +1828,91 @@ globby@4.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" -graceful-fs@^4.1.2: - version "4.1.15" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" - integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== - -graceful-fs@^4.1.6: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" - -graceful-fs@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" - integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.0: - version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== - dependencies: - ajv "^6.5.5" - har-schema "^2.0.0" +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== has-ansi@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + resolved "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg== dependencies: ansi-regex "^2.0.0" -has-color@~0.1.0: - version "0.1.7" - resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" - integrity sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8= - has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== has-flag@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" - integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.1, has@^1.0.3: +has@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== dependencies: function-bind "^1.1.1" hosted-git-info@^2.1.4: version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -html-encoding-sniffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" - integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== - dependencies: - whatwg-encoding "^1.0.1" - html-escaper@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.0.tgz#71e87f931de3fe09e56661ab9a29aadec707b491" + resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.0.tgz" integrity sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig== -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - human-signals@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz" integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + husky@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/husky/-/husky-4.2.1.tgz#b09f1bd9129e6c323cc515dc17081d0615e2d7c1" - integrity sha512-Qa0lRreeIf4Tl92sSs42ER6qc3hzoyQPPorzOrFWfPEVbdi6LuvJEqWKPk905fOWIR76iBpp7ECZNIwk+a8xuQ== + version "4.3.8" + resolved "https://registry.npmjs.org/husky/-/husky-4.3.8.tgz" + integrity sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow== dependencies: - chalk "^3.0.0" + chalk "^4.0.0" ci-info "^2.0.0" - compare-versions "^3.5.1" - cosmiconfig "^6.0.0" - find-versions "^3.2.0" + compare-versions "^3.6.0" + cosmiconfig "^7.0.0" + find-versions "^4.0.0" opencollective-postinstall "^2.0.2" - pkg-dir "^4.2.0" + pkg-dir "^5.0.0" please-upgrade-node "^3.2.0" slash "^3.0.0" which-pm-runs "^1.0.0" -iconv-lite@0.4.24, iconv-lite@~0.4.13: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== +iconv-lite@^0.6.2: + version "0.6.3" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== dependencies: - safer-buffer ">= 2.1.2 < 3" + safer-buffer ">= 2.1.2 < 3.0.0" -import-fresh@^3.1.0: +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +immediate@~3.0.5: + version "3.0.6" + resolved "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz" + integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== + +import-fresh@^3.1.0, import-fresh@^3.2.1: version "3.2.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz" integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== dependencies: parent-module "^1.0.0" @@ -1844,7 +1920,7 @@ import-fresh@^3.1.0: import-local@^3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" + resolved "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz" integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== dependencies: pkg-dir "^4.2.0" @@ -1852,318 +1928,178 @@ import-local@^3.0.2: imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== indent-string@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= + resolved "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz" + integrity sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg== dependencies: repeating "^2.0.0" indent-string@^3.0.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" - integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= + resolved "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz" + integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ== inflight@^1.0.4: version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" wrappy "1" -inherits@2: +inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.3, inherits@2: version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== ini@~1.3.0, ini@~1.3.4: version "1.3.7" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84" + resolved "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz" integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ== interpret@^1.0.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-builtin-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" - integrity sha1-VAVy0096wxGfj3bDDLwbHgN6/74= - dependencies: - builtin-modules "^1.0.0" - -is-callable@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" - integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== -is-core-module@^2.8.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" - integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== +is-core-module@^2.13.0: + version "2.13.0" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz" + integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== dependencies: has "^1.0.3" -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - is-finite@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" - integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko= - dependencies: - number-is-nan "^1.0.0" + version "1.1.0" + resolved "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz" + integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== is-fullwidth-code-point@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw== dependencies: number-is-nan "^1.0.0" is-fullwidth-code-point@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== is-fullwidth-code-point@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== is-generator-fn@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - is-number@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-obj@^1.0.0, is-obj@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + resolved "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== is-observable@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e" + resolved "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz" integrity sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA== dependencies: symbol-observable "^1.1.0" -is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - is-promise@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= - -is-regex@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" - integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= - dependencies: - has "^1.0.1" + resolved "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz" + integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= sha512-NECAi6wp6CgMesHuVUEK8JwjCvm/tvnn5pCbB42JOHp3mgUizN0nagXu4HEqQZBkieGEQ+jVcMKWqoVd6CDbLQ== is-regexp@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" - integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + resolved "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== -is-stream@^1.0.1, is-stream@^1.1.0: +is-stream@^1.0.1: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== is-stream@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz" integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== -is-symbol@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" - integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== - dependencies: - has-symbols "^1.0.0" - -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - is-utf8@^0.2.0: version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.1.1.tgz#4a1c152d429df3d441669498e2486d3596ebaf1d" - integrity sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog== + resolved "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" + integrity sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q== -isarray@1.0.0: +isarray@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== isexe@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -isomorphic-fetch@2.2.1: +isomorphic-fetch@^2, isomorphic-fetch@2.2.1: version "2.2.1" - resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" - integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk= + resolved "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz" + integrity sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA== dependencies: node-fetch "^1.0.1" whatwg-fetch ">=0.10.0" -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istanbul-lib-coverage@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" - integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== -istanbul-lib-instrument@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.1.tgz#61f13ac2c96cfefb076fe7131156cc05907874e6" - integrity sha512-imIchxnodll7pvQBYOqUu88EufLCU56LMeFPZZM/fJZ1irYcYdqroaV+ACK1Ila8ls09iEYArp+nqyC6lW1Vfg== +istanbul-lib-instrument@^5.0.4: + version "5.2.1" + resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== dependencies: - "@babel/core" "^7.7.5" - "@babel/parser" "^7.7.5" - "@babel/template" "^7.7.4" - "@babel/traverse" "^7.7.4" + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" + istanbul-lib-coverage "^3.2.0" semver "^6.3.0" +istanbul-lib-instrument@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz" + integrity sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^7.5.4" + istanbul-lib-report@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== dependencies: istanbul-lib-coverage "^3.0.0" @@ -2172,75 +2108,104 @@ istanbul-lib-report@^3.0.0: istanbul-lib-source-maps@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" + resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz" integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== dependencies: debug "^4.1.1" istanbul-lib-coverage "^3.0.0" source-map "^0.6.1" -istanbul-reports@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.0.tgz#d4d16d035db99581b6194e119bbf36c963c5eb70" - integrity sha512-2osTcC8zcOSUkImzN2EWQta3Vdi4WjjKw99P2yWx5mLnigAM0Rd5uYFn1cf2i/Ois45GkNjaoTqc5CxgMSX80A== +istanbul-reports@^3.1.3: + version "3.1.6" + resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz" + integrity sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg== dependencies: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jest-changed-files@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-25.1.0.tgz#73dae9a7d9949fdfa5c278438ce8f2ff3ec78131" - integrity sha512-bdL1aHjIVy3HaBO3eEQeemGttsq1BDlHgWcOjEOIAcga7OOEGWHD2WSu8HhL7I1F0mFFyci8VKU4tRNk+qtwDA== - dependencies: - "@jest/types" "^25.1.0" - execa "^3.2.0" - throat "^5.0.0" - -jest-cli@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-25.1.0.tgz#75f0b09cf6c4f39360906bf78d580be1048e4372" - integrity sha512-p+aOfczzzKdo3AsLJlhs8J5EW6ffVidfSZZxXedJ0mHPBOln1DccqFmGCoO8JWd4xRycfmwy1eoQkMsF8oekPg== - dependencies: - "@jest/core" "^25.1.0" - "@jest/test-result" "^25.1.0" - "@jest/types" "^25.1.0" - chalk "^3.0.0" +jest-changed-files@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz" + integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== + dependencies: + execa "^5.0.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + +jest-circus@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz" + integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^1.0.0" + is-generator-fn "^2.0.0" + jest-each "^29.7.0" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + pretty-format "^29.7.0" + pure-rand "^6.0.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-cli@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz" + integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== + dependencies: + "@jest/core" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + chalk "^4.0.0" + create-jest "^29.7.0" exit "^0.1.2" import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^25.1.0" - jest-util "^25.1.0" - jest-validate "^25.1.0" - prompts "^2.0.1" - realpath-native "^1.1.0" - yargs "^15.0.0" - -jest-config@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-25.1.0.tgz#d114e4778c045d3ef239452213b7ad3ec1cbea90" - integrity sha512-tLmsg4SZ5H7tuhBC5bOja0HEblM0coS3Wy5LTCb2C8ZV6eWLewHyK+3qSq9Bi29zmWQ7ojdCd3pxpx4l4d2uGw== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^25.1.0" - "@jest/types" "^25.1.0" - babel-jest "^25.1.0" - chalk "^3.0.0" - glob "^7.1.1" - jest-environment-jsdom "^25.1.0" - jest-environment-node "^25.1.0" - jest-get-type "^25.1.0" - jest-jasmine2 "^25.1.0" - jest-regex-util "^25.1.0" - jest-resolve "^25.1.0" - jest-util "^25.1.0" - jest-validate "^25.1.0" - micromatch "^4.0.2" - pretty-format "^25.1.0" - realpath-native "^1.1.0" + jest-config "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + yargs "^17.3.1" + +jest-config@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz" + integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== + dependencies: + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^29.7.0" + "@jest/types" "^29.6.3" + babel-jest "^29.7.0" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-circus "^29.7.0" + jest-environment-node "^29.7.0" + jest-get-type "^29.6.3" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-runner "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-json-comments "^3.1.1" jest-diff@^24.9.0: version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" + resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz" integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ== dependencies: chalk "^2.0.1" @@ -2248,128 +2213,95 @@ jest-diff@^24.9.0: jest-get-type "^24.9.0" pretty-format "^24.9.0" -jest-diff@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.1.0.tgz#58b827e63edea1bc80c1de952b80cec9ac50e1ad" - integrity sha512-nepXgajT+h017APJTreSieh4zCqnSHEJ1iT8HDlewu630lSJ4Kjjr9KNzm+kzGwwcpsDE6Snx1GJGzzsefaEHw== +jest-diff@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz" + integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== dependencies: - chalk "^3.0.0" - diff-sequences "^25.1.0" - jest-get-type "^25.1.0" - pretty-format "^25.1.0" + chalk "^4.0.0" + diff-sequences "^29.6.3" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" -jest-docblock@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-25.1.0.tgz#0f44bea3d6ca6dfc38373d465b347c8818eccb64" - integrity sha512-370P/mh1wzoef6hUKiaMcsPtIapY25suP6JqM70V9RJvdKLrV4GaGbfUseUVk4FZJw4oTZ1qSCJNdrClKt5JQA== +jest-docblock@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz" + integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== dependencies: detect-newline "^3.0.0" -jest-each@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-25.1.0.tgz#a6b260992bdf451c2d64a0ccbb3ac25e9b44c26a" - integrity sha512-R9EL8xWzoPySJ5wa0DXFTj7NrzKpRD40Jy+zQDp3Qr/2QmevJgkN9GqioCGtAJ2bW9P/MQRznQHQQhoeAyra7A== - dependencies: - "@jest/types" "^25.1.0" - chalk "^3.0.0" - jest-get-type "^25.1.0" - jest-util "^25.1.0" - pretty-format "^25.1.0" - -jest-environment-jsdom@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-25.1.0.tgz#6777ab8b3e90fd076801efd3bff8e98694ab43c3" - integrity sha512-ILb4wdrwPAOHX6W82GGDUiaXSSOE274ciuov0lztOIymTChKFtC02ddyicRRCdZlB5YSrv3vzr1Z5xjpEe1OHQ== - dependencies: - "@jest/environment" "^25.1.0" - "@jest/fake-timers" "^25.1.0" - "@jest/types" "^25.1.0" - jest-mock "^25.1.0" - jest-util "^25.1.0" - jsdom "^15.1.1" - -jest-environment-node@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-25.1.0.tgz#797bd89b378cf0bd794dc8e3dca6ef21126776db" - integrity sha512-U9kFWTtAPvhgYY5upnH9rq8qZkj6mYLup5l1caAjjx9uNnkLHN2xgZy5mo4SyLdmrh/EtB9UPpKFShvfQHD0Iw== - dependencies: - "@jest/environment" "^25.1.0" - "@jest/fake-timers" "^25.1.0" - "@jest/types" "^25.1.0" - jest-mock "^25.1.0" - jest-util "^25.1.0" +jest-each@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz" + integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + jest-get-type "^29.6.3" + jest-util "^29.7.0" + pretty-format "^29.7.0" + +jest-environment-node@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz" + integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + jest-util "^29.7.0" jest-get-type@^24.9.0: version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" + resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz" integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== -jest-get-type@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.1.0.tgz#1cfe5fc34f148dc3a8a3b7275f6b9ce9e2e8a876" - integrity sha512-yWkBnT+5tMr8ANB6V+OjmrIJufHtCAqI5ic2H40v+tRqxDmE0PGnIiTyvRWFOMtmVHYpwRqyazDbTnhpjsGvLw== +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== -jest-haste-map@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-25.1.0.tgz#ae12163d284f19906260aa51fd405b5b2e5a4ad3" - integrity sha512-/2oYINIdnQZAqyWSn1GTku571aAfs8NxzSErGek65Iu5o8JYb+113bZysRMcC/pjE5v9w0Yz+ldbj9NxrFyPyw== +jest-haste-map@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz" + integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== dependencies: - "@jest/types" "^25.1.0" + "@jest/types" "^29.6.3" + "@types/graceful-fs" "^4.1.3" + "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" - graceful-fs "^4.2.3" - jest-serializer "^25.1.0" - jest-util "^25.1.0" - jest-worker "^25.1.0" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" + graceful-fs "^4.2.9" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + jest-worker "^29.7.0" + micromatch "^4.0.4" + walker "^1.0.8" optionalDependencies: - fsevents "^2.1.2" - -jest-jasmine2@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-25.1.0.tgz#681b59158a430f08d5d0c1cce4f01353e4b48137" - integrity sha512-GdncRq7jJ7sNIQ+dnXvpKO2MyP6j3naNK41DTTjEAhLEdpImaDA9zSAZwDhijjSF/D7cf4O5fdyUApGBZleaEg== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^25.1.0" - "@jest/source-map" "^25.1.0" - "@jest/test-result" "^25.1.0" - "@jest/types" "^25.1.0" - chalk "^3.0.0" - co "^4.6.0" - expect "^25.1.0" - is-generator-fn "^2.0.0" - jest-each "^25.1.0" - jest-matcher-utils "^25.1.0" - jest-message-util "^25.1.0" - jest-runtime "^25.1.0" - jest-snapshot "^25.1.0" - jest-util "^25.1.0" - pretty-format "^25.1.0" - throat "^5.0.0" + fsevents "^2.3.2" jest-json-schema@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/jest-json-schema/-/jest-json-schema-2.1.0.tgz#e63fa6819620cee1985c36379acca09891511307" + resolved "https://registry.npmjs.org/jest-json-schema/-/jest-json-schema-2.1.0.tgz" integrity sha512-FaXuFj6Rak1OnV+cfQsD8YnfyfEJ/DeGbomRnmNRO0HeyCpqLsDkC0Lr6z0hXK4/d7Ekz1mqBewVJpcYQ6H89w== dependencies: ajv "^6.10.2" chalk "^2.4.1" jest-matcher-utils "^24.0.0" -jest-leak-detector@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-25.1.0.tgz#ed6872d15aa1c72c0732d01bd073dacc7c38b5c6" - integrity sha512-3xRI264dnhGaMHRvkFyEKpDeaRzcEBhyNrOG5oT8xPxOyUAblIAQnpiR3QXu4wDor47MDTiHbiFcbypdLcLW5w== +jest-leak-detector@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz" + integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== dependencies: - jest-get-type "^25.1.0" - pretty-format "^25.1.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" jest-matcher-utils@^24.0.0: version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" + resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz" integrity sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA== dependencies: chalk "^2.0.1" @@ -2377,295 +2309,261 @@ jest-matcher-utils@^24.0.0: jest-get-type "^24.9.0" pretty-format "^24.9.0" -jest-matcher-utils@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-25.1.0.tgz#fa5996c45c7193a3c24e73066fc14acdee020220" - integrity sha512-KGOAFcSFbclXIFE7bS4C53iYobKI20ZWleAdAFun4W1Wz1Kkej8Ng6RRbhL8leaEvIOjGXhGf/a1JjO8bkxIWQ== - dependencies: - chalk "^3.0.0" - jest-diff "^25.1.0" - jest-get-type "^25.1.0" - pretty-format "^25.1.0" - -jest-message-util@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-25.1.0.tgz#702a9a5cb05c144b9aa73f06e17faa219389845e" - integrity sha512-Nr/Iwar2COfN22aCqX0kCVbXgn8IBm9nWf4xwGr5Olv/KZh0CZ32RKgZWMVDXGdOahicM10/fgjdimGNX/ttCQ== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/test-result" "^25.1.0" - "@jest/types" "^25.1.0" - "@types/stack-utils" "^1.0.1" - chalk "^3.0.0" - micromatch "^4.0.2" +jest-matcher-utils@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz" + integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== + dependencies: + chalk "^4.0.0" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.6.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz" + integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-util "^29.7.0" + +jest-pnp-resolver@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz" + integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== + +jest-regex-util@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz" + integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== + +jest-resolve-dependencies@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz" + integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== + dependencies: + jest-regex-util "^29.6.3" + jest-snapshot "^29.7.0" + +jest-resolve@*, jest-resolve@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz" + integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== + dependencies: + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-pnp-resolver "^1.2.2" + jest-util "^29.7.0" + jest-validate "^29.7.0" + resolve "^1.20.0" + resolve.exports "^2.0.0" slash "^3.0.0" - stack-utils "^1.0.1" - -jest-mock@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-25.1.0.tgz#411d549e1b326b7350b2e97303a64715c28615fd" - integrity sha512-28/u0sqS+42vIfcd1mlcg4ZVDmSUYuNvImP4X2lX5hRMLW+CN0BeiKVD4p+ujKKbSPKd3rg/zuhCF+QBLJ4vag== - dependencies: - "@jest/types" "^25.1.0" -jest-pnp-resolver@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" - integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ== - -jest-regex-util@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-25.1.0.tgz#efaf75914267741838e01de24da07b2192d16d87" - integrity sha512-9lShaDmDpqwg+xAd73zHydKrBbbrIi08Kk9YryBEBybQFg/lBWR/2BDjjiSE7KIppM9C5+c03XiDaZ+m4Pgs1w== - -jest-resolve-dependencies@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-25.1.0.tgz#8a1789ec64eb6aaa77fd579a1066a783437e70d2" - integrity sha512-Cu/Je38GSsccNy4I2vL12ZnBlD170x2Oh1devzuM9TLH5rrnLW1x51lN8kpZLYTvzx9j+77Y5pqBaTqfdzVzrw== - dependencies: - "@jest/types" "^25.1.0" - jest-regex-util "^25.1.0" - jest-snapshot "^25.1.0" - -jest-resolve@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-25.1.0.tgz#23d8b6a4892362baf2662877c66aa241fa2eaea3" - integrity sha512-XkBQaU1SRCHj2Evz2Lu4Czs+uIgJXWypfO57L7JYccmAXv4slXA6hzNblmcRmf7P3cQ1mE7fL3ABV6jAwk4foQ== - dependencies: - "@jest/types" "^25.1.0" - browser-resolve "^1.11.3" - chalk "^3.0.0" - jest-pnp-resolver "^1.2.1" - realpath-native "^1.1.0" - -jest-runner@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-25.1.0.tgz#fef433a4d42c89ab0a6b6b268e4a4fbe6b26e812" - integrity sha512-su3O5fy0ehwgt+e8Wy7A8CaxxAOCMzL4gUBftSs0Ip32S0epxyZPDov9Znvkl1nhVOJNf4UwAsnqfc3plfQH9w== - dependencies: - "@jest/console" "^25.1.0" - "@jest/environment" "^25.1.0" - "@jest/test-result" "^25.1.0" - "@jest/types" "^25.1.0" - chalk "^3.0.0" - exit "^0.1.2" - graceful-fs "^4.2.3" - jest-config "^25.1.0" - jest-docblock "^25.1.0" - jest-haste-map "^25.1.0" - jest-jasmine2 "^25.1.0" - jest-leak-detector "^25.1.0" - jest-message-util "^25.1.0" - jest-resolve "^25.1.0" - jest-runtime "^25.1.0" - jest-util "^25.1.0" - jest-worker "^25.1.0" - source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-25.1.0.tgz#02683218f2f95aad0f2ec1c9cdb28c1dc0ec0314" - integrity sha512-mpPYYEdbExKBIBB16ryF6FLZTc1Rbk9Nx0ryIpIMiDDkOeGa0jQOKVI/QeGvVGlunKKm62ywcioeFVzIbK03bA== - dependencies: - "@jest/console" "^25.1.0" - "@jest/environment" "^25.1.0" - "@jest/source-map" "^25.1.0" - "@jest/test-result" "^25.1.0" - "@jest/transform" "^25.1.0" - "@jest/types" "^25.1.0" - "@types/yargs" "^15.0.0" - chalk "^3.0.0" +jest-runner@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz" + integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== + dependencies: + "@jest/console" "^29.7.0" + "@jest/environment" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.13.1" + graceful-fs "^4.2.9" + jest-docblock "^29.7.0" + jest-environment-node "^29.7.0" + jest-haste-map "^29.7.0" + jest-leak-detector "^29.7.0" + jest-message-util "^29.7.0" + jest-resolve "^29.7.0" + jest-runtime "^29.7.0" + jest-util "^29.7.0" + jest-watcher "^29.7.0" + jest-worker "^29.7.0" + p-limit "^3.1.0" + source-map-support "0.5.13" + +jest-runtime@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz" + integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/globals" "^29.7.0" + "@jest/source-map" "^29.6.3" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" collect-v8-coverage "^1.0.0" - exit "^0.1.2" glob "^7.1.3" - graceful-fs "^4.2.3" - jest-config "^25.1.0" - jest-haste-map "^25.1.0" - jest-message-util "^25.1.0" - jest-mock "^25.1.0" - jest-regex-util "^25.1.0" - jest-resolve "^25.1.0" - jest-snapshot "^25.1.0" - jest-util "^25.1.0" - jest-validate "^25.1.0" - realpath-native "^1.1.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" slash "^3.0.0" strip-bom "^4.0.0" - yargs "^15.0.0" - -jest-serializer@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-25.1.0.tgz#73096ba90e07d19dec4a0c1dd89c355e2f129e5d" - integrity sha512-20Wkq5j7o84kssBwvyuJ7Xhn7hdPeTXndnwIblKDR2/sy1SUm6rWWiG9kSCgJPIfkDScJCIsTtOKdlzfIHOfKA== -jest-snapshot@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-25.1.0.tgz#d5880bd4b31faea100454608e15f8d77b9d221d9" - integrity sha512-xZ73dFYN8b/+X2hKLXz4VpBZGIAn7muD/DAg+pXtDzDGw3iIV10jM7WiHqhCcpDZfGiKEj7/2HXAEPtHTj0P2A== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^25.1.0" - chalk "^3.0.0" - expect "^25.1.0" - jest-diff "^25.1.0" - jest-get-type "^25.1.0" - jest-matcher-utils "^25.1.0" - jest-message-util "^25.1.0" - jest-resolve "^25.1.0" - mkdirp "^0.5.1" +jest-snapshot@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz" + integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== + dependencies: + "@babel/core" "^7.11.6" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-jsx" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^29.7.0" + graceful-fs "^4.2.9" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" natural-compare "^1.4.0" - pretty-format "^25.1.0" - semver "^7.1.1" - -jest-util@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-25.1.0.tgz#7bc56f7b2abd534910e9fa252692f50624c897d9" - integrity sha512-7did6pLQ++87Qsj26Fs/TIwZMUFBXQ+4XXSodRNy3luch2DnRXsSnmpVtxxQ0Yd6WTipGpbhh2IFP1mq6/fQGw== - dependencies: - "@jest/types" "^25.1.0" - chalk "^3.0.0" - is-ci "^2.0.0" - mkdirp "^0.5.1" - -jest-validate@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-25.1.0.tgz#1469fa19f627bb0a9a98e289f3e9ab6a668c732a" - integrity sha512-kGbZq1f02/zVO2+t1KQGSVoCTERc5XeObLwITqC6BTRH3Adv7NZdYqCpKIZLUgpLXf2yISzQ465qOZpul8abXA== - dependencies: - "@jest/types" "^25.1.0" - camelcase "^5.3.1" - chalk "^3.0.0" - jest-get-type "^25.1.0" + pretty-format "^29.7.0" + semver "^7.5.3" + +jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz" + integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== + dependencies: + "@jest/types" "^29.6.3" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^29.6.3" leven "^3.1.0" - pretty-format "^25.1.0" + pretty-format "^29.7.0" -jest-watcher@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-25.1.0.tgz#97cb4a937f676f64c9fad2d07b824c56808e9806" - integrity sha512-Q9eZ7pyaIr6xfU24OeTg4z1fUqBF/4MP6J801lyQfg7CsnZ/TCzAPvCfckKdL5dlBBEKBeHV0AdyjFZ5eWj4ig== +jest-watcher@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz" + integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== dependencies: - "@jest/test-result" "^25.1.0" - "@jest/types" "^25.1.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" ansi-escapes "^4.2.1" - chalk "^3.0.0" - jest-util "^25.1.0" - string-length "^3.1.0" - -jest-worker@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.1.0.tgz#75d038bad6fdf58eba0d2ec1835856c497e3907a" - integrity sha512-ZHhHtlxOWSxCoNOKHGbiLzXnl42ga9CxDr27H36Qn+15pQZd3R/F24jrmjDelw9j/iHUIWMWs08/u2QN50HHOg== - dependencies: + chalk "^4.0.0" + emittery "^0.13.1" + jest-util "^29.7.0" + string-length "^4.0.1" + +jest-worker@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== + dependencies: + "@types/node" "*" + jest-util "^29.7.0" merge-stream "^2.0.0" - supports-color "^7.0.0" + supports-color "^8.0.0" -jest@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-25.1.0.tgz#b85ef1ddba2fdb00d295deebbd13567106d35be9" - integrity sha512-FV6jEruneBhokkt9MQk0WUFoNTwnF76CLXtwNMfsc0um0TlB/LG2yxUd0KqaFjEJ9laQmVWQWS0sG/t2GsuI0w== +jest@^29.3.1: + version "29.7.0" + resolved "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz" + integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== dependencies: - "@jest/core" "^25.1.0" + "@jest/core" "^29.7.0" + "@jest/types" "^29.6.3" import-local "^3.0.2" - jest-cli "^25.1.0" + jest-cli "^29.7.0" jjv@1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/jjv/-/jjv-1.0.2.tgz#0719f2cbcfd7df34f8d57c1b03b332a0f8f66e7f" - integrity sha1-Bxnyy8/X3zT41XwbA7MyoPj2bn8= + resolved "https://registry.npmjs.org/jjv/-/jjv-1.0.2.tgz" + integrity sha1-Bxnyy8/X3zT41XwbA7MyoPj2bn8= sha512-IjuAyt9uqIA51mWUO1+TOuPstsGMV6rax73+zMm6C23Wwmq1UCGTJOXjlOTTQOCzthxAppmr++scJxQm+We+7Q== js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.13.1: version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz" integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== dependencies: argparse "^1.0.7" esprima "^4.0.0" -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsdom@^15.1.1: - version "15.2.1" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-15.2.1.tgz#d2feb1aef7183f86be521b8c6833ff5296d07ec5" - integrity sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g== - dependencies: - abab "^2.0.0" - acorn "^7.1.0" - acorn-globals "^4.3.2" - array-equal "^1.0.0" - cssom "^0.4.1" - cssstyle "^2.0.0" - data-urls "^1.1.0" - domexception "^1.0.1" - escodegen "^1.11.1" - html-encoding-sniffer "^1.0.2" - nwsapi "^2.2.0" - parse5 "5.1.0" - pn "^1.1.0" - request "^2.88.0" - request-promise-native "^1.0.7" - saxes "^3.1.9" - symbol-tree "^3.2.2" - tough-cookie "^3.0.1" - w3c-hr-time "^1.0.1" - w3c-xmlserializer "^1.1.2" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^7.0.0" - ws "^7.0.0" - xml-name-validator "^3.0.0" - jsesc@^2.5.1: version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== -json-parse-better-errors@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - json-stable-stringify@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= + resolved "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz" + integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg== dependencies: jsonify "~0.0.0" -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6" - integrity sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ== - dependencies: - minimist "^1.2.0" +json5@^2.2.3: + version "2.2.3" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== jsonfile@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-5.0.0.tgz#e6b718f73da420d612823996fdf14a03f6ff6922" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-5.0.0.tgz" + integrity sha512-NQRZ5CRo74MhMMC3/3r5g2k4fjodJ/wh8MxjFbCViWKFjxrnudWSY5vomh+23ZaXzAS7J3fBZIR2dV6WbmfM0w== dependencies: universalify "^0.1.2" optionalDependencies: @@ -2673,13 +2571,13 @@ jsonfile@^5.0.0: jsonify@~0.0.0: version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= + resolved "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz" + integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= sha512-trvBk1ki43VZptdBI5rIlG4YOzyeH/WefQt5rj1grasPn4iiZWKet8nkgc4GlsAylaztn0qZfUYOiTsASJFdNA== jsonlint-cli@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/jsonlint-cli/-/jsonlint-cli-1.0.1.tgz#045730cab2375640b0a88d8457fb67d61793c394" - integrity sha1-BFcwyrI3VkCwqI2EV/tn1heTw5Q= + resolved "https://registry.npmjs.org/jsonlint-cli/-/jsonlint-cli-1.0.1.tgz" + integrity sha512-SNNLE6SuHV+8vjWu/mD4iy8JOfQ+bdByx1jnEwbROyGJIbZ+cDo0Z9aNzDrnWOp4GiLt9zBjvArl+JlMxThksQ== dependencies: cli-rc "1.0.12" core-js "2.1.5" @@ -2698,72 +2596,59 @@ jsonlint-cli@^1.0.1: jsonlint@1.6.2: version "1.6.2" - resolved "https://registry.yarnpkg.com/jsonlint/-/jsonlint-1.6.2.tgz#5737045085f55eb455c68b1ff4ebc01bd50e8830" - integrity sha1-VzcEUIX1XrRVxosf9OvAG9UOiDA= + resolved "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.2.tgz" + integrity sha1-VzcEUIX1XrRVxosf9OvAG9UOiDA= sha512-NZOYIER5KgQFsImdFbIg6K3mMQU1wZ7mfH5W57gOGKMcRlQ5hQmMbp0dyGovJj33+5adwnb/lWdSApkEtCBgLQ== dependencies: JSV ">= 4.0.x" nomnom ">= 1.5.x" -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" +"JSV@>= 4.0.x": + version "4.0.2" + resolved "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz" + integrity sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c= sha512-ZJ6wx9xaKJ3yFUhq5/sk82PJMuUyLk277I8mQeyDgCTjGdjWJIvPfaU5LIXaMuaN2UO1X3kZH4+lgphublZUHw== -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= +jszip@^3.5.0: + version "3.10.1" + resolved "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz" + integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g== dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" - integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== + lie "~3.3.0" + pako "~1.0.2" + readable-stream "~2.3.6" + setimmediate "^1.0.5" kleur@^3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== +lazystream@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz" + integrity sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw== + dependencies: + readable-stream "^2.0.5" + leven@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= +lie@~3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz" + integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" + immediate "~3.0.5" lines-and-columns@^1.1.6: version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= sha512-8ZmlJFVK9iCmtLz19HpSsR8HaAMWBT284VMNednLwlIMDP2hJDCIhUp0IZ2xUcZ+Ob6BM0VvCSJwzASDM45NLQ== lint-staged@^10.0.7: version "10.0.7" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.0.7.tgz#d205f92d9359419a23bc6aa3b6f8546b1998da64" + resolved "https://registry.npmjs.org/lint-staged/-/lint-staged-10.0.7.tgz" integrity sha512-Byj0F4l7GYUpYYHEqyFH69NiI6ICTg0CeCKbhRorL+ickbzILKUlZLiyCkljZV02wnoh7yH7PmFyYm9PRNwk9g== dependencies: chalk "^3.0.0" @@ -2780,14 +2665,19 @@ lint-staged@^10.0.7: string-argv "0.3.1" stringify-object "^3.3.0" +listenercount@~1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz" + integrity sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ== + listr-silent-renderer@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" - integrity sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4= + resolved "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz" + integrity sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4= sha512-L26cIFm7/oZeSNVhWB6faeorXhMg4HNlb/dS/7jHhr708jxlXrtrBWo4YUxZQkc6dGoxEAe6J/D3juTRBUzjtA== listr-update-renderer@^0.5.0: version "0.5.0" - resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz#4ea8368548a7b8aecb7e06d8c95cb45ae2ede6a2" + resolved "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz" integrity sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA== dependencies: chalk "^1.1.3" @@ -2801,7 +2691,7 @@ listr-update-renderer@^0.5.0: listr-verbose-renderer@^0.5.0: version "0.5.0" - resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz#f1132167535ea4c1261102b9f28dac7cba1e03db" + resolved "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz" integrity sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw== dependencies: chalk "^2.4.1" @@ -2809,9 +2699,9 @@ listr-verbose-renderer@^0.5.0: date-fns "^1.27.2" figures "^2.0.0" -listr@^0.14.3: +listr@^0.14.2, listr@^0.14.3: version "0.14.3" - resolved "https://registry.yarnpkg.com/listr/-/listr-0.14.3.tgz#2fea909604e434be464c50bddba0d496928fa586" + resolved "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz" integrity sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA== dependencies: "@samverschueren/stream-to-observable" "^0.3.0" @@ -2826,8 +2716,8 @@ listr@^0.14.3: load-json-file@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= + resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz" + integrity sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A== dependencies: graceful-fs "^4.1.2" parse-json "^2.2.0" @@ -2837,44 +2727,111 @@ load-json-file@^1.0.0: locate-path@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== dependencies: p-locate "^4.1.0" -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.defaults@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz" + integrity sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ== + +lodash.difference@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz" + integrity sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA== + +lodash.escaperegexp@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz" + integrity sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw== + +lodash.flatten@^4.4.0: + version "4.4.0" + resolved "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz" + integrity sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g== + +lodash.groupby@^4.6.0: + version "4.6.0" + resolved "https://registry.npmjs.org/lodash.groupby/-/lodash.groupby-4.6.0.tgz" + integrity sha512-5dcWxm23+VAoz+awKmBaiBvzox8+RqMgFhi7UvX9DHZr2HdxHXM/Wrf8cfKpsW37RNrvtPn6hSwNqurSILbmJw== + +lodash.isboolean@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz" + integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== + +lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz" + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== + +lodash.isfunction@^3.0.9: + version "3.0.9" + resolved "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz" + integrity sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw== + +lodash.isnil@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/lodash.isnil/-/lodash.isnil-4.0.0.tgz" + integrity sha512-up2Mzq3545mwVnMhTDMdfoG1OurpA/s5t88JmQX809eH3C8491iu2sfKhTfhQtKY78oPNhiaHJUpT/dUDAAtng== + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz" + integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== + +lodash.isundefined@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/lodash.isundefined/-/lodash.isundefined-3.0.1.tgz" + integrity sha512-MXB1is3s899/cD8jheYYE2V9qTHwKvt+npCwpD+1Sxm3Q3cECXCiYHjeHWXNwr6Q0SOBPrYUDxendrO6goVTEA== + +lodash.union@^4.6.0: + version "4.6.0" + resolved "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz" + integrity sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw== + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== + +lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== lodash@4.6.1: version "4.6.1" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.6.1.tgz#df00c1164ad236b183cfc3887a5e8d38cc63cbbc" - integrity sha1-3wDBFkrSNrGDz8OIel6NOMxjy7w= - -lodash@^4.17.13, lodash@^4.17.15: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== + resolved "https://registry.npmjs.org/lodash/-/lodash-4.6.1.tgz" + integrity sha512-85DFrB4TYPwVZbZw/HCGnmRUdDQOxGJuDmSfZ9OQEESdFJ1NxlYLoQObfHJGr+UsWwmVQhwG2iPmUCi6+eKzUg== log-symbols@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" - integrity sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg= + resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz" + integrity sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg= sha512-mmPrW0Fh2fxOzdBbFv4g1m6pR72haFLPJ2G5SJEELf1y+iaQrDG6cWCPjy54RHYbZAt7X+ls690Kw62AdWXBzQ== dependencies: chalk "^1.0.0" log-symbols@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" + resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz" integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== dependencies: chalk "^2.4.2" log-update@^2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708" - integrity sha1-iDKP19HOeTiykoN0bwsbwSayRwg= + resolved "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz" + integrity sha1-iDKP19HOeTiykoN0bwsbwSayRwg= sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg== dependencies: ansi-escapes "^3.0.0" cli-cursor "^2.0.0" @@ -2882,59 +2839,59 @@ log-update@^2.3.0: loglevel@^1.6.1: version "1.6.3" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.3.tgz#77f2eb64be55a404c9fd04ad16d57c1d6d6b1280" + resolved "https://registry.npmjs.org/loglevel/-/loglevel-1.6.3.tgz" integrity sha512-LoEDv5pgpvWgPF4kNYuIp0qqSJVWak/dML0RY74xlzMZiT9w77teNAwKYKWBTYjlokMirg+o3jBwp+vlLrcfAA== -lolex@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/lolex/-/lolex-5.1.2.tgz#953694d098ce7c07bc5ed6d0e42bc6c0c6d5a367" - integrity sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A== - dependencies: - "@sinonjs/commons" "^1.7.0" - loud-rejection@^1.0.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= + resolved "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz" + integrity sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ== dependencies: currently-unhandled "^0.4.1" signal-exit "^3.0.0" +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + make-dir@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.0.tgz#1b5f39f6b9270ed33f9f054c5c0f84304989f801" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz" integrity sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw== dependencies: semver "^6.0.0" -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= - dependencies: - tmpl "1.0.x" +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" map-obj@^1.0.0, map-obj@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" + resolved "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" + integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== meow@3.7.0: version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= + resolved "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz" + integrity sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA== dependencies: camelcase-keys "^2.0.0" decamelize "^1.1.2" @@ -2949,436 +2906,295 @@ meow@3.7.0: merge-stream@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - dependencies: - braces "^3.0.1" - picomatch "^2.0.5" - -mime-db@~1.37.0: - version "1.37.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8" - integrity sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg== - -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.21" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.21.tgz#28995aa1ecb770742fe6ae7e58f9181c744b3f96" - integrity sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg== +micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== dependencies: - mime-db "~1.37.0" + braces "^3.0.2" + picomatch "^2.3.1" mimic-fn@^1.0.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== mimic-fn@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -"minimatch@2 || 3", minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== +minimatch@^3.0.4, minimatch@^3.1.1, "minimatch@2 || 3": + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" +minimatch@^5.1.0: + version "5.1.6" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + minimatch@3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.0.tgz#5236157a51e4f004c177fb3c527ff7dd78f0ef83" - integrity sha1-UjYVelHk8ATBd/s8Un/33Xjw74M= + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz" + integrity sha512-ekKdP/98gMbw+JdQaHZlS5/irFw63ktA3FXHaal7TXkvdaUJ9M6BewwNyEujYzRsTirZGmEVDho+Gh8bfcpVxw== dependencies: brace-expansion "^1.0.0" +minimist@^1.1.3, minimist@^1.2.0: + version "1.2.8" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + minimist@0.0.8: version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= - -minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" + resolved "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + integrity sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q== -mkdirp@0.5.1, mkdirp@^0.5.1: +"mkdirp@>=0.5 0", mkdirp@0.5.1: version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" + integrity sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA== dependencies: minimist "0.0.8" -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== natural-compare@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== node-domexception@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" + resolved "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz" integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== node-fetch@^1.0.1: version "1.7.3" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz" integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== dependencies: encoding "^0.1.11" is-stream "^1.0.1" node-fetch@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.1.1.tgz#d0d9607e455b3087e3092b821b5b1f1ebf4c2147" - integrity sha512-SMk+vKgU77PYotRdWzqZGTZeuFKlsJ0hu4KPviQKkfY+N3vn2MIzr0rvpnYpR8MtB3IEuhlEcuOLbGvLRlA+yg== + version "3.3.2" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz" + integrity sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA== dependencies: data-uri-to-buffer "^4.0.0" - fetch-blob "^3.1.3" + fetch-blob "^3.1.4" formdata-polyfill "^4.0.10" node-int64@^0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== -node-notifier@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-6.0.0.tgz#cea319e06baa16deec8ce5cd7f133c4a46b68e12" - integrity sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw== - dependencies: - growly "^1.3.0" - is-wsl "^2.1.1" - semver "^6.3.0" - shellwords "^0.1.1" - which "^1.3.1" +node-releases@^2.0.13: + version "2.0.13" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz" + integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== -"nomnom@>= 1.5.x": - version "1.8.1" - resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.8.1.tgz#2151f722472ba79e50a76fc125bb8c8f2e4dc2a7" - integrity sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc= +nomnom@^1.5.3, "nomnom@>= 1.5.x": + version "1.5.3" + resolved "https://registry.npmjs.org/nomnom/-/nomnom-1.5.3.tgz" + integrity sha512-nUscgRAa6iMYF9izbt6fiE5hC0j8pqqnaSooh1txcyYgwys2F4ZxWcSFbc9NxkDsmUbal/NmIIzxKDqE5snLUA== dependencies: - chalk "~0.4.0" - underscore "~1.6.0" + colors "0.5.x" + underscore "1.1.x" normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: - version "2.4.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" - integrity sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw== + version "2.5.0" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== dependencies: hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" + resolve "^1.10.0" semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - normalize-path@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0: +npm-run-path@^4.0.0, npm-run-path@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== dependencies: path-key "^3.0.0" number-is-nan@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + resolved "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== object-assign@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" - integrity sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I= - -object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-keys@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" - integrity sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.getownpropertydescriptors@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" - integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= - dependencies: - define-properties "^1.1.2" - es-abstract "^1.5.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz" + integrity sha512-jHP15vXVGeVh1HuaA2wY6lxk+whK/x4KBG88VXeRma7CCun7iGD5qPc4eYykQ9sdQvg8jkwFKsSxHln2ybW3xQ== + +object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== omni-fetch@0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/omni-fetch/-/omni-fetch-0.1.0.tgz#39c87550c1bb8dd2cc1fba548f42f5267a5aee39" - integrity sha1-Och1UMG7jdLMH7pUj0L1Jnpa7jk= + resolved "https://registry.npmjs.org/omni-fetch/-/omni-fetch-0.1.0.tgz" + integrity sha512-bY1kgVbdKBo/hWwHXSwPvDtnygcyA7WOTEK9GhRl0YdzoorHinMBlza5DuZnD+u7E7jV3BP0TYyJO2TR2zL8Yg== dependencies: caw "^1.2.0" once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" onetime@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= + resolved "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz" + integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ== dependencies: mimic-fn "^1.0.0" -onetime@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" - integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== +onetime@^5.1.0, onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" opencollective-postinstall@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz#5657f1bede69b6e33a45939b061eb53d3c6c3a89" + resolved "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz" integrity sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw== -optionator@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" - integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.4" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - wordwrap "~1.0.0" - -p-each-series@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48" - integrity sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - p-finally@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" + resolved "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz" integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== p-limit@^2.2.0: version "2.2.2" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.2.tgz#61279b67721f5287aa1c13a9a7fbbc48c9291b1e" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz" integrity sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ== dependencies: p-try "^2.0.0" +p-limit@^3.0.2, p-limit@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + p-locate@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== dependencies: p-limit "^2.2.0" +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + p-map@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + resolved "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz" integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== p-try@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +pako@~1.0.2: + version "1.0.11" + resolved "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" parse-json@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + resolved "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" + integrity sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ== dependencies: error-ex "^1.2.0" -parse-json@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" - integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== +parse-json@^5.0.0, parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" + json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" -parse5@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" - integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-exists@2.1.0, path-exists@^2.0.0: +path-exists@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= + resolved "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" + integrity sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ== dependencies: pinkie-promise "^2.0.0" path-exists@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== +path-exists@2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" + integrity sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ== + dependencies: + pinkie-promise "^2.0.0" + path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-parse@^1.0.6, path-parse@^1.0.7: +path-parse@^1.0.7: version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-type@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= + resolved "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz" + integrity sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg== dependencies: graceful-fs "^4.1.2" pify "^2.0.0" @@ -3386,80 +3202,70 @@ path-type@^1.0.0: path-type@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.0.5: - version "2.2.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a" - integrity sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA== +picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== pify@^2.0.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== pinkie-promise@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + resolved "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== dependencies: pinkie "^2.0.0" pinkie@^2.0.0: version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== -pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.0" +pirates@^4.0.4: + version "4.0.6" + resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== pkg-dir@^4.2.0: version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== dependencies: find-up "^4.0.0" +pkg-dir@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz" + integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA== + dependencies: + find-up "^5.0.0" + please-upgrade-node@^3.2.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" + resolved "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz" integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== dependencies: semver-compare "^1.0.0" -pn@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" - integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - prettier@^1.19.1: version "1.19.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" + resolved "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz" integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== pretty-format@^24.9.0: version "24.9.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" + resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz" integrity sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA== dependencies: "@jest/types" "^24.9.0" @@ -3467,55 +3273,49 @@ pretty-format@^24.9.0: ansi-styles "^3.2.0" react-is "^16.8.4" -pretty-format@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.1.0.tgz#ed869bdaec1356fc5ae45de045e2c8ec7b07b0c8" - integrity sha512-46zLRSGLd02Rp+Lhad9zzuNZ+swunitn8zIpfD2B4OPCRLXbM87RJT2aBLBWYOznNUML/2l/ReMyWNC80PJBUQ== +pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== dependencies: - "@jest/types" "^25.1.0" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^16.12.0" + "@jest/schemas" "^29.6.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== prompts@^2.0.1: version "2.3.0" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.0.tgz#a444e968fa4cc7e86689a74050685ac8006c4cc4" + resolved "https://registry.npmjs.org/prompts/-/prompts-2.3.0.tgz" integrity sha512-NfbbPPg/74fT7wk2XYQ7hAIp9zJyZp5Fu19iRbORqqy1BhtrkZ0fPafBU+7bmn8ie69DpT0R6QpJIN2oisYjJg== dependencies: kleur "^3.0.3" sisteransi "^1.0.3" -psl@^1.1.24, psl@^1.1.28: - version "1.1.31" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184" - integrity sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw== - pump@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== dependencies: end-of-stream "^1.1.0" once "^1.3.1" -punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= - -punycode@^2.1.0, punycode@^2.1.1: +punycode@^2.1.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== +pure-rand@^6.0.0: + version "6.0.4" + resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz" + integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA== rc@^1.1.2: version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== dependencies: deep-extend "^0.6.0" @@ -3523,531 +3323,382 @@ rc@^1.1.2: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-is@^16.12.0, react-is@^16.8.4: +react-is@^16.8.4: version "16.12.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c" + resolved "https://registry.npmjs.org/react-is/-/react-is-16.12.0.tgz" integrity sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q== +react-is@^18.0.0: + version "18.2.0" + resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + read-pkg-up@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= + resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz" + integrity sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A== dependencies: find-up "^1.0.0" read-pkg "^1.0.0" read-pkg@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz" + integrity sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ== dependencies: load-json-file "^1.0.0" normalize-package-data "^2.3.2" path-type "^1.0.0" -realpath-native@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" - integrity sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA== +readable-stream@^2.0.0: + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^2.0.2: + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^2.0.5: + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@~2.3.6: + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdir-glob@^1.1.2: + version "1.1.3" + resolved "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz" + integrity sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA== dependencies: - util.promisify "^1.0.0" + minimatch "^5.1.0" rechoir@^0.6.2: version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= + resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" + integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== dependencies: resolve "^1.1.6" redent@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= + resolved "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz" + integrity sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g== dependencies: indent-string "^2.1.0" strip-indent "^1.0.1" -regenerator-runtime@^0.13.2: - version "0.13.2" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz#32e59c9a6fb9b1a4aff09b4930ca2d4477343447" - integrity sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA== - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - repeating@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= + resolved "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz" + integrity sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A== dependencies: is-finite "^1.0.0" -request-promise-core@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9" - integrity sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ== - dependencies: - lodash "^4.17.15" - -request-promise-native@^1.0.7: - version "1.0.8" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36" - integrity sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ== - dependencies: - request-promise-core "1.1.3" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.88.0: - version "2.88.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" - integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.0" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.4.3" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - require-directory@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== resolve-cwd@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== dependencies: resolve-from "^5.0.0" resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== resolve-from@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= +resolve.exports@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz" + integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== -resolve@^1.1.6: - version "1.21.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.21.0.tgz#b51adc97f3472e6a5cf4444d34bc9d6b9037591f" - integrity sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA== +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.20.0: + version "1.22.8" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== dependencies: - is-core-module "^2.8.0" + is-core-module "^2.13.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^1.3.2: - version "1.15.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.0.tgz#1b7ca96073ebb52e741ffd799f6b39ea462c67f5" - integrity sha512-+hTmAldEGE80U2wJJDC1lebb5jWqvTYAfm3YZ1ckk1gBr0MnCqUKlwK1e+anaFljIl+F5tR5IoZcm4ZDA1zMQw== - dependencies: - path-parse "^1.0.6" - restore-cursor@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= + resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz" + integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q== dependencies: onetime "^2.0.0" signal-exit "^3.0.2" -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - rimraf@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.1.tgz#48d3d4cb46c80d388ab26cd61b1b466ae9ae225a" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.1.tgz" integrity sha512-IQ4ikL8SjBiEDZfk+DFVwqRK8md24RWMEJkdSlgNLkyyAImcjf8SWvU1qFMDOb4igBClbTQ/ugPqXcRwdFTxZw== dependencies: glob "^7.1.3" -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== +rimraf@2: + version "2.7.1" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" rxjs@^6.3.3: version "6.5.1" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.1.tgz#f7a005a9386361921b8524f38f54cbf80e5d08f4" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.5.1.tgz" integrity sha512-y0j31WJc83wPu31vS1VlAFW5JGrnGC+j+TtGAa1fRQphy48+fDYiDmX8tjGloToEsMkxnouOg/1IzXGKkJnZMg== dependencies: tslib "^1.9.0" -safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.1.1: +safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" +safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -saxes@^3.1.9: - version "3.1.11" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" - integrity sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g== +saxes@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== dependencies: - xmlchars "^2.1.1" + xmlchars "^2.2.0" semver-compare@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" - integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= - -semver-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-2.0.0.tgz#a93c2c5844539a770233379107b38c7b4ac9d338" - integrity sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw== - -"semver@2 || 3 || 4 || 5", semver@^5.5.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" - integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== - -semver@^5.4.1: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + resolved "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz" + integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== -semver@^6.0.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^7.1.1: - version "7.1.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.1.2.tgz#847bae5bce68c5d08889824f02667199b70e3d87" - integrity sha512-BJs9T/H8sEVHbeigqzIEo57Iu/3DG6c4QoqTfbQB3BPA4zgzAomh/Fk9E7QtjWQ8mx2dgA9YCfSF4y9k9bHNpQ== +semver-regex@^3.1.2: + version "3.1.4" + resolved "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.4.tgz" + integrity sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA== -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= +semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -set-value@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" - integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE= +semver@^7.5.3: + version "7.5.4" + resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.1" - to-object-path "^0.3.0" + lru-cache "^6.0.0" -set-value@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" - integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg== +semver@^7.5.4: + version "7.5.4" + resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" + lru-cache "^6.0.0" -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" +"semver@2 || 3 || 4 || 5": + version "5.7.2" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +setimmediate@^1.0.5, setimmediate@~1.0.4: + version "1.0.5" + resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: shebang-regex "^3.0.0" -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - shebang-regex@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== shelljs.exec@^1.1.7: version "1.1.8" - resolved "https://registry.yarnpkg.com/shelljs.exec/-/shelljs.exec-1.1.8.tgz#6f3c8dd017cb96d2dea82e712b758eab4fc2f68c" + resolved "https://registry.npmjs.org/shelljs.exec/-/shelljs.exec-1.1.8.tgz" integrity sha512-vFILCw+lzUtiwBAHV8/Ex8JsFjelFMdhONIsgKNLgTzeRckp2AOYRQtHJE/9LhNvdMmE27AGtzWx0+DHpwIwSw== shelljs@^0.8.1: version "0.8.5" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" + resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz" integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== dependencies: glob "^7.0.0" interpret "^1.0.0" rechoir "^0.6.2" -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== sisteransi@^1.0.3: version "1.0.4" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.4.tgz#386713f1ef688c7c0304dc4c0632898941cad2e3" + resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.4.tgz" integrity sha512-/ekMoM4NJ59ivGSfKapeG+FWtrmWvA1p6FBZwXrqojw90vJu8lBmrTxCMuBCydKtkaUe2zt4PlxeTKpjwMbyig== slash@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== slice-ansi@0.0.4: version "0.0.4" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" - integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU= - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz" + integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU= sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw== -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-map-resolve@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" - integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== - dependencies: - atob "^2.1.1" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.6: - version "0.5.10" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.10.tgz#2214080bc9d51832511ee2bab96e3c2f9353120c" - integrity sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ== +source-map-support@0.5.13: + version "0.5.13" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: +source-map@^0.6.0, source-map@^0.6.1: version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@^0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - spdx-correct@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" - integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== + version "3.2.0" + resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== dependencies: spdx-expression-parse "^3.0.0" spdx-license-ids "^3.0.0" spdx-exceptions@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" - integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== + version "2.3.0" + resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== spdx-expression-parse@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" - integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== + version "3.0.1" + resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== dependencies: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz#81c0ce8f21474756148bbb5f3bfc0f36bf15d76e" - integrity sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" + version "3.0.16" + resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz" + integrity sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw== sprintf-js@~1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.16.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.0.tgz#1d4963a2fbffe58050aa9084ca20be81741c07de" - integrity sha512-Zhev35/y7hRMcID/upReIvRse+I9SVhyVre/KTJSJQWMz3C3+G+HpO7m1wK/yckEtujKZ7dS4hkVxAnmHaIGVQ== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -stack-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" - integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" + escape-string-regexp "^2.0.0" -stealthy-require@^1.1.1: +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" string-argv@0.3.1: version "0.3.1" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz" integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== -string-length@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837" - integrity sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA== +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== dependencies: - astral-regex "^1.0.0" - strip-ansi "^5.2.0" + char-regex "^1.0.2" + strip-ansi "^6.0.0" string-math@^1.2.2: version "1.2.2" - resolved "https://registry.yarnpkg.com/string-math/-/string-math-1.2.2.tgz#c6a9362fac81476092f6f920e5379df00313c1e3" + resolved "https://registry.npmjs.org/string-math/-/string-math-1.2.2.tgz" integrity sha512-rfRZpMZbIy+0pepaW8iDCR+iW+GONxyi0jXfdyW4MgpFATH/Vlz+d3vt8UMu/a1RjA9xiejBDFayvTXzs/ROTw== string-width@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw== dependencies: code-point-at "^1.0.0" is-fullwidth-code-point "^1.0.0" @@ -4055,7 +3706,7 @@ string-width@^1.0.1: string-width@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== dependencies: is-fullwidth-code-point "^2.0.0" @@ -4063,16 +3714,25 @@ string-width@^2.1.1: string-width@^4.1.0, string-width@^4.2.0: version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz" integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== dependencies: emoji-regex "^8.0.0" is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" +string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + stringify-object@^3.3.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== dependencies: get-own-enumerable-property-symbols "^3.0.0" @@ -4081,443 +3741,307 @@ stringify-object@^3.3.0: strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== dependencies: ansi-regex "^2.0.0" strip-ansi@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== dependencies: ansi-regex "^3.0.0" -strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: - ansi-regex "^5.0.0" - -strip-ansi@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" - integrity sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE= + ansi-regex "^5.0.1" strip-bom@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" + integrity sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g== dependencies: is-utf8 "^0.2.0" strip-bom@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - strip-final-newline@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== strip-indent@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= + resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz" + integrity sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA== dependencies: get-stdin "^4.0.1" +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + strip-json-comments@~2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" + integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== supports-color@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + resolved "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== supports-color@^5.3.0: version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" -supports-color@^7.0.0, supports-color@^7.1.0: +supports-color@^7.1.0: version "7.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz" integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== dependencies: has-flag "^4.0.0" -supports-hyperlinks@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.0.0.tgz#b1b94a159e9df00b0a554b2d5f0e0a89690334b0" - integrity sha512-bFhn0MQ8qefLyJ3K7PpHiPUTuTVPWw6RXfaMeV6xgJLXtBbszyboz1bvGTVv4R0YpQm2DqlXXn0fFHhxUHVE5w== +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" - supports-color "^7.0.0" supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== symbol-observable@^1.1.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" + resolved "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz" integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== -symbol-tree@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" - integrity sha1-rifbOPZgp64uHDt9G8KQgZuFGeY= - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== +tar-stream@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" test-exclude@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== dependencies: "@istanbuljs/schema" "^0.1.2" glob "^7.1.4" minimatch "^3.0.4" -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== +tmp@^0.2.0: + version "0.2.1" + resolved "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz" + integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== + dependencies: + rimraf "^3.0.0" -tmpl@1.0.x: +tmpl@1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== to-fast-properties@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -tough-cookie@^2.3.3: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tough-cookie@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" - integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== - dependencies: - ip-regex "^2.1.0" - psl "^1.1.28" - punycode "^2.1.1" - -tough-cookie@~2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" - integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== - dependencies: - psl "^1.1.24" - punycode "^1.4.1" - -tr46@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" - integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= - dependencies: - punycode "^2.1.0" +"traverse@>=0.3.0 <0.4": + version "0.3.9" + resolved "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz" + integrity sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ== trim-newlines@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= + resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz" + integrity sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw== + +ts-node@^10.5.0, ts-node@>=9.0.0: + version "10.9.1" + resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" tslib@^1.9.0: version "1.9.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz" integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== tunnel-agent@^0.4.0: version "0.4.3" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" - integrity sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us= - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" + resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz" + integrity sha512-e0IoVDWx8SDHc/hwFTqJDQ7CCDTEeGhmcT9jkWJjoGQSpgBz20nAMr80E3Tpk7PatJ1b37DQDgJR3CNSzcMOZQ== type-detect@4.0.8: version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== type-fest@^0.8.1: version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -underscore@~1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" - integrity sha1-izixDKze9jM3uLJOT/htRa6lKag= +typescript@^4.5.5, typescript@>=2.7: + version "4.9.5" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== -union-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" - integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ= - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^0.4.3" +underscore@1.1.x: + version "1.1.7" + resolved "https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz" + integrity sha512-w4QtCHoLBXw1mjofIDoMyexaEdWGMedWNDhlWTtT1V1lCRqi65Pnoygkh6+WRdr+Bm8ldkBNkNeCsXGMlQS9HQ== universalify@^0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" + resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unzipper@^0.10.11: + version "0.10.14" + resolved "https://registry.npmjs.org/unzipper/-/unzipper-0.10.14.tgz" + integrity sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g== + dependencies: + big-integer "^1.6.17" + binary "~0.3.0" + bluebird "~3.4.1" + buffer-indexof-polyfill "~1.0.0" + duplexer2 "~0.1.4" + fstream "^1.0.12" + graceful-fs "^4.2.2" + listenercount "~1.0.1" + readable-stream "~2.3.6" + setimmediate "~1.0.4" + +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" uri-js@^4.2.2: version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -util.promisify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" +uuid@^8.3.0: + version "8.3.2" + resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -uuid@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" - integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== -v8-to-istanbul@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.0.1.tgz#d6a2a3823b8ff49bdf2167ff2a45d82dff81d02f" - integrity sha512-x0yZvZAkjJwdD3fPiJzYP37aod0ati4LlmD2RmpKjqewjKAov/u/ytZ8ViIZb07cN4cePKzl9ijiUi7C1LQ8hQ== +v8-to-istanbul@^9.0.1: + version "9.1.3" + resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz" + integrity sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg== dependencies: + "@jridgewell/trace-mapping" "^0.3.12" "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" + convert-source-map "^2.0.0" validate-npm-package-license@^3.0.1: version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== dependencies: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -w3c-hr-time@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" - integrity sha1-gqwr/2PZUOqeMYmlimViX+3xkEU= - dependencies: - browser-process-hrtime "^0.1.2" - -w3c-xmlserializer@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" - integrity sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg== - dependencies: - domexception "^1.0.1" - webidl-conversions "^4.0.2" - xml-name-validator "^3.0.0" - -walker@^1.0.7, walker@~1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= +walker@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== dependencies: - makeerror "1.0.x" + makeerror "1.0.12" web-streams-polyfill@^3.0.3: version "3.2.0" - resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.0.tgz#a6b74026b38e4885869fb5c589e90b95ccfc7965" + resolved "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.0.tgz" integrity sha512-EqPmREeOzttaLRm5HS7io98goBgZ7IVz79aDvqjD0kYXLtFZTc0T/U6wHTPKyIjb+MdN7DFIIX6hgdBEpWmfPA== -webidl-conversions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" - integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== - -whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - whatwg-fetch@>=0.10.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" - integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q== - -whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd" - integrity sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + version "3.6.19" + resolved "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.19.tgz" + integrity sha512-d67JP4dHSbm2TrpFj8AbO8DnL1JXL5J9u0Kq2xW6d0TFDbCA3Muhdt8orXC22utleTVj7Prqt82baN6RBvnEgw== which-pm-runs@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" - integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= - -which@^1.2.9, which@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" + resolved "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz" + integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= sha512-SIqZVnlKPt/s5tOArosKIvGC1bwpoj6w5Q3SmimaVOOU8YFsjuMvvZO1MbKCbO8D6VV0XkROC8jrXJNYa1xBDA== which@^2.0.1: version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" -wordwrap@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= - wrap-ansi@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba" - integrity sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo= + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz" + integrity sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo= sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ== dependencies: string-width "^2.1.1" strip-ansi "^4.0.0" -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" string-width "^4.1.0" @@ -4525,67 +4049,75 @@ wrap-ansi@^6.2.0: wrappy@1: version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -write-file-atomic@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.1.tgz#558328352e673b5bb192cf86500d60b230667d4b" - integrity sha512-JPStrIyyVJ6oCSz/691fAjFtefZ6q+fP6tm+OS4Qw6o+TGQxNp1ziY2PgS+X/m0V8OWhZiO/m4xSj+Pr4RrZvw== +write-file-atomic@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== dependencies: imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.0.0: - version "7.5.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.3.tgz#160835b63c7d97bfab418fc1b8a9fced2ac01a74" - integrity sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg== + signal-exit "^3.0.7" -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xmlchars@^2.1.1: +xmlchars@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -y18n@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" - integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== -yaml@^1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.7.2.tgz#f26aabf738590ab61efaca502358e48dc9f348b2" - integrity sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw== - dependencies: - "@babel/runtime" "^7.6.3" +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== -yargs-parser@^16.1.0: - version "16.1.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-16.1.0.tgz#73747d53ae187e7b8dbe333f95714c76ea00ecf1" - integrity sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.0, yaml@^1.7.2: + version "1.10.2" + resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs@^17.3.1: + version "17.7.2" + resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" -yargs@^15.0.0: - version "15.1.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.1.0.tgz#e111381f5830e863a89550bd4b136bb6a5f37219" - integrity sha512-T39FNN1b6hCW4SOIk1XyTOWxtXdcen0t+XYrysQmChzSipvhBO8Bj0nK1ozAasdk24dNWuMZvr4k24nz+8HHLg== +yn@3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +zip-stream@^4.1.0: + version "4.1.1" + resolved "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz" + integrity sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ== dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^16.1.0" + archiver-utils "^3.0.4" + compress-commons "^4.1.2" + readable-stream "^3.6.0"