-
Notifications
You must be signed in to change notification settings - Fork 27
List Import Format
Matan Lurey edited this page Oct 11, 2021
·
3 revisions
The mod supports importing lists from external list builders that conform to the following JSON schema:
{
"author": {
"description": "What tool was used to generate this format, i.e. Tabletop Admiral or Legion HQ",
"type": "string"
},
"points": { "type": "integer" },
"armyFaction": {
"type": "string",
"pattern": "^rebel|imperial|separatist|republic$"
},
"commandCards": {
"type": "array",
"items": { "type": "string" }
},
"contingencies": {
"type": "array",
"items": { "type": "string" }
},
"units": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"upgrades": { "type": "array", "items": { "type": "string" } },
"loadout": { "type": "array", "items": { "type": "string" } }
}
}
},
"battlefieldDeck": {
"type": "object",
"properties": {
"scenario": {
"enum": ["standard", "skirmish", "scenario", "community"]
},
"conditions": { "type": "array", "items": { "type": "string" } },
"deployment": { "type": "array", "items": { "type": "string" } },
"objective": { "type": "array", "items": { "type": "string" } }
}
}
}
NOTE: You can download and reference
cards.json
to validate naming.
All card names must conform to these rules:
- The string must match the title exactly as it appears on FFG's cards
- Units that have a subtitle must concatenate that subtitle
Examples:
- Commander Luke =>
"Luke Skywalker Hero of the Rebellion"
- Operative Luke =>
"Luke Skywalker Jedi Knight"
- Rebel Commandos (full-size unit) =>
"Rebel Commandos"
- Rebel Commandos (strike team) =>
"Rebel Commandos Strike Team"
- Mandalorians =>
"Mandalorian Resistance"
- Clan Wren =>
"Mandalorian Resistance Clan Wren"
Flippable cards should use the following strings as their names:
- Offensive Stance / Defensive Stance =>
Offensive Stance
- A-180 Pistol Config / A-180 Rifle Config =>
A-180 Config
- A-300 Short Range Config / A-300 Long Range Config =>
A-300 Config
- A280-CFE Sniper Config / A280-CFE Pistol Config =>
A280-CFE Config
- E11-D Grenade Launcher Config / E11-D-Focused Fire Config =>
E11-D Config
- J-19 Bo-rifle Staff / J-19 Bo-rifle Blaster =>
J-19 Bo-rifle
- For intents of the mod, Counterparts should be added as an upgrade of their parent unit
- Naming must follow the same convention shown above (e.g. (e.g., C-3PO =>
"C-3PO Human Cyborg Relations"
) - Upgrades attached to Counterparts should be attached as an upgrade of their parent unit
- Units with Loadout should list the set-aside upgrades in a separate array (
"loadout": [...]
) from the primary"upgrades
".
- Units with the Flawed keyword should include their flaw card in the unit's
upgrades
list.
The following is an example of JSON text that will successfully import into the mod:
{
"author": "My Favorite List Builder",
"points": 430,
"armyFaction": "rebel",
"commandCards": [
"Ambush",
"Son of Skywalker",
"Push",
"My Ally is the Force",
"Assault",
"Return of the Jedi",
"Standing Orders"
],
"contingencies": [],
"units": [
{
"name": "Luke Skywalker Hero of the Rebellion",
"upgrades": ["Force Push", "Recon Intel"]
},
{
"name": "Cassian Andor Capable Intelligence Agent",
"upgrades": ["Offensive Push", "Duck and Cover"],
"loadout": ["Situational Awareness", "Tenacity"]
},
{
"name": "R2-D2 Hero of a Thousand Devices",
"upgrades": ["C-3PO Human Cyborg Relations"]
},
{ "name": "Rebel Troopers", "upgrades": ["Z-6 Trooper"] },
{ "name": "Rebel Troopers", "upgrades": ["Z-6 Trooper"] },
{ "name": "Rebel Troopers", "upgrades": [] }
],
"battlefieldDeck": {
"conditions": [
"Clear Conditions",
"Hostile Environment",
"Limited Visibility",
"Minefield"
],
"deployment": [
"Advanced Positions",
"Battlelines",
"Major Offensive",
"Hemmed In"
],
"objective": [
"Breakthrough",
"Intercept the Transmissions",
"Key Positions",
"Recover the Supplies"
]
}
}
The following is an example of a list using the loadout
mechanic:
{
"author": "Legion HQ",
"points": 152,
"armyFaction": "imperial",
"commandCards": [],
"contingencies": [],
"units": [
{
"name": "Iden Versio Inferno Squad Leader",
"upgrades": [
"Offensive Push",
"Overwatch",
"Ascension Cables",
"Iden's TL-50 Repeater",
"Iden's ID10 Seeker Droid Droid",
"HQ Uplink"
],
"loadout": [
"Situational Awareness",
"Recon Intel",
"Iden's DLT-20A Rifle",
"Comms Relay"
]
}
],
"battlefieldDeck": {
"conditions": [],
"deployment": [],
"objective": []
}
}
The following is an example of a list that will spawn unrecognized placeholder cards:
{
"author": "My Flawed List Builder",
"points": 100,
"armyFaction": "rebel",
"commandCards": [
"GONK GONK GONK!"
],
"contingencies": [],
"units": [
{
"name": "GONK Droid",
"upgrades": ["Big Booma"]
}
],
"battlefieldDeck": {
"conditions": [
"Clear Conditions",
"Hostile Environment",
"Limited Visibility",
"Minefield"
],
"deployment": [
"Advanced Positions",
"Battlelines",
"Major Offensive",
"Hemmed In"
],
"objective": [
"Breakthrough",
"Intercept the Transmissions",
"Key Positions",
"Recover the Supplies"
]
}
}
SWLegion.Dev • A Community Run Organization • Our Philosophy • Wiki