2026-10-04-variables-headline-tyranid-features.csv: one row per Tyranid unit (52) per form: best (its best solo form at the step-6 baseline, the ledger's ranking row) and cheapest (the best of its solo forms at the fewest models). Our own numbers from the frozen datasheets (BSData 374f505, through tools/ledger-inputs.lock.json) and the effects files; numbers and flags only, never rules text. Written by tools/diagnose.js.
The first columns: unit, form (best or cheapest), formLabel (the ledger's form label: size, loadout name, detachment), detachment, consensus (mean letter over the five headline lists that grade it, S 5 … F 0), graded (how many lists grade it), letter_<list> (each list's letter).
mono: the sign the boosted trees are held to (+1 more is never worse, −1 less is never worse, 0 free). The models read the best row plus the cheapest size's valueCheap, ptsCheap and modelsCheap.
Columns 1 to 144 are T-632's, in their order; 145 on (families keywords, size, loadout, weaponkw, rules) are T-636's, from the rest of the datasheet record, tools/rulevals.json (the values BSData gives Deadly Demise, Scouts and Firing Deck) and tools/carry.json (transport capacity). The audit: reports/tiers/2026-10-04-variables.md.
| Column | Family | mono | What it is |
|---|---|---|---|
M | datasheet | +1 | Move, inches |
T | datasheet | +1 | Toughness |
Sv | datasheet | −1 | armour save (the number to roll; lower is better) |
inv | datasheet | −1 | invulnerable save (7 = none) |
W | datasheet | +1 | wounds per model |
Ld | datasheet | −1 | Leadership (the number to roll; lower is better) |
OC | datasheet | +1 | Objective Control per model |
models | datasheet | 0 | models in the form |
pts | datasheet | −1 | points of the form |
ptsPerModel | datasheet | 0 | points per model |
ptsPerWound | datasheet | −1 | points per wound (models × W) |
woundsPer100 | datasheet | +1 | wounds per 100 points |
ocPer100 | datasheet | +1 | OC per 100 points (models × OC) |
fnp | datasheet | −1 | Feel No Pain (the number to roll; 7 = none) |
damagedBracket | datasheet | −1 | wounds left at which the unit fights damaged (0 = none) |
bestR_A | weapons | +1 | best ranged profile: attacks (dice averaged) |
bestR_S | weapons | +1 | best ranged profile: Strength |
bestR_AP | weapons | +1 | best ranged profile: AP as a positive number |
bestR_D | weapons | +1 | best ranged profile: Damage (dice averaged) |
bestR_skill | weapons | +1 | best ranged profile: chance to hit (1 for Torrent) |
bestR_range | weapons | +1 | best ranged profile: range, inches |
rangedMeq100 | weapons | +1 | ranged: expected damage per 100 points against a power-armoured trooper (T4 3+ W2), every weapon carried, one volley |
rangedVeh100 | weapons | +1 | ranged: the same against a heavy vehicle (T10 3+ W12) |
rangedChaff100 | weapons | +1 | ranged: the same against a chaff trooper (T3 5+ W1) |
rangedAttacks100 | weapons | +1 | ranged: attacks per 100 points |
bestM_A | weapons | +1 | best melee profile: attacks (dice averaged) |
bestM_S | weapons | +1 | best melee profile: Strength |
bestM_AP | weapons | +1 | best melee profile: AP as a positive number |
bestM_D | weapons | +1 | best melee profile: Damage (dice averaged) |
bestM_skill | weapons | +1 | best melee profile: chance to hit (1 for Torrent) |
meleeMeq100 | weapons | +1 | melee: expected damage per 100 points against a power-armoured trooper (T4 3+ W2), every weapon carried, one volley |
meleeVeh100 | weapons | +1 | melee: the same against a heavy vehicle (T10 3+ W12) |
meleeChaff100 | weapons | +1 | melee: the same against a chaff trooper (T3 5+ W1) |
meleeAttacks100 | weapons | +1 | melee: attacks per 100 points |
maxRange | weapons | +1 | longest ranged weapon, inches (0 = none) |
kw_anti | weapons | 0 | weapons carried with the anti keyword (count of distinct weapons) |
kw_devastating | weapons | 0 | weapons carried with the devastating keyword (count of distinct weapons) |
kw_lethal | weapons | 0 | weapons carried with the lethal keyword (count of distinct weapons) |
kw_sustained | weapons | 0 | weapons carried with the sustained keyword (count of distinct weapons) |
kw_precision | weapons | 0 | weapons carried with the precision keyword (count of distinct weapons) |
kw_indirect | weapons | 0 | weapons carried with the indirect keyword (count of distinct weapons) |
kw_torrent | weapons | 0 | weapons carried with the torrent keyword (count of distinct weapons) |
kw_blast | weapons | 0 | weapons carried with the blast keyword (count of distinct weapons) |
kw_melta | weapons | 0 | weapons carried with the melta keyword (count of distinct weapons) |
kw_twinLinked | weapons | 0 | weapons carried with the twinLinked keyword (count of distinct weapons) |
kw_ignoresCover | weapons | 0 | weapons carried with the ignoresCover keyword (count of distinct weapons) |
kw_psychic | weapons | 0 | weapons carried with the psychic keyword (count of distinct weapons) |
kw_heavy | weapons | 0 | weapons carried with the heavy keyword (count of distinct weapons) |
kw_assault | weapons | 0 | weapons carried with the assault keyword (count of distinct weapons) |
kw_pistol | weapons | 0 | weapons carried with the pistol keyword (count of distinct weapons) |
kw_extraAttacks | weapons | 0 | weapons carried with the extraAttacks keyword (count of distinct weapons) |
has_deepStrike | flags | +1 | carries the core rule Deep Strike (1/0) |
has_scouts | flags | +1 | carries the core rule Scouts (1/0) |
has_infiltrators | flags | +1 | carries the core rule Infiltrators (1/0) |
has_loneOperative | flags | +1 | carries the core rule Lone Operative (1/0) |
has_stealth | flags | +1 | carries the core rule Stealth (1/0) |
has_fightsFirst | flags | +1 | carries the core rule Fights First (1/0) |
has_synapse | flags | +1 | carries the core rule Synapse (1/0) |
has_leader | flags | +1 | carries the core rule Leader (1/0) |
has_deadlyDemise | flags | +1 | carries the core rule Deadly Demise (1/0) |
has_shadowInWarp | flags | +1 | carries the core rule Shadow in the Warp (the army-wide Battle-shock test) (1/0) |
has_hover | flags | +1 | carries the core rule Hover (1/0) |
kw_is_fly | flags | 0 | keyword Fly (1/0) |
kw_is_monster | flags | 0 | keyword Monster (1/0) |
kw_is_infantry | flags | 0 | keyword Infantry (1/0) |
kw_is_character | flags | 0 | keyword Character (1/0) |
kw_is_psyker | flags | 0 | keyword Psyker (1/0) |
kw_is_epicHero | flags | 0 | keyword Epic Hero (1/0) |
kw_is_battleline | flags | 0 | keyword Battleline (1/0) |
kw_is_transport | flags | 0 | keyword Transport or Dedicated Transport (1/0) |
kw_is_towering | flags | 0 | keyword Towering (1/0) |
kw_is_titanic | flags | 0 | keyword Titanic (1/0) |
kw_is_beast | flags | 0 | keyword Beast (1/0) |
kw_is_swarm | flags | 0 | keyword Swarm (1/0) |
kw_is_burrowers | flags | 0 | keyword Burrowers (1/0) |
kw_is_vanguard | flags | 0 | keyword Vanguard Invader (1/0) |
leadsCount | flags | +1 | how many datasheets it can lead |
fx_arrival | flags | +1 | its own abilities (unitfx.json) include a rule of kind "arrival" (1/0) |
fx_move | flags | +1 | its own abilities (unitfx.json) include a rule of kind "move" (1/0) |
fx_enemy | flags | +1 | its own abilities (unitfx.json) include a rule of kind "enemy" (1/0) |
fx_shock | flags | +1 | its own abilities (unitfx.json) include a rule of kind "shock" (1/0) |
fx_mortal | flags | +1 | its own abilities (unitfx.json) include a rule of kind "mortal" (1/0) |
fx_spawn | flags | +1 | its own abilities (unitfx.json) include a rule of kind "spawn" (1/0) |
fx_heal | flags | +1 | its own abilities (unitfx.json) include a rule of kind "heal" (1/0) |
fx_cp | flags | +1 | its own abilities (unitfx.json) include a rule of kind "cp" (1/0) |
fx_aura | flags | +1 | its own abilities (unitfx.json) include a rule of kind "aura" (1/0) |
fx_mark | flags | +1 | its own abilities (unitfx.json) include a rule of kind "mark" (1/0) |
fx_synapse | flags | +1 | its own abilities (unitfx.json) include a rule of kind "synapse" (1/0) |
fx_overwatch | flags | +1 | its own abilities (unitfx.json) include a rule of kind "overwatch" (1/0) |
fx_chosen | flags | +1 | its own abilities (unitfx.json) include a rule of kind "chosen" (1/0) |
fx_once | flags | +1 | its own abilities (unitfx.json) include a rule of kind "once" (1/0) |
fx_oc | flags | +1 | its own abilities (unitfx.json) include a rule of kind "oc" (1/0) |
fx_lead | flags | +1 | its own abilities (unitfx.json) include a rule of kind "lead" (1/0) |
fx_list | flags | +1 | its own abilities (unitfx.json) include a rule of kind "list" (1/0) |
fx_attMods | flags | +1 | unitfx.json: dice effects on its own attacks, always on (count) |
fx_defMods | flags | +1 | unitfx.json: dice effects on attacks against it, always on (count) |
lfx_effects | flags | +1 | leaderfx.json: dice effects it gives the unit it leads (count) |
buffsOthers | flags | +1 | gives other units something: an aura, a leader effect or a lead rule (1/0) |
arrives | flags | +1 | can be placed away from its own zone (the ledger's arrival: deep strike, tunnels, scouts, infiltrators…) (1/0) |
spawns | flags | +1 | adds units or models during the game (1/0) |
lr_synapse | flags | +1 | the ledger counts a "synapse" rule multiplier on this form (1/0) |
lr_cp | flags | +1 | the ledger counts a "cp" rule multiplier on this form (1/0) |
lr_first | flags | +1 | the ledger counts a "first" rule multiplier on this form (1/0) |
lr_lone | flags | +1 | the ledger counts a "lone" rule multiplier on this form (1/0) |
lr_buff | flags | +1 | the ledger counts a "buff" rule multiplier on this form (1/0) |
lr_mortal | flags | +1 | the ledger counts a "mortal" rule multiplier on this form (1/0) |
lr_movement | flags | +1 | the ledger counts a "movement" rule multiplier on this form (1/0) |
lr_debuff | flags | +1 | the ledger counts a "debuff" rule multiplier on this form (1/0) |
lr_heal | flags | +1 | the ledger counts a "heal" rule multiplier on this form (1/0) |
lr_overwatch | flags | +1 | the ledger counts a "overwatch" rule multiplier on this form (1/0) |
value | ledger | +1 | the ledger's Value at the step-6 baseline (per 100 points) |
c_kill | ledger | +1 | the ledger's kill line: its contribution to Value at step 6 |
c_soak | ledger | +1 | the ledger's soak line: its contribution to Value at step 6 |
c_score | ledger | +1 | the ledger's score line: its contribution to Value at step 6 |
c_actions | ledger | +1 | the ledger's actions line: its contribution to Value at step 6 |
c_hold | ledger | +1 | the ledger's hold line: its contribution to Value at step 6 |
c_spawn | ledger | +1 | the ledger's spawn line: its contribution to Value at step 6 |
c_presence | ledger | +1 | the ledger's presence line: its contribution to Value at step 6 |
line_killRanged | ledger | +1 | the ledger's ranged Kill (points removed per 100, as measured, before weights) |
line_killMelee | ledger | +1 | the ledger's melee Kill after the charge's lands (per 100) |
soakShoot | ledger | +1 | enemy shooting points per 100 needed to remove it (Soak, shooting) |
soakFight | ledger | +1 | the same in melee |
lands | ledger | +1 | the charge model's share of its melee that lands |
multTotal | ledger | +1 | the ledger's rule multiplier on the whole Value |
scarcity | ledger | +1 | the ledger's role-scarcity factor on Kill |
k6_monster | killclass | +1 | the ledger's Kill into monster at β 6 (per 100 points) |
k6_heavy_vehicle | killclass | +1 | the ledger's Kill into heavy vehicle at β 6 (per 100 points) |
k6_light_vehicle | killclass | +1 | the ledger's Kill into light vehicle at β 6 (per 100 points) |
k6_heavy_infantry | killclass | +1 | the ledger's Kill into heavy infantry at β 6 (per 100 points) |
k6_elite_infantry | killclass | +1 | the ledger's Kill into elite infantry at β 6 (per 100 points) |
k6_chaff | killclass | +1 | the ledger's Kill into chaff at β 6 (per 100 points) |
k6_character | killclass | +1 | the ledger's Kill into character at β 6 (per 100 points) |
k6_cavalry_and_beasts | killclass | +1 | the ledger's Kill into cavalry and beasts at β 6 (per 100 points) |
valueCheap | ledger | +1 | the ledger's Value at the cheapest legal size (best such solo form) |
ptsCheap | datasheet | −1 | points at the cheapest legal size |
modelsCheap | datasheet | 0 | models at the cheapest legal size |
ix_durLight100 | interaction | +1 | models × W ÷ (wound chance × failed-save chance) against S5 AP−1 D1, per 100 points: hits to kill it with small arms |
ix_durHeavy100 | interaction | +1 | models × ⌈W ÷ 3⌉ ÷ (wound chance × failed-save chance) against S9 AP−3 D3, per 100 points: hits to kill it with anti-tank |
ix_WxSave | interaction | +1 | W × (7 − Sv): wounds times save quality |
ix_invxT | interaction | +1 | (7 − inv) × T: invulnerable save quality times Toughness |
ix_killxSoak | interaction | +1 | √(Kill line × Soak line): damage times staying power |
ix_MxMelee | interaction | +1 | Move × melee share of Kill |
ix_arrivexMelee | interaction | +1 | arrives × melee Kill |
ix_bodiesxOC | interaction | +1 | models per 100 points × OC per model (the same as ocPer100 at one OC) × Move ÷ 6: bodies that reach objectives |
kwu_Vehicle | keywords | 0 | keyword Vehicle (1/0) |
kwu_Walker | keywords | 0 | keyword Walker (1/0) |
kwu_Mounted | keywords | 0 | keyword Mounted (1/0) |
kwu_Aircraft | keywords | 0 | keyword Aircraft (1/0) |
kwu_Transport | keywords | 0 | keyword Transport (1/0) |
kwu_Dedicated_Transport | keywords | 0 | keyword Dedicated Transport (1/0) |
kwu_Leader | keywords | 0 | keyword Leader (1/0) |
kwu_Grenades | keywords | 0 | keyword Grenades (1/0) |
kwu_Smoke | keywords | 0 | keyword Smoke (1/0) |
kwu_Frame | keywords | 0 | keyword Frame (1/0) |
kwu_Tacticus | keywords | 0 | keyword Tacticus (1/0) |
kwu_Daemon | keywords | 0 | keyword Daemon (1/0) |
kwu_Terminator | keywords | 0 | keyword Terminator (1/0) |
kwu_Jump_Pack | keywords | 0 | keyword Jump Pack (1/0) |
kwu_Squadron | keywords | 0 | keyword Squadron (1/0) |
kwu_Phobos | keywords | 0 | keyword Phobos (1/0) |
kwu_Gravis | keywords | 0 | keyword Gravis (1/0) |
kwu_Support | keywords | 0 | keyword Support (1/0) |
kwu_Captain | keywords | 0 | keyword Captain (1/0) |
kwu_Chaplain | keywords | 0 | keyword Chaplain (1/0) |
kwu_Ancient | keywords | 0 | keyword Ancient (1/0) |
kwu_Lieutenant | keywords | 0 | keyword Lieutenant (1/0) |
kwu_Librarian | keywords | 0 | keyword Librarian (1/0) |
kwu_Chapter_Master | keywords | 0 | keyword Chapter Master (1/0) |
kwu_Dreadnought | keywords | 0 | keyword Dreadnought (1/0) |
kwu_Centurion | keywords | 0 | keyword Centurion (1/0) |
kwu_Mega_Armour | keywords | 0 | keyword Mega Armour (1/0) |
kwu_Exoarmour | keywords | 0 | keyword Exoarmour (1/0) |
kwu_Explosives | keywords | 0 | keyword Explosives (1/0) |
kwu_Regiment | keywords | 0 | keyword Regiment (1/0) |
kwu_Platoon | keywords | 0 | keyword Platoon (1/0) |
kwu_Officer | keywords | 0 | keyword Officer (1/0) |
kwu_Summoned | keywords | 0 | keyword Summoned (1/0) |
kwu_Artillery | keywords | 0 | keyword Artillery (1/0) |
kwu_Fortification | keywords | 0 | keyword Fortification (1/0) |
kwu_Mobile | keywords | 0 | keyword Mobile (1/0) |
kwu_Harvester | keywords | 0 | keyword Harvester (1/0) |
kwu_Endless_Multitude | keywords | 0 | keyword Endless Multitude (1/0) |
kwu_Primarch | keywords | 0 | keyword Primarch (1/0) |
kwu_Daemon_Prince | keywords | 0 | keyword Daemon Prince (1/0) |
kwu_Daemon_Prince_with_Wings | keywords | 0 | keyword Daemon Prince with Wings (1/0) |
kwu_Spawn | keywords | 0 | keyword Spawn (1/0) |
kwu_Retinue | keywords | 0 | keyword Retinue (1/0) |
kwu_Command_Squad | keywords | 0 | keyword Command Squad (1/0) |
kwu_Imperium | keywords | 0 | keyword Imperium (1/0) |
kwu_Skitarii | keywords | 0 | keyword Skitarii (1/0) |
kwu_Cult_Mechanicus | keywords | 0 | keyword Cult Mechanicus (1/0) |
kwu_Tech_Priest | keywords | 0 | keyword Tech-Priest (1/0) |
kwu_Speed_Freeks | keywords | 0 | keyword Speed Freeks (1/0) |
kwu_Deathwing | keywords | 0 | keyword Deathwing (1/0) |
kwu_Ravenwing | keywords | 0 | keyword Ravenwing (1/0) |
kwu_Ordo_Xenos | keywords | 0 | keyword Ordo Xenos (1/0) |
kwu_Ordo_Hereticus | keywords | 0 | keyword Ordo Hereticus (1/0) |
kwu_Ordo_Malleus | keywords | 0 | keyword Ordo Malleus (1/0) |
kwu_Inquisitor | keywords | 0 | keyword Inquisitor (1/0) |
kwu_Officio_Assassinorum | keywords | 0 | keyword Officio Assassinorum (1/0) |
kwu_Adeptus_Arbites | keywords | 0 | keyword Adeptus Arbites (1/0) |
kwu_Warboss | keywords | 0 | keyword Warboss (1/0) |
kwu_Recon_Augury | keywords | 0 | keyword Recon Augury (1/0) |
kwu_Death_Company | keywords | 0 | keyword Death Company (1/0) |
kwu_Beast_Snagga | keywords | 0 | keyword Beast Snagga (1/0) |
kwu_Mutant | keywords | 0 | keyword Mutant (1/0) |
kwu_Deathwatch | keywords | 0 | keyword Deathwatch (1/0) |
kwu_Kabal | keywords | 0 | keyword Kabal (1/0) |
kwu_Wych_Cult | keywords | 0 | keyword Wych Cult (1/0) |
kwu_Haemonculus_Covens | keywords | 0 | keyword Haemonculus Covens (1/0) |
kwu_Blades_for_Hire | keywords | 0 | keyword Blades for Hire (1/0) |
kwu_Voidfarers | keywords | 0 | keyword Voidfarers (1/0) |
kwu_Voidfarer_Character | keywords | 0 | keyword Voidfarer Character (1/0) |
kwu_Hernkyn | keywords | 0 | keyword Hernkyn (1/0) |
kwu_Wagon | keywords | 0 | keyword Wagon (1/0) |
kwu_Electro_Priests | keywords | 0 | keyword Electro-Priests (1/0) |
kwu_Hastarii | keywords | 0 | keyword Hastarii (1/0) |
kwu_Kataphron | keywords | 0 | keyword Kataphron (1/0) |
kwu_Pteraxii | keywords | 0 | keyword Pteraxii (1/0) |
kwu_Sicarian | keywords | 0 | keyword Sicarian (1/0) |
kwu_Sydonian | keywords | 0 | keyword Sydonian (1/0) |
kwu_Requisitioned | keywords | 0 | keyword Requisitioned (1/0) |
kwu_Ogryn | keywords | 0 | keyword Ogryn (1/0) |
kwu_Cadian | keywords | 0 | keyword Cadian (1/0) |
kwu_Militarum_Tempestus | keywords | 0 | keyword Militarum Tempestus (1/0) |
kwu_Scourges | keywords | 0 | keyword Scourges (1/0) |
kwu_Acolyte_Hybrids | keywords | 0 | keyword Acolyte Hybrids (1/0) |
kwu_Cthonian | keywords | 0 | keyword Cthonian (1/0) |
kwu_Brokhyr | keywords | 0 | keyword Brôkhyr (1/0) |
kwu_Ironkin_Steeljacks | keywords | 0 | keyword Ironkin Steeljacks (1/0) |
kwu_Kapricus | keywords | 0 | keyword Kapricus (1/0) |
kwu_Mob | keywords | 0 | keyword Mob (1/0) |
kwu_Grots | keywords | 0 | keyword Grots (1/0) |
kwu_Rubricae | keywords | 0 | keyword Rubricae (1/0) |
kwu_Legio_Cybernetica | keywords | 0 | keyword Legio Cybernetica (1/0) |
kwu_Kill_Team | keywords | 0 | keyword Kill Team (1/0) |
kwu_Anhrathe | keywords | 0 | keyword Anhrathe (1/0) |
sizeMin | size | 0 | fewest models the datasheet allows |
sizeMax | size | 0 | most models the datasheet allows |
sizeRatio | size | 0 | most ÷ fewest models |
sizeSteps | size | 0 | how many points steps the datasheet lists (1 = one size) |
ptsAtMin | size | 0 | points at the fewest models |
ptsAtMax | size | 0 | points at the most models |
ppmAtMin | size | 0 | points per model at the fewest models |
ppmAtMax | size | 0 | points per model at the most models |
ppmDiscount | size | 0 | points per model at the most ÷ at the fewest (below 1: bigger is cheaper per model) |
ptsNonLinear | size | 0 | the points steps don't lie on one straight line (1/0) |
formShare | size | 0 | models in the best form ÷ most allowed (1 = maxed out) |
modelProfiles | size | 0 | how many different model statlines the datasheet gives (1 when it gives one) |
statsMixed | size | 0 | its models' statlines differ (1/0) |
W_max | size | +1 | the most wounds on any of its models |
T_max | size | +1 | the highest Toughness on any of its models |
Ld_best | size | −1 | the best Leadership on any of its models (lower is better) |
OC_max | size | +1 | the highest OC on any of its models |
dsWeapons | loadout | 0 | weapons on the datasheet (a weapon with several profiles once) |
dsProfiles | loadout | 0 | weapon profiles on the datasheet |
dsRanged | loadout | 0 | ranged weapon profiles on the datasheet |
dsMelee | loadout | 0 | melee weapon profiles on the datasheet |
dsMultiProfile | loadout | 0 | weapons on the datasheet with two or more profiles |
carriedDistinct | loadout | 0 | different weapon profiles carried in the best form |
carriedTotal | loadout | 0 | weapons carried in the best form, counting each model's |
carriedRanged | loadout | 0 | ranged weapon profiles carried (different ones) |
carriedMelee | loadout | 0 | melee weapon profiles carried (different ones) |
defaultWeapons | loadout | 0 | weapons in the datasheet's default loadout (different ones) |
choiceEntries | loadout | 0 | model entries in its wargear choices |
choicePicks | loadout | 0 | wargear picks over its model entries (each a choice) |
choiceOptions | loadout | 0 | options over all its wargear picks |
limitsCount | loadout | 0 | wargear with a limit (1 per N models and the like) |
maxS_any | loadout | +1 | the highest Strength of any weapon carried |
maxAP_any | loadout | +1 | the best AP of any weapon carried (positive) |
maxD_any | loadout | +1 | the highest Damage of any weapon carried (dice averaged) |
maxA_any | loadout | +1 | the most attacks on one profile carried (dice averaged) |
bestBS | loadout | +1 | the best ranged chance to hit carried (Torrent 1) |
bestWS | loadout | +1 | the best melee chance to hit carried |
minRange | loadout | 0 | the shortest ranged weapon carried, inches (0 = none) |
shortRanged | loadout | 0 | ranged profiles carried of 12 inches or less |
wk_rapidFire | weaponkw | 0 | weapons carried with Rapid Fire (count of distinct weapons) |
wk_lance | weaponkw | 0 | weapons carried with Lance (count of distinct weapons) |
wk_hazardous | weaponkw | 0 | weapons carried with Hazardous (count of distinct weapons) |
wk_oneShot | weaponkw | 0 | weapons carried with One Shot (count of distinct weapons) |
wk_closeQuarters | weaponkw | 0 | weapons carried with Close-Quarters (count of distinct weapons) |
wk_cleave | weaponkw | 0 | weapons carried with Cleave (count of distinct weapons) |
wk_harpooned | weaponkw | 0 | weapons carried with Harpooned (count of distinct weapons) |
wk_hiveDefences | weaponkw | 0 | weapons carried with Hive Defences (count of distinct weapons) |
wk_overcharge | weaponkw | 0 | weapons carried with Overcharge (count of distinct weapons) |
wk_plasmaWarhead | weaponkw | 0 | weapons carried with Plasma Warhead (count of distinct weapons) |
wk_defensiveArray | weaponkw | 0 | weapons carried with Defensive Array (count of distinct weapons) |
wk_psychicAssassin | weaponkw | 0 | weapons carried with Psychic Assassin (count of distinct weapons) |
wk_lethalLimited | weaponkw | 0 | weapons carried with Lethal Hits limited to some targets (count of distinct weapons) |
wk_devastatingLimited | weaponkw | 0 | weapons carried with Devastating Wounds limited to some targets (count of distinct weapons) |
wk_sustainedLimited | weaponkw | 0 | weapons carried with Sustained Hits limited to some targets (count of distinct weapons) |
wk_twinLinkedAny | weaponkw | 0 | weapons carried with Twin-linked in any spelling (kw_twinLinked misses 'Twin Linked') (count of distinct weapons) |
wk_sustainedN | weaponkw | +1 | the largest Sustained Hits value carried (dice averaged; 0 = none) |
wk_meltaN | weaponkw | +1 | the largest Melta value carried (dice averaged; 0 = none) |
wk_rapidFireN | weaponkw | +1 | the largest Rapid Fire value carried (dice averaged; 0 = none) |
wk_blastN | weaponkw | +1 | the largest Blast (where a number is given) value carried (dice averaged; 0 = none) |
wk_cleaveN | weaponkw | +1 | the largest Cleave value carried (dice averaged; 0 = none) |
anti_infantry | weaponkw | +1 | Anti-infantry: 7 − the best threshold carried (Anti-X 4+ is 3; 0 = none) |
anti_vehicle | weaponkw | +1 | Anti-vehicle: 7 − the best threshold carried (Anti-X 4+ is 3; 0 = none) |
anti_monster | weaponkw | +1 | Anti-monster: 7 − the best threshold carried (Anti-X 4+ is 3; 0 = none) |
anti_fly | weaponkw | +1 | Anti-fly: 7 − the best threshold carried (Anti-X 4+ is 3; 0 = none) |
anti_psyker | weaponkw | +1 | Anti-psyker: 7 − the best threshold carried (Anti-X 4+ is 3; 0 = none) |
anti_character | weaponkw | +1 | Anti-character: 7 − the best threshold carried (Anti-X 4+ is 3; 0 = none) |
anti_walker | weaponkw | +1 | Anti-walker: 7 − the best threshold carried (Anti-X 4+ is 3; 0 = none) |
anti_chaos | weaponkw | +1 | Anti-chaos: 7 − the best threshold carried (Anti-X 4+ is 3; 0 = none) |
dd_value | rules | 0 | Deadly Demise's dice, averaged (0 = none; tools/rulevals.json) |
scouts_inches | rules | +1 | Scouts' distance, inches (0 = none; tools/rulevals.json) |
has_firingDeck | rules | +1 | carries the core rule Firing Deck (1/0) |
firingDeck_n | rules | +1 | Firing Deck's number (0 = none; tools/rulevals.json) |
has_support | rules | 0 | carries the rule Support (1/0) |
has_superHeavyWalker | rules | 0 | carries the rule Super-Heavy Walker (1/0) |
has_damagedRule | rules | 0 | carries the rule Damaged by name (1/0) |
has_fnpRule | rules | 0 | carries Feel No Pain as a datasheet rule (1/0; fnp has the number) |
rulesWeaponLike | rules | 0 | weapon abilities the datasheet carries as unit rules (Sustained Hits, Lethal Hits, Devastating Wounds, Ignores Cover, Assault, Psychic, Lance, Precision, Hazardous: count) |
ar_Oath_of_Moment | rules | 0 | carries the army rule Oath of Moment (1/0) |
ar_Templar_Vows | rules | 0 | carries the army rule Templar Vows (1/0) |
ar_Assigned_Agents | rules | 0 | carries the army rule Assigned Agents (1/0) |
ar_Voice_Of_Command | rules | 0 | carries the army rule Voice Of Command (1/0) |
ar_Nurgle_s_Gift_Aura | rules | 0 | carries the army rule Nurgle's Gift (Aura) (1/0) |
ar_Power_from_Pain | rules | 0 | carries the army rule Power from Pain (1/0) |
ar_Battle_Focus | rules | 0 | carries the army rule Battle Focus (1/0) |
ar_Thrill_Seekers | rules | 0 | carries the army rule Thrill Seekers (1/0) |
ar_Cult_Ambush | rules | 0 | carries the army rule Cult Ambush (1/0) |
ar_Da_Boss | rules | 0 | carries the army rule Da Boss (1/0) |
ar_Curse_of_the_Wulfen | rules | 0 | carries the army rule Curse of the Wulfen (1/0) |
ar_Cabal_of_Sorcerers | rules | 0 | carries the army rule Cabal of Sorcerers (1/0) |
ar_Blessings_of_Khorne | rules | 0 | carries the army rule Blessings of Khorne (1/0) |
rulesCount | rules | 0 | core and army rules the datasheet names (count) |
abilitiesCount | rules | 0 | abilities the datasheet names (count; free text never read) |
abilitiesOwn | rules | 0 | the same less the structural ones (Leader, Damaged, Invulnerable Save, Attached Unit, Unit Composition, Support, Transport, Embarking, Deployment, Fortification) |
fx_rules | rules | 0 | unitfx.json: its own abilities' entries (count) |
fx_modelled | rules | +1 | unitfx.json: entries the engine plays as dice (status modelled) |
fx_partly | rules | 0 | unitfx.json: entries played in part (status partly) |
fx_noted | rules | 0 | unitfx.json: entries noted but not dice (status noted) |
fx_condEffects | rules | +1 | unitfx.json: dice effects that need a condition or start off (count) |
lfx_rules | rules | 0 | leaderfx.json: entries for it as a leader (count) |
supportsCount | rules | +1 | how many datasheets it can support (BSData's Supporting) |
ledByCount | rules | +1 | how many characters of its army can lead it |
supportedByCount | rules | +1 | how many characters of its army can support it |
transportCapacity | rules | 0 | models it carries (tools/carry.json, BSData's transport capacity; 0 = none) |
capacityPer100 | rules | 0 | the same per 100 points of the form |