Rosterizer_Warhammer_40000_v9/40k/40k9e.manifest

2344 lines
58 KiB
Text
Raw Normal View History

2022-10-27 14:04:22 -07:00
{
"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
}