diff --git a/src/data/balance/pokemon-level-moves.ts b/src/data/balance/pokemon-level-moves.ts index 5764ed1c5e2..988c5ffdd22 100644 --- a/src/data/balance/pokemon-level-moves.ts +++ b/src/data/balance/pokemon-level-moves.ts @@ -3936,23 +3936,18 @@ export const pokemonSpeciesLevelMoves = { [ 48, MoveId.SOAK ], [ 54, MoveId.HYPER_BEAM ], ], - [SpeciesId.DELIBIRD]: [ // Given a custom level up learnset + [SpeciesId.DELIBIRD]: [ [ 1, MoveId.PRESENT ], - [ 1, MoveId.METRONOME ], - [ 5, MoveId.FAKE_OUT ], - [ 5, MoveId.POWDER_SNOW ], - [ 6, MoveId.MIST ], - [ 10, MoveId.ICE_SHARD ], - [ 15, MoveId.AERIAL_ACE ], - [ 20, MoveId.ICY_WIND ], + [ 1, MoveId.PECK ], + [ 15, MoveId.ICY_WIND ], + [ 18, MoveId.AERIAL_ACE ], + [ 22, MoveId.ICE_SHARD ], [ 25, MoveId.DRILL_PECK ], - [ 30, MoveId.ICE_PUNCH ], - [ 35, MoveId.HAZE ], - [ 40, MoveId.AIR_SLASH ], - [ 45, MoveId.TAILWIND ], - [ 50, MoveId.SNOWSCAPE ], - [ 55, MoveId.BLIZZARD ], - [ 60, MoveId.BRAVE_BIRD ], + [ 28, MoveId.AIR_SLASH ], + [ 32, MoveId.FEATHER_DANCE ], + [ 35, MoveId.ICE_PUNCH ], + [ 37, MoveId.FREEZE_DRY ], + [ 40, MoveId.BLIZZARD ], ], [SpeciesId.MANTINE]: [ [ 1, MoveId.WING_ATTACK ], diff --git a/src/data/balance/pokemon-species.ts b/src/data/balance/pokemon-species.ts index 1d89b77e98c..02fab6e0c93 100644 --- a/src/data/balance/pokemon-species.ts +++ b/src/data/balance/pokemon-species.ts @@ -116,7 +116,7 @@ export function initSpecies() { new PokemonSpecies(SpeciesId.MACHOKE, 1, false, false, false, "Superpower Pokémon", PokemonType.FIGHTING, null, 1.5, 70.5, AbilityId.GUTS, AbilityId.NO_GUARD, AbilityId.STEADFAST, 405, 80, 100, 70, 50, 60, 45, 90, 50, 142, GrowthRate.MEDIUM_SLOW, 75, false), new PokemonSpecies(SpeciesId.MACHAMP, 1, false, false, false, "Superpower Pokémon", PokemonType.FIGHTING, null, 1.6, 130, AbilityId.GUTS, AbilityId.NO_GUARD, AbilityId.STEADFAST, 505, 90, 130, 80, 65, 85, 55, 45, 50, 253, GrowthRate.MEDIUM_SLOW, 75, false, true, new PokemonForm("Normal", "", PokemonType.FIGHTING, null, 1.6, 130, AbilityId.GUTS, AbilityId.NO_GUARD, AbilityId.STEADFAST, 505, 90, 130, 80, 65, 85, 55, 45, 50, 253, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.FIGHTING, null, 25, 999.9, AbilityId.GUTS, AbilityId.GUTS, AbilityId.GUTS, 605, 120, 170, 85, 75, 90, 65, 45, 50, 253) + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.FIGHTING, null, 25, 999.9, AbilityId.GUTS, AbilityId.GUTS, AbilityId.GUTS, 605, 120, 170, 95, 80, 85, 55, 45, 50, 253) ), new PokemonSpecies(SpeciesId.BELLSPROUT, 1, false, false, false, "Flower Pokémon", PokemonType.GRASS, PokemonType.POISON, 0.7, 4, AbilityId.CHLOROPHYLL, AbilityId.NONE, AbilityId.GLUTTONY, 300, 50, 75, 35, 70, 30, 40, 255, 70, 60, GrowthRate.MEDIUM_SLOW, 50, false), new PokemonSpecies(SpeciesId.WEEPINBELL, 1, false, false, false, "Flycatcher Pokémon", PokemonType.GRASS, PokemonType.POISON, 1, 6.4, AbilityId.CHLOROPHYLL, AbilityId.NONE, AbilityId.GLUTTONY, 390, 65, 90, 50, 85, 45, 55, 120, 70, 137, GrowthRate.MEDIUM_SLOW, 50, false), @@ -149,7 +149,7 @@ export function initSpecies() { new PokemonSpecies(SpeciesId.GENGAR, 1, false, false, false, "Shadow Pokémon", PokemonType.GHOST, PokemonType.POISON, 1.5, 40.5, AbilityId.CURSED_BODY, AbilityId.NONE, AbilityId.NONE, 500, 60, 65, 60, 130, 75, 110, 45, 50, 250, GrowthRate.MEDIUM_SLOW, 50, false, true, new PokemonForm("Normal", "", PokemonType.GHOST, PokemonType.POISON, 1.5, 40.5, AbilityId.CURSED_BODY, AbilityId.NONE, AbilityId.NONE, 500, 60, 65, 60, 130, 75, 110, 45, 50, 250, false, null, true), new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.GHOST, PokemonType.POISON, 1.4, 40.5, AbilityId.SHADOW_TAG, AbilityId.NONE, AbilityId.NONE, 600, 60, 65, 80, 170, 95, 130, 45, 50, 250), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.GHOST, PokemonType.POISON, 20, 999.9, AbilityId.CURSED_BODY, AbilityId.NONE, AbilityId.NONE, 600, 140, 65, 70, 140, 85, 100, 45, 50, 250) + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.GHOST, PokemonType.POISON, 20, 999.9, AbilityId.SHADOW_TAG, AbilityId.NONE, AbilityId.NONE, 600, 150, 50, 65, 150, 85, 100, 45, 50, 250) ), new PokemonSpecies(SpeciesId.ONIX, 1, false, false, false, "Rock Snake Pokémon", PokemonType.ROCK, PokemonType.GROUND, 8.8, 210, AbilityId.ROCK_HEAD, AbilityId.STURDY, AbilityId.WEAK_ARMOR, 385, 35, 45, 160, 30, 45, 70, 45, 50, 77, GrowthRate.MEDIUM_FAST, 50, false), new PokemonSpecies(SpeciesId.DROWZEE, 1, false, false, false, "Hypnosis Pokémon", PokemonType.PSYCHIC, null, 1, 32.4, AbilityId.INSOMNIA, AbilityId.FOREWARN, AbilityId.INNER_FOCUS, 328, 60, 48, 45, 43, 90, 42, 190, 70, 66, GrowthRate.MEDIUM_FAST, 50, false), @@ -223,7 +223,7 @@ export function initSpecies() { ), new PokemonSpecies(SpeciesId.SNORLAX, 1, false, false, false, "Sleeping Pokémon", PokemonType.NORMAL, null, 2.1, 460, AbilityId.IMMUNITY, AbilityId.THICK_FAT, AbilityId.GLUTTONY, 540, 160, 110, 65, 65, 110, 30, 25, 50, 189, GrowthRate.SLOW, 87.5, false, true, new PokemonForm("Normal", "", PokemonType.NORMAL, null, 2.1, 460, AbilityId.IMMUNITY, AbilityId.THICK_FAT, AbilityId.GLUTTONY, 540, 160, 110, 65, 65, 110, 30, 25, 50, 189, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.NORMAL, null, 35, 999.9, AbilityId.HARVEST, AbilityId.HARVEST, AbilityId.HARVEST, 640, 210, 135, 70, 90, 115, 20, 25, 50, 189) + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.NORMAL, null, 35, 999.9, AbilityId.HARVEST, AbilityId.HARVEST, AbilityId.HARVEST, 640, 210, 130, 65, 85, 120, 30, 25, 50, 189) ), new PokemonSpecies(SpeciesId.ARTICUNO, 1, true, false, false, "Freeze Pokémon", PokemonType.ICE, PokemonType.FLYING, 1.7, 55.4, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.SNOW_CLOAK, 580, 90, 85, 100, 95, 125, 85, 3, 35, 290, GrowthRate.SLOW, null, false), new PokemonSpecies(SpeciesId.ZAPDOS, 1, true, false, false, "Electric Pokémon", PokemonType.ELECTRIC, PokemonType.FLYING, 1.6, 52.6, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.STATIC, 580, 90, 90, 85, 125, 90, 100, 3, 35, 290, GrowthRate.SLOW, null, false), @@ -1338,7 +1338,7 @@ export function initSpecies() { new PokemonSpecies(SpeciesId.MELTAN, 7, false, false, true, "Hex Nut Pokémon", PokemonType.STEEL, null, 0.2, 8, AbilityId.MAGNET_PULL, AbilityId.NONE, AbilityId.NONE, 300, 46, 65, 65, 55, 35, 34, 3, 0, 150, GrowthRate.SLOW, null, false), new PokemonSpecies(SpeciesId.MELMETAL, 7, false, false, true, "Hex Nut Pokémon", PokemonType.STEEL, null, 2.5, 800, AbilityId.IRON_FIST, AbilityId.NONE, AbilityId.NONE, 600, 135, 143, 143, 80, 65, 34, 3, 0, 300, GrowthRate.SLOW, null, false, true, new PokemonForm("Normal", "", PokemonType.STEEL, null, 2.5, 800, AbilityId.IRON_FIST, AbilityId.NONE, AbilityId.NONE, 600, 135, 143, 143, 80, 65, 34, 3, 0, 300, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.STEEL, null, 25, 999.9, AbilityId.IRON_FIST, AbilityId.NONE, AbilityId.NONE, 700, 170, 158, 158, 95, 75, 44, 3, 0, 300) + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.STEEL, null, 25, 999.9, AbilityId.IRON_FIST, AbilityId.NONE, AbilityId.NONE, 700, 161, 169, 154, 106, 76, 34, 3, 0, 300) ), new PokemonSpecies(SpeciesId.GROOKEY, 8, false, false, false, "Chimp Pokémon", PokemonType.GRASS, null, 0.3, 5, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.GRASSY_SURGE, 310, 50, 65, 50, 40, 40, 65, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), new PokemonSpecies(SpeciesId.THWACKEY, 8, false, false, false, "Beat Pokémon", PokemonType.GRASS, null, 0.7, 14, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.GRASSY_SURGE, 420, 70, 85, 70, 55, 60, 80, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false), @@ -1492,7 +1492,7 @@ export function initSpecies() { new PokemonSpecies(SpeciesId.ARCTOVISH, 8, false, false, false, "Fossil Pokémon", PokemonType.WATER, PokemonType.ICE, 2, 175, AbilityId.WATER_ABSORB, AbilityId.ICE_BODY, AbilityId.SLUSH_RUSH, 505, 90, 90, 100, 80, 90, 55, 45, 50, 177, GrowthRate.SLOW, null, false), new PokemonSpecies(SpeciesId.DURALUDON, 8, false, false, false, "Alloy Pokémon", PokemonType.STEEL, PokemonType.DRAGON, 1.8, 40, AbilityId.LIGHT_METAL, AbilityId.HEAVY_METAL, AbilityId.STALWART, 535, 70, 95, 115, 120, 50, 85, 45, 50, 187, GrowthRate.MEDIUM_FAST, 50, false, true, new PokemonForm("Normal", "", PokemonType.STEEL, PokemonType.DRAGON, 1.8, 40, AbilityId.LIGHT_METAL, AbilityId.HEAVY_METAL, AbilityId.STALWART, 535, 70, 95, 115, 120, 50, 85, 45, 50, 187, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.STEEL, PokemonType.DRAGON, 43, 999.9, AbilityId.LIGHTNING_ROD, AbilityId.LIGHTNING_ROD, AbilityId.LIGHTNING_ROD, 635, 100, 110, 120, 175, 60, 70, 45, 50, 187) + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.STEEL, PokemonType.DRAGON, 43, 999.9, AbilityId.ANALYTIC, AbilityId.ANALYTIC, AbilityId.ANALYTIC, 635, 100, 120, 110, 160, 85, 60, 45, 50, 187) ), new PokemonSpecies(SpeciesId.DREEPY, 8, false, false, false, "Lingering Pokémon", PokemonType.DRAGON, PokemonType.GHOST, 0.5, 2, AbilityId.CLEAR_BODY, AbilityId.INFILTRATOR, AbilityId.CURSED_BODY, 270, 28, 60, 30, 40, 30, 82, 45, 50, 54, GrowthRate.SLOW, 50, false), new PokemonSpecies(SpeciesId.DRAKLOAK, 8, false, false, false, "Caretaker Pokémon", PokemonType.DRAGON, PokemonType.GHOST, 1.4, 11, AbilityId.CLEAR_BODY, AbilityId.INFILTRATOR, AbilityId.CURSED_BODY, 410, 68, 80, 50, 60, 50, 102, 45, 50, 144, GrowthRate.SLOW, 50, false), @@ -1513,8 +1513,8 @@ export function initSpecies() { new PokemonSpecies(SpeciesId.URSHIFU, 8, true, false, false, "Wushu Pokémon", PokemonType.FIGHTING, PokemonType.DARK, 1.9, 105, AbilityId.UNSEEN_FIST, AbilityId.NONE, AbilityId.NONE, 550, 100, 130, 100, 63, 60, 97, 3, 50, 275, GrowthRate.SLOW, 87.5, false, true, new PokemonForm("Single Strike Style", "single-strike", PokemonType.FIGHTING, PokemonType.DARK, 1.9, 105, AbilityId.UNSEEN_FIST, AbilityId.NONE, AbilityId.NONE, 550, 100, 130, 100, 63, 60, 97, 3, 50, 275, false, "", true), new PokemonForm("Rapid Strike Style", "rapid-strike", PokemonType.FIGHTING, PokemonType.WATER, 1.9, 105, AbilityId.UNSEEN_FIST, AbilityId.NONE, AbilityId.NONE, 550, 100, 130, 100, 63, 60, 97, 3, 50, 275, false, null, true), - new PokemonForm("G-Max Single Strike Style", SpeciesFormKey.GIGANTAMAX_SINGLE, PokemonType.FIGHTING, PokemonType.DARK, 29, 999.9, AbilityId.UNSEEN_FIST, AbilityId.NONE, AbilityId.NONE, 650, 125, 145, 115, 83, 70, 112, 3, 50, 275), - new PokemonForm("G-Max Rapid Strike Style", SpeciesFormKey.GIGANTAMAX_RAPID, PokemonType.FIGHTING, PokemonType.WATER, 26, 999.9, AbilityId.UNSEEN_FIST, AbilityId.NONE, AbilityId.NONE, 650, 125, 145, 115, 83, 70, 112, 3, 50, 275) + new PokemonForm("G-Max Single Strike Style", SpeciesFormKey.GIGANTAMAX_SINGLE, PokemonType.FIGHTING, PokemonType.DARK, 29, 999.9, AbilityId.UNSEEN_FIST, AbilityId.NONE, AbilityId.NONE, 650, 120, 150, 115, 83, 75, 107, 3, 50, 275), + new PokemonForm("G-Max Rapid Strike Style", SpeciesFormKey.GIGANTAMAX_RAPID, PokemonType.FIGHTING, PokemonType.WATER, 26, 999.9, AbilityId.UNSEEN_FIST, AbilityId.NONE, AbilityId.NONE, 650, 120, 150, 115, 83, 75, 107, 3, 50, 275) ), new PokemonSpecies(SpeciesId.ZARUDE, 8, false, false, true, "Rogue Monkey Pokémon", PokemonType.DARK, PokemonType.GRASS, 1.8, 70, AbilityId.LEAF_GUARD, AbilityId.NONE, AbilityId.NONE, 600, 105, 120, 105, 70, 95, 105, 3, 0, 300, GrowthRate.SLOW, null, false, false, new PokemonForm("Normal", "", PokemonType.DARK, PokemonType.GRASS, 1.8, 70, AbilityId.LEAF_GUARD, AbilityId.NONE, AbilityId.NONE, 600, 105, 120, 105, 70, 95, 105, 3, 0, 300, false, null, true), diff --git a/src/data/balance/tms.ts b/src/data/balance/tms.ts index 797d13a74a9..0ca2c77866b 100644 --- a/src/data/balance/tms.ts +++ b/src/data/balance/tms.ts @@ -208,7 +208,7 @@ export const tmPoolTiers: TmPoolTiers = { [MoveId.HYDRO_CANNON]: ModifierTier.ULTRA, [MoveId.WEATHER_BALL]: ModifierTier.COMMON, [MoveId.FAKE_TEARS]: ModifierTier.GREAT, - [MoveId.AIR_CUTTER]: ModifierTier.GREAT, + [MoveId.AIR_CUTTER]: ModifierTier.COMMON, [MoveId.OVERHEAT]: ModifierTier.ULTRA, [MoveId.ROCK_TOMB]: ModifierTier.GREAT, [MoveId.METAL_SOUND]: ModifierTier.GREAT, @@ -220,7 +220,7 @@ export const tmPoolTiers: TmPoolTiers = { [MoveId.AERIAL_ACE]: ModifierTier.GREAT, [MoveId.ICICLE_SPEAR]: ModifierTier.GREAT, [MoveId.IRON_DEFENSE]: ModifierTier.GREAT, - [MoveId.DRAGON_CLAW]: ModifierTier.ULTRA, + [MoveId.DRAGON_CLAW]: ModifierTier.GREAT, [MoveId.FRENZY_PLANT]: ModifierTier.ULTRA, [MoveId.BULK_UP]: ModifierTier.GREAT, [MoveId.BOUNCE]: ModifierTier.GREAT, @@ -233,7 +233,7 @@ export const tmPoolTiers: TmPoolTiers = { [MoveId.DRAGON_DANCE]: ModifierTier.GREAT, [MoveId.ROCK_BLAST]: ModifierTier.GREAT, [MoveId.SHOCK_WAVE]: ModifierTier.GREAT, - [MoveId.WATER_PULSE]: ModifierTier.GREAT, + [MoveId.WATER_PULSE]: ModifierTier.COMMON, [MoveId.ROOST]: ModifierTier.GREAT, [MoveId.GRAVITY]: ModifierTier.COMMON, [MoveId.GYRO_BALL]: ModifierTier.COMMON, @@ -312,7 +312,7 @@ export const tmPoolTiers: TmPoolTiers = { [MoveId.ALLY_SWITCH]: ModifierTier.COMMON, [MoveId.SCALD]: ModifierTier.GREAT, [MoveId.HEX]: ModifierTier.GREAT, - [MoveId.SKY_DROP]: ModifierTier.GREAT, + [MoveId.SKY_DROP]: ModifierTier.COMMON, [MoveId.INCINERATE]: ModifierTier.GREAT, [MoveId.QUASH]: ModifierTier.COMMON, [MoveId.ACROBATICS]: ModifierTier.GREAT, @@ -358,7 +358,7 @@ export const tmPoolTiers: TmPoolTiers = { [MoveId.LUNGE]: ModifierTier.GREAT, [MoveId.SPEED_SWAP]: ModifierTier.COMMON, [MoveId.SMART_STRIKE]: ModifierTier.GREAT, - [MoveId.BRUTAL_SWING]: ModifierTier.GREAT, + [MoveId.BRUTAL_SWING]: ModifierTier.COMMON, [MoveId.AURORA_VEIL]: ModifierTier.COMMON, [MoveId.PSYCHIC_FANGS]: ModifierTier.GREAT, [MoveId.STOMPING_TANTRUM]: ModifierTier.GREAT, diff --git a/src/data/challenge.ts b/src/data/challenge.ts index cafebb0dadf..0cd2773f2e1 100644 --- a/src/data/challenge.ts +++ b/src/data/challenge.ts @@ -525,36 +525,36 @@ export class SingleGenerationChallenge extends Challenge { [TrainerType.MATT, TrainerType.SHELLY], ], [TrainerType.JUPITER, TrainerType.MARS, TrainerType.SATURN], - [TrainerType.ZINZOLIN, TrainerType.COLRESS], + [TrainerType.COLRESS], [TrainerType.BRYONY], [TrainerType.FABA, TrainerType.PLUMERIA], [TrainerType.OLEANA], [TrainerType.GIACOMO, TrainerType.MELA, TrainerType.ATTICUS, TrainerType.ORTEGA, TrainerType.ERI], ]; const evilAdminFight2 = [ - [TrainerType.ARCHER, TrainerType.ARIANA, TrainerType.PROTON], - [TrainerType.ARCHER, TrainerType.ARIANA, TrainerType.PROTON], + [TrainerType.PROTON], + [TrainerType.PROTON], [ [TrainerType.TABITHA, TrainerType.COURTNEY], [TrainerType.MATT, TrainerType.SHELLY], ], [TrainerType.JUPITER, TrainerType.MARS, TrainerType.SATURN], [TrainerType.ZINZOLIN], - [TrainerType.XEROSIC], + [TrainerType.BRYONY, TrainerType.XEROSIC], [TrainerType.FABA, TrainerType.PLUMERIA], [TrainerType.OLEANA], [TrainerType.GIACOMO, TrainerType.MELA, TrainerType.ATTICUS, TrainerType.ORTEGA, TrainerType.ERI], ]; const evilAdminFight3 = [ - [TrainerType.ARCHER, TrainerType.ARIANA, TrainerType.PROTON], - [TrainerType.ARCHER, TrainerType.ARIANA, TrainerType.PROTON], + [TrainerType.ARCHER, TrainerType.ARIANA], + [TrainerType.ARCHER, TrainerType.ARIANA], [ [TrainerType.TABITHA, TrainerType.COURTNEY], [TrainerType.MATT, TrainerType.SHELLY], ], [TrainerType.JUPITER, TrainerType.MARS, TrainerType.SATURN], - [TrainerType.ZINZOLIN, TrainerType.COLRESS], - [TrainerType.XEROSIC, TrainerType.BRYONY], + [TrainerType.COLRESS], + [TrainerType.XEROSIC], [TrainerType.FABA, TrainerType.PLUMERIA], [TrainerType.OLEANA], [TrainerType.GIACOMO, TrainerType.MELA, TrainerType.ATTICUS, TrainerType.ORTEGA, TrainerType.ERI], diff --git a/src/data/trainers/fixed-battle-configs.ts b/src/data/trainers/fixed-battle-configs.ts index ea991968dab..b3e46689b74 100644 --- a/src/data/trainers/fixed-battle-configs.ts +++ b/src/data/trainers/fixed-battle-configs.ts @@ -131,7 +131,7 @@ export const classicFixedBattles: FixedBattleConfigs = { [TrainerType.TABITHA, TrainerType.COURTNEY], [TrainerType.MATT, TrainerType.SHELLY], [TrainerType.JUPITER, TrainerType.MARS, TrainerType.SATURN], - [TrainerType.ZINZOLIN, TrainerType.COLRESS], + TrainerType.COLRESS, TrainerType.BRYONY, TrainerType.FABA, TrainerType.PLUMERIA, @@ -180,12 +180,12 @@ export const classicFixedBattles: FixedBattleConfigs = { .setGetTrainerFunc( getRandomTrainerFunc( [ - [TrainerType.ARCHER, TrainerType.ARIANA, TrainerType.PROTON], + TrainerType.PROTON, [TrainerType.TABITHA, TrainerType.COURTNEY], [TrainerType.MATT, TrainerType.SHELLY], [TrainerType.JUPITER, TrainerType.MARS, TrainerType.SATURN], TrainerType.ZINZOLIN, - TrainerType.XEROSIC, + [TrainerType.BRYONY, TrainerType.XEROSIC], TrainerType.FABA, TrainerType.PLUMERIA, TrainerType.OLEANA, @@ -247,12 +247,12 @@ export const classicFixedBattles: FixedBattleConfigs = { .setGetTrainerFunc( getRandomTrainerFunc( [ - [TrainerType.ARCHER, TrainerType.ARIANA, TrainerType.PROTON], + [TrainerType.ARCHER, TrainerType.ARIANA], [TrainerType.TABITHA, TrainerType.COURTNEY], [TrainerType.MATT, TrainerType.SHELLY], [TrainerType.JUPITER, TrainerType.MARS, TrainerType.SATURN], - [TrainerType.ZINZOLIN, TrainerType.COLRESS], - [TrainerType.XEROSIC, TrainerType.BRYONY], + TrainerType.COLRESS, + TrainerType.XEROSIC, TrainerType.FABA, TrainerType.PLUMERIA, TrainerType.OLEANA, diff --git a/src/data/trainers/rival-party-config.ts b/src/data/trainers/rival-party-config.ts index 44e148538fb..31e72ec5fd7 100644 --- a/src/data/trainers/rival-party-config.ts +++ b/src/data/trainers/rival-party-config.ts @@ -264,7 +264,6 @@ const SLOT_3_FIGHT_2 = [ SpeciesId.SLAKOTH, SpeciesId.ARON, SpeciesId.SPHEAL, - SpeciesId.FEEBAS, SpeciesId.MUNCHLAX, SpeciesId.ROGGENROLA, SpeciesId.TIMBURR, @@ -277,7 +276,6 @@ const SLOT_3_FIGHT_2 = [ SpeciesId.LITWICK, SpeciesId.MUDBRAY, SpeciesId.DEWPIDER, - SpeciesId.WIMPOD, SpeciesId.HATENNA, SpeciesId.IMPIDIMP, SpeciesId.SMOLIV, @@ -308,7 +306,6 @@ const SLOT_3_FIGHT_3 = [ SpeciesId.VIGOROTH, SpeciesId.LAIRON, SpeciesId.SEALEO, - SpeciesId.MILOTIC, SpeciesId.SNORLAX, SpeciesId.BOLDORE, SpeciesId.GURDURR, @@ -321,7 +318,6 @@ const SLOT_3_FIGHT_3 = [ SpeciesId.LAMPENT, SpeciesId.MUDSDALE, SpeciesId.ARAQUANID, - SpeciesId.GOLISOPOD, SpeciesId.HATTREM, SpeciesId.MORGREM, SpeciesId.DOLLIV, @@ -352,7 +348,6 @@ const SLOT_3_FINAL = [ SpeciesId.SLAKING, SpeciesId.AGGRON, SpeciesId.WALREIN, - SpeciesId.MILOTIC, SpeciesId.SNORLAX, SpeciesId.GIGALITH, SpeciesId.CONKELDURR, @@ -365,7 +360,6 @@ const SLOT_3_FINAL = [ SpeciesId.CHANDELURE, SpeciesId.MUDSDALE, SpeciesId.ARAQUANID, - SpeciesId.GOLISOPOD, SpeciesId.HATTERENE, SpeciesId.GRIMMSNARL, SpeciesId.ARBOLIVA, @@ -409,6 +403,7 @@ const SLOT_4_FIGHT_3 = [ SpeciesId.HERACROSS, SpeciesId.SNEASEL, SpeciesId.GARDEVOIR, + SpeciesId.MILOTIC, SpeciesId.ROSERADE, SpeciesId.SPIRITOMB, SpeciesId.LUCARIO, @@ -422,6 +417,7 @@ const SLOT_4_FIGHT_3 = [ SpeciesId.FLORGES, SpeciesId.DOUBLADE, SpeciesId.VIKAVOLT, + SpeciesId.GOLISOPOD, SpeciesId.MIMIKYU, SpeciesId.DHELMISE, SpeciesId.POLTEAGEIST, @@ -472,6 +468,7 @@ const SLOT_4_FINAL = [ SpeciesId.HERACROSS, SpeciesId.WEAVILE, SpeciesId.GARDEVOIR, + SpeciesId.MILOTIC, SpeciesId.ROSERADE, SpeciesId.SPIRITOMB, SpeciesId.LUCARIO, @@ -485,6 +482,7 @@ const SLOT_4_FINAL = [ SpeciesId.FLORGES, SpeciesId.AEGISLASH, SpeciesId.VIKAVOLT, + SpeciesId.GOLISOPOD, SpeciesId.MIMIKYU, SpeciesId.DHELMISE, SpeciesId.POLTEAGEIST, diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index 19ddc77d436..3c5b96204ba 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -502,7 +502,7 @@ export class TempStatStageBoosterModifier extends LapsingPersistentModifier { this.stat = stat; // Note that, because we want X Accuracy to maintain its original behavior, // it will increment as it did previously, directly to the stat stage. - this.boost = stat !== Stat.ACC ? 0.3 : 1; + this.boost = stat !== Stat.ACC ? 0.2 : 1; } match(modifier: Modifier): boolean { diff --git a/src/phases/title-phase.ts b/src/phases/title-phase.ts index 20258022be6..464f9211d61 100644 --- a/src/phases/title-phase.ts +++ b/src/phases/title-phase.ts @@ -251,6 +251,8 @@ export class TitlePhase extends Phase { .map(() => modifierTypes.GOLDEN_EXP_CHARM().withIdFromFunc(modifierTypes.GOLDEN_EXP_CHARM).newModifier()), ) .concat([modifierTypes.MAP().withIdFromFunc(modifierTypes.MAP).newModifier()]) + .concat([modifierTypes.ABILITY_CHARM().withIdFromFunc(modifierTypes.ABILITY_CHARM).newModifier()]) + .concat([modifierTypes.SHINY_CHARM().withIdFromFunc(modifierTypes.SHINY_CHARM).newModifier()]) .concat(getDailyRunStarterModifiers(party)) .filter(m => m !== null); diff --git a/src/phases/victory-phase.ts b/src/phases/victory-phase.ts index ac567cc99c5..e9a42b0945a 100644 --- a/src/phases/victory-phase.ts +++ b/src/phases/victory-phase.ts @@ -85,6 +85,9 @@ export class VictoryPhase extends PokemonPhase { if (gameMode.isEndless && currentWaveIndex === 10) { globalScene.phaseManager.pushNew("ModifierRewardPhase", modifierTypes.EXP_SHARE); } + if (gameMode.isClassic && currentWaveIndex === 10) { + globalScene.phaseManager.pushNew("ModifierRewardPhase", modifierTypes.EXP_CHARM); + } if (currentWaveIndex <= 750 && (currentWaveIndex <= 500 || currentWaveIndex % 30 === superExpWave)) { globalScene.phaseManager.pushNew( "ModifierRewardPhase", diff --git a/test/items/temp-stat-stage-booster.test.ts b/test/items/temp-stat-stage-booster.test.ts index 05ea5a03eae..ec53d0dcf98 100644 --- a/test/items/temp-stat-stage-booster.test.ts +++ b/test/items/temp-stat-stage-booster.test.ts @@ -48,7 +48,7 @@ describe("Items - Temporary Stat Stage Boosters", () => { await game.toEndOfTurn(); - expect(partyMember.getStatStageMultiplier).toHaveReturnedWith(1.3); + expect(partyMember.getStatStageMultiplier).toHaveReturnedWith(1.2); }); it("should increase existing ACC stat stage by 1 for X_ACCURACY only", async () => { @@ -89,8 +89,8 @@ describe("Items - Temporary Stat Stage Boosters", () => { await game.phaseInterceptor.to("TurnEndPhase"); - // ATK at +1 stat stage yields a x1.5 multiplier, add 0.3 from X_ATTACK - expect(partyMember.getStatStageMultiplier).toHaveReturnedWith(1.8); + // ATK at +1 stat stage yields a x1.5 multiplier, add 0.2 from X_ATTACK + expect(partyMember.getStatStageMultiplier).toHaveReturnedWith(1.7); }); it("should not increase past maximum stat stage multiplier", async () => {