mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-09-24 07:23:24 +02:00
Reverted changes to HeldItemBase
This commit is contained in:
parent
b7df2e806a
commit
26d32d382b
@ -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<HeldItemId, HeldItem> = {};
|
||||
export const allHeldItems: Record<HeldItemId, HeldItemBase> = {};
|
||||
//@ts-expect-error
|
||||
export const allTrainerItems: Record<TrainerItemId, TrainerItem> = {};
|
||||
|
@ -160,8 +160,9 @@ export function applyHeldItems<T extends HeldItemEffect>(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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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<T extends EffectTuple> {
|
||||
export abstract class HeldItemBase {
|
||||
public type: HeldItemId;
|
||||
public readonly maxStackCount: number;
|
||||
public isTransferable = true;
|
||||
@ -121,7 +115,15 @@ export abstract class HeldItem<T extends EffectTuple> {
|
||||
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<T extends EffectTuple> extends HeldItemBase {
|
||||
/**
|
||||
* A readonly tuple containing all {@linkcode HeldItemEffect | effects} that this class can apply.
|
||||
* @privateRemarks
|
||||
@ -172,7 +174,4 @@ export abstract class ConsumableHeldItem<T extends EffectTuple> 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 {}
|
||||
|
Loading…
Reference in New Issue
Block a user