An easy-to-use collection of all data from X-Wing: The Miniatures Game (Second Edition) by Atomic Mass Games.
If you're looking for data and images of X-Wing First Edition, you can find that here: xwing-data.
Every ship, pilot, upgrade, etc. has a xws
field that contains a unique id. These ids are used in the X-Wing Squadron Specification (or XWS
). Note that ids are only unique per card type (as explained below): a pilot can safely have the same id as an upgrade, for example.
New XWS ids are generated using the following steps:
Expansion suffixes per type:
Pilots: pilotname-shipname-factionname-expansionname-productsku
Upgrades: upgradename-slotname-expansionname-productsku
Conditions: conditionname-expansionname-productsku
XWS ids have to be unique per type (pilot/upgrade/condition/etc) and do not collide with ids of other types. So there can be a hansolo
pilot and a hansolo
upgrade, but there cannot be two upgrades with the hansolo
xws id (regardless of the slot of those upgrades). One of those cards would get the -slotname
suffix (for example: hansolo-gunner
).
There are a few scripts that make it easier to work on the data.
You can run these scripts using npm
or yarn
.
Script | Description |
---|---|
yarn ts-node ./scripts/amg/parser.ts |
Scrape ship_points.xlsx and upgrade_points.xlsx for points and format legality (Excel sheets creaed from AMG PDFs using https://www.ilovepdf.com/pdf_to_excel |
Script | Description |
---|---|
yarn run format |
Format all .json files in the data folder using Prettier |
yarn run changelog A...B |
Generate a changelog between commits A and B , to be used in the release description on GitHub.Example usage: yarn run changelog 1.24.0...1.25.0 |
yarn run validate:json |
Validate that all .json files contain valid JSON |
yarn run validate:tests |
Run all unit tests |
yarn run validate:tests:watch |
Run all unit tests in watch mode |
Before opening a pull request, see the following checklist:
add rebel fangs
. Bad: create fang-fighter.json
master
(rebase on top of master
or merge it into your branch)yarn run validate:tests
add pride of mandalore rebel content
. PR messages can be the same as commit messages for single-commit PRs.Go through these steps to create a new release:
package.json
and data/manifest.json
according to the Versioning rules listed belowpackage.json
and data/manifest.json
changes to GitHub and/or merge them to the master
branchTag version
: The tag you just createdTarget
: master
branchRelease title
: The version numberDescribe this release
: The output of the yarn run changelog PREVIOUS_VERSION...HEAD
command (replace PREVIOUS_VERSION
with the latest available tag)This project uses SemVer. Given a MAJOR.MINOR.PATCH
version number, we will increment the:
MAJOR
version when existing content is changed in such a way that it can break consumers of the dataMINOR
version when new content is added in a backwards-compatible manner, or existing content is changed in a backwards-compatible mannerPATCH
version when fixing mistakes in existing contentSee the Releases tab in Github.
Star Wars: X-Wing and all related properties, images and text are owned by Atomic Mass Games, Lucasfilm Ltd., and/or Disney.