Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Making Battle Tactics when values uniform across factions #1587

Merged
merged 13 commits into from
Jan 24, 2023
12 changes: 6 additions & 6 deletions src/factions/daughters_of_khaine/battle_traits.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,18 +63,18 @@ const BattleTraits = {
{
name: `Clash of Arms`,
desc: `You complete this tactic if 3 or more friendly units make a charge move this turn.`,
when: [START_OF_ROUND],
when: [START_OF_HERO_PHASE],
rule_sources: [rule_sources.BATTLETOME_DAUGHTERS_OF_KHAINE, rule_sources.ERRATA_DECEMBER_2022],
},
{
name: `Cruel Delight`,
desc: `You complete this tactic if 2 or more friendly KHINERAI units move using their Fire and Flight ability or Fight and Flight ability this turn.`,
when: [START_OF_ROUND],
when: [START_OF_HERO_PHASE],
},
{
name: `Tide of Blades`,
desc: `You complete this tactic if there are 2 or more units from your starting army wholly within your opponent's territory at the end of this turn.`,
when: [START_OF_ROUND],
when: [START_OF_HERO_PHASE],
rule_sources: [
rule_sources.BATTLETOME_DAUGHTERS_OF_KHAINE,
rule_sources.ERRATA_DECEMBER_2022,
Expand All @@ -84,17 +84,17 @@ const BattleTraits = {
{
name: `Executioner's Cult`,
desc: `You can pick this battle tactic only if there is a friendly HIGH GLADIATRIX on the battlefield. You complete this tactic if an enemy HERO is slain by that unit's Killing Stroke ability this turn.`,
when: [START_OF_ROUND],
when: [START_OF_HERO_PHASE],
},
{
name: `Hatred of Chaos`,
desc: `You can pick this battle tactic only if you have a Hagg Nar or Khelt Nar army. You complete this tactic if 2 or more CHAOS units are destroyed this turn.`,
when: [START_OF_ROUND],
when: [START_OF_HERO_PHASE],
},
{
name: `Unexpected Attack`,
desc: `You complete this tactic if a friendly KHAINITE SHADOWSTALKERS unit uses its Shadow Leap ability and makes a charge move this turn.`,
when: [START_OF_ROUND],
when: [START_OF_HERO_PHASE],
},
],
},
Expand Down
16 changes: 14 additions & 2 deletions src/factions/kharadron_overlords/battle_traits.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
import { tagAs } from 'factions/metatagger'
import { KHARADRON_OVERLORDS } from 'meta/factions'
import { DURING_GAME, START_OF_HERO_PHASE } from 'types/phases'
import {
DURING_GAME,
START_OF_HERO_PHASE,
TURN_FIVE_START_OF_HERO_PHASE,
TURN_FOUR_START_OF_HERO_PHASE,
TURN_THREE_START_OF_HERO_PHASE,
TURN_TWO_START_OF_HERO_PHASE,
} from 'types/phases'
import rule_sources from './rule_sources'

const BattleTraits = {
Expand All @@ -25,7 +32,12 @@ const BattleTraits = {
{
name: `Mobilise the Fleet`,
desc: `You cannot pick this battle tactic in the first battle round. Pick 3 friendly units that are not garrisoned within SKYVESSELS. You complete this battle tactic at the end of this turn if those units are all garrisoned within SKYVESSELS.`,
when: [START_OF_HERO_PHASE],
when: [
TURN_TWO_START_OF_HERO_PHASE,
TURN_THREE_START_OF_HERO_PHASE,
TURN_FOUR_START_OF_HERO_PHASE,
TURN_FIVE_START_OF_HERO_PHASE,
],
rule_sources: [rule_sources.WHITE_DWARF_MAY_2022, rule_sources.ERRATA_JANUARY_2023],
},
{
Expand Down
30 changes: 12 additions & 18 deletions src/factions/nurgle/battle_traits.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import {
END_OF_COMBAT_PHASE,
END_OF_MOVEMENT_PHASE,
END_OF_SETUP,
END_OF_TURN,
SAVES_PHASE,
SHOOTING_PHASE,
START_OF_BATTLESHOCK_PHASE,
Expand Down Expand Up @@ -181,40 +180,35 @@ const BattleTraits = {
'Battle Tactics': {
effects: [
{
name: `Pick Battle Tactic`,
desc: `At the start of your hero phase, you can pick 1 of the battle tactics (pg. 82). You must reveal your choice to your opponent, and if your battle tactic instructs you to pick something, you must tell your opponent what you pick. You have until the end of that turn to complete the battle tactic. You cannot pick the same battle tactic more than once per battle.`,
when: [START_OF_HERO_PHASE],
},
{
name: `Battle Tactic: Feed the Maggots`,
name: `Feed the Maggots`,
desc: `You complete this tactic if at least 7 enemy models are slain by disease rolls during this turn.`,
when: [END_OF_TURN],
when: [START_OF_HERO_PHASE],
},
{
name: `Battle Tactic: Nurture the Gnarlmaw`,
name: `Nurture the Gnarlmaw`,
desc: `Pick 1 Feculent Gnarlmaw in your army that is within 12" of any enemy units. You complete this tactic if that Feculent Gnarlmaw is more than 12" from all enemy units at the end of this turn.`,
when: [END_OF_TURN],
when: [START_OF_HERO_PHASE],
},
{
name: `Battle Tactic: Gifts of Nurgle`,
name: `Gifts of Nurgle`,
desc: `You complete this tactic if 3 or more friendly MAGGOTKIN OF NURGLE units are within 3" of the same enemy unit at the end of this turn.`,
when: [END_OF_TURN],
when: [START_OF_HERO_PHASE],
rule_sources: [rule_sources.BATTLETOME_NURGLE, rule_sources.ERRATA_JANUARY_2022],
},
{
name: `Battle Tactic: Glory to the Grandfather!`,
name: `Glory to the Grandfather!`,
desc: `You complete this tactic at the end of this turn if more enemy units than friendly units are destroyed during this turn.`,
when: [END_OF_TURN],
when: [START_OF_HERO_PHASE],
},
{
name: `Battle Tactic: The Droning`,
name: `The Droning`,
desc: `You complete this tactic if there is a different friendly unit with a Rot Fly mount in each quarter of the battlefield at the end of this turn.`,
when: [END_OF_TURN],
when: [START_OF_HERO_PHASE],
},
{
name: `Battle Tactic: Sudden Domination`,
name: `Sudden Domination`,
desc: `You complete this tactic if you summon a GREAT UNCLEAN ONE to the battlefield during this turn and it is within 3" of an objective that you control in your opponent's territory at the end of this turn.`,
when: [END_OF_TURN],
when: [START_OF_HERO_PHASE],
},
],
},
Expand Down
25 changes: 17 additions & 8 deletions src/factions/ogor_mawtribes/battle_traits.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ import {
END_OF_COMBAT_PHASE,
MOVEMENT_PHASE,
START_OF_HERO_PHASE,
TURN_FIVE_START_OF_HERO_PHASE,
TURN_FOUR_START_OF_HERO_PHASE,
TURN_THREE_START_OF_HERO_PHASE,
TURN_TWO_START_OF_HERO_PHASE,
} from 'types/phases'

const BattleTraits = {
Expand Down Expand Up @@ -74,33 +78,38 @@ const BattleTraits = {
'Battle Tactics': {
effects: [
{
name: `Battle Tactic - Eat Your Fill`,
name: `Eat Your Fill`,
desc: `You complete this tactic at the start of the combat phase if every friendly OGOR unit is eating.`,
when: [START_OF_HERO_PHASE],
},
{
name: `Battle Tactic - Savour the Taste`,
name: `Savour the Taste`,
desc: `You cannot pick this battle tactic in the first battle round. You complete this tactic at the end of your turn if every friendly OGOR unit is hungry.`,
when: [START_OF_HERO_PHASE],
when: [
TURN_TWO_START_OF_HERO_PHASE,
TURN_THREE_START_OF_HERO_PHASE,
TURN_FOUR_START_OF_HERO_PHASE,
TURN_FIVE_START_OF_HERO_PHASE,
],
},
{
name: `Battle Tactic - Avalanche of Flesh`,
name: `Avalanche of Flesh`,
desc: `You complete this tactic at the end of the turn if 10+ mortal wounds were caused by the trampling charge battle trait this turn.`,
when: [START_OF_HERO_PHASE],
},
{
name: `Battle Tactic - Winter Take Thee`,
name: `Winter Take Thee`,
desc: `Pick 1 enemy HERO of enemy MONSTER. You complete this tactic if that enemy unit is destroyed by wounds caused by the Grasp of the Everwinter battle trait (pg 64) this turn.`,
when: [START_OF_HERO_PHASE],
},
{
name: `Battle Tactic - Let them Loose`,
name: `Let them Loose`,
desc: `You complete this tactic at the end of your turn if you carried out 4 or more monstrous rampages this turn.`,
when: [START_OF_HERO_PHASE],
},
{
name: `Battle Tactic - Boil their Bones`,
desc: `Pick 1 enemy HEREO or enemy MONSTER. You complete this tactic if that enemy unit is destroyed within 6 of an empty Great Mawpot in your army.`,
name: `Boil their Bones`,
desc: `Pick 1 enemy HERO or enemy MONSTER. You complete this tactic if that enemy unit is destroyed within 6 of an empty Great Mawpot in your army.`,
when: [START_OF_HERO_PHASE],
},
],
Expand Down
6 changes: 3 additions & 3 deletions src/factions/orruk_warclans/battle_traits.ts
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
import { tagAs } from 'factions/metatagger'
import { START_OF_ROUND } from 'types/phases'
import { START_OF_HERO_PHASE, TURN_ONE_START_OF_HERO_PHASE, TURN_TWO_START_OF_HERO_PHASE } from 'types/phases'

const OrrukWarclansBattleTraits = {
'Battle Tactics': {
effects: [
{
name: `Time to Get Stuck In!`,
desc: `You can pick this battle tactic only in your first or second turn. You complete this tactic if the model picked to be your general and all of the models in your army that are on the battlefield are within 12" of an enemy unit at the end of this turn.`,
when: [START_OF_ROUND],
when: [TURN_ONE_START_OF_HERO_PHASE, TURN_TWO_START_OF_HERO_PHASE],
},
{
name: `Destroyer of Empires`,
desc: `You can pick this battle tactic only if a friendly KRAGNOS is on the battlefield. Pick 1 faction terrain feature on the battlefield that was set up by your opponent and that has not been demolished. You complete this tactic if that faction terrain feature is demolished this turn.`,
when: [START_OF_ROUND],
when: [START_OF_HERO_PHASE],
},
],
},
Expand Down
3 changes: 1 addition & 2 deletions src/factions/orruk_warclans/big_waaagh/battle_traits.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import {
MOVEMENT_PHASE,
START_OF_COMBAT_PHASE,
START_OF_HERO_PHASE,
START_OF_ROUND,
} from 'types/phases'

const BigWaaaghBattleTraits = {
Expand All @@ -26,7 +25,7 @@ const BigWaaaghBattleTraits = {
{
name: `Wait For It, Ladz...`,
desc: `You can pick this battle tactic only if your army has at least 24 Waaagh! points (pg 88). You complete this tactic if your army has at least 30 Waaagh! points at the end of this turn.`,
when: [START_OF_ROUND],
when: [START_OF_HERO_PHASE],
},
],
},
Expand Down
10 changes: 8 additions & 2 deletions src/factions/orruk_warclans/bonesplitterz/battle_traits.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
import { tagAs } from 'factions/metatagger'
import { COMBAT_PHASE, SAVES_PHASE, START_OF_COMBAT_PHASE, START_OF_GAME, START_OF_ROUND } from 'types/phases'
import {
COMBAT_PHASE,
SAVES_PHASE,
START_OF_COMBAT_PHASE,
START_OF_GAME,
START_OF_HERO_PHASE,
} from 'types/phases'
import rule_sources from '../rule_sources'

const BonesplitterzBattleTraits = {
Expand All @@ -8,7 +14,7 @@ const BonesplitterzBattleTraits = {
{
name: `Kill Da Big 'Un!`,
desc: `You can pick this battle tactic only if the model picked to be your general has the BONESPLITTERZ keyword. Pick 1 enemy MONSTER. You complete this tactic if that MONSTER was slain by attacks made by a friendly BONESPLITTERZ unit during this turn.`,
when: [START_OF_ROUND],
when: [START_OF_HERO_PHASE],
},
],
},
Expand Down
4 changes: 2 additions & 2 deletions src/factions/orruk_warclans/ironjawz/battle_traits.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { tagAs } from 'factions/metatagger'
import { COMBAT_PHASE, START_OF_CHARGE_PHASE, START_OF_ROUND } from 'types/phases'
import { COMBAT_PHASE, START_OF_CHARGE_PHASE, START_OF_HERO_PHASE } from 'types/phases'

const IronjawzBattleTraits = {
'Battle Tactics': {
effects: [
{
name: `Squish Da Puny Gitz`,
desc: `You can pick this battle tactic only if the model picked to be your general has the IRONJAWZ keyword and there is at least 1 enemy Battleline unit on the battlefield. You complete this tactic if there are no enemy Battleline units on the battlefield at the end of this turn.`,
when: [START_OF_ROUND],
when: [START_OF_HERO_PHASE],
},
],
},
Expand Down
4 changes: 2 additions & 2 deletions src/factions/orruk_warclans/kruleboyz/battle_traits.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { tagAs } from 'factions/metatagger'
import { COMBAT_PHASE, END_OF_SETUP, SHOOTING_PHASE, START_OF_ROUND } from 'types/phases'
import { COMBAT_PHASE, END_OF_SETUP, SHOOTING_PHASE, START_OF_HERO_PHASE } from 'types/phases'

const KruleboyzBattleTraits = {
'Battle Tactics': {
Expand All @@ -11,7 +11,7 @@ const KruleboyzBattleTraits = {
- At least 10 wounds or mortal wounds in any combination that were caused by friendly units are allocated to enemy models this turn.

- Fewer than 10 wounds or mortal wounds in any combination that were caused by enemy units are allocated to friendly models this turn.`,
when: [START_OF_ROUND],
when: [START_OF_HERO_PHASE],
},
],
},
Expand Down
12 changes: 6 additions & 6 deletions src/factions/slaves_to_darkness/battle_traits.ts
Original file line number Diff line number Diff line change
Expand Up @@ -230,32 +230,32 @@ const BattleTraits = {
'Battle Tactics': {
effects: [
{
name: `Battle Tactic: In Thrall to Chaos`,
name: `In Thrall to Chaos`,
desc: `Pick 1 objective marker on the battlefield that is within 12" of any enemy units. You complete this battle tactic if there are no enemy units within 12" of that objective marker at the end of this turn.`,
when: [START_OF_HERO_PHASE],
},
{
name: `Battle Tactic: Lust for Power`,
name: `Lust for Power`,
desc: `Pick 1 friendly SLAVES TO DARKNESS HERO that has the EYE OF THE GODS keyword. You complete this battle tactic if you roll on the Eye of the Gods table for that HERO during this turn.`,
when: [START_OF_HERO_PHASE],
},
{
name: `Battle Tactic: The March of Ruin`,
name: `The March of Ruin`,
desc: `Pick 1 friendly SLAVES TO DARKNESS unit that includes an Ensorcelled Banner and is not within enemy territory. You complete this battle tactic if at the end of this turn that unit is wholly within enemy territory and within 3" of any other friendly units.`,
when: [START_OF_HERO_PHASE],
},
{
name: `Battle Tactic: Iconoclasts`,
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.`,
when: [START_OF_HERO_PHASE],
},
{
name: `Battle Tactic: Champions of Chaos`,
name: `Champions of Chaos`,
desc: `You complete this battle tactic if at the end of your turn there are 3 or more friendly HEROES within 3" of enemy HEROES.`,
when: [START_OF_HERO_PHASE],
},
{
name: `Battle Tactic: Run Them Down`,
name: `Run Them Down`,
desc: `You complete this battle tactic if at the end of your turn, 3 or more friendly SLAVES TO DARKNESS units made a charge move in that turn.`,
when: [START_OF_HERO_PHASE],
},
Expand Down
2 changes: 1 addition & 1 deletion src/factions/sons_of_behemat/battle_traits.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ const BattleTraits = {
effects: [
{
name: `Beast Grapple`,
desc: `Pick 1 enemy MONSTER within 3"of this unit and roll a dice. On a 3+, until the end of the following combat phase, the strike-last effect applies to both that Monster and the unit carrying out this monstrous rampage.`,
desc: `Pick 1 enemy MONSTER within 3" of this unit and roll a dice. On a 3+, until the end of the following combat phase, the strike-last effect applies to both that Monster and the unit carrying out this monstrous rampage.`,
when: [END_OF_CHARGE_PHASE],
},
{
Expand Down
11 changes: 5 additions & 6 deletions src/factions/sylvaneth/battle_traits.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import {
END_OF_MOVEMENT_PHASE,
HERO_PHASE,
START_OF_HERO_PHASE,
START_OF_ROUND,
WARDS_PHASE,
} from 'types/phases'
import rule_sources from './rule_sources'
Expand Down Expand Up @@ -90,27 +89,27 @@ const BattleTraits = {
{
name: 'Eradicate Trespassers',
desc: `Pick 1 enemy unit within 6" of a friendly Awakened Wyldwood. You complete this battle tactic if that unit is destroyed during this turn.`,
when: [START_OF_ROUND],
when: [START_OF_HERO_PHASE],
},
{
name: `Harness the Spirit Paths`,
desc: `You complete this battle tactic if any models in a friendly SYLVANETH unit that was set up using the From the Woodland Depths battle trait this turn make a charge move this turn.`,
when: [START_OF_ROUND],
when: [START_OF_HERO_PHASE],
},
{
name: `Balance the Cycle`,
desc: `Pick 1 enemy unit within 12" of an overgrown terrain feature or friendly Awakened Wyldwood. You complete this battle tactic if that unit is destroyed by an attack made by a friendly SYLVANETH unit that was added to your army this turn.`,
when: [START_OF_ROUND],
when: [START_OF_HERO_PHASE],
},
{
name: `March of the Forest Lords`,
desc: `Pick 1 enemy MONSTER on the battlefield. You complete this battle tactic if that MONSTER is slain by an attack made by a friendly SPIRIT OF DURTHU, TREELORD ANCIENT or TREELORD during this turn.`,
when: [START_OF_ROUND],
when: [START_OF_HERO_PHASE],
},
{
name: `Unleash Ghyran's Wrath`,
desc: `Pick 1 friendly SYLVANETH WIZARD on the battlefield. You complete this battle tactic if a spell successfully cast by that WIZARD, or an endless spell summoned by that WIZARD, destroys an enemy unit this turn.`,
when: [START_OF_ROUND],
when: [START_OF_HERO_PHASE],
},
],
},
Expand Down