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

Add Trugg's Troggherd #1680

Merged
merged 1 commit into from
Nov 28, 2023
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
31 changes: 31 additions & 0 deletions src/factions/gloomspite_gitz/artifacts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ import { tagAs } from 'factions/metatagger'
import {
COMBAT_PHASE,
DURING_GAME,
END_OF_CHARGE_PHASE,
END_OF_COMBAT_PHASE,
HERO_PHASE,
MOVEMENT_PHASE,
SAVES_PHASE,
SHOOTING_PHASE,
START_OF_COMBAT_PHASE,
Expand Down Expand Up @@ -129,6 +131,35 @@ const Artifacts = {
},
],
},

// Trugg's Troggherd
'Thwackwheezer Club': {
effects: [
{
name: `Thwackwheezer Club`,
desc: `Subtract 1 from hit rolls and wound rolls for attacks that target the bearer if they have been picked to fight in the same phase.`,
when: [COMBAT_PHASE, SHOOTING_PHASE],
},
],
},
'Crunchy Shinies': {
effects: [
{
name: `Crunchy Shinies`,
desc: `The bearer has a Move characteristic of D6+5"`,
when: [MOVEMENT_PHASE],
},
],
},
'Loonstone Teef': {
effects: [
{
name: `Loonstone Teef`,
desc: `The bearer gains the MONSTER keyword. If the bearer already has the MONSTER keyword, you can carry out 2 different monstrous rampages with it in the same phase instead of 1.`,
when: [END_OF_CHARGE_PHASE],
},
],
},
}

export default tagAs(Artifacts, 'artifact')
45 changes: 44 additions & 1 deletion src/factions/gloomspite_gitz/battle_traits.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import {
BATTLESHOCK_PHASE,
CHARGE_PHASE,
COMBAT_PHASE,
DURING_GAME,
END_OF_CHARGE_PHASE,
SAVES_PHASE,
START_OF_HERO_PHASE,
Expand All @@ -12,7 +13,7 @@ import {
} from 'types/phases'

const BattleTraits = {
[GLOOMSPITE_GITZ]: {
'The Bad Moon': {
effects: [
{
name: `The Bad Moon Setup`,
Expand All @@ -28,6 +29,11 @@ const BattleTraits = {
The location of the Bad Moon determines which GLOOMSPITE GITZ units are affected by the Light of the Bad Moon. While the Bad Moon is located in a large quarter of the battlefield, all GLOOMSPITE GITZ units wholly within the same large quarter are affected. While it is located in the centre of the battlefield, all GLOOMSPITE GITZ units on the battlefield are affected.`,
when: [START_OF_ROUND],
},
],
},

[GLOOMSPITE_GITZ]: {
effects: [
{
name: `Light of the Bad Moon - Lunar Squigs`,
desc: `While GLOOMSPITE GITZ SQUIG units are affected by the Light of the Bad Moon they can attempt a charge even if they ran in the same turn.`,
Expand Down Expand Up @@ -106,6 +112,43 @@ const BattleTraits = {
},
],
},

"Trugg's Troggherd": {
effects: [
{
name: `Moonlit Hide`,
desc: `Add 1 to save rolls for attacks that target friendly TRUGG'S TROGGHERD units while they are affected by the Light of the Bad Moon.`,
when: [SAVES_PHASE],
},
{
name: `Aura of Haywire Magic`,
desc: `At the start of your hero phase, if you use a friendly TRUGG'S Malfunctioning Leystone ability, the effect you pick applies to all other friendly TRUGG'S TROGGHERD units until the start of your next hero phase.`,
when: [START_OF_HERO_PHASE],
},
{
name: `The King's Wreckerz`,
desc: `Friendly TRUGG'S TROGGHERD units that do not have the HERO keyword gain the Battleline battlefield role.`,
when: [DURING_GAME],
},

// Battle Tactics
{
name: `Battle Tactic - Don't Like Dat One!`,
desc: `Pick 1 enemy HERO. You complete this battle tactic if that HERO was destroyed during this turn by an attack made by a friendly TRUGG.`,
when: [START_OF_HERO_PHASE],
},
{
name: `Battle Tactic - Feels Funny`,
desc: `You complete this battle tactic if a friendly TRUGG'S TROGGHERD unit destroyed an enemy unit during this turn while it was affected by the Aura of Haywire Magic battle trait (pg 76).`,
when: [START_OF_HERO_PHASE],
},
{
name: `Battle Tactic - Wot's Dat Glowy Fing?`,
desc: `Pick 1 objective you do not control. You complete this battle tactic if you control that objective at the end of this turn and 2 or more friendly TRUGG'S TROGGHERD units that are affected by the Light of the Bad Moon are contesting that objective.`,
when: [START_OF_HERO_PHASE],
},
],
},
}

export default tagAs(BattleTraits, 'battle_trait')
36 changes: 36 additions & 0 deletions src/factions/gloomspite_gitz/command_traits.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,12 @@ import { tagAs } from 'factions/metatagger'
import {
COMBAT_PHASE,
DURING_GAME,
DURING_SETUP,
END_OF_TURN,
HERO_PHASE,
START_OF_HERO_PHASE,
START_OF_SETUP,
TURN_ONE_END_OF_MOVEMENT_PHASE,
WOUND_ALLOCATION_PHASE,
} from 'types/phases'

Expand Down Expand Up @@ -86,6 +89,39 @@ const CommandTraits = {
},
],
},
// Trugg's Troggherd
'Ceaseless Growth': {
effects: [
{
name: `Ceaseless Growth`,
desc: `When you roll the dice that determines the number of wounds you can heal with a friendly TRUGG'S TROGGHERD unit's Regeneration or Greater Regeneration ability, add 1 to the number.`,
when: [START_OF_HERO_PHASE],
},
],
},
'Prized Trogglet': {
effects: [
{
name: `Prized Trogglet`,
desc: `Roll a dice each time an enemy model within 12" of this general issues a command. On a 5+, that command is not received (it still counts as having been used) and the command point that was spent to issue that command is lost.`,
when: [DURING_GAME],
},
],
},
'Living Landmark': {
effects: [
{
name: `Living Landmark`,
desc: `During deployment, instead of setting up this general on the battlefield, you can place them to one side and say that they are set up in ambush as a reserve unit. At the end of your first movement phase, you can set them up on the battlefield, within 3" ofa terrain feature and more than 9" from all enemy units.`,
when: [DURING_SETUP],
},
{
name: `Living Landmark`,
desc: `If you set this unit up as a reserve unit, at the end of your first movement phase, you can set them up on the battlefield, within 3" ofa terrain feature and more than 9" from all enemy units.`,
when: [TURN_ONE_END_OF_MOVEMENT_PHASE],
},
],
},
}

