diff --git a/src/data/move.ts b/src/data/move.ts index d781f4a046b..9e0376c991b 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -2887,62 +2887,79 @@ export class SecretPowerAttr extends MoveEffectAttr { switch (terrain) { case TerrainType.ELECTRIC: secondaryEffect = new StatusEffectAttr(StatusEffect.PARALYSIS, false); - return secondaryEffect.apply(user, target, move, []); + break; case TerrainType.MISTY: secondaryEffect = new StatStageChangeAttr([ Stat.SPATK ], -1, false); - return secondaryEffect.apply(user, target, move, []); + break; case TerrainType.GRASSY: secondaryEffect = new StatusEffectAttr(StatusEffect.SLEEP, false); - return secondaryEffect.apply(user, target, move, []); + break; case TerrainType.PSYCHIC: secondaryEffect = new StatStageChangeAttr([ Stat.SPD ], -1, false); - return secondaryEffect.apply(user, target, move, []); + break; } } const biome = user.scene.arena.biomeType; switch (biome) { case Biome.TOWN: + case Biome.METROPOLIS: + case Biome.SLUM: + case Biome.DOJO: + case Biome.FACTORY: + case Biome.CONSTRUCTION_SITE: + case Biome.LABORATORY: + case Biome.POWER_PLANT: + secondaryEffect = new StatusEffectAttr(StatusEffect.PARALYSIS, false); + break; case Biome.PLAINS: - secondaryEffect = new StatusEffectAttr(StatusEffect.SLEEP, false); - return secondaryEffect.apply(user, target, move, []); case Biome.GRASS: case Biome.TALL_GRASS: - case Biome.METROPOLIS: case Biome.FOREST: - case Biome.SEA: + case Biome.JUNGLE: + case Biome.MEADOW: + secondaryEffect = new StatusEffectAttr(StatusEffect.SLEEP, false); + break; case Biome.SWAMP: + secondaryEffect = new StatStageChangeAttr([ Stat.SPD ], -1, false); + break; + case Biome.ICE_CAVE: + case Biome.SNOWY_FOREST: + secondaryEffect = new StatusEffectAttr(StatusEffect.FREEZE, false); + break; + case Biome.VOLCANO: + secondaryEffect = new StatusEffectAttr(StatusEffect.BURN, false); + break; + case Biome.FAIRY_CAVE: + secondaryEffect = new StatStageChangeAttr([ Stat.SPATK ], -1, false); + break; + case Biome.DESERT: + secondaryEffect = new StatStageChangeAttr([ Stat.ACC ], -1, false); + break; + case Biome.SEA: case Biome.BEACH: case Biome.LAKE: + case Biome.ISLAND: case Biome.SEABED: + secondaryEffect = new StatStageChangeAttr([ Stat.ATK ], -1, false); + break; case Biome.MOUNTAIN: case Biome.BADLANDS: case Biome.CAVE: - case Biome.DESERT: - case Biome.ICE_CAVE: - case Biome.MEADOW: - case Biome.POWER_PLANT: - case Biome.VOLCANO: - case Biome.GRAVEYARD: - case Biome.DOJO: - case Biome.FACTORY: - case Biome.RUINS: case Biome.WASTELAND: + secondaryEffect = new AddBattlerTagAttr(BattlerTagType.FLINCHED, false, true); + break; + case Biome.GRAVEYARD: + case Biome.RUINS: case Biome.ABYSS: case Biome.SPACE: - case Biome.CONSTRUCTION_SITE: - case Biome.JUNGLE: - case Biome.FAIRY_CAVE: case Biome.TEMPLE: - case Biome.SLUM: - case Biome.SNOWY_FOREST: - case Biome.ISLAND: - case Biome.LABORATORY: case Biome.END: default: - break; + return true; } - return true; + return secondaryEffect.apply(user, target, move, []); } + } export class PostVictoryStatStageChangeAttr extends MoveAttr {