Skip to content

Commit

Permalink
Fix missing StD battle traits (#1597)
Browse files Browse the repository at this point in the history
* Fix missing StD battle traits

* Condense some rules
  • Loading branch information
daviseford authored Feb 10, 2023
1 parent d81e482 commit 68a2b13
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 62 deletions.
14 changes: 4 additions & 10 deletions src/factions/slaves_to_darkness/artifacts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,7 @@ const Artifacts = {
effects: [
{
name: `Chaos Familiar`,
desc: `Once per battle, at the start of your hero phase you can say the bearer will call upon their Chaos Familiar.
If you do so, the bearer can attempt to cast 1 additional spell in that hero phase, and that spell can be any from the Lore of the Damned.`,
desc: `Once per battle, at the start of your hero phase you can say the bearer will call upon their Chaos Familiar. If you do so, the bearer can attempt to cast 1 additional spell in that hero phase, and that spell can be any from the Lore of the Damned.`,
when: [START_OF_HERO_PHASE],
},
],
Expand All @@ -53,9 +52,7 @@ const Artifacts = {
effects: [
{
name: `Infernal Puppet`,
desc: `Once per battle, at the start of the enemy hero phase, you can pick 1 enemy WIZARD within 24" of the bearer and visible to them.
Until the end of the phase, each time that WIZARD attempts to cast a spell they suffer D3 mortal wounds before the casting roll is made.
If the WIZARD is slain by these mortal wounds, the casting attempt fails (do not roll the dice).`,
desc: `Once per battle, at the start of the enemy hero phase, you can pick 1 enemy WIZARD within 24" of the bearer and visible to them. Until the end of the phase, each time that WIZARD attempts to cast a spell they suffer D3 mortal wounds before the casting roll is made. If the WIZARD is slain by these mortal wounds, the casting attempt fails (do not roll the dice).`,
when: [START_OF_HERO_PHASE],
},
],
Expand All @@ -64,9 +61,7 @@ const Artifacts = {
effects: [
{
name: `Helm of Eldritch Command`,
desc: `If this unit dispells and endless spell, instead of it being dispelled you can say the bearer has seized control of it.
If you do so, the bearer now controls that endless spell in the same manner as if they had summoned it, and the model that summoned the
endless spell does not control it. If that endless spell is later dispelled and summoned again the bearer does not control it.`,
desc: `If this unit dispells and endless spell, instead of it being dispelled you can say the bearer has seized control of it. If you do so, the bearer now controls that endless spell in the same manner as if they had summoned it, and the model that summoned the endless spell does not control it. If that endless spell is later dispelled and summoned again the bearer does not control it.`,
when: [START_OF_HERO_PHASE],
},
],
Expand All @@ -85,8 +80,7 @@ const Artifacts = {
effects: [
{
name: `Doombringer Blade`,
desc: `At the start of the first battle round, after set-up is complete but before the first turn begins, you can pick 1 enemy HERO or enemy MONSTER on the battlefield.
If you do so, add 1 to wound rolls for attacks made with melee weapons by friendly units that target that unit.`,
desc: `At the start of the first battle round, after set-up is complete but before the first turn begins, you can pick 1 enemy HERO or enemy MONSTER on the battlefield. If you do so, add 1 to wound rolls for attacks made with melee weapons by friendly units that target that unit.`,
when: [TURN_ONE_START_OF_TURN],
},
],
Expand Down
9 changes: 4 additions & 5 deletions src/factions/slaves_to_darkness/battalions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,18 @@ import { tagAs } from 'factions/metatagger'
import { MagnificentBattalionEffect, SlayersBattalionEffect } from 'generic_rules/core_battalions'
import { OneDropDeploymentEffect } from 'generic_rules/core_rules'

// Battalions from White Dwarf August 2021
const Battalions = {
'Chaos Warband (Unified)': {
effects: [{ ...OneDropDeploymentEffect }],
effects: [OneDropDeploymentEffect],
},
'Chaos Warband (Slayers)': {
effects: [{ ...SlayersBattalionEffect }],
effects: [SlayersBattalionEffect],
},
'Overlords of Chaos (Magnificent)': {
effects: [{ ...MagnificentBattalionEffect }],
effects: [MagnificentBattalionEffect],
},
'Overlords of Chaos (Unified)': {
effects: [{ ...OneDropDeploymentEffect }],
effects: [OneDropDeploymentEffect],
},
}

Expand Down
43 changes: 14 additions & 29 deletions src/factions/slaves_to_darkness/battle_traits.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,40 +50,32 @@ const BattleTraits = {
},
{
name: `Eye of the Gods: Flames of Chaos`,
desc: `The next time this unit is affected by a spell cast by an enemy unit, roll a dice. On a 2+, ignore the effects of that spell on this unit. A unit cannot be affected by this result more than once at the same time.
Note: See the Eye of the Gods - During Game`,
desc: `The next time this unit is affected by a spell cast by an enemy unit, roll a dice. On a 2+, ignore the effects of that spell on this unit. A unit cannot be affected by this result more than once at the same time. Note: See the Eye of the Gods - During Game.`,
when: [HERO_PHASE],
},
{
name: `Eye of the Gods: Unearthly Reflexes`,
desc: `Until the end of the battle, add 1 to charge rolls made for this unit.
Note: See the Eye of the Gods - During Game`,
desc: `Until the end of the battle, add 1 to charge rolls made for this unit. Note: See the Eye of the Gods - During Game.`,
when: [CHARGE_PHASE],
},
{
name: `Eye of the Gods: Unholy Resilience`,
desc: `Until the end of the battle, this unit has a ward of 6+.
Note: See the Eye of the Gods - During Game`,
desc: `Until the end of the battle, this unit has a ward of 6+. Note: See the Eye of the Gods - During Game.`,
when: [WOUND_ALLOCATION_PHASE],
},
{
name: `Eye of the Gods: Slaughterer's Strength`,
desc: `Until the end of the battle, improve the Rend characteristic of this unit's melee weapons by 1.
Note: See the Eye of the Gods - `,
desc: `Until the end of the battle, improve the Rend characteristic of this unit's melee weapons by 1. Note: See the Eye of the Gods -`,
when: [COMBAT_PHASE],
},
{
name: `Eye of the Gods: Arcane Awakening`,
desc: `Until the end of the battle, this unit becomes a WIZARD. They can attempt to cast 1 spell in your hero phase and attempt to unbind 1 spell in the enemy hero phase.
If this unit is already a WIZARD, they can attempt to cast 1 additional spell instead.
If this unit has the KHORNE keyword, treat this result as Slaughterer's Strength' instead.
Note: See the Eye of the Gods - During Game`,
desc: `Until the end of the battle, this unit becomes a WIZARD. They can attempt to cast 1 spell in your hero phase and attempt to unbind 1 spell in the enemy hero phase. If this unit is already a WIZARD, they can attempt to cast 1 additional spell instead. If this unit has the KHORNE keyword, treat this result as Slaughterer's Strength' instead. Note: See the Eye of the Gods - During Game.`,
when: [HERO_PHASE],
},
{
name: `Eye of the Gods: Aura of Chaos`,
desc: `Until the end of the battle, this unit has a ward of 5+.
Note: See the Eye of the Gods - During Game`,
desc: `Until the end of the battle, this unit has a ward of 5+. Note: See the Eye of the Gods - During Game.`,
when: [COMBAT_PHASE],
},
{
Expand All @@ -100,7 +92,7 @@ const BattleTraits = {
],
},

//ENSORCELLED BANNERS
// ENSORCELLED BANNERS
'Ensorcelled Banners: Icons of Chaos': {
effects: [
{
Expand All @@ -116,14 +108,12 @@ const BattleTraits = {
effects: [
{
name: `Heroic Action: Pledge to Dark Gods`,
desc: `Pick 1 friendly SLAVES TO DARKNESS HERO with the EYE OF THE GODS keyword. Until the end of that turn, each time you roll on the Eye of the Gods table for that HERO,
you can roll 3 dice instead of 2, and pick any 2 of the dice rolled as your score.`,
desc: `Pick 1 friendly SLAVES TO DARKNESS HERO with the EYE OF THE GODS keyword. Until the end of that turn, each time you roll on the Eye of the Gods table for that HERO, you can roll 3 dice instead of 2, and pick any 2 of the dice rolled as your score.`,
when: [START_OF_HERO_PHASE],
},
{
name: `Heroic Action: Draw on Power`,
desc: `Pick 1 friendly SLAVES TO DARKNESS WIZARD. Until the end of that turn, when making casting rolls with that WIZARD, roll 3 dice instead of 2.
However, if the unmodified roll on 2 or more of the dice is 1, the spell miscasts, and the caster suffers D6 mortal wounds instead of D3.`,
desc: `Pick 1 friendly SLAVES TO DARKNESS WIZARD. Until the end of that turn, when making casting rolls with that WIZARD, roll 3 dice instead of 2. However, if the unmodified roll on 2 or more of the dice is 1, the spell miscasts, and the caster suffers D6 mortal wounds instead of D3.`,
when: [START_OF_HERO_PHASE],
},
],
Expand All @@ -134,12 +124,7 @@ const BattleTraits = {
effects: [
{
name: `Heroic Action: Rally the Tribes`,
desc: `You can carry out the following heroic action with a RAVAGERS HERO instead of any other heroic action you can carry out with that HERO.
Pick 1 CHAOS MARAUDERS, CHAOS MARAUDER HORSEMEN, CULTIST or DARKOATH unit in your army that has been destroyed.
If you do so, a new replacement unit with half the number of models in the unit that was destroyed (rounding up) is added to your army.
Set up that unit wholly within 12' of the HERO carrying out this heroic action and more than 9" from all enemy units.
Each destroyed unit can only be replaced once - replacement units cannot themselves be replaced.`,
desc: `You can carry out the following heroic action with a RAVAGERS HERO instead of any other heroic action you can carry out with that HERO. Pick 1 CHAOS MARAUDERS, CHAOS MARAUDER HORSEMEN, CULTIST or DARKOATH unit in your army that has been destroyed. If you do so, a new replacement unit with half the number of models in the unit that was destroyed (rounding up) is added to your army. Set up that unit wholly within 12' of the HERO carrying out this heroic action and more than 9" from all enemy units. Each destroyed unit can only be replaced once - replacement units cannot themselves be replaced.`,
when: [START_OF_HERO_PHASE],
},
],
Expand Down Expand Up @@ -213,8 +198,8 @@ const BattleTraits = {
effects: [
{
name: `The Favour of the Four`,
desc: `You can pick 1 LEGION OF THE FIRST PRINCE UNDIVIDED unit and then pick 1 of the following Marks of Chaos keywords; KHORNE, TZEENTCH, NURGLE or SLAANESH.
That unit has that Mark of Chaos until the start of your next hero phase in addition to the UNDIVIDED Mark of Chaos.
desc: `You can pick 1 LEGION OF THE FIRST PRINCE UNDIVIDED unit and then pick 1 of the following Marks of Chaos keywords; KHORNE, TZEENTCH, NURGLE or SLAANESH. That unit has that Mark of Chaos until the start of your next hero phase in addition to the UNDIVIDED Mark of Chaos.
Designer's Note: If you pick a WIZARD unit to have the TEENTCH Mark of Chaos, it knows the Warp Reality' spell until the start of your next hero phase.`,
when: [START_OF_HERO_PHASE],
},
Expand All @@ -226,7 +211,7 @@ const BattleTraits = {
],
},

//BATTLE TACTICS
// BATTLE TACTICS
'Battle Tactics': {
effects: [
{
Expand All @@ -246,7 +231,7 @@ const BattleTraits = {
},
{
name: `Iconoclasts`,
desc: `Pick 1 enemy unit that is a PRIEST Of TOTEM. You complete this battle tactic if that unit is destroyed at the end of the turn.`,
desc: `Pick 1 enemy unit that is a PRIEST OF TOTEM. You complete this battle tactic if that unit is destroyed at the end of the turn.`,
when: [START_OF_HERO_PHASE],
},
{
Expand Down
14 changes: 4 additions & 10 deletions src/factions/slaves_to_darkness/command_traits.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@ const CommandTraits = {
effects: [
{
name: `Death Dealer`,
desc: `Once per battle, in the combat phase, after this general has fought for the first time in that phase, you can say that they will deal death.
If you do so, this general can fight for a second time in that phase. The strike-last effect applies to this general when they fight for that second time.`,
desc: `Once per battle, in the combat phase, after this general has fought for the first time in that phase, you can say that they will deal death. If you do so, this general can fight for a second time in that phase. The strike-last effect applies to this general when they fight for that second time.`,
when: [COMBAT_PHASE],
},
],
Expand All @@ -43,10 +42,7 @@ const CommandTraits = {
effects: [
{
name: `Idolater Lord`,
desc: `This general becomes a PRIEST.
In addition, you can choose to replace the UNDIVIDED keyword on every UNDIVIDED CULTIST unit in your army with one of the following keywords:
KHORNE, TEENTCH, NURGLE or SLAANESH.
All CULTIST units must be given the same keyword and it must be one this general has too.`,
desc: `This general becomes a PRIEST. In addition, you can choose to replace the UNDIVIDED keyword on every UNDIVIDED CULTIST unit in your army with one of the following keywords: KHORNE, TEENTCH, NURGLE or SLAANESH. All CULTIST units must be given the same keyword and it must be one this general has too.`,
when: [DURING_GAME],
},
],
Expand All @@ -57,8 +53,7 @@ const CommandTraits = {
effects: [
{
name: `Not to be Denied`,
desc: `In each hero phase, once you have carried out a heroic action, if you did not carry out the heroic action with this general you carry out an additional heroic action with this general.
The heroic action carried out with this general cannot be the same as the other heroic action you carried out in this phase.`,
desc: `In each hero phase, once you have carried out a heroic action, if you did not carry out the heroic action with this general you carry out an additional heroic action with this general. The heroic action carried out with this general cannot be the same as the other heroic action you carried out in this phase.`,
when: [START_OF_HERO_PHASE],
},
],
Expand All @@ -81,8 +76,7 @@ const CommandTraits = {
effects: [
{
name: `Radiance of Dark Glory`,
desc: `At the start of your hero phase, roll a dice for each friendly model within 9" of this general that has any wounds allocated to them.
On a 3+, you can heal 1 wound from the model being rolled for. If the model being rolled for is a MONSTER, on a 3+ you can heal up to 3 wounds instead.`,
desc: `At the start of your hero phase, roll a dice for each friendly model within 9" of this general that has any wounds allocated to them. On a 3+, you can heal 1 wound from the model being rolled for. If the model being rolled for is a MONSTER, on a 3+ you can heal up to 3 wounds instead.`,
when: [START_OF_HERO_PHASE],
},
],
Expand Down
2 changes: 1 addition & 1 deletion src/factions/slaves_to_darkness/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@ export const SlavesToDarknessFaction = new Faction(
SubFactions,
'Mark of Chaos',
rule_sources.BATTLETOME_SLAVES_TO_DARKNESS,
pickEffects(battle_traits, ['Battle Tactics', 'Ensorcelled Banners: Icons of Chaos'])
pickEffects(battle_traits, ['Battle Tactics', 'Ensorcelled Banners: Icons of Chaos', 'Vows of Darkness'])
)
10 changes: 3 additions & 7 deletions src/factions/slaves_to_darkness/units.ts
Original file line number Diff line number Diff line change
Expand Up @@ -250,9 +250,7 @@ const Units = {
},
{
name: `The Eye of Sheerian`,
desc: `Once per battle, at the start of your hero phase, you can say that Archaon will consult the Eye of Sheerian.
Roll a dice, on a 1-3 your opponent must take the first turn in the next battle round, on a 4+ you must take the first turn.
This ability cannot be used while there is an enemy Archaon on the battlefield.`,
desc: `Once per battle, at the start of your hero phase, you can say that Archaon will consult the Eye of Sheerian. Roll a dice, on a 1-3 your opponent must take the first turn in the next battle round, on a 4+ you must take the first turn. This ability cannot be used while there is an enemy Archaon on the battlefield.`,
when: [START_OF_HERO_PHASE],
rule_sources: [rule_sources.BATTLETOME_SLAVES_TO_DARKNESS],
},
Expand All @@ -264,8 +262,7 @@ const Units = {
},
{
name: `The Favoured Warlord`,
desc: `After players have received their starting command points, you can pick 1 of the following Mark of Chaos Keywords: KHORNE, TZEENTCH, NURGLE, or SLAANESH.
This unit has that Mark of Chaos in addition to the UNDIVIDED Mark of Chaos.`,
desc: `After players have received their starting command points, you can pick 1 of the following Mark of Chaos Keywords: KHORNE, TZEENTCH, NURGLE, or SLAANESH. This unit has that Mark of Chaos in addition to the UNDIVIDED Mark of Chaos.`,
when: [TURN_ONE_START_OF_ROUND],
},
{
Expand Down Expand Up @@ -824,8 +821,7 @@ const Units = {
ChaosMarkKhorne,
{
name: `Sigils of Enslavement`,
desc: `When you select this unit to be a part of your army, you can pick 1 friendly Slaves to Darkness Hero or 1 Khorne Mortal Hero in your army to be its master.
This unit can receive the Leave None Alive, Let Loose the Chains, or Unbridled Ferocity command abilities from it's master.`,
desc: `When you select this unit to be a part of your army, you can pick 1 friendly Slaves to Darkness Hero or 1 Khorne Mortal Hero in your army to be its master. This unit can receive the Leave None Alive, Let Loose the Chains, or Unbridled Ferocity command abilities from it's master.`,
when: [DURING_SETUP],
},
{
Expand Down

0 comments on commit 68a2b13

Please sign in to comment.