diff --git a/src/battle-scene.ts b/src/battle-scene.ts index 48c3dba0f46..397663d0a60 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -101,7 +101,7 @@ import type { SpeciesFormChangeTrigger } from "./data/pokemon-forms/form-change- import { pokemonFormChanges } from "#app/data/pokemon-forms"; import { SpeciesFormChangeTimeOfDayTrigger } from "./data/pokemon-forms/form-change-triggers"; import { SpeciesFormChangeManualTrigger } from "./data/pokemon-forms/form-change-triggers"; -import { SpeciesFormChangeItemTrigger } from "#app/data/pokemon-forms"; +import { SpeciesFormChangeItemTrigger } from "#app/data/pokemon-forms/form-change-triggers"; import { FormChangeItem } from "#enums/form-change-item"; import { getTypeRgb } from "#app/data/type"; import { PokemonType } from "#enums/pokemon-type"; diff --git a/src/data/pokemon-forms/form-change-triggers.ts b/src/data/pokemon-forms/form-change-triggers.ts index eb2c0a557c2..93e2bdd5ff5 100644 --- a/src/data/pokemon-forms/form-change-triggers.ts +++ b/src/data/pokemon-forms/form-change-triggers.ts @@ -3,7 +3,6 @@ import type { Constructor } from "#app/utils/common"; import type { TimeOfDay } from "#enums/time-of-day"; import type Pokemon from "#app/field/pokemon"; import type { SpeciesFormChange } from "#app/data/pokemon-forms"; -import type { PokemonFormChangeItemModifier } from "#app/modifier/modifier"; import { getPokemonNameWithAffix } from "#app/messages"; import { globalScene } from "#app/global-scene"; import { FormChangeItem } from "#enums/form-change-item"; @@ -77,16 +76,11 @@ export class SpeciesFormChangeItemTrigger extends SpeciesFormChangeTrigger { } canChange(pokemon: Pokemon): boolean { - return !!globalScene.findModifier(r => { - // Assume that if m has the `formChangeItem` property, then it is a PokemonFormChangeItemModifier - const m = r as PokemonFormChangeItemModifier; - return ( - "formChangeItem" in m && - m.pokemonId === pokemon.id && - m.formChangeItem === this.item && - m.active === this.active - ); - }); + const matchItem = pokemon.heldItemManager.formChangeItems[this.item]; + if (!matchItem) { + return false; + } + return matchItem.active === this.active; } }