From cdff19744af1642abf390c45905a64b86b5c7967 Mon Sep 17 00:00:00 2001 From: MokaStitcher Date: Sun, 20 Oct 2024 20:24:08 +0200 Subject: [PATCH] apply suggestions from PR#4619's code reviews --- .../encounters/berries-abound-encounter.ts | 3 ++- .../encounters/bug-type-superfan-encounter.ts | 7 +++++-- .../mystery-encounter-requirements.ts | 11 ++++++----- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/data/mystery-encounters/encounters/berries-abound-encounter.ts b/src/data/mystery-encounters/encounters/berries-abound-encounter.ts index dc58fc0b353..095f8a8473b 100644 --- a/src/data/mystery-encounters/encounters/berries-abound-encounter.ts +++ b/src/data/mystery-encounters/encounters/berries-abound-encounter.ts @@ -7,7 +7,8 @@ import { } from "#app/data/mystery-encounters/utils/encounter-phase-utils"; import Pokemon, { EnemyPokemon, PlayerPokemon } from "#app/field/pokemon"; import { - BerryModifierType, getPartyLuckValue, + BerryModifierType, + getPartyLuckValue, ModifierPoolType, ModifierTypeOption, modifierTypes, regenerateModifierPoolThresholds, diff --git a/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts b/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts index 9f777d680c2..d316ab14cde 100644 --- a/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts +++ b/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts @@ -41,7 +41,9 @@ import { AttackTypeBoosterModifierType, ModifierTypeOption, modifierTypes } from import { AttackTypeBoosterModifier, BypassSpeedChanceModifier, - ContactHeldItemTransferChanceModifier, GigantamaxAccessModifier, MegaEvolutionAccessModifier, + ContactHeldItemTransferChanceModifier, + GigantamaxAccessModifier, + MegaEvolutionAccessModifier, PokemonHeldItemModifier } from "#app/modifier/modifier"; import i18next from "i18next"; @@ -356,7 +358,8 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = }, ]; } else { - // If player has any evolution/form change items that are valid for their party, will spawn one of those items in addition to Dynamax Band, Mega Band, and Master Ball + // If the player has any evolution/form change items that are valid for their party, + // spawn one of those items in addition to Dynamax Band, Mega Band, and Master Ball const modifierOptions: ModifierTypeOption[] = [ generateModifierTypeOption(scene, modifierTypes.MASTER_BALL)! ]; const specialOptions: ModifierTypeOption[] = []; diff --git a/src/data/mystery-encounters/mystery-encounter-requirements.ts b/src/data/mystery-encounters/mystery-encounter-requirements.ts index 3ae07d9cd8c..a57cedc8fa3 100644 --- a/src/data/mystery-encounters/mystery-encounter-requirements.ts +++ b/src/data/mystery-encounters/mystery-encounter-requirements.ts @@ -15,7 +15,7 @@ import { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { AttackTypeBoosterModifier } from "#app/modifier/modifier"; import { AttackTypeBoosterModifierType } from "#app/modifier/modifier-type"; import { SpeciesFormKey } from "#enums/species-form-key"; -import { Ability } from "#app/data/ability"; +import { allAbilities } from "#app/data/ability"; export interface EncounterRequirement { meetsRequirement(scene: BattleScene): boolean; // Boolean to see if a requirement is met @@ -497,14 +497,15 @@ export class MoveRequirement extends EncounterPokemonRequirement { override queryParty(partyPokemon: PlayerPokemon[]): PlayerPokemon[] { if (!this.invertQuery) { + // get the Pokemon with at least one move in the required moves list return partyPokemon.filter((pokemon) => (!this.excludeDisallowedPokemon || pokemon.isAllowedInBattle()) - && this.requiredMoves.filter((reqMove) => pokemon.moveset.filter((move) => move?.moveId === reqMove).length > 0).length > 0); + && pokemon.moveset.some((move) => move?.moveId && this.requiredMoves.includes(move.moveId))); } else { // for an inverted query, we only want to get the pokemon that don't have ANY of the listed moves return partyPokemon.filter((pokemon) => (!this.excludeDisallowedPokemon || pokemon.isAllowedInBattle()) - && this.requiredMoves.filter((reqMove) => pokemon.moveset.filter((move) => move?.moveId === reqMove).length === 0).length === 0); + && !pokemon.moveset.some((move) => move?.moveId && this.requiredMoves.includes(move.moveId))); } } @@ -597,10 +598,10 @@ export class AbilityRequirement extends EncounterPokemonRequirement { } } - override getDialogueToken(scene: BattleScene, pokemon?: PlayerPokemon): [string, string] { + override getDialogueToken(_scene: BattleScene, pokemon?: PlayerPokemon): [string, string] { const matchingAbility = this.requiredAbilities.find(a => pokemon?.hasAbility(a, false)); if (!isNullOrUndefined(matchingAbility)) { - return [ "ability", new Ability(matchingAbility, 3).name ]; + return [ "ability", allAbilities[matchingAbility].name ]; } return [ "ability", "" ]; }