mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-08-21 14:59:26 +02:00
apply suggestions from PR#4619's code reviews
This commit is contained in:
parent
e4c9e3f9f7
commit
cdff19744a
@ -7,7 +7,8 @@ import {
|
|||||||
} from "#app/data/mystery-encounters/utils/encounter-phase-utils";
|
} from "#app/data/mystery-encounters/utils/encounter-phase-utils";
|
||||||
import Pokemon, { EnemyPokemon, PlayerPokemon } from "#app/field/pokemon";
|
import Pokemon, { EnemyPokemon, PlayerPokemon } from "#app/field/pokemon";
|
||||||
import {
|
import {
|
||||||
BerryModifierType, getPartyLuckValue,
|
BerryModifierType,
|
||||||
|
getPartyLuckValue,
|
||||||
ModifierPoolType,
|
ModifierPoolType,
|
||||||
ModifierTypeOption, modifierTypes,
|
ModifierTypeOption, modifierTypes,
|
||||||
regenerateModifierPoolThresholds,
|
regenerateModifierPoolThresholds,
|
||||||
|
@ -41,7 +41,9 @@ import { AttackTypeBoosterModifierType, ModifierTypeOption, modifierTypes } from
|
|||||||
import {
|
import {
|
||||||
AttackTypeBoosterModifier,
|
AttackTypeBoosterModifier,
|
||||||
BypassSpeedChanceModifier,
|
BypassSpeedChanceModifier,
|
||||||
ContactHeldItemTransferChanceModifier, GigantamaxAccessModifier, MegaEvolutionAccessModifier,
|
ContactHeldItemTransferChanceModifier,
|
||||||
|
GigantamaxAccessModifier,
|
||||||
|
MegaEvolutionAccessModifier,
|
||||||
PokemonHeldItemModifier
|
PokemonHeldItemModifier
|
||||||
} from "#app/modifier/modifier";
|
} from "#app/modifier/modifier";
|
||||||
import i18next from "i18next";
|
import i18next from "i18next";
|
||||||
@ -356,7 +358,8 @@ export const BugTypeSuperfanEncounter: MysteryEncounter =
|
|||||||
},
|
},
|
||||||
];
|
];
|
||||||
} else {
|
} 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 modifierOptions: ModifierTypeOption[] = [ generateModifierTypeOption(scene, modifierTypes.MASTER_BALL)! ];
|
||||||
const specialOptions: ModifierTypeOption[] = [];
|
const specialOptions: ModifierTypeOption[] = [];
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ import { MysteryEncounterType } from "#enums/mystery-encounter-type";
|
|||||||
import { AttackTypeBoosterModifier } from "#app/modifier/modifier";
|
import { AttackTypeBoosterModifier } from "#app/modifier/modifier";
|
||||||
import { AttackTypeBoosterModifierType } from "#app/modifier/modifier-type";
|
import { AttackTypeBoosterModifierType } from "#app/modifier/modifier-type";
|
||||||
import { SpeciesFormKey } from "#enums/species-form-key";
|
import { SpeciesFormKey } from "#enums/species-form-key";
|
||||||
import { Ability } from "#app/data/ability";
|
import { allAbilities } from "#app/data/ability";
|
||||||
|
|
||||||
export interface EncounterRequirement {
|
export interface EncounterRequirement {
|
||||||
meetsRequirement(scene: BattleScene): boolean; // Boolean to see if a requirement is met
|
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[] {
|
override queryParty(partyPokemon: PlayerPokemon[]): PlayerPokemon[] {
|
||||||
if (!this.invertQuery) {
|
if (!this.invertQuery) {
|
||||||
|
// get the Pokemon with at least one move in the required moves list
|
||||||
return partyPokemon.filter((pokemon) =>
|
return partyPokemon.filter((pokemon) =>
|
||||||
(!this.excludeDisallowedPokemon || pokemon.isAllowedInBattle())
|
(!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 {
|
} else {
|
||||||
// for an inverted query, we only want to get the pokemon that don't have ANY of the listed moves
|
// for an inverted query, we only want to get the pokemon that don't have ANY of the listed moves
|
||||||
return partyPokemon.filter((pokemon) =>
|
return partyPokemon.filter((pokemon) =>
|
||||||
(!this.excludeDisallowedPokemon || pokemon.isAllowedInBattle())
|
(!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));
|
const matchingAbility = this.requiredAbilities.find(a => pokemon?.hasAbility(a, false));
|
||||||
if (!isNullOrUndefined(matchingAbility)) {
|
if (!isNullOrUndefined(matchingAbility)) {
|
||||||
return [ "ability", new Ability(matchingAbility, 3).name ];
|
return [ "ability", allAbilities[matchingAbility].name ];
|
||||||
}
|
}
|
||||||
return [ "ability", "" ];
|
return [ "ability", "" ];
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user