Skip to content

Commit

Permalink
Add Gloomspite Gitz (2023 Battletome) (#1600)
Browse files Browse the repository at this point in the history
* Add Gloomspite Gitz (2023 Battletome)

* remove unused

* better labels
  • Loading branch information
daviseford authored Feb 22, 2023
1 parent e39df7b commit 0c8f3bf
Show file tree
Hide file tree
Showing 27 changed files with 711 additions and 1,238 deletions.
5 changes: 2 additions & 3 deletions src/components/info/banners/app_banner.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { useTheme } from 'context/useTheme'

const AppBanner = () => {
const { isDark } = useTheme()
const name = '2023-january-faqs-and-ghb'
const name = '2023-gloomspite-gitz-battletome-release'

return (
<NotificationBanner
Expand All @@ -14,8 +14,7 @@ const AppBanner = () => {
variant={isDark ? `info` : `info`}
>
<span>
<strong>NEW: </strong>January 2023 FAQs have been added, as well as the new General's Handbook
(2022-23 Season 2)!
<strong>NEW: </strong> Gloomspite Gitz battletome is live!
</span>
</NotificationBanner>
)
Expand Down
6 changes: 3 additions & 3 deletions src/components/routes/Home.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { lazy, Suspense, useEffect } from 'react'
import { logPageView } from 'utils/analytics'

const AlliedArmies = lazy(() => import('components/input/ally_armies'))
// const AppBanner = lazy(() => import('components/info/banners/app_banner'))
const AppBanner = lazy(() => import('components/info/banners/app_banner'))
const ArmyBuilder = lazy(() => import('components/input/army_builder'))
const FooterComponent = lazy(() => import('components/page/footer'))
const LoadedArmyHeader = lazy(() => import('components/input/savedArmies/loaded_army_header'))
Expand All @@ -34,9 +34,9 @@ const Home = () => {
<div className={theme.bgColor}>
<Header />

{/* <Suspense fallback={<></>}>
<Suspense fallback={<></>}>
<AppBanner />
</Suspense> */}
</Suspense>

<Suspense fallback={<></>}>
<UpdateBanner />
Expand Down
147 changes: 30 additions & 117 deletions src/factions/gloomspite_gitz/artifacts.ts
Original file line number Diff line number Diff line change
@@ -1,61 +1,32 @@
import { tagAs } from 'factions/metatagger'
import meta_rule_sources from 'meta/rule_sources'
import {
BATTLESHOCK_PHASE,
COMBAT_PHASE,
DURING_GAME,
END_OF_COMBAT_PHASE,
HERO_PHASE,
MOVEMENT_PHASE,
SAVES_PHASE,
SHOOTING_PHASE,
START_OF_COMBAT_PHASE,
START_OF_SHOOTING_PHASE,
START_OF_HERO_PHASE,
WARDS_PHASE,
WOUND_ALLOCATION_PHASE,
} from 'types/phases'
import rule_sources from './rule_sources'

const Artifacts = {
'Spiteful Prodder': {
effects: [
{
name: `Spiteful Prodder`,
desc: `At the start of your shooting phase, pick 1 enemy unit within 18" of the bearer and visible to them. Then roll 1 dice for each friendly GROT unit wholly within 12" of the bearer that has at least 5 models. For each 5+ that enemy unit suffers D3 mortal wounds.`,
when: [START_OF_SHOOTING_PHASE],
},
],
},
"Backstabber's Blade": {
effects: [
{
name: `Backstabber's Blade`,
desc: `Pick one of the bearer's melee weapons. If the unmodified hit roll for an attack made with that weapon is 6, the save roll for that attack automatically fails (do not roll the dice).`,
when: [COMBAT_PHASE],
},
],
},
'Loonstone Talisman': {
effects: [
{
name: `Loonstone Talisman`,
desc: `Roll a D6 each time you allocate a mortal wound to the bearer. On a 5+ that mortal wound is negated.`,
when: [WOUND_ALLOCATION_PHASE],
},
],
},
'The Pipes of Doom': {
effects: [
{
name: `The Pipes of Doom`,
desc: `Subtract 1 from the Bravery characteristic of enemy units while they are within 12" of the bearer.`,
when: [BATTLESHOCK_PHASE],
desc: `Once per battle, at the end of the combat phase, you can say the bearer will use the Backstabber's Blade. If you do so, pick 1 enemy unit within 1" of the bearer and roll a dice. On a 2+, that unit suffers D6 mortal wounds that cannot be negated.`,
when: [END_OF_COMBAT_PHASE],
},
],
},
'The Clammy Cowl': {
effects: [
{
name: `The Clammy Cowl`,
desc: `Subtract 1 from hit rolls for attacks that target the bearer.`,
desc: `Subtract 1 from hit rolls for attacks that target the bearer.`, // updated for 2023
when: [DURING_GAME],
},
],
Expand All @@ -64,25 +35,25 @@ const Artifacts = {
effects: [
{
name: `Leering Gitshield`,
desc: `If the unmodified save roll for an attack made with a melee weapon that targets the bearer is 6, the attacking unit suffers 1 mortal wound after all of its attacks have been resolved.`,
when: [SAVES_PHASE],
desc: `Unmodified hit rolls of 1 for attacks that target the bearer cause 1 mortal wound to the attacking unit after all of that unit's attacks have been resolved. In addition, if the bearer is slain by an attack made by an enemy unit, subtract 1 from hit rolls for attacks made by that unit until the end of the battle.`,
when: [DURING_GAME],
},
],
},
'Spiteshroom Familiar': {
'Loonstone Teefcaps': {
effects: [
{
name: `Spiteshroom Familiar`,
desc: `Subtract 1 from hit rolls for attacks made by enemy models while they are within 3" of the bearer.`,
when: [DURING_GAME],
name: `Loonstone Teefcaps`,
desc: `SQUIG HERO with mount or companion only. Improve the Rend characteristic of the bearer's Fang-filled Gob, Massive Fang-filled Gob or Huge Fang-filled Gobs by 1.`,
when: [COMBAT_PHASE],
},
],
},
'Moonface Mommet': {
effects: [
{
name: `Moonface Mommet`,
desc: `At the start of the combat phase, pick 1 enemy unit within 12" of the bearer. Subtract 1 from save rolls for attacks that target that unit until the end of the phase.`,
desc: `WIZARD only. At the start of the combat phase, pick 1 enemy unit within 12" of the bearer. Subtract 1 from save rolls for attacks that target that unit until the end of the phase.`,
when: [START_OF_COMBAT_PHASE],
},
{
Expand All @@ -96,7 +67,7 @@ const Artifacts = {
effects: [
{
name: `Staff of Sneaky Stealin'`,
desc: `Add 1 to casting and unbinding rolls for the bearer for each enemy WIZARD within 12" of the bearer. In addition, add 1 to casting and unbinding rolls for the bearer for each enemy HERO with an artifact of power within 12" of the bearer.`,
desc: `WIZARD only. Add 1 to casting rolls for the bearer. Each time the bearer unbinds a spell, add 1 to casting rolls for the bearer for the rest of the battle.`,
when: [HERO_PHASE],
},
],
Expand All @@ -105,7 +76,9 @@ const Artifacts = {
effects: [
{
name: `Totem of the Spider God`,
desc: `While a friendly SPIDERFANG unit is wholly within 12" of the bearer, its Spider Venom ability causes mortal wounds on an unmodified hit roll of 5+ instead of 6.`,
desc: `While other friendly SPIDERFANG units are wholly within 12" of the bearer, add 1 to the number of mortal wounds caused by the Spider Venom ability of those units if the unmodified hit roll was 6.
Designer's Note: If a unit is affected by the Light of the Bad Moon, this artefact of power does not affect unmodified hit rolls of 5; it only affects unmodified hit rolls of 6.`,
when: [COMBAT_PHASE],
},
],
Expand All @@ -114,105 +87,45 @@ const Artifacts = {
effects: [
{
name: `Headdress of Many Eyes`,
desc: `Subtract 1 from hit rolls for attacks that target the bearer.`,
desc: `SCUTTLEBOSS only. Only unmodified hit rolls of 5 or 6 successfully score a hit for attacks that target the bearer.`,
when: [SHOOTING_PHASE, COMBAT_PHASE],
},
],
},
'The Black Fang': {
effects: [
{
name: `The Black Fang`,
desc: `Pick one of the bearer's melee weapons. If the unmodified hit roll for an attack made with that weapon is 6, that attack inflicts D3 mortal wounds on the target and the attack sequence ends (do not make a wound or save roll). If the weapon already inflicts mortal wounds on a roll of 6, add D3 to the number of mortal wounds it inflicts instead.`,
when: [COMBAT_PHASE],
},
],
},
"Nibbla's 'Itty Ring": {
effects: [
{
name: `Nibbla's 'Itty Ring`,
desc: `Once per battle, at the start of a combat phase, you can pick 1 enemy unit within 3" of the bearer and roll a D6. On a 1 there is no effect. On a 2-5 that enemy unit suffers D3 mortal wounds. On a 6, that enemy unit suffer D6 mortal wounds.`,
when: [START_OF_COMBAT_PHASE],
},
],
},
Earskuttla: {
effects: [
{
name: `Earskuttla`,
desc: `Once per battle, at the start of a combat phase, you can pick 1 enemy WIZARD within 3", and roll a D6. On a 2+, that enemy WIZARD suffers D3 mortal wounds. In addition, for the rest of the battle, subtract 1 from casting and unbinding rolls for that WIZARD for each mortal wound that was inflicted.`,
when: [START_OF_COMBAT_PHASE],
},
],
},
'Web Strung Cloak': {
effects: [
{
name: `Web Strung Cloak`,
desc: `Enemy units cannot retreat if they are within 3" of the bearer.`,
when: [MOVEMENT_PHASE],
},
],
},
'Shiny Wotnot': {
effects: [
{
name: `Shiny Wotnot`,
desc: `Roll a D6 each time a mortal wound caused by a spell is allocated to this model. On a 6+ the mortal wound is allocated to the caster of the spell instead of the bearer. If the mortal wound was caused by an endless spell, on a 6+, that mortal wound is negated and that endless spell is dispelled (any other mortal wounds it could have caused are negated).`,
when: [HERO_PHASE],
rule_sources: [rule_sources.BATTLETOME_GLOOMSPITE_GITZ, rule_sources.ERRATA_JULY_2021],
desc: `WIZARD only. Once per battle, at the start of your hero phase, you can say the bearer will call upon the ring's power. If you do so, roll a dice and add the result to casting rolls made by the bearer until the end of the phase.`,
when: [START_OF_HERO_PHASE],
},
],
},

'Glowy Howzit': {
effects: [
{
name: `Glowy Howzit`,
desc: `Roll a D6 each time you allocate a wound or mortal wound to the bearer. On a 4+ that wound is negated. On a 1, the bearer eats the Glowy Howzit and it cannot be used again for the rest of the battle.`,
when: [WOUND_ALLOCATION_PHASE],
desc: `The bearer has a ward of 4+. At the end of each phase, if the bearer was allocated any wounds in that phase that were not negated, roll a dice. On a 1, the bearer eats the Glowy Howzit and it cannot be used again for the rest of the battle.`,
when: [WARDS_PHASE, DURING_GAME],
},
],
},
'Pet Gribbly': {
effects: [
{
name: `Pet Gribbly`,
desc: `If an enemy unit attacks the bearer in the combat phase before the bearer has been selected to fight in that combat phase, then the enemy unit suffers D3 mortal wounds after all of its attacks have been resolved.`,
when: [COMBAT_PHASE],
},
],
},
// Jaws of Mork
'Syari Screamersquig': {
'Speaky-skull Fetish': {
effects: [
{
name: `Syari Screamersquig`,
desc: `At the start of the combat phase, you can pick 1 enemy HERO within 3" of the bearer. If you do so, until your next hero phase, add 1 to hit rolls for attacks made with melee weapons by the bearer that target that HERO.`,
when: [START_OF_COMBAT_PHASE],
rule_sources: [meta_rule_sources.BOOK_BROKEN_REALMS_KRAGNOS],
name: `Speaky-skull Fetish`,
desc: `At the start of your hero phase roll 3 dice. For each 6, you receive 1 extra command point. In addition, the bearer can issue the same command up to 2 times in the same phase (a command point is spent each time a command is issued by the bearer as normal).`,
when: [START_OF_HERO_PHASE],
},
],
},
// Glogg's Megamob
'Aetherquartz-studded Hide': {
'Pet Gribbly': {
effects: [
{
name: `Aetherquartz-studded Hide`,
desc: `Roll a D6 each time you allocate a mortal wound to the bearer. On a 5+, that mortal wound is ignored.`,
name: `Pet Gribbly`,
desc: `Add 1 to the bearer's Wounds characteristic. In addition, each time a wound is allocated to the bearer and not negated, roll a dice. On a 1, the Pet Gribbly is squished. When the Pet Gribbly is squished, the bearer becomes enraged for the rest of the battle. Add 1 to hit rolls and wound rolls for attacks made by the bearer while they are enraged.`,
when: [WOUND_ALLOCATION_PHASE],
rule_sources: [meta_rule_sources.BOOK_BROKEN_REALMS_KRAGNOS],
},
],
},
// Grimscuttle Tribes
'Shyishan Spider-sigils': {
effects: [
{
name: `Shyishan Spider-sigils`,
desc: `Subtract 1 from the Bravery characteristic of enemy units while they are within 6" of the bearer. In addition, add 1 to the Bravery characteristic of a friendly GRIMSCUTTLE SPIDERFANG units while they are wholly within 12" of the bearer.`,
when: [BATTLESHOCK_PHASE],
rule_sources: [meta_rule_sources.BOOK_BROKEN_REALMS_KRAGNOS],
},
],
},
Expand Down
10 changes: 10 additions & 0 deletions src/factions/gloomspite_gitz/battalions.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { tagAs } from 'factions/metatagger'
import { MagnificentBattalionEffect } from 'generic_rules/core_battalions'

const Battalions = {
'Troggherd Heavies': {
effects: [MagnificentBattalionEffect],
},
}

export default tagAs(Battalions, 'battalion')
Loading

0 comments on commit 0c8f3bf

Please sign in to comment.