export default tagAs(CommandTraits, 'command_trait')
9 changes: 9 additions & 0 deletions src/factions/gloomspite_gitz/grand_strategies.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,15 @@ const GrandStrategies = {
},
],
},
'Leave Me Alone!': {
effects: [
{
name: `Leave Me Alone!`,
desc: `When the battle ends, you complete this grand strategy if a friendly TRUGG is on the battlefield and no enemy HEROES are on the battlefield.`,
when: [END_OF_GAME],
},
],
},
}

export default tagAs(GrandStrategies, 'grand_strategy')
39 changes: 25 additions & 14 deletions src/factions/gloomspite_gitz/subfactions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,34 @@ import GrandStrategies from './grand_strategies'
import Scenery from './scenery'
import Spells from './spells'
import Units from './units'
import { IItemDescription } from 'factions/factionTypes'

const baseSubfaction: IItemDescription = {
effects: [],

available: {
artifacts: [Artifacts],
battalions: [Battalions],
command_abilities: [CommandAbilities],
command_traits: [CommandTraits],
endless_spells: [EndlessSpells],
flavors: [Flavors],
grand_strategies: [GrandStrategies],
scenery: [Scenery],
spells: [Spells],
units: [Units],
},
}

const subFactions = {
[GLOOMSPITE_GITZ]: {
effects: pickEffects(BattleTraits, [GLOOMSPITE_GITZ]),
'Gloomspite Gitz': {
...baseSubfaction,
effects: pickEffects(BattleTraits, [GLOOMSPITE_GITZ, 'The Bad Moon']),
},

available: {
artifacts: [Artifacts],
battalions: [Battalions],
command_abilities: [CommandAbilities],
command_traits: [CommandTraits],
endless_spells: [EndlessSpells],
flavors: [Flavors],
grand_strategies: [GrandStrategies],
scenery: [Scenery],
spells: [Spells],
units: [Units],
},
"Trugg's Troggherd": {
...baseSubfaction,
effects: pickEffects(BattleTraits, ["Trugg's Troggherd", 'The Bad Moon']),
},
}

Expand Down
Loading