diff --git a/calc/src/data/interface.ts b/calc/src/data/interface.ts index 192020a79..eb4829e5d 100644 --- a/calc/src/data/interface.ts +++ b/calc/src/data/interface.ts @@ -12,7 +12,7 @@ export type SpeciesName = string & As<'SpeciesName'>; export type StatusName = 'slp' | 'psn' | 'brn' | 'frz' | 'par' | 'tox'; -export type GameType = 'Singles' | 'Doubles'; +export type GameType = 'Singles' | 'Doubles' | 'Free-For-All'; export type Terrain = 'Electric' | 'Grassy' | 'Psychic' | 'Misty'; export type Weather = | 'Sand' | 'Sun' | 'Rain' | 'Hail' | 'Harsh Sunshine' | 'Heavy Rain' | 'Strong Winds'; diff --git a/calc/src/mechanics/gen78.ts b/calc/src/mechanics/gen78.ts index 4a307e1a6..92ac33f26 100644 --- a/calc/src/mechanics/gen78.ts +++ b/calc/src/mechanics/gen78.ts @@ -320,7 +320,8 @@ export function calculateSMSS( const isSpread = field.gameType !== 'Singles' && ['allAdjacent', 'allAdjacentFoes'].includes(move.target); if (isSpread) { - baseDamage = pokeRound(OF32(baseDamage * 3072) / 4096); + const spreadModifier = field.gameType === 'Doubles' ? 3072 : 2048; + baseDamage = pokeRound(OF32(baseDamage * spreadModifier) / 4096); } if (attacker.hasAbility('Parental Bond (Child)')) { diff --git a/src/index.template.html b/src/index.template.html index 853012ea9..bdfc32be9 100644 --- a/src/index.template.html +++ b/src/index.template.html @@ -631,12 +631,15 @@
Field -
+
Select the battle format. - + + + +
Select the current terrain. diff --git a/src/randoms.template.html b/src/randoms.template.html index 215f393c5..41d973807 100644 --- a/src/randoms.template.html +++ b/src/randoms.template.html @@ -645,12 +645,15 @@
Field -
+
Select the battle format. - + + + +
Select the current terrain.