diff --git a/src/data/balance/pokemon-evolutions.ts b/src/data/balance/pokemon-evolutions.ts index 6ae4cf96a18..74a9284a727 100644 --- a/src/data/balance/pokemon-evolutions.ts +++ b/src/data/balance/pokemon-evolutions.ts @@ -206,7 +206,7 @@ export class SpeciesEvolutionCondition { case EvoCondKey.HELD_ITEM: return pokemon.getHeldItems().some(m => m.is("SpeciesStatBoosterModifier") && (m.type as SpeciesStatBoosterModifierType).key === cond.itemKey); case EvoCondKey.USE_MOVE_COUNT: - return pokemon.getHeldItems().some(m => m.is("MoveTrackerModifier") && m.getStackCount() >= cond.value); + return pokemon.getHeldItems().some(m => m.is("MoveTrackerModifier") && m.shouldApply(pokemon, cond.move) && m.getStackCount() >= cond.value); } }); } diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index 449af08e2ab..00b0ab2e2a7 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -983,6 +983,10 @@ export class MoveTrackerModifier extends PokemonHeldItemModifier { return super.getArgs().concat([this.species, this.move, this.required]); } + override shouldApply(pokemon?: Pokemon, ...args: unknown[]): boolean { + return (pokemon?.hasSpecies(this.species) && (args[0] as MoveId) === this.move) || false; + } + /** * Applies the {@linkcode MoveTrackerModifier} * @returns always `true`