From 26d32d382b9a6b7fdab69e0d1691a17f14bce58b Mon Sep 17 00:00:00 2001 From: Wlowscha <54003515+Wlowscha@users.noreply.github.com> Date: Sat, 6 Sep 2025 17:21:35 +0200 Subject: [PATCH] Reverted changes to `HeldItemBase` --- src/data/data-lists.ts | 4 ++-- src/items/all-held-items.ts | 5 +++-- src/items/held-item.ts | 21 ++++++++++----------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/data/data-lists.ts b/src/data/data-lists.ts index 4e2a7931b31..f274c7557e5 100644 --- a/src/data/data-lists.ts +++ b/src/data/data-lists.ts @@ -2,7 +2,7 @@ import type { Ability } from "#abilities/ability"; import type { PokemonSpecies } from "#data/pokemon-species"; import type { HeldItemId } from "#enums/held-item-id"; import type { TrainerItemId } from "#enums/trainer-item-id"; -import type { HeldItem } from "#items/held-item"; +import type { HeldItemBase } from "#items/held-item"; import type { TrainerItem } from "#items/trainer-item"; import type { Move } from "#moves/move"; @@ -11,6 +11,6 @@ export const allMoves: Move[] = []; export const allSpecies: PokemonSpecies[] = []; //@ts-expect-error -export const allHeldItems: Record = {}; +export const allHeldItems: Record = {}; //@ts-expect-error export const allTrainerItems: Record = {}; diff --git a/src/items/all-held-items.ts b/src/items/all-held-items.ts index eede152da56..bab3f79b863 100644 --- a/src/items/all-held-items.ts +++ b/src/items/all-held-items.ts @@ -160,8 +160,9 @@ export function applyHeldItems(effect: T, params: Held if (pokemon) { // TODO: Make this use `getHeldItems` and make `heldItems` array private for (const item of pokemon.heldItemManager.getHeldItems()) { - if (allHeldItems[item].effects.includes(effect)) { - allHeldItems[item].apply(effect, params); + const heldItem = allHeldItems[item]; + if (heldItem.effects.includes(effect)) { + heldItem!.apply(effect, params); } } } diff --git a/src/items/held-item.ts b/src/items/held-item.ts index c9254e46599..31dec3b7cca 100644 --- a/src/items/held-item.ts +++ b/src/items/held-item.ts @@ -7,13 +7,7 @@ import type { UniqueArray } from "#utils/common"; import i18next from "i18next"; import type { HeldItemEffectParamMap } from "./held-item-parameter"; -/** Tuple type containing >1 `HeldItemEffect`s */ -export type EffectTuple = Readonly<[HeldItemEffect, ...HeldItemEffect[]]>; - -/** - * Abstract class for all non-cosmetic held items (i.e. ones that can have their effects applied). - */ -export abstract class HeldItem { +export abstract class HeldItemBase { public type: HeldItemId; public readonly maxStackCount: number; public isTransferable = true; @@ -121,7 +115,15 @@ export abstract class HeldItem { this.isSuppressable = false; return this; } +} +/** Tuple type containing >1 `HeldItemEffect`s */ +export type EffectTuple = Readonly<[HeldItemEffect, ...HeldItemEffect[]]>; + +/** + * Abstract class for all non-cosmetic held items (i.e. ones that can have their effects applied). + */ +export abstract class HeldItem extends HeldItemBase { /** * A readonly tuple containing all {@linkcode HeldItemEffect | effects} that this class can apply. * @privateRemarks @@ -172,7 +174,4 @@ export abstract class ConsumableHeldItem extends HeldItem } /** Abstract class for all `HeldItem`s that can be consumed during battle. */ -export abstract class CosmeticHeldItem extends HeldItem<[typeof HeldItemEffect.COSMETIC]> { - effects: readonly [typeof HeldItemEffect.COSMETIC]; - apply() {} -} +export abstract class CosmeticHeldItem extends HeldItemBase {}