Skip to content

Add White Dwarf OBR updates #1466

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

Merged
merged 3 commits into from
Jan 13, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 64 additions & 11 deletions src/factions/ossiarch_bonereapers/battle_traits.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,44 +32,74 @@ const BattleTraits = {
},
{
name: `Relentless Discipline`,
desc: `If your army is an OSSIARCH BONEREAPERS army, you do not receive command points. Instead, you receive relentless discipline points.`,
desc: `If your army is an Ossiarch Bonereapers army, you do not receive command points. Instead, you receive relentless discipline points.`,
when: [DURING_GAME],
rule_sources: [rule_sources.BATTLETOME_OSSIARCH_BONEREAPERS, rule_sources.ERRATA_JULY_2021],
rule_sources: [
rule_sources.BATTLETOME_OSSIARCH_BONEREAPERS,
rule_sources.ERRATA_JULY_2021,
rule_sources.WHTE_DWARF_JANUARY_2022,
],
},
{
name: `Generating Relentless Discipline Points`,
desc: `At the start of each battle round, after determining who will take which turn, you receive 1 relentless discipline point for each friendly OSSIARCH BONEREAPERS HERO that is on the battlefield, 1 relentless discipline point for each friendly Liege that is on the battlefield, and 3 relentless discipline points if Katakros is your general and is on the battlefield.
desc: `At the start of each battle round, after determining who will take which turn, you receive 1 relentless discipline point for each friendly OSSIARCH BONEREAPERS HERO that is on the battlefield, 1 relentless discipline point for each friendly LIEGE that is on the battlefield, and 3 relentless discipline points if KATAKROS is your general and is on the battlefield.

If you will take the first turn, you receive 1 relentless discipline point. If you will take the second turn, you receive 2 relentless discipline points. `,
If you will take the first turn, you receive 1 relentless discipline point. If you will take the second turn, you receive 2 relentless discipline points.`,
when: [START_OF_ROUND],
rule_sources: [rule_sources.BATTLETOME_OSSIARCH_BONEREAPERS, rule_sources.ERRATA_JULY_2021],
rule_sources: [
rule_sources.BATTLETOME_OSSIARCH_BONEREAPERS,
rule_sources.ERRATA_JULY_2021,
rule_sources.WHTE_DWARF_JANUARY_2022,
],
},
{
name: `Generating Relentless Discipline Points`,
desc: `At the start of each hero phase, roll a dice for each friendly OSSIARCH BONEREAPERS unit on the battlefield (including any Heroes). For each 6, you receive 1 extra relentless discipline point. All relentless discipline points that you have remaining are lost at the end of each battle round.`,
desc: `At the start of each hero phase, roll a dice for each friendly OSSIARCH BONEREAPERS unit on the battlefield (including any HEROES). For each 6, you receive 1 extra relentless discipline point.`,
when: [START_OF_HERO_PHASE],
rule_sources: [rule_sources.BATTLETOME_OSSIARCH_BONEREAPERS, rule_sources.ERRATA_JULY_2021],
rule_sources: [
rule_sources.BATTLETOME_OSSIARCH_BONEREAPERS,
rule_sources.ERRATA_JULY_2021,
rule_sources.WHTE_DWARF_JANUARY_2022,
],
},
{
name: `Generating Relentless Discipline Points`,
desc: `All relentless discipline points that you have remaining are lost at the end of each battle round.`,
when: [END_OF_ROUND],
rule_sources: [rule_sources.BATTLETOME_OSSIARCH_BONEREAPERS, rule_sources.ERRATA_JULY_2021],
rule_sources: [
rule_sources.BATTLETOME_OSSIARCH_BONEREAPERS,
rule_sources.ERRATA_JULY_2021,
rule_sources.WHTE_DWARF_JANUARY_2022,
],
},
{
name: `Using Relentless Discipline Points`,
desc: `Relentless discipline points are used to issue a command in the same manner as command points, but can only be used to issue a command with command abilities that appear on a warscroll that has the OSSIARCH BONEREAPERS keyword, or to issue a command with an Ossiarch Bonereaper Legion command ability, or to issue the Unstoppable Advance command.

The restriction that you cannot use the same command ability more than once in the same phase does not apply to command abilities used with relentless discipline points. For example, you can use the Shieldwall command ability on the Mortek Guard warscroll more than once in the same phase, as long as that command is issued by a model that has not already issued a command in that phase and it is received by a unit that has not already received a command in that phase.
desc: `Relentless discipline points are used to issue a command in the same manner as command points, but they can only be spent to use an Ossiarch command ability. Ossiarch command abilities are command abilities that appear on a warscroll that has the OSSIARCH BONEREAPER keyword, or are an Ossiarch Bonereaper Legion command ability, or are included in the list of Ossiarch command abilities below.

The restriction that you cannot use the same command ability more than once in the same phase does not apply to Ossiarch command abilities. For example, you can use the Shieldwall command ability on the Mortek Guard warscroll more than once in the same phase, as long as that command is issued by a model that has not already issued a command in that phase and it is received by unit that has not already received a command in that phase.

In addition, you cannot use the Expert, Slayers, Strategists or Swift battalion abilities (core rules, 26.3). Instead, for each battalion in your army that has any of these battalion abilities, once per battle at the start of any battle round, you can choose to receive 1 relentless discipline point.`,
when: [DURING_GAME],
rule_sources: [
rule_sources.BATTLETOME_OSSIARCH_BONEREAPERS,
rule_sources.ERRATA_JULY_2021,
rule_sources.ERRATA_AUGUST_2021,
rule_sources.WHTE_DWARF_JANUARY_2022,
],
},

{
name: `Relentless Leadership`,
desc: `At the start of your hero phase, you can carry out this heroic action with a friendly OSSIARCH BONEREAPERS HERO instead of any other heroic action you can carry out with that HERO. Pick 1 friendly OSSIARCH BONEREAPERS HERO. Until the end of this turn, you can use an Ossiarch command ability to issue a command with that HERO without a relentless discipline point being spent.`,
when: [START_OF_HERO_PHASE],
rule_sources: [rule_sources.WHTE_DWARF_JANUARY_2022],
},
{
name: `Necromantic Mastery`,
desc: `At the start of your hero phase, you can carry out this heroic action with a friendly MORTISAN instead of any other heroic action you can carry out with that MORTISAN. Pick 1 friendly MORTISAN. If the first spell that MORTISAN attempts to cast in this turn is successfully cast, that spell cannot be unbound.`,
when: [START_OF_HERO_PHASE],
rule_sources: [rule_sources.WHTE_DWARF_JANUARY_2022],
},
],
},
// Mortis Praetorians
Expand Down Expand Up @@ -133,6 +163,29 @@ const BattleTraits = {
},
],
},

'Battle Tactics': {
effects: [
{
name: `Trample the Defiant`,
desc: `Pick 1 friendly KAVALOS DEATHRIDERS unit that is more than 3" from all enemy units. You complete this battle tactic if that unit makes a charge move this turn and is within 3" of any enemy units at the end of this turn.`,
when: [START_OF_HERO_PHASE],
rule_sources: [rule_sources.WHTE_DWARF_JANUARY_2022],
},
{
name: `Unfeeling Recursion`,
desc: `You complete this battle tactic if two or more friendly OSSIARCH BONEREAPERS units had slain models returned to them with the Reknit Constructs Ossiarch command ability in this turn.`,
when: [START_OF_HERO_PHASE],
rule_sources: [rule_sources.WHTE_DWARF_JANUARY_2022],
},
{
name: `The Tithe Demands`,
desc: `Pick 1 enemy HERO or MONSTER on the battlefield. You complete this battle tactic if that unit is destroyed this turn. If that enemy HERO or MONSTER was destroyed by an attack made by a friendly GOTHIZZAR HARVESTER, score 1 additional victory point.`,
when: [START_OF_HERO_PHASE],
rule_sources: [rule_sources.WHTE_DWARF_JANUARY_2022],
},
],
},
}

export default tagAs(BattleTraits, 'battle_trait')
29 changes: 27 additions & 2 deletions src/factions/ossiarch_bonereapers/command_abilities.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import {
CHARGE_PHASE,
COMBAT_PHASE,
END_OF_CHARGE_PHASE,
END_OF_MOVEMENT_PHASE,
HERO_PHASE,
MOVEMENT_PHASE,
SAVES_PHASE,
Expand All @@ -17,9 +18,13 @@ const CommandAbilities = {
effects: [
{
name: `Unstoppable Advance`,
desc: `You can use this command ability in your movement phase when you pick a friendly OSSIARCH BONEREAPERS unit to make a normal move, run or retreat. Add 3" to that unit's Move characteristic in that phase.`,
desc: `You can use this Ossiarch command ability in your movement phase when you pick a friendly OSSIARCH BONEREAPERS unit to make a normal move, run or retreat. Add 3" to that unit's Move characteristic in that phase.`,
when: [MOVEMENT_PHASE],
rule_sources: [rule_sources.BATTLETOME_OSSIARCH_BONEREAPERS, rule_sources.ERRATA_JULY_2021],
rule_sources: [
rule_sources.BATTLETOME_OSSIARCH_BONEREAPERS,
rule_sources.ERRATA_JULY_2021,
rule_sources.WHTE_DWARF_JANUARY_2022,
],
},
],
},
Expand All @@ -32,6 +37,26 @@ const CommandAbilities = {
},
],
},
'Reknit Constructs': {
effects: [
{
name: `Reknit Constructs`,
desc: `You can use this Ossiarch command ability at the end of your movement phase. The unit that receives the command must be a friendly OSSIARCH BONEREAPERS unit that remained stationary in that phase, and that is more than 3" from all enemy units. You can heal up to D3 wounds allocated to that unit or, if no wounds are allocated to it, you can return a number of slain models to that unit that have a combined Wounds characteristic of D3 or less.`,
when: [END_OF_MOVEMENT_PHASE],
rule_sources: [rule_sources.WHTE_DWARF_JANUARY_2022],
},
],
},
'Unflinching Coordination': {
effects: [
{
name: `Unflinching Coordination`,
desc: `You can use this Ossiarch command ability in the combat phase after a friendly OSSIARCH BONEREAPERS HERO has fought for the first time in that phase. The unit that issues the command must be a friendly OSSIARCH BONEREAPERS HERO that has already fought in that phase. The unit that receives the command must be a friendly OSSIARCH BONEREAPERS unit that is not a HERO, that has not yet fought in that phase, and that is within 3" of an enemy unit. That unit can fight immediately.`,
when: [COMBAT_PHASE],
rule_sources: [rule_sources.WHTE_DWARF_JANUARY_2022],
},
],
},
'Still Their Breath!': {
effects: [
{
Expand Down
19 changes: 19 additions & 0 deletions src/factions/ossiarch_bonereapers/grand_strategies.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { tagAs } from 'factions/metatagger'
import { END_OF_GAME } from 'types/phases'
import rule_sources from './rule_sources'

// SOB Specific grand strategy available from WD Aug 2021
const GrandStrategies = {
'Unrelenting Efficiency': {
effects: [
{
name: `Unrelenting Efficiency`,
desc: `When the battle ends, you complete this grand strategy if any friendly MORTEK GUARD or KAVALKOS DEATHRIDERS units from your starting army have the same number of models in that unit as they had at the start of the battle.`,
when: [END_OF_GAME],
rule_sources: [rule_sources.WHTE_DWARF_JANUARY_2022],
},
],
},
}

export default tagAs(GrandStrategies, 'grand_strategy')
2 changes: 1 addition & 1 deletion src/factions/ossiarch_bonereapers/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@ export const OssiarchBonereapersFaction = new Faction(
SubFactions,
'Flavors',
rule_sources.BATTLETOME_OSSIARCH_BONEREAPERS,
pickEffects(battle_traits, [OSSIARCH_BONEREAPERS])
pickEffects(battle_traits, [OSSIARCH_BONEREAPERS, 'Battle Tactics'])
)
4 changes: 4 additions & 0 deletions src/factions/ossiarch_bonereapers/rule_sources.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ const rule_sources = {
type: 'errata',
url: 'https://www.warhammer-community.com/wp-content/uploads/2019/11/frpvD09OT9P4CNbQ.pdf',
},
WHTE_DWARF_JANUARY_2022: {
name: 'White Dwarf (January 2022)',
type: 'white_dwarf',
},
}

export default rule_sources
2 changes: 1 addition & 1 deletion src/factions/sons_of_behemat/grand_strategies.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import rule_sources from './rule_sources'

// SOB Specific grand strategy available from WD Aug 2021
const GrandStrategies = {
'Stomping Order': {
'Make the Land Tremble': {
effects: [
{
name: `Make the Land Tremble`,
Expand Down
4 changes: 2 additions & 2 deletions src/generic_rules/realmscapes.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import meta_rule_sources from 'meta/rule_sources'
import { TEntry } from 'types/data'
import { DURING_ROUND, HERO_PHASE, START_OF_COMBAT_PHASE, TURN_THREE_START_OF_ROUND } from 'types/phases'
import { END_OF_ROUND, HERO_PHASE, START_OF_COMBAT_PHASE, TURN_THREE_START_OF_ROUND } from 'types/phases'
import { GHUR } from 'types/realmscapes'

// Realmscapes and their various effects/spells etc.
Expand All @@ -11,7 +11,7 @@ const Realmscapes: TEntry[] = [
{
name: `Predators and Prey`,
desc: `Once per battle round, you score 1 additional victory point if any enemy MONSTERS were slain in that battle round.`,
when: [DURING_ROUND],
when: [END_OF_ROUND],
rule_sources: [meta_rule_sources.GHB_2021],
},
{
Expand Down