This guide explains how to convert Star Wars Armada ship cards into JSON format for use in our API and card reconstruction system.
Start with the basic structure of a ship JSON object:
{
"ships": {
"ship-name-in-kebab-case": {
// Ship details go here
}
}
}
Fill in the chassis information:
"_id": null,
"type": "chassis",
"chassis_name": "ship-name-in-kebab-case",
"size": "small|medium|large|huge",
"hull": number,
_id
: Leave as null, it will be generated later.type
: Always "chassis" for ships.chassis_name
: The ship's name in kebab-case (lowercase with hyphens).size
: "small", "medium", or "large". Flotilla are defined as a trait, not a size.hull
: The hull value from the card.
Convert the speed chart to JSON:
"speed": {
"1": [number],
"2": [number, number],
"3": [number, number, number],
"4": [number, number, number, number]
},
Fill in the numbers for each speed, using the values from the card's speed chart. Aka - is 0, I is 1, II is 2.
Add the shield values:
"shields": {
"front": number,
"rear": number,
"left": number,
"right": number,
"left_aux": number,
"right_aux": number
},
Fill in the shield values for each section. Use 0 for sections that don't exist (like aux arcs on smaller ships).
Add the hull zone information:
"hull_zones": {
"frontoffset": number,
"centeroffset": number,
"rearoffset": number,
"frontangle": number,
"centerangle": number,
"rearangle": number
},
These are only for future reference. Do not worry about these for the moment.
Add placeholders for silhouette and blueprint images:
"silhouette": "[link to image]",
"blueprint": "[link to image]",
Create entries for each variant of the ship:
"models": {
"ship-variant-name": {
// Ship variant details go here
}
}
For each ship variant, include the following information:
"author": "Publisher Name",
"alias": "Publisher Abbreviation",
"team": "Publisher Abbreviation",
"release": "Release Wave",
"expansion": "Expansion Name",
"_id": null,
"type": "ship",
"chassis": "chassis-name",
"name": "Full Ship Name",
"faction": "faction-name",
"unique": boolean,
"traits": ["trait1", "trait2"],
"points": number,
For example, for FFG I put:
"author": "Fantasy Flight Games",
"alias": "FFG",
"team": "FFG",
"release": "Wave 0 Armada",
"expansion": "Armada Core Set (SWM01)",
For AMG:
"author": "Atomic Mass Games",
"alias": "AMG",
"team": "AMG",
"release": "Rapid Reinforcements I",
"expansion": "Rapid Reinforcements I",
When putting the expansion name, use the release names mentioned in the Star Wars Armada wiki located here:
I just removed the "Print-and-play" from the names of Rapid Reinforcements I and II.
flotilla
are defined as a trait here.
For the rest, see the following example for a victory star destroyer 1, for the empire:
"models": {
"victory-i-class-star-destroyer": {
"author": "Fantasy Flight Games",
"alias": "FFG",
"team": "FFG",
"release": "Wave 0 Armada",
"expansion": "Armada Core Set (SWM01)",
"_id": null,
"type": "ship",
"chassis": "victory-star-destroyer",
"name": "Victory I-Class Star Destroyer",
"faction": "empire",
"unique": false,
"traits": ["star-destroyer"],
"points": 73,
Add the defense token information:
"tokens": {
"def_scatter": number,
"def_evade": number,
"def_brace": number,
"def_redirect": number,
"def_contain": number,
"def_salvo": number
},
Set the value to the number of each token type the ship has.
Add the command values:
"values": {
"command": number,
"squadron": number,
"engineer": number
},
List the upgrade slots:
"upgrades": ["slot1", "slot2", "slot3", ...],
For this section, just copy the upgrades in the json template here and delete the ones the ship doesn't have. Make sure these are named exactly:
"upgrades": ["commander", "officer", "weapons-team", "support-team", "fleet-command", "fleet-support", "offensive-retro", "weapons-team-offensive-retro", "defensive-retro", "experimental-retro", "turbolaser", "ion-cannon", "ordnance", "super-weapon", "title"],
Add the armament information:
"armament": {
"asa": [red, blue, black],
"front": [red, blue, black],
"rear": [red, blue, black],
"left": [red, blue, black],
"right": [red, blue, black],
"left_aux": [red, blue, black],
"right_aux": [red, blue, black],
"special": [red, blue, black]
},
Fill in the number of dice for each color (red, blue, black) in each firing arc. Use 0 for colors or arcs that don't apply.
Add placeholders for artwork and card images:
"artwork": "",
"cardimage": ""
For reference, you can look at the Victory Star Destroyer JSON:
startLine: 1
endLine: 160
This example shows how the Victory Star Destroyer card has been converted to JSON format following these guidelines.