Pokemon class can add held items

This commit is contained in:
Wlowscha 2025-04-13 19:50:41 +02:00
parent 167c5f1635
commit 662d7d3a6a
No known key found for this signature in database
GPG Key ID: 3C8F1AD330565D04

View File

@ -259,6 +259,7 @@ import { MoveFlags } from "#enums/MoveFlags";
import { timedEventManager } from "#app/global-event-manager"; import { timedEventManager } from "#app/global-event-manager";
import { loadMoveAnimations } from "#app/sprites/pokemon-asset-loader"; import { loadMoveAnimations } from "#app/sprites/pokemon-asset-loader";
import { ResetStatusPhase } from "#app/phases/reset-status-phase"; import { ResetStatusPhase } from "#app/phases/reset-status-phase";
import { allHeldItems, HeldItemType } from "#app/modifier/held-items";
export enum LearnMoveSituation { export enum LearnMoveSituation {
MISC, MISC,
@ -341,6 +342,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
private shinySparkle: Phaser.GameObjects.Sprite; private shinySparkle: Phaser.GameObjects.Sprite;
private heldItems: [HeldItemType, number][] = [];
constructor( constructor(
x: number, x: number,
y: number, y: number,
@ -1186,6 +1189,22 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
) as PokemonHeldItemModifier[]; ) as PokemonHeldItemModifier[];
} }
getHeldItems2(): [HeldItemType, number][] {
return this.heldItems;
}
addHeldItem(itemType: HeldItemType, stack: number) {
const maxStack = allHeldItems[itemType].getMaxStackCount();
const existing = this.heldItems.find(([type]) => type === itemType);
if (existing) {
existing[1] = Math.min(existing[1] + stack, maxStack);
} else {
this.heldItems.push([itemType, Math.min(stack, maxStack)]);
}
}
updateScale(): void { updateScale(): void {
this.setScale(this.getSpriteScale()); this.setScale(this.getSpriteScale());
} }