Rosterizer_Warhammer_40000_v9/40k/40k9e.manifest
2022-10-27 14:04:22 -07:00

2344 lines
No EOL
58 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"name": "40k9e",
"game": "Warhammer 40,000",
"genre": "sci-fi",
"publisher": "Games Workshop",
"url": "https://warhammer40000.com/",
"notes": "This manifest is provided for the purposes of testing Rosterizer and is not intended for distribution.",
"manifest": {
"assetTaxonomy": {
"Detachment": {
"stats": {
"HQ": {
"statType": "numeric",
"value": null,
"icons": [
"crowned-skull"
],
"statOrder": 1,
"visibility": "active",
"tracked": true
},
"Troops": {
"statType": "numeric",
"value": null,
"icons": [
"triangle-target"
],
"statOrder": 3,
"visibility": "active",
"tracked": true
},
"Elites": {
"statType": "numeric",
"value": null,
"icons": [
"pirate-flag"
],
"statOrder": 5,
"visibility": "active",
"tracked": true
},
"Dedicated Transport": {
"statType": "numeric",
"value": null,
"icons": [
"arrow-dunk"
],
"statOrder": 13,
"visibility": "active",
"tracked": true
},
"Fast Attack": {
"statType": "numeric",
"value": null,
"icons": [
"power-lightning"
],
"statOrder": 7,
"visibility": "active",
"tracked": true
},
"Heavy Support": {
"statType": "numeric",
"value": null,
"icons": [
"mine-explosion"
],
"statOrder": 9,
"visibility": "active",
"tracked": true
},
"Flyer": {
"statType": "numeric",
"value": null,
"icons": [
"bat-blade"
],
"statOrder": 11,
"visibility": "active",
"tracked": true
},
"Command Cost": {
"statType": "numeric",
"value": null,
"statOrder": -1,
"visibility": "always",
"tracked": true
}
},
"rules": {
"1 Dedicated Transport allowed per INFANTRY": {
"evals": [],
"failState": "pass",
"evaluate": "OR",
"order": 5,
"actions": [
{
"paths": [
[
"{self}",
"stats",
"Dedicated Transport",
"max"
]
],
"actionType": "set",
"value": [
"{self}",
"tally",
"INFANTRY"
],
"iterations": 1
}
]
}
},
"aspects": {
"Group Includes": true,
"Group Traits": true
},
"allowed": {
"classifications": [
"Unit"
]
}
},
"Unit": {
"stats": {
"Points": {
"value": 0,
"format": "{v}",
"group": "Cost",
"groupOrder": -1,
"tracked": true,
"statType": "numeric"
},
"model": {
"value": null,
"statType": "term",
"visibility": "hidden"
},
"Power Level": {
"statType": "numeric",
"format": "{v}",
"value": 0,
"group": "Cost",
"groupOrder": -1,
"visibility": "always",
"tracked": true
},
"power1": {
"statType": "numeric",
"value": null,
"visibility": "hidden"
},
"power3": {
"statType": "numeric",
"value": null,
"visibility": "hidden"
},
"power2": {
"statType": "numeric",
"value": null,
"visibility": "hidden"
},
"power4": {
"statType": "numeric",
"value": null,
"visibility": "hidden"
},
"poweri": {
"statType": "numeric",
"value": null,
"visibility": "hidden"
},
"Crusade Pts": {
"statType": "numeric",
"value": 0,
"visibility": "normal",
"dynamic": true,
"tracked": false
},
"Experience": {
"statType": "numeric",
"value": 0,
"visibility": "normal",
"dynamic": true,
"tracked": false
},
"Marked for Greatness": {
"statType": "numeric",
"value": 0,
"visibility": "active",
"dynamic": true,
"tracked": false
}
},
"keywords": {
"Tags": [
"Unit"
],
"Faction": []
},
"rules": {
"use points": {
"evals": [
{
"paths": [
[
"{roster}",
"stats",
"Mode",
"value"
]
],
"value": "Points",
"operator": "AND",
"not": false
}
],
"failState": "pass",
"evaluate": "OR",
"actions": [
{
"paths": [
[
"{self}",
"stats",
"Power Level",
"visibility"
]
],
"actionType": "set",
"value": "hidden",
"iterations": 1
}
]
},
"use power level": {
"evals": [
{
"paths": [
[
"{roster}",
"stats",
"Mode",
"value"
]
],
"value": "Power Level",
"operator": "AND",
"not": false
}
],
"failState": "pass",
"evaluate": "OR",
"actions": [
{
"paths": [
[
"{self}",
"stats",
"Points",
"visibility"
],
[
"{self}",
"assets",
"classification",
"Model",
"stats",
"Points",
"visibility"
]
],
"actionType": "set",
"value": "hidden",
"iterations": 1
}
]
},
"adjust power": {
"evals": [
{
"paths": [
[
"{self}",
"tally",
"Model"
]
],
"min": [
"{self}",
"stats",
"power1",
"value"
],
"operator": "AND",
"not": false,
"actionable": false
},
{
"paths": [
[
"{self}",
"tally",
"Model"
]
],
"min": [
"{self}",
"stats",
"power2",
"value"
],
"operator": "AND",
"not": false,
"actionable": false
},
{
"paths": [
[
"{self}",
"tally",
"Model"
]
],
"min": [
"{self}",
"stats",
"power3",
"value"
],
"operator": "AND",
"not": false,
"actionable": false
},
{
"paths": [
[
"{self}",
"tally",
"Model"
]
],
"min": [
"{self}",
"stats",
"power4",
"value"
],
"operator": "AND",
"not": false,
"actionable": false
},
{
"paths": [
[
"{self}",
"rules",
"adjust power",
"evals",
"0",
"result",
"truthy"
],
[
"{self}",
"rules",
"adjust power",
"evals",
"1",
"result",
"truthy"
],
[
"{self}",
"rules",
"adjust power",
"evals",
"2",
"result",
"truthy"
],
[
"{self}",
"rules",
"adjust power",
"evals",
"3",
"result",
"truthy"
]
],
"operator": "SUM",
"not": false,
"actionable": false
}
],
"failState": "pass",
"evaluate": "AND",
"order": 13,
"actions": [
{
"paths": [
[
"{self}",
"stats",
"Power Level",
"value"
]
],
"actionType": "modify",
"value": [
"{self}",
"stats",
"poweri",
"value"
],
"iterations": [
"{self}",
"rules",
"adjust power",
"evals",
"4",
"result",
"integer"
]
}
]
},
"Incorrect number of models.": {
"evals": [
{
"paths": [
[
"{self}",
"designation"
]
],
"operator": "AND",
"not": false,
"actionable": false
},
{
"paths": [
[
"{self}",
"stats",
"model",
"value"
]
],
"operator": "AND",
"not": false,
"actionable": false
},
{
"paths": [
[
"{self}",
"assets",
"item",
"{1string}",
"quantity"
]
],
"max": [
"{self}",
"stats",
"{0string}",
"max"
],
"min": [
"{self}",
"stats",
"{0string}",
"min"
],
"operator": "SUM",
"not": false
}
],
"failState": "error",
"evaluate": "OR",
"order": 12
},
"automagical tracking bounds": {
"evals": [
{
"paths": [
[
"{self}",
"designation"
]
],
"operator": "AND",
"not": false,
"note": "this is currently non-functional pending refactoring of findTargets"
},
{
"paths": [
[
"{self}",
"stats",
"model",
"value"
]
],
"operator": "AND",
"not": false,
"actionable": false
},
{
"paths": [
[
"{self}",
"assets",
"item",
"{1string}",
"designation"
]
],
"operator": "AND",
"not": false
}
],
"failState": "pass",
"evaluate": "OR",
"actions": [
{
"paths": [
[
"{self}",
"stats",
"{2string}",
"value"
]
],
"actionType": "set",
"value": 1000,
"iterations": 1
},
{
"paths": [
[
"{self}",
"stats",
"{2string}",
"tracked"
]
],
"actionType": "set",
"value": true,
"iterations": 1
},
{
"paths": [
[
"{self}",
"stats",
"{2string}",
"min"
]
],
"actionType": "set",
"value": [
"{self}",
"stats",
"{0string}",
"min"
],
"iterations": 1
},
{
"paths": [
[
"{self}",
"stats",
"{2string}",
"max"
]
],
"actionType": "set",
"value": [
"{self}",
"stats",
"{0string}",
"max"
],
"iterations": 1
}
]
},
"1 quantity per model": {
"evals": [
{
"paths": [
[
"{self}",
"designation"
]
],
"operator": "AND",
"not": false,
"actionable": false,
"note": "Checking my name so i know the correct statName to look at for qty."
},
{
"paths": [
[
"{self}",
"stats",
"model",
"value"
]
],
"operator": "AND",
"not": false,
"actionable": true,
"note": "Storing the itemKey of the model we want to track"
},
{
"paths": [
[
"{self}",
"assets",
"item",
"{1string}",
"quantity"
]
],
"operator": "SUM",
"not": false,
"actionable": false,
"note": "Isolate quantity of modified models",
"equation": {
"operator": "T-O",
"value": [
"{self}",
"traits",
"item",
"{1string}",
"quantity"
]
}
},
{
"paths": [
[
"{self}",
"stats",
"{0string}",
"value"
]
],
"operator": "AND",
"not": false,
"actionable": false,
"note": "Determine new qty of trait",
"equation": {
"operator": "T-O",
"value": [
"{self}",
"rules",
"1 quantity per model",
"evals",
"2",
"result",
"integer"
]
}
}
],
"failState": "pass",
"evaluate": "OR",
"order": 11,
"actions": [
{
"paths": [
[
"{self}",
"traits",
"item",
"{1string}",
"quantity"
]
],
"actionType": "set",
"value": [
"{self}",
"rules",
"1 quantity per model",
"evals",
"3",
"result",
"integer"
],
"iterations": 1
},
{
"paths": [
[
"{self}",
"allowed",
"items"
]
],
"actionType": "add",
"value": [
"{self}",
"stats",
"model",
"value"
],
"iterations": 1
}
]
},
"warlordTrait": {
"evals": [
{
"paths": [
[
"{self}",
"keywords",
"Keywords"
]
],
"value": "Character",
"contains": true,
"operator": "AND",
"not": false,
"actionable": true
}
],
"failState": "pass",
"evaluate": "AND",
"actions": [
{
"paths": [
[
"{self}",
"allowed",
"classifications"
]
],
"actionType": "add",
"value": "Warlord Trait",
"iterations": 1
}
]
},
"Error in this Units text": {
"evals": [
{
"paths": [
[
"{self}",
"text"
]
],
"value": "ERROR",
"contains": true,
"operator": "AND",
"not": true,
"actionable": true
}
],
"failState": "error",
"evaluate": "AND"
}
},
"aspects": {
"Type": "game piece",
"Lock Qty": true,
"Rename": true
}
},
"Statline": {
"stats": {
"A": {
"value": "0",
"statOrder": 7,
"group": "Stats",
"statType": "term",
"visibility": "always"
},
"BS": {
"format": "{v}+",
"value": 0,
"statOrder": 3,
"group": "Stats",
"statType": "numeric",
"visibility": "always"
},
"Ld": {
"value": 0,
"statOrder": 8,
"group": "Stats",
"statType": "numeric",
"visibility": "always"
},
"S": {
"value": 0,
"statOrder": 4,
"group": "Stats",
"statType": "numeric",
"visibility": "always"
},
"Sv": {
"format": "{v}+",
"value": 0,
"statOrder": 9,
"group": "Stats",
"statType": "numeric",
"visibility": "always"
},
"T": {
"value": 0,
"statOrder": 5,
"group": "Stats",
"statType": "numeric",
"visibility": "always"
},
"W": {
"value": 0,
"statOrder": 6,
"group": "Stats",
"statType": "numeric",
"visibility": "always"
},
"WS": {
"format": "{v}+",
"value": 0,
"statOrder": 2,
"group": "Stats",
"statType": "numeric",
"visibility": "always"
},
"Base": {
"statType": "term",
"value": null,
"visibility": "active"
},
"M": {
"statType": "term",
"format": "{t}″",
"value": null,
"statOrder": 1,
"group": "Stats",
"visibility": "always"
}
},
"rules": {
"remove tally": {
"evals": [
{
"paths": [
[
"{self}",
"designation"
]
],
"operator": "AND",
"not": false
}
],
"failState": "pass",
"evaluate": "OR",
"order": 1,
"actions": [
{
"paths": [
[
"{self}",
"tally",
"{0string}"
]
],
"actionType": "modify",
"value": -1,
"iterations": 1
}
]
}
}
},
"Model": {
"stats": {
"Points": {
"value": null,
"format": "{v}",
"group": "Cost",
"groupOrder": -1,
"tracked": true,
"statType": "numeric"
},
"A": {
"value": "0",
"statOrder": 7,
"group": "Stats",
"statType": "term",
"visibility": "normal"
},
"BS": {
"format": "{v}+",
"value": 0,
"statOrder": 3,
"group": "Stats",
"statType": "numeric",
"visibility": "normal"
},
"Ld": {
"value": 0,
"statOrder": 8,
"group": "Stats",
"statType": "numeric",
"visibility": "normal"
},
"S": {
"value": 0,
"statOrder": 4,
"group": "Stats",
"statType": "numeric",
"visibility": "normal"
},
"Sv": {
"format": "{v}+",
"value": 0,
"statOrder": 9,
"group": "Stats",
"statType": "numeric",
"visibility": "normal"
},
"T": {
"value": 0,
"statOrder": 5,
"group": "Stats",
"statType": "numeric",
"visibility": "normal"
},
"W": {
"value": 0,
"statOrder": 6,
"group": "Stats",
"statType": "numeric",
"visibility": "normal"
},
"WS": {
"format": "{v}+",
"value": 0,
"statOrder": 2,
"group": "Stats",
"statType": "numeric",
"visibility": "normal"
},
"Base": {
"statType": "term",
"value": null,
"visibility": "active"
},
"M": {
"statType": "term",
"format": "{t}″",
"value": null,
"statOrder": 1,
"group": "Stats",
"visibility": "normal"
}
},
"aspects": {
"Type": "game piece"
}
},
"HQ": {
"templateClass": "Unit",
"text": ""
},
"Troops": {
"templateClass": "Unit"
},
"Elites": {
"templateClass": "Unit"
},
"Fast Attack": {
"templateClass": "Unit"
},
"Flyers": {
"templateClass": "Unit"
},
"Heavy Support": {
"templateClass": "Unit"
},
"Fortifications": {
"templateClass": "Unit"
},
"Dedicated Transport": {
"templateClass": "Unit"
},
"Lords of War": {
"templateClass": "Unit"
},
"Weapon": {
"stats": {
"AP": {
"statOrder": 4,
"visibility": "always",
"statType": "term"
},
"D": {
"statOrder": 5,
"visibility": "always",
"statType": "term"
},
"Points": {
"value": null,
"format": "+{v}",
"group": "Cost",
"groupOrder": -1,
"tracked": true,
"statType": "numeric"
},
"S": {
"value": null,
"statOrder": 3,
"visibility": "always",
"statType": "term"
},
"Type": {
"value": null,
"statOrder": 2,
"visibility": "always",
"statType": "term"
},
"Range": {
"statType": "numeric",
"statOrder": 1,
"visibility": "always"
}
},
"aspects": {
"Visibility": "always"
}
},
"Wargear": {
"stats": {
"keyword?": {
"statType": "rank",
"value": "0",
"ranks": {
"0": {
"order": 0
},
"1": {
"order": 1
}
},
"visibility": "hidden"
}
},
"rules": {
"add keyword": {
"evals": [
{
"paths": [
[
"{parent}",
"{parent}",
"keywords",
"General"
]
],
"value": [
"{self}",
"designation"
],
"contains": true,
"operator": "AND",
"not": true
},
{
"paths": [
[
"{self}",
"stats",
"keyword?",
"value"
]
],
"value": "1",
"operator": "AND",
"not": false
}
],
"failState": "pass",
"evaluate": "AND",
"order": 12,
"actions": [
{
"paths": [
[
"{parent}",
"{parent}",
"keywords",
"General"
]
],
"actionType": "add",
"value": [
"{self}",
"designation"
],
"iterations": 1
}
]
}
},
"aspects": {
"Visibility": "always"
}
},
"Ability": {
"aspects": {
"Visibility": "active"
},
"rules": {
"Error in this Abilitys text": {
"evals": [
{
"paths": [
[
"{self}",
"text"
]
],
"value": "ERROR",
"contains": true,
"operator": "AND",
"not": true,
"actionable": true
}
],
"failState": "error",
"evaluate": "AND"
}
}
},
"Order of Battle": {
"allowed": {
"classifications": [
"Unit"
]
},
"aspects": {
"Group Includes": true
},
"rules": {
"hide enclosed assets": {
"evals": [],
"failState": "pass",
"evaluate": "OR",
"actions": [
{
"paths": [
[
"{self}",
"assets",
"templateClass",
"Unit",
"aspects",
"Visibility"
]
],
"actionType": "set",
"value": "active",
"iterations": 1
}
]
},
"noPoints": {
"failState": "pass",
"evaluate": "AND",
"actions": [
{
"paths": [
[
"{self}",
"tracked",
"Points"
]
],
"actionType": "set",
"value": 0,
"iterations": 1
}
]
},
"supplyUsedLimit": {
"failState": "pass",
"evaluate": "AND",
"actions": [
{
"paths": [
[
"{self}",
"stats",
"Power Level",
"max"
]
],
"actionType": "set",
"value": [
"{self}",
"stats",
"Supply Limit",
"value"
],
"iterations": 1
}
]
}
},
"stats": {
"Supply Limit": {
"statType": "numeric",
"increment": {
"value": 1
},
"value": 50,
"visibility": "normal",
"dynamic": true,
"tracked": false
},
"Power Level": {
"statType": "numeric",
"label": "Supply Used",
"value": 0,
"visibility": "normal",
"dynamic": false,
"tracked": true
},
"Battle Tally": {
"value": 0,
"statType": "numeric"
},
"Battles Won": {
"value": 0,
"statType": "numeric"
},
"Requisition Points": {
"value": 0,
"statType": "numeric"
}
}
},
"Psychic Power": {},
"Warlord Trait": {
"stats": {
"Discipline": {
"statType": "term",
"visibility": "active",
"dynamic": false,
"tracked": false
}
}
}
},
"assetCatalog": {
"Detachment§Auxiliary Support Detachment": {
"stats": {
"Command Cost": {
"value": 2
},
"Unit": {
"value": 0,
"max": 1
},
"Hive Fleet": {
"value": "-"
}
}
},
"Detachment§Battalion Detachment": {
"stats": {
"Command Cost": {
"value": 3
},
"Fast Attack": {
"value": 0,
"max": 2
},
"Heavy Support": {
"value": 0,
"max": 2
},
"Flyer": {
"value": 0,
"max": 2
},
"HQ": {
"value": 0,
"min": 2,
"max": 3
},
"Troops": {
"value": 0,
"min": 3,
"max": 6
},
"Elites": {
"value": 0,
"max": 6
}
}
},
"Detachment§Brigade Detachment": {
"stats": {
"Command Cost": {
"value": 4
},
"Flyer": {
"value": 0,
"max": 2
},
"HQ": {
"value": 0,
"min": 3,
"max": 5
},
"Troops": {
"value": 0,
"min": 6,
"max": 12
},
"Elites": {
"value": 0,
"min": 3,
"max": 8
},
"Fast Attack": {
"value": 0,
"min": 3,
"max": 5
},
"Heavy Support": {
"value": 0,
"min": 3,
"max": 5
}
}
},
"Detachment§Fortification Network": {
"stats": {
"Command Cost": {
"value": 1
},
"Fortification": {
"value": 0,
"min": 1,
"max": 3
}
},
"allowed": {
"classifications": [
"Fortifications"
]
},
"rules": {}
},
"Detachment§Outrider Detachment": {
"stats": {
"Command Cost": {
"value": 3
},
"HQ": {
"value": 0,
"min": 1,
"max": 2
},
"Flyer": {
"value": 0,
"max": 2
},
"Troops": {
"value": 0,
"max": 3
},
"Elites": {
"value": 0,
"max": 2
},
"Heavy Support": {
"value": 0,
"max": 2
},
"Fast Attack": {
"value": 0,
"min": 3,
"max": 6
}
}
},
"Detachment§Patrol Detachment": {
"stats": {
"Command Cost": {
"value": 2
},
"HQ": {
"value": 0,
"min": 1,
"max": 2
},
"Troops": {
"value": 0,
"min": 1,
"max": 3
},
"Elites": {
"value": 0,
"max": 2
},
"Fast Attack": {
"value": 0,
"max": 2
},
"Heavy Support": {
"value": 0,
"max": 2
},
"Flyer": {
"value": 0,
"max": 2
}
}
},
"Detachment§Spearhead Detachment": {
"stats": {
"Command Cost": {
"value": 3
},
"HQ": {
"value": 0,
"min": 1,
"max": 2
},
"Fast Attack": {
"value": 0,
"max": 2
},
"Flyer": {
"value": 0,
"max": 2
},
"Troops": {
"value": 0,
"max": 3
},
"Elites": {
"value": 0,
"max": 2
},
"Heavy Support": {
"value": 0,
"min": 3,
"max": 6
}
}
},
"Detachment§Super-Heavy Auxiliary Detachment": {
"stats": {
"Lord of War": {
"value": 0,
"min": 1,
"max": 1
},
"Command Cost": {
"value": 3
}
},
"allowed": {
"classifications": [
"Lords of War"
]
},
"rules": {}
},
"Detachment§Super-Heavy Detachment": {
"stats": {
"Command Cost": {
"statType": "rank",
"ranks": {
"3": {
"order": 0,
"number": 3
},
"6": {
"order": 1,
"number": 6
}
},
"dynamic": true,
"tracked": true,
"value": "3"
},
"Lord of War": {
"value": 0,
"min": 3,
"max": 5
}
},
"allowed": {
"classifications": [
"Lords of War"
]
},
"rules": {
"You can only take TITANIC units if the Command Cost is 6.": {
"evals": [
{
"paths": [
[
"{self}",
"tally",
"TITANIC"
]
],
"min": 1,
"operator": "AND",
"not": false
},
{
"paths": [
[
"{self}",
"stats",
"Command Cost",
"value"
]
],
"value": "3",
"operator": "AND",
"not": false
}
],
"failState": "pass",
"evaluate": "AND",
"order": 5
}
}
},
"Detachment§Supreme Command Detachment": {
"stats": {
"HQ": {
"statType": "numeric",
"value": null,
"visibility": "hidden"
},
"Troops": {
"statType": "numeric",
"value": null,
"visibility": "hidden"
},
"Elites": {
"statType": "numeric",
"value": null,
"visibility": "hidden"
},
"Fast Attack": {
"statType": "numeric",
"value": null,
"visibility": "hidden"
},
"Heavy Support": {
"statType": "numeric",
"value": null,
"visibility": "hidden"
},
"Flyer": {
"statType": "numeric",
"value": null,
"visibility": "hidden"
},
"Dedicated Transport": {
"statType": "numeric",
"value": null,
"visibility": "hidden"
},
"Lord of War or HQ": {
"value": null,
"statType": "numeric",
"visibility": "active",
"tracked": true,
"min": 1,
"max": 1
},
"Command Cost": {
"statType": "numeric",
"value": null,
"tracked": true
}
},
"allowed": {
"classifications": [
"Lords of War",
"HQ"
]
},
"rules": {
"Lord of War or HQ counts": {
"evals": [],
"failState": "pass",
"evaluate": "OR",
"order": 5,
"actions": [
{
"paths": [
[
"{self}",
"stats",
"Lord of War or HQ",
"value"
]
],
"actionType": "set",
"value": [
"{self}",
"tally",
"Unit"
],
"iterations": 1
}
]
},
"Command Cost refund": {
"evals": [
{
"paths": [
[
"{self}",
"tally",
[
"Patrol Detachment",
"Battalion Detachment",
"Brigade Detachment"
]
]
],
"min": 1,
"operator": "AND",
"not": false,
"actionable": false
},
{
"paths": [
[
"{self}",
"tally",
[
"Patrol Detachment",
"Battalion Detachment",
"Brigade Detachment"
]
]
],
"min": 1,
"operator": "AND",
"not": false,
"actionable": false
},
{
"paths": [
[
"{self}",
"tally",
[
"Battalion Detachment",
"Brigade Detachment"
]
]
],
"min": 1,
"operator": "AND",
"not": false,
"actionable": false
},
{
"paths": [
[
"{self}",
"tally",
"Brigade Detachment"
]
],
"min": 1,
"operator": "AND",
"not": false,
"actionable": false
},
{
"paths": [
[
"{self}",
"rules",
"Command Cost refund",
"evals",
[
"0",
"1",
"2",
"3"
],
"result",
"truthy"
]
],
"max": -2,
"operator": "SUM",
"not": false,
"equation": {
"operator": "T*O",
"value": -1
}
}
],
"failState": "pass",
"evaluate": "OR",
"order": 5,
"actions": [
{
"paths": [
[
"{self}",
"stats",
"Command Cost",
"value"
]
],
"actionType": "set",
"value": [
"{self}",
"rules",
"Command Cost refund",
"evals",
"4",
"result",
"integer"
],
"iterations": 1
}
]
},
"This detachment must contain your WARLORD": {
"evals": [
{
"paths": [
[
"{self}",
"tally",
"WARLORD"
]
],
"min": 1,
"operator": "AND",
"not": false
}
],
"failState": "error",
"evaluate": "OR",
"order": 5
}
}
},
"Detachment§Vanguard Detachment": {
"stats": {
"Command Cost": {
"value": 3,
"statType": "numeric",
"statOrder": -1,
"tracked": true
},
"HQ": {
"statType": "numeric",
"value": null,
"statOrder": 1,
"visibility": "active",
"tracked": true,
"min": 1,
"max": 2
},
"Fast Attack": {
"statType": "numeric",
"value": null,
"statOrder": 7,
"visibility": "active",
"tracked": true,
"max": 2
},
"Heavy Support": {
"statType": "numeric",
"value": null,
"statOrder": 9,
"visibility": "active",
"tracked": true,
"max": 2
},
"Flyer": {
"statType": "numeric",
"value": null,
"statOrder": 11,
"visibility": "active",
"tracked": true,
"max": 2
},
"Troops": {
"value": null,
"statType": "numeric",
"statOrder": 3,
"visibility": "active",
"tracked": true,
"max": 3
},
"Elites": {
"value": null,
"statType": "numeric",
"statOrder": 5,
"visibility": "active",
"tracked": true,
"min": 3,
"max": 6
}
}
},
"Order of Battle§Order of Battle": {},
"Roster§Army": {
"aspects": {
"Lock Qty": true,
"Unique": true,
"Describe": true,
"Rename": true,
"Type": "conceptual",
"Collapse": true
},
"stats": {
"Detachment": {
"value": 0,
"label": "Detachments",
"statType": "numeric",
"tracked": true
},
"Points": {
"value": 0,
"statType": "numeric",
"statOrder": -5,
"tracked": true
},
"Power Level": {
"value": 0,
"statType": "numeric",
"statOrder": -6,
"tracked": true
},
"Mode": {
"statType": "rank",
"value": "Points",
"ranks": {
"Points": {
"order": 0
},
"Power Level": {
"order": 1
}
},
"statOrder": 4,
"visibility": "active",
"dynamic": true
},
"Battle Size": {
"statType": "rank",
"increment": {},
"value": "Strike Force",
"ranks": {
"-": {
"order": 0,
"format": "-"
},
"Combat Patrol": {
"order": 1,
"format": "Combat Patrol",
"tracking": {
"maxPowerLevel": 25,
"maxPoints": 500,
"maxDetachments": 2,
"startingCP": 999999,
"Auxiliary Support Detachment": 2
}
},
"Incursion": {
"order": 2,
"format": "Incursion",
"tracking": {
"maxPowerLevel": 50,
"maxPoints": 1000,
"maxDetachments": 2,
"startingCP": 6
}
},
"Strike Force": {
"order": 3,
"format": "Strike Force",
"tracking": {
"maxPowerLevel": 100,
"maxPoints": 2000,
"maxDetachments": 3,
"startingCP": 12
}
},
"Onslaught": {
"order": 4,
"format": "Onslaught",
"tracking": {
"maxPowerLevel": 150,
"maxPoints": 3000,
"maxDetachments": 4,
"startingCP": 18
}
}
},
"statOrder": 3,
"dynamic": true
},
"Play": {
"statType": "rank",
"value": "Matched",
"ranks": {
"Open": {
"order": 0
},
"Matched": {
"order": 1
},
"Narrative": {
"order": 2
}
},
"statOrder": 4,
"visibility": "active",
"dynamic": true
},
"Battle-forged": {
"statType": "rank",
"value": 0,
"ranks": {
"❌": {
"order": 0,
"icons": [
"cancel"
]
},
"✅": {
"order": 1,
"icons": [
"confirmed"
]
}
}
},
"Command Points": {
"statType": "numeric",
"value": 0,
"statOrder": -4,
"visibility": "hidden"
},
"Warlord Trait": {
"statType": "numeric",
"value": 0,
"visibility": "hidden",
"dynamic": false,
"tracked": true,
"max": 1
}
},
"allowed": {
"classifications": [
"Detachment"
]
},
"rules": {
"calculate command points": {
"evals": [
{
"paths": [
[
"{self}",
"tracked",
"Command Cost"
]
],
"operator": "AND",
"not": false,
"actionable": false,
"equation": {
"operator": "T*O",
"value": -1
}
},
{
"paths": [
[
"{self}",
"stats",
"Battle Size",
"value"
]
],
"value": "-",
"operator": "AND",
"not": true
}
],
"failState": "pass",
"evaluate": "OR",
"actions": [
{
"paths": [
[
"{self}",
"stats",
"Command Points",
"value"
]
],
"actionType": "set",
"value": [
"{self}",
"tracked",
"startingCP"
],
"iterations": 1
},
{
"paths": [
[
"{self}",
"stats",
"Command Points",
"value"
]
],
"actionType": "modify",
"value": [
"{self}",
"rules",
"calculate command points",
"evals",
"0",
"result",
"integer"
],
"iterations": 1
}
]
},
"set maxes": {
"evals": [],
"failState": "pass",
"evaluate": "OR",
"order": 1,
"actions": [
{
"paths": [
[
"{self}",
"stats",
"Power Level",
"max"
]
],
"actionType": "set",
"value": [
"{self}",
"tracked",
"maxPowerLevel"
],
"iterations": 1
},
{
"paths": [
[
"{self}",
"stats",
"Points",
"max"
]
],
"actionType": "set",
"value": [
"{self}",
"tracked",
"maxPoints"
],
"iterations": 1
},
{
"paths": [
[
"{self}",
"stats",
"Detachment",
"max"
]
],
"actionType": "set",
"value": [
"{self}",
"tracked",
"maxDetachments"
],
"iterations": 1
}
]
},
"use power level": {
"evals": [
{
"paths": [
[
"{self}",
"stats",
"Mode",
"value"
]
],
"value": "Power Level",
"operator": "AND",
"not": false
}
],
"failState": "pass",
"evaluate": "OR",
"actions": [
{
"paths": [
[
"{self}",
"stats",
"Points",
"visibility"
]
],
"actionType": "set",
"value": "hidden",
"iterations": 1
},
{
"paths": [
[
"{self}",
"stats",
"Points",
"max"
]
],
"actionType": "set",
"value": null,
"iterations": 1
}
]
},
"use points": {
"evals": [
{
"paths": [
[
"{self}",
"stats",
"Mode",
"value"
]
],
"value": "Points",
"operator": "AND",
"not": false
}
],
"failState": "pass",
"evaluate": "OR",
"actions": [
{
"paths": [
[
"{self}",
"stats",
"Power Level",
"visibility"
]
],
"actionType": "set",
"value": "hidden",
"iterations": 1
},
{
"paths": [
[
"{self}",
"stats",
"Power Level",
"max"
]
],
"actionType": "set",
"value": null,
"iterations": 1
}
]
},
"add order of battle": {
"evals": [
{
"paths": [
[
"{self}",
"stats",
"Play",
"value"
]
],
"value": "Narrative",
"operator": "AND",
"not": false
}
],
"failState": "pass",
"evaluate": "OR",
"order": 1,
"actions": [
{
"paths": [
[
"{self}",
"traits"
]
],
"actionType": "add",
"value": "Order of Battle§Order of Battle",
"iterations": 1
}
]
},
"allow units for open": {
"evals": [
{
"paths": [
[
"{self}",
"stats",
"Play",
"value"
]
],
"value": "Open",
"operator": "AND",
"not": false
}
],
"failState": "pass",
"evaluate": "OR",
"order": 1,
"actions": [
{
"paths": [
[
"{self}",
"allowed",
"classifications"
]
],
"actionType": "add",
"value": "Unit",
"iterations": 1
}
]
},
"battle-forged": {
"evals": [
{
"paths": [
[
"{self}",
"assets",
"templateClass",
"Unit",
"quantity"
]
],
"max": 0,
"operator": "SUM",
"not": false
}
],
"failState": "pass",
"evaluate": "OR",
"actions": [
{
"paths": [
[
"{self}",
"stats",
"Battle-forged",
"value"
]
],
"actionType": "set",
"value": "✅",
"iterations": 1
},
{
"paths": [
[
"{self}",
"stats",
"Command Points",
"visibility"
]
],
"actionType": "set",
"value": "normal",
"iterations": 1
}
]
}
}
},
"Psychic Power§Smite": {
"text": "*Smite* has a warp charge value of 5. Add 1 to the warp charge value of this psychic power for each other attempt that has been made to *manifest* this power by a unit from your army in this phase, whether that attempt was successful or not. If manifested, the closest enemy unit within 18\" of and visible to the psyker suffers D3 *mortal wounds*. If the result of the *Psychic test* was 11 or more, that unit suffers D6 mortal wounds instead.\n\n**Warp Charge 5**: A Psychic test of 5+ is required to manifest *Smite*.\nWarp charge increases by 1 for each other attempt to manifest *Smite* made in this phase.\nIf manifested, closest visible enemy unit in 18\" suffers D3 mortal wounds.\nIf manifested with a Psychic test result of 11+, enemy instead suffers D6 mortal wounds."
}
},
"gameModes": {},
"theme": {}
},
"revision": "0.1.1",
"dependencies": [],
"wip": true
}