diff --git a/src/data/mystery-encounters/encounters/creeping-fog-encounter.ts b/src/data/mystery-encounters/encounters/creeping-fog-encounter.ts index ac83346e6a1..0cb6b9f525d 100644 --- a/src/data/mystery-encounters/encounters/creeping-fog-encounter.ts +++ b/src/data/mystery-encounters/encounters/creeping-fog-encounter.ts @@ -17,7 +17,7 @@ import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MoveId } from "#enums/move-id"; import { SpeciesId } from "#enums/species-id"; import { Nature } from "#enums/nature"; -import { getPokemonSpecies } from "#app/data/pokemon-species"; +import { getPokemonSpecies } from "#app/utils/pokemon-utils"; import type { PokemonHeldItemModifierType } from "#app/modifier/modifier-type"; import { TimeOfDayRequirement } from "#app/data/mystery-encounters/mystery-encounter-requirements"; import { TimeOfDay } from "#enums/time-of-day"; @@ -165,7 +165,6 @@ export const CreepingFogEncounter: MysteryEncounter = MysteryEncounterBuilder.wi //Battle Fog Boss const encounter = globalScene.currentBattle.mysteryEncounter!; globalScene.arena.trySetWeather(WeatherType.HEAVY_FOG); - //TODO start fog and stuff const config: EnemyPartyConfig = encounter.enemyPartyConfigs[0]; setEncounterRewards({ guaranteedModifierTiers: [ModifierTier.ROGUE, ModifierTier.ROGUE], @@ -293,7 +292,7 @@ export const CreepingFogEncounter: MysteryEncounter = MysteryEncounterBuilder.wi ease: "Sine.easeOut", duration: 2000, }); - const pokemon = globalScene.getPlayerPokemon(); //Can we use this? + const pokemon = globalScene.getPlayerPokemon(); globalScene.arena.trySetWeather(WeatherType.FOG, pokemon); // Leave encounter with no rewards or exp @@ -303,10 +302,12 @@ export const CreepingFogEncounter: MysteryEncounter = MysteryEncounterBuilder.wi ) .build(); +type FogEncounterPokemonConfig = [SpeciesId, Nature, AbilityId | null, boolean, MoveId[], HeldModifierConfig[]][]; + function chooseBoss() { const biome = globalScene.arena.biomeType; const wave = globalScene.currentBattle.waveIndex; - const allBiomePokemon = [ + const allBiomePokemon: FogEncounterPokemonConfig = [ [ SpeciesId.MACHAMP, Nature.JOLLY, @@ -418,31 +419,29 @@ function chooseBoss() { ], ]; - let pool = allBiomePokemon as [SpeciesId, Nature, AbilityId, boolean, MoveId[], HeldModifierConfig[]][]; + let pool: FogEncounterPokemonConfig = allBiomePokemon; // Include biome-specific Pokémon if within wave 50-80 if (wave >= 50) { if (biome === BiomeId.FOREST || biome === BiomeId.TALL_GRASS) { - pool = pool.concat( - ForestTallGrassPokemon as [SpeciesId, Nature, AbilityId, boolean, MoveId[], HeldModifierConfig[]][], - ); + pool = pool.concat(ForestTallGrassPokemon as FogEncounterPokemonConfig); } if (biome === BiomeId.SWAMP || biome === BiomeId.LAKE) { - pool = pool.concat(SwampLakePokemon as [SpeciesId, Nature, AbilityId, boolean, MoveId[], HeldModifierConfig[]][]); + pool = pool.concat(SwampLakePokemon as FogEncounterPokemonConfig); } if (biome === BiomeId.GRAVEYARD) { - pool = pool.concat(GraveyardPokemon as [SpeciesId, Nature, AbilityId, boolean, MoveId[], HeldModifierConfig[]][]); + pool = pool.concat(GraveyardPokemon as FogEncounterPokemonConfig); } } - // Waves 110-140 content + // Waves 110-140 if (wave >= 110) { - pool = pool.concat(wave110_140Pokemon as [SpeciesId, Nature, AbilityId, boolean, MoveId[], HeldModifierConfig[]][]); + pool = pool.concat(wave110_140Pokemon as FogEncounterPokemonConfig); } // Wave 140+ if (wave >= 140) { - pool = pool.concat(wave140PlusPokemon as [SpeciesId, Nature, AbilityId, boolean, MoveId[], HeldModifierConfig[]][]); + pool = pool.concat(wave140PlusPokemon as FogEncounterPokemonConfig); } // Randomly choose one return pool[randSeedInt(pool.length, 0)]; diff --git a/test/mystery-encounter/encounters/creeping-fog-encounter.test.ts b/test/mystery-encounter/encounters/creeping-fog-encounter.test.ts index 753c4eae193..2ed94971878 100644 --- a/test/mystery-encounter/encounters/creeping-fog-encounter.test.ts +++ b/test/mystery-encounter/encounters/creeping-fog-encounter.test.ts @@ -3,7 +3,6 @@ import { CreepingFogEncounter } from "#app/data/mystery-encounters/encounters/cr import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encounters"; import * as EncounterPhaseUtils from "#app/data/mystery-encounters/utils/encounter-phase-utils"; import { BiomeId } from "#enums/biome-id"; -import { TimeOfDay } from "#enums/time-of-day"; import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; import { SpeciesId } from "#enums/species-id"; import { PokemonMove } from "#app/data/moves/pokemon-move"; @@ -86,7 +85,6 @@ describe("Creeping Fog - Mystery Encounter", () => { game.override.startingWave(defaultWave); game.override.startingBiome(defaultBiome); game.override.disableTrainerWaves(); - game.override.startingTimeOfDay(TimeOfDay.NIGHT); vi.spyOn(MysteryEncounters, "mysteryEncountersByBiome", "get").mockReturnValue( new Map([ @@ -119,7 +117,6 @@ describe("Creeping Fog - Mystery Encounter", () => { it("should not spawn outside of proper biomes", async () => { game.override.mysteryEncounterTier(MysteryEncounterTier.ULTRA); game.override.startingBiome(BiomeId.SPACE); - game.override.startingTimeOfDay(TimeOfDay.NIGHT); await game.runToMysteryEncounter(); expect(game.scene.currentBattle.mysteryEncounter?.encounterType).not.toBe(MysteryEncounterType.CREEPING_FOG); @@ -127,7 +124,6 @@ describe("Creeping Fog - Mystery Encounter", () => { it("should not spawn outside of proper time of day", async () => { game.override.mysteryEncounterTier(MysteryEncounterTier.ULTRA); - game.override.startingTimeOfDay(TimeOfDay.DAY); await game.runToMysteryEncounter(); expect(game.scene.currentBattle.mysteryEncounter?.encounterType).not.toBe(MysteryEncounterType.CREEPING_FOG);