@alpaca-software/40kdc-data 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +78 -0
- package/dist/bundle-schemas.d.ts +3 -0
- package/dist/bundle-schemas.js +137 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +31 -0
- package/dist/codegen-data.d.ts +1 -0
- package/dist/codegen-data.js +128 -0
- package/dist/commands/translate.d.ts +7 -0
- package/dist/commands/translate.js +238 -0
- package/dist/commands/validate-all.d.ts +3 -0
- package/dist/commands/validate-all.js +20 -0
- package/dist/commands/validate-core.d.ts +3 -0
- package/dist/commands/validate-core.js +12 -0
- package/dist/commands/validate-enrichment.d.ts +3 -0
- package/dist/commands/validate-enrichment.js +12 -0
- package/dist/convert-faction.d.ts +45 -0
- package/dist/convert-faction.js +479 -0
- package/dist/converters/configs/adepta-sororitas.d.ts +3 -0
- package/dist/converters/configs/adepta-sororitas.js +70 -0
- package/dist/converters/configs/adeptus-astartes.d.ts +3 -0
- package/dist/converters/configs/adeptus-astartes.js +74 -0
- package/dist/converters/configs/adeptus-custodes.d.ts +3 -0
- package/dist/converters/configs/adeptus-custodes.js +14 -0
- package/dist/converters/configs/adeptus-mechanicus.d.ts +3 -0
- package/dist/converters/configs/adeptus-mechanicus.js +51 -0
- package/dist/converters/configs/aeldari.d.ts +3 -0
- package/dist/converters/configs/aeldari.js +79 -0
- package/dist/converters/configs/agents-of-the-imperium.d.ts +3 -0
- package/dist/converters/configs/agents-of-the-imperium.js +57 -0
- package/dist/converters/configs/astra-militarum.d.ts +3 -0
- package/dist/converters/configs/astra-militarum.js +80 -0
- package/dist/converters/configs/black-templars.d.ts +3 -0
- package/dist/converters/configs/black-templars.js +16 -0
- package/dist/converters/configs/blood-angels.d.ts +3 -0
- package/dist/converters/configs/blood-angels.js +16 -0
- package/dist/converters/configs/chaos-daemons.d.ts +3 -0
- package/dist/converters/configs/chaos-daemons.js +40 -0
- package/dist/converters/configs/chaos-knights.d.ts +3 -0
- package/dist/converters/configs/chaos-knights.js +14 -0
- package/dist/converters/configs/chaos-space-marines.d.ts +3 -0
- package/dist/converters/configs/chaos-space-marines.js +95 -0
- package/dist/converters/configs/crimson-fists.d.ts +3 -0
- package/dist/converters/configs/crimson-fists.js +16 -0
- package/dist/converters/configs/dark-angels.d.ts +3 -0
- package/dist/converters/configs/dark-angels.js +16 -0
- package/dist/converters/configs/death-guard.d.ts +3 -0
- package/dist/converters/configs/death-guard.js +30 -0
- package/dist/converters/configs/deathwatch.d.ts +3 -0
- package/dist/converters/configs/deathwatch.js +16 -0
- package/dist/converters/configs/drukhari.d.ts +3 -0
- package/dist/converters/configs/drukhari.js +51 -0
- package/dist/converters/configs/emperors-children.d.ts +3 -0
- package/dist/converters/configs/emperors-children.js +38 -0
- package/dist/converters/configs/genestealer-cults.d.ts +3 -0
- package/dist/converters/configs/genestealer-cults.js +36 -0
- package/dist/converters/configs/grey-knights.d.ts +3 -0
- package/dist/converters/configs/grey-knights.js +39 -0
- package/dist/converters/configs/imperial-fists.d.ts +3 -0
- package/dist/converters/configs/imperial-fists.js +16 -0
- package/dist/converters/configs/imperial-knights.d.ts +3 -0
- package/dist/converters/configs/imperial-knights.js +14 -0
- package/dist/converters/configs/iron-hands.d.ts +3 -0
- package/dist/converters/configs/iron-hands.js +16 -0
- package/dist/converters/configs/leagues-of-votann.d.ts +3 -0
- package/dist/converters/configs/leagues-of-votann.js +32 -0
- package/dist/converters/configs/necrons.d.ts +3 -0
- package/dist/converters/configs/necrons.js +19 -0
- package/dist/converters/configs/orks.d.ts +3 -0
- package/dist/converters/configs/orks.js +71 -0
- package/dist/converters/configs/raven-guard.d.ts +3 -0
- package/dist/converters/configs/raven-guard.js +16 -0
- package/dist/converters/configs/salamanders.d.ts +3 -0
- package/dist/converters/configs/salamanders.js +16 -0
- package/dist/converters/configs/space-wolves.d.ts +3 -0
- package/dist/converters/configs/space-wolves.js +16 -0
- package/dist/converters/configs/tau-empire.d.ts +3 -0
- package/dist/converters/configs/tau-empire.js +44 -0
- package/dist/converters/configs/thousand-sons.d.ts +3 -0
- package/dist/converters/configs/thousand-sons.js +30 -0
- package/dist/converters/configs/tyranids.d.ts +3 -0
- package/dist/converters/configs/tyranids.js +27 -0
- package/dist/converters/configs/ultramarines.d.ts +3 -0
- package/dist/converters/configs/ultramarines.js +16 -0
- package/dist/converters/configs/white-scars.d.ts +3 -0
- package/dist/converters/configs/white-scars.js +16 -0
- package/dist/converters/configs/world-eaters.d.ts +3 -0
- package/dist/converters/configs/world-eaters.js +43 -0
- package/dist/converters/faction-config.d.ts +53 -0
- package/dist/converters/faction-config.js +22 -0
- package/dist/converters/id-generator.d.ts +14 -0
- package/dist/converters/id-generator.js +65 -0
- package/dist/converters/keyword-filter.d.ts +26 -0
- package/dist/converters/keyword-filter.js +78 -0
- package/dist/converters/stat-parser.d.ts +22 -0
- package/dist/converters/stat-parser.js +84 -0
- package/dist/converters/view-selector.d.ts +54 -0
- package/dist/converters/view-selector.js +96 -0
- package/dist/converters/weapon-dedup.d.ts +60 -0
- package/dist/converters/weapon-dedup.js +120 -0
- package/dist/data/bundle.generated.d.ts +3 -0
- package/dist/data/bundle.generated.js +3 -0
- package/dist/data/collection.d.ts +64 -0
- package/dist/data/collection.js +118 -0
- package/dist/data/dataset.d.ts +50 -0
- package/dist/data/dataset.js +134 -0
- package/dist/data/entities.d.ts +80 -0
- package/dist/data/entities.js +133 -0
- package/dist/data/index.d.ts +59 -0
- package/dist/data/index.js +57 -0
- package/dist/data/normalize.d.ts +29 -0
- package/dist/data/normalize.js +37 -0
- package/dist/data/types.d.ts +43 -0
- package/dist/data/types.js +25 -0
- package/dist/generated.d.ts +1084 -0
- package/dist/generated.js +2 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +7 -0
- package/dist/known-support-10e.d.ts +31 -0
- package/dist/known-support-10e.js +113 -0
- package/dist/port-10e-faction.d.ts +52 -0
- package/dist/port-10e-faction.js +413 -0
- package/dist/report.d.ts +3 -0
- package/dist/report.js +31 -0
- package/dist/schema-loader.d.ts +15 -0
- package/dist/schema-loader.js +79 -0
- package/dist/validate.d.ts +21 -0
- package/dist/validate.js +124 -0
- package/package.json +77 -0
- package/schemas/$defs/common.schema.json +86 -0
- package/schemas/$defs/game-version-ref.schema.json +11 -0
- package/schemas/core/deployment-pattern.schema.json +102 -0
- package/schemas/core/detachment.schema.json +56 -0
- package/schemas/core/enhancement.schema.json +46 -0
- package/schemas/core/faction.schema.json +29 -0
- package/schemas/core/force-disposition.schema.json +22 -0
- package/schemas/core/game-version.schema.json +20 -0
- package/schemas/core/leader-attachment.schema.json +18 -0
- package/schemas/core/mission-matchup.schema.json +25 -0
- package/schemas/core/mission.schema.json +42 -0
- package/schemas/core/roster.schema.json +203 -0
- package/schemas/core/secondary-card.schema.json +195 -0
- package/schemas/core/stratagem.schema.json +58 -0
- package/schemas/core/terrain-layout.schema.json +135 -0
- package/schemas/core/unit-composition.schema.json +38 -0
- package/schemas/core/unit.schema.json +125 -0
- package/schemas/core/wargear-option.schema.json +47 -0
- package/schemas/core/weapon.schema.json +56 -0
- package/schemas/enrichment/ability-dsl/ability.schema.json +60 -0
- package/schemas/enrichment/ability-dsl/condition.schema.json +48 -0
- package/schemas/enrichment/ability-dsl/effect.schema.json +145 -0
- package/schemas/enrichment/ability-dsl/scope.schema.json +12 -0
- package/schemas/enrichment/interaction-flag.schema.json +17 -0
- package/schemas/enrichment/phase-mapping.schema.json +14 -0
- package/schemas/enrichment/resource-pool.schema.json +36 -0
- package/schemas/enrichment/timing-flag.schema.json +28 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { registerFaction } from "../faction-config.js";
|
|
2
|
+
const crimsonFists = {
|
|
3
|
+
sourceFactionId: "SM",
|
|
4
|
+
factionId: "crimson-fists",
|
|
5
|
+
factionName: "Crimson Fists",
|
|
6
|
+
factionAbilityName: "Oath of Moment",
|
|
7
|
+
factionRuleId: "oath-of-moment",
|
|
8
|
+
factionKeywords: ["Imperium", "Adeptus Astartes", "Crimson Fists"],
|
|
9
|
+
parentFactionId: "adeptus-astartes",
|
|
10
|
+
aliases: [],
|
|
11
|
+
compositionOverrides: {},
|
|
12
|
+
skipUnits: true,
|
|
13
|
+
detachmentFilter: ["Liberator Assault Group"],
|
|
14
|
+
};
|
|
15
|
+
registerFaction(crimsonFists);
|
|
16
|
+
export default crimsonFists;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { registerFaction } from "../faction-config.js";
|
|
2
|
+
const darkAngels = {
|
|
3
|
+
sourceFactionId: "SM",
|
|
4
|
+
factionId: "dark-angels",
|
|
5
|
+
factionName: "Dark Angels",
|
|
6
|
+
factionAbilityName: "Oath of Moment",
|
|
7
|
+
factionRuleId: "oath-of-moment",
|
|
8
|
+
factionKeywords: ["Imperium", "Adeptus Astartes", "Dark Angels"],
|
|
9
|
+
parentFactionId: "adeptus-astartes",
|
|
10
|
+
aliases: [],
|
|
11
|
+
compositionOverrides: {},
|
|
12
|
+
skipUnits: true,
|
|
13
|
+
detachmentFilter: ["Inner Circle Task Force", "Unforgiven Task Force", "Lion\u2019s Blade Task Force", "Wrath of the Rock"],
|
|
14
|
+
};
|
|
15
|
+
registerFaction(darkAngels);
|
|
16
|
+
export default darkAngels;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { registerFaction } from "../faction-config.js";
|
|
2
|
+
const deathGuard = {
|
|
3
|
+
sourceFactionId: "DG",
|
|
4
|
+
factionId: "death-guard",
|
|
5
|
+
factionName: "Death Guard",
|
|
6
|
+
factionAbilityName: "Nurgle\u2019s Gift (Aura)",
|
|
7
|
+
factionRuleId: "nurgles-gift",
|
|
8
|
+
factionKeywords: ["Chaos", "Nurgle", "Death Guard"],
|
|
9
|
+
parentFactionId: null,
|
|
10
|
+
aliases: [],
|
|
11
|
+
compositionOverrides: {
|
|
12
|
+
"plague-marines": [
|
|
13
|
+
{ name: "Plague Champion", profile_name: "Plague Marine", min: 1, max: 1, default_weapon_ids: ["bolt-pistol", "plague-knives"], is_leader_model: true },
|
|
14
|
+
{ name: "Plague Marine", min: 4, max: 9, default_weapon_ids: ["boltgun", "plague-knives"], is_leader_model: false },
|
|
15
|
+
],
|
|
16
|
+
"blightlord-terminators": [
|
|
17
|
+
{ name: "Blightlord Champion", profile_name: "Blightlord Terminator", min: 1, max: 1, default_weapon_ids: ["combi-bolter", "bubotic-blade"], is_leader_model: true },
|
|
18
|
+
{ name: "Blightlord Terminator", min: 2, max: 9, default_weapon_ids: ["combi-bolter", "bubotic-blade"], is_leader_model: false },
|
|
19
|
+
],
|
|
20
|
+
"deathshroud-terminators": [
|
|
21
|
+
{ name: "Deathshroud Champion", profile_name: "Deathshroud Terminator", min: 1, max: 1, default_weapon_ids: ["plaguespurt-gauntlet", "manreaper-strike"], is_leader_model: true },
|
|
22
|
+
{ name: "Deathshroud Terminator", min: 2, max: 5, default_weapon_ids: ["plaguespurt-gauntlet", "manreaper-strike"], is_leader_model: false },
|
|
23
|
+
],
|
|
24
|
+
"chaos-spawn": [
|
|
25
|
+
{ name: "Chaos Spawn", min: 2, max: 2, default_weapon_ids: ["hideous-mutations"], is_leader_model: false },
|
|
26
|
+
],
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
registerFaction(deathGuard);
|
|
30
|
+
export default deathGuard;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { registerFaction } from "../faction-config.js";
|
|
2
|
+
const deathwatch = {
|
|
3
|
+
sourceFactionId: "SM",
|
|
4
|
+
factionId: "deathwatch",
|
|
5
|
+
factionName: "Deathwatch",
|
|
6
|
+
factionAbilityName: "Oath of Moment",
|
|
7
|
+
factionRuleId: "mission-tactics",
|
|
8
|
+
factionKeywords: ["Imperium", "Adeptus Astartes", "Deathwatch"],
|
|
9
|
+
parentFactionId: "adeptus-astartes",
|
|
10
|
+
aliases: [],
|
|
11
|
+
compositionOverrides: {},
|
|
12
|
+
skipUnits: true,
|
|
13
|
+
detachmentFilter: ["Black Spear Task Force", "Shadowmark Talon"],
|
|
14
|
+
};
|
|
15
|
+
registerFaction(deathwatch);
|
|
16
|
+
export default deathwatch;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { registerFaction } from "../faction-config.js";
|
|
2
|
+
const drukhari = {
|
|
3
|
+
sourceFactionId: "DRU",
|
|
4
|
+
factionId: "drukhari",
|
|
5
|
+
factionName: "Drukhari",
|
|
6
|
+
factionAbilityName: "Power from Pain",
|
|
7
|
+
factionRuleId: "power-from-pain",
|
|
8
|
+
factionKeywords: ["Aeldari", "Drukhari"],
|
|
9
|
+
parentFactionId: null,
|
|
10
|
+
aliases: [],
|
|
11
|
+
compositionOverrides: {
|
|
12
|
+
"incubi": [
|
|
13
|
+
{ name: "Klaivex", min: 1, max: 1, default_weapon_ids: ["demiklaives-single-blade"], is_leader_model: true },
|
|
14
|
+
{ name: "Incubi", min: 4, max: 9, default_weapon_ids: ["klaive"], is_leader_model: false },
|
|
15
|
+
],
|
|
16
|
+
"kabalite-warriors": [
|
|
17
|
+
{ name: "Sybarite", profile_name: "Kabalite Warrior", min: 1, max: 1, default_weapon_ids: ["splinter-pistol", "power-weapon"], is_leader_model: true },
|
|
18
|
+
{ name: "Kabalite Warrior", min: 9, max: 9, default_weapon_ids: ["splinter-rifle", "close-combat-weapon"], is_leader_model: false },
|
|
19
|
+
],
|
|
20
|
+
"wyches": [
|
|
21
|
+
{ name: "Hekatrix", profile_name: "Wych", min: 1, max: 1, default_weapon_ids: ["splinter-pistol", "power-weapon"], is_leader_model: true },
|
|
22
|
+
{ name: "Wych", min: 9, max: 9, default_weapon_ids: ["splinter-pistol", "hekatarii-blade"], is_leader_model: false },
|
|
23
|
+
],
|
|
24
|
+
"wracks": [
|
|
25
|
+
{ name: "Acothyst", profile_name: "Wrack", min: 1, max: 1, default_weapon_ids: ["stinger-pistol", "power-weapon"], is_leader_model: true },
|
|
26
|
+
{ name: "Wrack", min: 4, max: 9, default_weapon_ids: ["twin-torturers-tools"], is_leader_model: false },
|
|
27
|
+
],
|
|
28
|
+
"hellions": [
|
|
29
|
+
{ name: "Helliarch", profile_name: "Hellion", min: 1, max: 1, default_weapon_ids: ["splinter-pistol", "stunclaw"], is_leader_model: true },
|
|
30
|
+
{ name: "Hellion", min: 4, max: 9, default_weapon_ids: ["splinter-pods", "hellglaive"], is_leader_model: false },
|
|
31
|
+
],
|
|
32
|
+
"reavers": [
|
|
33
|
+
{ name: "Arena Champion", profile_name: "Reaver", min: 1, max: 1, default_weapon_ids: ["splinter-pistol", "bladevanes"], is_leader_model: true },
|
|
34
|
+
{ name: "Reaver", min: 2, max: 5, default_weapon_ids: ["splinter-pistol", "bladevanes"], is_leader_model: false },
|
|
35
|
+
],
|
|
36
|
+
"scourges-with-heavy-weapons": [
|
|
37
|
+
{ name: "Solarite", profile_name: "Scourge", min: 1, max: 1, default_weapon_ids: ["blast-pistol", "power-weapon"], is_leader_model: true },
|
|
38
|
+
{ name: "Scourge", min: 4, max: 4, default_weapon_ids: ["shardcarbine", "close-combat-weapon"], is_leader_model: false },
|
|
39
|
+
],
|
|
40
|
+
"scourges-with-shardcarbines": [
|
|
41
|
+
{ name: "Solarite", profile_name: "Scourge", min: 1, max: 1, default_weapon_ids: ["blast-pistol", "power-weapon"], is_leader_model: true },
|
|
42
|
+
{ name: "Scourge", min: 4, max: 4, default_weapon_ids: ["shardcarbine", "close-combat-weapon"], is_leader_model: false },
|
|
43
|
+
],
|
|
44
|
+
"mandrakes": [
|
|
45
|
+
{ name: "Nightfiend", profile_name: "Mandrake", min: 1, max: 1, default_weapon_ids: ["baleblast", "glimmersteel-blade"], is_leader_model: true },
|
|
46
|
+
{ name: "Mandrake", min: 4, max: 9, default_weapon_ids: ["baleblast", "glimmersteel-blade"], is_leader_model: false },
|
|
47
|
+
],
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
registerFaction(drukhari);
|
|
51
|
+
export default drukhari;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { registerFaction } from "../faction-config.js";
|
|
2
|
+
const emperorsChildren = {
|
|
3
|
+
sourceFactionId: "EC",
|
|
4
|
+
factionId: "emperors-children",
|
|
5
|
+
factionName: "Emperor\u2019s Children",
|
|
6
|
+
factionAbilityName: "Thrill Seekers",
|
|
7
|
+
factionRuleId: "thrill-seekers",
|
|
8
|
+
factionKeywords: ["Chaos", "Slaanesh", "Emperor\u2019s Children"],
|
|
9
|
+
parentFactionId: null,
|
|
10
|
+
aliases: [],
|
|
11
|
+
compositionOverrides: {
|
|
12
|
+
"noise-marines": [
|
|
13
|
+
{ name: "Noise Champion", profile_name: "Noise Marine", min: 1, max: 1, default_weapon_ids: ["sonic-blaster", "close-combat-weapon"], is_leader_model: true },
|
|
14
|
+
{ name: "Noise Marine", min: 5, max: 5, default_weapon_ids: ["sonic-blaster", "close-combat-weapon"], is_leader_model: false },
|
|
15
|
+
],
|
|
16
|
+
"tormentors": [
|
|
17
|
+
{ name: "Obsessionist", profile_name: "Tormentor", min: 1, max: 1, default_weapon_ids: ["bolt-pistol", "power-sword"], is_leader_model: true },
|
|
18
|
+
{ name: "Tormentor", min: 4, max: 9, default_weapon_ids: ["boltgun", "close-combat-weapon"], is_leader_model: false },
|
|
19
|
+
],
|
|
20
|
+
"infractors": [
|
|
21
|
+
{ name: "Obsessionist", profile_name: "Infractor", min: 1, max: 1, default_weapon_ids: ["bolt-pistol", "power-sword"], is_leader_model: true },
|
|
22
|
+
{ name: "Infractor", min: 4, max: 9, default_weapon_ids: ["bolt-pistol", "duelling-sabre"], is_leader_model: false },
|
|
23
|
+
],
|
|
24
|
+
"flawless-blades": [
|
|
25
|
+
{ name: "Flawless Champion", profile_name: "Flawless Blades", min: 1, max: 1, default_weapon_ids: ["bolt-pistol", "blissblade"], is_leader_model: true },
|
|
26
|
+
{ name: "Flawless Blade", profile_name: "Flawless Blades", min: 2, max: 5, default_weapon_ids: ["bolt-pistol", "blissblade"], is_leader_model: false },
|
|
27
|
+
],
|
|
28
|
+
"chaos-terminators": [
|
|
29
|
+
{ name: "Terminator Champion", profile_name: "Chaos Terminator", min: 1, max: 1, default_weapon_ids: ["combi-bolter", "accursed-weapon"], is_leader_model: true },
|
|
30
|
+
{ name: "Chaos Terminator", min: 4, max: 4, default_weapon_ids: ["combi-bolter", "accursed-weapon"], is_leader_model: false },
|
|
31
|
+
],
|
|
32
|
+
"chaos-spawn": [
|
|
33
|
+
{ name: "Chaos Spawn", min: 2, max: 2, default_weapon_ids: ["hideous-mutations"], is_leader_model: false },
|
|
34
|
+
],
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
registerFaction(emperorsChildren);
|
|
38
|
+
export default emperorsChildren;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { registerFaction } from "../faction-config.js";
|
|
2
|
+
const genestealerCults = {
|
|
3
|
+
sourceFactionId: "GC",
|
|
4
|
+
factionId: "genestealer-cults",
|
|
5
|
+
factionName: "Genestealer Cults",
|
|
6
|
+
factionAbilityName: "Cult Ambush",
|
|
7
|
+
factionRuleId: "cult-ambush",
|
|
8
|
+
factionKeywords: ["Genestealer Cults"],
|
|
9
|
+
parentFactionId: null,
|
|
10
|
+
aliases: [],
|
|
11
|
+
compositionOverrides: {
|
|
12
|
+
"acolyte-hybrids-with-autopistols": [
|
|
13
|
+
{ name: "Acolyte Leader", profile_name: "Acolyte Hybrid", min: 1, max: 1, default_weapon_ids: ["leaders-cult-weapons"], is_leader_model: true },
|
|
14
|
+
{ name: "Acolyte Hybrid", min: 4, max: 9, default_weapon_ids: ["autopistol", "cult-claws-and-knife"], is_leader_model: false },
|
|
15
|
+
],
|
|
16
|
+
"acolyte-hybrids-with-hand-flamers": [
|
|
17
|
+
{ name: "Acolyte Leader", profile_name: "Acolyte Hybrid", min: 1, max: 1, default_weapon_ids: ["leaders-cult-weapons"], is_leader_model: true },
|
|
18
|
+
{ name: "Acolyte Hybrid", min: 4, max: 9, default_weapon_ids: ["hand-flamer", "cult-claws-and-knife"], is_leader_model: false },
|
|
19
|
+
],
|
|
20
|
+
"hybrid-metamorphs": [
|
|
21
|
+
{ name: "Metamorph Leader", profile_name: "Hybrid Metamorph", min: 1, max: 1, default_weapon_ids: ["leaders-cult-weapons"], is_leader_model: true },
|
|
22
|
+
{ name: "Hybrid Metamorph", min: 4, max: 9, default_weapon_ids: ["autopistol", "metamorph-mutations-strike"], is_leader_model: false },
|
|
23
|
+
],
|
|
24
|
+
"neophyte-hybrids": [
|
|
25
|
+
{ name: "Neophyte Leader", profile_name: "Neophyte Hybrid", min: 1, max: 1, default_weapon_ids: ["anointed-pistol", "power-weapon"], is_leader_model: true },
|
|
26
|
+
{ name: "Neophyte Hybrid", min: 9, max: 19, default_weapon_ids: ["hybrid-firearm", "close-combat-weapon"], is_leader_model: false },
|
|
27
|
+
],
|
|
28
|
+
"atalan-jackals": [
|
|
29
|
+
{ name: "Atalan Leader", profile_name: "Atalan Jackal", min: 1, max: 1, default_weapon_ids: ["atalan-small-arms", "atalan-power-weapon"], is_leader_model: true },
|
|
30
|
+
{ name: "Atalan Jackal", min: 3, max: 7, default_weapon_ids: ["atalan-small-arms", "close-combat-weapon"], is_leader_model: false },
|
|
31
|
+
{ name: "Atalan Wolfquad", min: 1, max: 2, default_weapon_ids: ["heavy-stubber", "close-combat-weapon"], is_leader_model: false },
|
|
32
|
+
],
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
registerFaction(genestealerCults);
|
|
36
|
+
export default genestealerCults;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { registerFaction } from "../faction-config.js";
|
|
2
|
+
const greyKnights = {
|
|
3
|
+
sourceFactionId: "GK",
|
|
4
|
+
factionId: "grey-knights",
|
|
5
|
+
factionName: "Grey Knights",
|
|
6
|
+
factionAbilityName: "Gate of Infinity",
|
|
7
|
+
factionRuleId: "gate-of-infinity",
|
|
8
|
+
factionKeywords: ["Imperium", "Adeptus Astartes", "Grey Knights"],
|
|
9
|
+
parentFactionId: null,
|
|
10
|
+
aliases: [],
|
|
11
|
+
compositionOverrides: {
|
|
12
|
+
"brotherhood-terminator-squad": [
|
|
13
|
+
{ name: "Justicar", profile_name: "Terminator", min: 1, max: 1, default_weapon_ids: ["storm-bolter", "nemesis-force-weapon"], is_leader_model: true },
|
|
14
|
+
{ name: "Terminator", min: 3, max: 9, default_weapon_ids: ["storm-bolter", "nemesis-force-weapon"], is_leader_model: false },
|
|
15
|
+
],
|
|
16
|
+
"interceptor-squad": [
|
|
17
|
+
{ name: "Justicar", profile_name: "Interceptor", min: 1, max: 1, default_weapon_ids: ["storm-bolter", "nemesis-force-weapon"], is_leader_model: true },
|
|
18
|
+
{ name: "Interceptor", min: 4, max: 9, default_weapon_ids: ["storm-bolter", "nemesis-force-weapon"], is_leader_model: false },
|
|
19
|
+
],
|
|
20
|
+
"paladin-squad": [
|
|
21
|
+
{ name: "Paragon", profile_name: "Paladin", min: 1, max: 1, default_weapon_ids: ["storm-bolter", "nemesis-force-weapon"], is_leader_model: true },
|
|
22
|
+
{ name: "Paladin", min: 3, max: 9, default_weapon_ids: ["storm-bolter", "nemesis-force-weapon"], is_leader_model: false },
|
|
23
|
+
],
|
|
24
|
+
"purgation-squad": [
|
|
25
|
+
{ name: "Justicar", profile_name: "Purgator", min: 1, max: 1, default_weapon_ids: ["storm-bolter", "nemesis-force-weapon"], is_leader_model: true },
|
|
26
|
+
{ name: "Purgator", min: 4, max: 9, default_weapon_ids: ["storm-bolter", "nemesis-force-weapon"], is_leader_model: false },
|
|
27
|
+
],
|
|
28
|
+
"purifier-squad": [
|
|
29
|
+
{ name: "Knight of the Flame", profile_name: "Purifier", min: 1, max: 1, default_weapon_ids: ["storm-bolter", "nemesis-force-weapon"], is_leader_model: true },
|
|
30
|
+
{ name: "Purifier", min: 4, max: 9, default_weapon_ids: ["storm-bolter", "nemesis-force-weapon"], is_leader_model: false },
|
|
31
|
+
],
|
|
32
|
+
"strike-squad": [
|
|
33
|
+
{ name: "Justicar", profile_name: "Grey Knight", min: 1, max: 1, default_weapon_ids: ["storm-bolter", "nemesis-force-weapon"], is_leader_model: true },
|
|
34
|
+
{ name: "Grey Knight", min: 4, max: 9, default_weapon_ids: ["storm-bolter", "nemesis-force-weapon"], is_leader_model: false },
|
|
35
|
+
],
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
registerFaction(greyKnights);
|
|
39
|
+
export default greyKnights;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { registerFaction } from "../faction-config.js";
|
|
2
|
+
const imperialFists = {
|
|
3
|
+
sourceFactionId: "SM",
|
|
4
|
+
factionId: "imperial-fists",
|
|
5
|
+
factionName: "Imperial Fists",
|
|
6
|
+
factionAbilityName: "Oath of Moment",
|
|
7
|
+
factionRuleId: "oath-of-moment",
|
|
8
|
+
factionKeywords: ["Imperium", "Adeptus Astartes", "Imperial Fists"],
|
|
9
|
+
parentFactionId: "adeptus-astartes",
|
|
10
|
+
aliases: [],
|
|
11
|
+
compositionOverrides: {},
|
|
12
|
+
skipUnits: true,
|
|
13
|
+
detachmentFilter: ["Bastion Task Force", "Emperor\u2019s Shield"],
|
|
14
|
+
};
|
|
15
|
+
registerFaction(imperialFists);
|
|
16
|
+
export default imperialFists;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { registerFaction } from "../faction-config.js";
|
|
2
|
+
const imperialKnights = {
|
|
3
|
+
sourceFactionId: "QI",
|
|
4
|
+
factionId: "imperial-knights",
|
|
5
|
+
factionName: "Imperial Knights",
|
|
6
|
+
factionAbilityName: "Code Chivalric",
|
|
7
|
+
factionRuleId: "code-chivalric",
|
|
8
|
+
factionKeywords: ["Imperium", "Imperial Knights"],
|
|
9
|
+
parentFactionId: null,
|
|
10
|
+
aliases: [],
|
|
11
|
+
compositionOverrides: {},
|
|
12
|
+
};
|
|
13
|
+
registerFaction(imperialKnights);
|
|
14
|
+
export default imperialKnights;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { registerFaction } from "../faction-config.js";
|
|
2
|
+
const ironHands = {
|
|
3
|
+
sourceFactionId: "SM",
|
|
4
|
+
factionId: "iron-hands",
|
|
5
|
+
factionName: "Iron Hands",
|
|
6
|
+
factionAbilityName: "Oath of Moment",
|
|
7
|
+
factionRuleId: "oath-of-moment",
|
|
8
|
+
factionKeywords: ["Imperium", "Adeptus Astartes", "Iron Hands"],
|
|
9
|
+
parentFactionId: "adeptus-astartes",
|
|
10
|
+
aliases: [],
|
|
11
|
+
compositionOverrides: {},
|
|
12
|
+
skipUnits: true,
|
|
13
|
+
detachmentFilter: ["Hammer of Avernii"],
|
|
14
|
+
};
|
|
15
|
+
registerFaction(ironHands);
|
|
16
|
+
export default ironHands;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { registerFaction } from "../faction-config.js";
|
|
2
|
+
const leaguesOfVotann = {
|
|
3
|
+
sourceFactionId: "LoV",
|
|
4
|
+
factionId: "leagues-of-votann",
|
|
5
|
+
factionName: "Leagues of Votann",
|
|
6
|
+
factionAbilityName: "Prioritised Efficiency",
|
|
7
|
+
factionRuleId: "prioritised-efficiency",
|
|
8
|
+
factionKeywords: ["Leagues of Votann"],
|
|
9
|
+
parentFactionId: null,
|
|
10
|
+
aliases: [],
|
|
11
|
+
compositionOverrides: {
|
|
12
|
+
"hearthkyn-warriors": [
|
|
13
|
+
{ name: "Theyn", profile_name: "Hearthkyn Warrior", min: 1, max: 1, default_weapon_ids: ["theyns-pistol", "theyns-melee-weapon"], is_leader_model: true },
|
|
14
|
+
{ name: "Hearthkyn Warrior", min: 9, max: 9, default_weapon_ids: ["autoch-pattern-bolt-pistol", "close-combat-weapon"], is_leader_model: false },
|
|
15
|
+
],
|
|
16
|
+
"einhyr-hearthguard": [
|
|
17
|
+
{ name: "Hesyr", profile_name: "Einhyr Hearthguard", min: 1, max: 1, default_weapon_ids: ["etacarn-plasma-gun", "concussion-gauntlet"], is_leader_model: true },
|
|
18
|
+
{ name: "Einhyr Hearthguard", min: 4, max: 9, default_weapon_ids: ["etacarn-plasma-gun", "concussion-gauntlet"], is_leader_model: false },
|
|
19
|
+
],
|
|
20
|
+
"brokhyr-iron-master": [
|
|
21
|
+
{ name: "Brôkhyr Iron-master", min: 1, max: 1, default_weapon_ids: ["graviton-rifle", "graviton-hammer"], is_leader_model: true },
|
|
22
|
+
{ name: "Ironkin Assistant", min: 3, max: 3, default_weapon_ids: ["las-beam-cutter", "close-combat-weapon"], is_leader_model: false },
|
|
23
|
+
{ name: "E-COG", min: 1, max: 1, default_weapon_ids: ["plasma-torch", "close-combat-weapon"], is_leader_model: false },
|
|
24
|
+
],
|
|
25
|
+
"grimnyr": [
|
|
26
|
+
{ name: "Grimnyr", min: 1, max: 1, default_weapon_ids: ["ancestral-wrath-witchfire", "ancestral-ward-stave"], is_leader_model: true },
|
|
27
|
+
{ name: "CORV", min: 2, max: 2, default_weapon_ids: ["close-combat-weapon"], is_leader_model: false },
|
|
28
|
+
],
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
registerFaction(leaguesOfVotann);
|
|
32
|
+
export default leaguesOfVotann;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { registerFaction } from "../faction-config.js";
|
|
2
|
+
const necrons = {
|
|
3
|
+
sourceFactionId: "NEC",
|
|
4
|
+
factionId: "necrons",
|
|
5
|
+
factionName: "Necrons",
|
|
6
|
+
factionAbilityName: "Reanimation Protocols",
|
|
7
|
+
factionRuleId: "reanimation-protocols",
|
|
8
|
+
factionKeywords: ["Necrons"],
|
|
9
|
+
parentFactionId: null,
|
|
10
|
+
aliases: [],
|
|
11
|
+
compositionOverrides: {
|
|
12
|
+
"the-silent-king": [
|
|
13
|
+
{ name: "Szarekh", min: 1, max: 1, default_weapon_ids: ["sceptre-of-eternal-glory"], is_leader_model: true },
|
|
14
|
+
{ name: "Triarchal Menhir", min: 2, max: 2, default_weapon_ids: ["annihilator-beam"], is_leader_model: false },
|
|
15
|
+
],
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
registerFaction(necrons);
|
|
19
|
+
export default necrons;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { registerFaction } from "../faction-config.js";
|
|
2
|
+
const orks = {
|
|
3
|
+
sourceFactionId: "ORK",
|
|
4
|
+
factionId: "orks",
|
|
5
|
+
factionName: "Orks",
|
|
6
|
+
factionAbilityName: "Waaagh!",
|
|
7
|
+
factionRuleId: "waaagh",
|
|
8
|
+
factionKeywords: ["Orks"],
|
|
9
|
+
parentFactionId: null,
|
|
10
|
+
aliases: [],
|
|
11
|
+
compositionOverrides: {
|
|
12
|
+
"boyz": [
|
|
13
|
+
{ name: "Boss Nob", min: 1, max: 1, default_weapon_ids: ["slugga", "choppa"], is_leader_model: true },
|
|
14
|
+
{ name: "Boy", min: 9, max: 19, default_weapon_ids: ["slugga", "choppa"], is_leader_model: false },
|
|
15
|
+
],
|
|
16
|
+
"beast-snagga-boyz": [
|
|
17
|
+
{ name: "Beast Snagga Nob", min: 1, max: 1, default_weapon_ids: ["slugga", "choppa"], is_leader_model: true },
|
|
18
|
+
{ name: "Beast Snagga Boy", min: 9, max: 19, default_weapon_ids: ["slugga", "choppa"], is_leader_model: false },
|
|
19
|
+
],
|
|
20
|
+
"kommandos": [
|
|
21
|
+
{ name: "Boss Nob", min: 1, max: 1, default_weapon_ids: ["slugga", "power-klaw"], is_leader_model: true },
|
|
22
|
+
{ name: "Kommando", min: 9, max: 9, default_weapon_ids: ["slugga", "choppa"], is_leader_model: false },
|
|
23
|
+
],
|
|
24
|
+
"gretchin": [
|
|
25
|
+
{ name: "Runtherd", min: 1, max: 1, default_weapon_ids: ["slugga", "close-combat-weapon"], is_leader_model: true },
|
|
26
|
+
{ name: "Gretchin", min: 10, max: 21, default_weapon_ids: ["grot-blasta", "close-combat-weapon"], is_leader_model: false },
|
|
27
|
+
],
|
|
28
|
+
"stormboyz": [
|
|
29
|
+
{ name: "Boss Nob", min: 1, max: 1, default_weapon_ids: ["slugga", "choppa"], is_leader_model: true },
|
|
30
|
+
{ name: "Stormboy", min: 4, max: 9, default_weapon_ids: ["slugga", "choppa"], is_leader_model: false },
|
|
31
|
+
],
|
|
32
|
+
"tankbustas": [
|
|
33
|
+
{ name: "Boss Nob", min: 1, max: 1, default_weapon_ids: ["rokkit-launcha", "close-combat-weapon"], is_leader_model: true },
|
|
34
|
+
{ name: "Tankbusta", min: 5, max: 5, default_weapon_ids: ["rokkit-launcha", "close-combat-weapon"], is_leader_model: false },
|
|
35
|
+
],
|
|
36
|
+
"warbikers": [
|
|
37
|
+
{ name: "Boss Nob on Warbike", min: 1, max: 1, default_weapon_ids: ["slugga", "choppa"], is_leader_model: true },
|
|
38
|
+
{ name: "Warbiker", min: 2, max: 5, default_weapon_ids: ["dakkagun", "close-combat-weapon"], is_leader_model: false },
|
|
39
|
+
],
|
|
40
|
+
"squighog-boyz": [
|
|
41
|
+
{ name: "Nob on Smasha Squig", min: 1, max: 1, default_weapon_ids: ["slugga", "big-choppa"], is_leader_model: true },
|
|
42
|
+
{ name: "Squighog Boy", min: 3, max: 7, default_weapon_ids: ["saddlegit-weapons", "squighog-jaws"], is_leader_model: false },
|
|
43
|
+
],
|
|
44
|
+
"ghazghkull-thraka": [
|
|
45
|
+
{ name: "Ghazghkull Thraka", min: 1, max: 1, default_weapon_ids: ["gork-klaw-and-mork-klaw"], is_leader_model: true },
|
|
46
|
+
{ name: "Makari", min: 1, max: 1, default_weapon_ids: ["close-combat-weapon"], is_leader_model: false },
|
|
47
|
+
],
|
|
48
|
+
"meganobz": [
|
|
49
|
+
{ name: "Meganob with Mega-Shoota", profile_name: "Meganob", min: 1, max: 1, default_weapon_ids: ["kombi-weapon", "power-klaw"], is_leader_model: true },
|
|
50
|
+
{ name: "Meganob", min: 1, max: 5, default_weapon_ids: ["kombi-weapon", "power-klaw"], is_leader_model: false },
|
|
51
|
+
],
|
|
52
|
+
"nobz": [
|
|
53
|
+
{ name: "Boss Nob", profile_name: "Nob", min: 1, max: 1, default_weapon_ids: ["slugga", "power-klaw"], is_leader_model: true },
|
|
54
|
+
{ name: "Nob", min: 4, max: 9, default_weapon_ids: ["slugga", "choppa"], is_leader_model: false },
|
|
55
|
+
],
|
|
56
|
+
"burna-boyz": [
|
|
57
|
+
{ name: "Spanner", profile_name: "Burna Boy", min: 1, max: 1, default_weapon_ids: ["kustom-mega-blasta", "close-combat-weapon"], is_leader_model: true },
|
|
58
|
+
{ name: "Burna Boy", min: 4, max: 9, default_weapon_ids: ["burna", "close-combat-weapon"], is_leader_model: false },
|
|
59
|
+
],
|
|
60
|
+
"lootas": [
|
|
61
|
+
{ name: "Spanner", profile_name: "Loota", min: 1, max: 1, default_weapon_ids: ["kustom-mega-blasta", "close-combat-weapon"], is_leader_model: true },
|
|
62
|
+
{ name: "Loota", min: 4, max: 9, default_weapon_ids: ["deffgun", "close-combat-weapon"], is_leader_model: false },
|
|
63
|
+
],
|
|
64
|
+
"flash-gitz": [
|
|
65
|
+
{ name: "Kaptin", profile_name: "Flash Git", min: 1, max: 1, default_weapon_ids: ["snazzgun", "choppa"], is_leader_model: true },
|
|
66
|
+
{ name: "Flash Git", min: 4, max: 9, default_weapon_ids: ["snazzgun", "choppa"], is_leader_model: false },
|
|
67
|
+
],
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
registerFaction(orks);
|
|
71
|
+
export default orks;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { registerFaction } from "../faction-config.js";
|
|
2
|
+
const ravenGuard = {
|
|
3
|
+
sourceFactionId: "SM",
|
|
4
|
+
factionId: "raven-guard",
|
|
5
|
+
factionName: "Raven Guard",
|
|
6
|
+
factionAbilityName: "Oath of Moment",
|
|
7
|
+
factionRuleId: "oath-of-moment",
|
|
8
|
+
factionKeywords: ["Imperium", "Adeptus Astartes", "Raven Guard"],
|
|
9
|
+
parentFactionId: "adeptus-astartes",
|
|
10
|
+
aliases: [],
|
|
11
|
+
compositionOverrides: {},
|
|
12
|
+
skipUnits: true,
|
|
13
|
+
detachmentFilter: ["Company of Hunters"],
|
|
14
|
+
};
|
|
15
|
+
registerFaction(ravenGuard);
|
|
16
|
+
export default ravenGuard;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { registerFaction } from "../faction-config.js";
|
|
2
|
+
const salamanders = {
|
|
3
|
+
sourceFactionId: "SM",
|
|
4
|
+
factionId: "salamanders",
|
|
5
|
+
factionName: "Salamanders",
|
|
6
|
+
factionAbilityName: "Oath of Moment",
|
|
7
|
+
factionRuleId: "oath-of-moment",
|
|
8
|
+
factionKeywords: ["Imperium", "Adeptus Astartes", "Salamanders"],
|
|
9
|
+
parentFactionId: "adeptus-astartes",
|
|
10
|
+
aliases: [],
|
|
11
|
+
compositionOverrides: {},
|
|
12
|
+
skipUnits: true,
|
|
13
|
+
detachmentFilter: ["Forgefather\u2019s Seekers"],
|
|
14
|
+
};
|
|
15
|
+
registerFaction(salamanders);
|
|
16
|
+
export default salamanders;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { registerFaction } from "../faction-config.js";
|
|
2
|
+
const spaceWolves = {
|
|
3
|
+
sourceFactionId: "SM",
|
|
4
|
+
factionId: "space-wolves",
|
|
5
|
+
factionName: "Space Wolves",
|
|
6
|
+
factionAbilityName: "Oath of Moment",
|
|
7
|
+
factionRuleId: "oath-of-moment",
|
|
8
|
+
factionKeywords: ["Imperium", "Adeptus Astartes", "Space Wolves"],
|
|
9
|
+
parentFactionId: "adeptus-astartes",
|
|
10
|
+
aliases: [],
|
|
11
|
+
compositionOverrides: {},
|
|
12
|
+
skipUnits: true,
|
|
13
|
+
detachmentFilter: ["Champions of Fenris", "Saga of the Beastslayer", "Saga of the Bold", "Saga of the Great Wolf", "Saga of the Hunter"],
|
|
14
|
+
};
|
|
15
|
+
registerFaction(spaceWolves);
|
|
16
|
+
export default spaceWolves;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { registerFaction } from "../faction-config.js";
|
|
2
|
+
const tauEmpire = {
|
|
3
|
+
sourceFactionId: "TAU",
|
|
4
|
+
factionId: "tau-empire",
|
|
5
|
+
factionName: "T\u2019au Empire",
|
|
6
|
+
factionAbilityName: "For the Greater Good",
|
|
7
|
+
factionRuleId: "for-the-greater-good",
|
|
8
|
+
factionKeywords: ["T\u2019au Empire"],
|
|
9
|
+
parentFactionId: null,
|
|
10
|
+
aliases: [],
|
|
11
|
+
compositionOverrides: {
|
|
12
|
+
"breacher-team": [
|
|
13
|
+
{ name: "Fire Warrior Shas\u2019ui", profile_name: "Fire Warrior", min: 1, max: 1, default_weapon_ids: ["pulse-blaster", "pulse-pistol", "close-combat-weapon"], is_leader_model: true },
|
|
14
|
+
{ name: "Fire Warrior", min: 9, max: 9, default_weapon_ids: ["pulse-blaster", "pulse-pistol", "close-combat-weapon"], is_leader_model: false },
|
|
15
|
+
],
|
|
16
|
+
"strike-team": [
|
|
17
|
+
{ name: "Fire Warrior Shas\u2019ui", profile_name: "Fire Warrior", min: 1, max: 1, default_weapon_ids: ["pulse-pistol", "pulse-rifle", "close-combat-weapon"], is_leader_model: true },
|
|
18
|
+
{ name: "Fire Warrior", min: 9, max: 9, default_weapon_ids: ["pulse-pistol", "pulse-rifle", "close-combat-weapon"], is_leader_model: false },
|
|
19
|
+
],
|
|
20
|
+
"pathfinder-team": [
|
|
21
|
+
{ name: "Pathfinder Shas\u2019ui", profile_name: "Pathfinder", min: 1, max: 1, default_weapon_ids: ["pulse-carbine", "close-combat-weapon"], is_leader_model: true },
|
|
22
|
+
{ name: "Pathfinder", min: 9, max: 9, default_weapon_ids: ["pulse-carbine", "close-combat-weapon"], is_leader_model: false },
|
|
23
|
+
],
|
|
24
|
+
"kroot-carnivores": [
|
|
25
|
+
{ name: "Kroot Trail Shaper", profile_name: "Kroot Carnivore", min: 1, max: 1, default_weapon_ids: ["kroot-rifle", "close-combat-weapon"], is_leader_model: true },
|
|
26
|
+
{ name: "Kroot Carnivore", min: 9, max: 19, default_weapon_ids: ["kroot-rifle", "close-combat-weapon"], is_leader_model: false },
|
|
27
|
+
],
|
|
28
|
+
"kroot-farstalkers": [
|
|
29
|
+
{ name: "Kill-Broker", profile_name: "Kroot Farstalker", min: 1, max: 1, default_weapon_ids: ["farstalker-firearm", "close-combat-weapon"], is_leader_model: true },
|
|
30
|
+
{ name: "Kroot Farstalker", min: 10, max: 10, default_weapon_ids: ["farstalker-firearm", "close-combat-weapon"], is_leader_model: false },
|
|
31
|
+
{ name: "Kroot Hound", min: 1, max: 1, default_weapon_ids: ["ripping-fangs"], is_leader_model: false },
|
|
32
|
+
],
|
|
33
|
+
"stealth-battlesuits": [
|
|
34
|
+
{ name: "Stealth Shas\u2019vre", profile_name: "Stealth Battlesuit", min: 1, max: 1, default_weapon_ids: ["burst-cannon", "battlesuit-fists"], is_leader_model: true },
|
|
35
|
+
{ name: "Stealth Battlesuit", min: 4, max: 4, default_weapon_ids: ["burst-cannon", "battlesuit-fists"], is_leader_model: false },
|
|
36
|
+
],
|
|
37
|
+
"vespid-stingwings": [
|
|
38
|
+
{ name: "Vespid Strain Leader", profile_name: "Vespid Stingwing", min: 1, max: 1, default_weapon_ids: ["neutron-blaster", "stingwing-claws"], is_leader_model: true },
|
|
39
|
+
{ name: "Vespid Stingwing", min: 4, max: 9, default_weapon_ids: ["neutron-blaster", "stingwing-claws"], is_leader_model: false },
|
|
40
|
+
],
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
registerFaction(tauEmpire);
|
|
44
|
+
export default tauEmpire;
|