diff --git a/public/locales b/public/locales index 4dab23d6a78..fade123e20f 160000 --- a/public/locales +++ b/public/locales @@ -1 +1 @@ -Subproject commit 4dab23d6a78b6cf32db43c9953e3c2000f448007 +Subproject commit fade123e20ff951e199d7c0466686fe8c5511643 diff --git a/src/data/balance/pokemon-evolutions.ts b/src/data/balance/pokemon-evolutions.ts index e97a51fed29..5dda1912e44 100644 --- a/src/data/balance/pokemon-evolutions.ts +++ b/src/data/balance/pokemon-evolutions.ts @@ -291,13 +291,18 @@ export class SpeciesFormEvolution { ); } + /** + * Checks if this evolution is item-based and any conditions for it are fulfilled + * @param pokemon {@linkcode Pokemon} who wants to evolve + * @param forFusion defaults to False. Whether this evolution is meant for the secondary fused mon. In that case, use their form key. + * @returns whether this evolution uses an item and can apply to the Pokemon + */ public isValidItemEvolution(pokemon: Pokemon, forFusion = false): boolean { return ( - // If an item is given, check if it's the right one !isNullOrUndefined(this.item) && pokemon.level >= this.level && // Check form key, using the fusion's form key if we're checking the fusion - (isNullOrUndefined(this.preFormKey) || (forFusion ? pokemon.getFormKey() : pokemon.getFusionFormKey()) === this.preFormKey) && + (isNullOrUndefined(this.preFormKey) || (forFusion ? pokemon.getFusionFormKey() : pokemon.getFormKey()) === this.preFormKey) && (isNullOrUndefined(this.condition) || this.condition.conditionsFulfilled(pokemon)) ); } diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index a22486210b0..a04a5e2be47 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -1603,12 +1603,12 @@ class EvolutionItemModifierTypeGenerator extends ModifierTypeGenerator { ) .flatMap(p => { const evolutions = pokemonEvolutions[p.fusionSpecies!.speciesId]; - return evolutions.filter(e => e.validate(p, true)); + return evolutions.filter(e => e.isValidItemEvolution(p, true)); }), ] .flat() .flatMap(e => e.evoItem) - .filter(i => (!!i && i > 50) === rare); + .filter(i => !!i && i > 50 === rare); if (!evolutionItemPool.length) { return null; diff --git a/src/plugins/i18n.ts b/src/plugins/i18n.ts index 8ca9005096f..eab427e7b4a 100644 --- a/src/plugins/i18n.ts +++ b/src/plugins/i18n.ts @@ -101,6 +101,7 @@ const namespaceMap = { doubleBattleDialogue: "dialogue-double-battle", splashMessages: "splash-texts", mysteryEncounterMessages: "mystery-encounter-texts", + biome: "biomes", }; //#region Functions