|
import type { PicletType } from '../types/picletTypes'; |
|
|
|
|
|
export enum EncounterType { |
|
WILD_PICLET = 'wildPiclet', |
|
FIRST_PICLET = 'firstPiclet' |
|
} |
|
|
|
|
|
|
|
export interface PicletInstance { |
|
id?: number; |
|
|
|
|
|
typeId: string; |
|
nickname?: string; |
|
primaryType: PicletType; |
|
tier: string; |
|
|
|
|
|
isInRoster: boolean; |
|
rosterPosition?: number; |
|
|
|
|
|
caught: boolean; |
|
caughtAt?: Date; |
|
|
|
|
|
imageUrl: string; |
|
imageData?: string; |
|
imageCaption: string; |
|
concept: string; |
|
description: string; |
|
imagePrompt: string; |
|
} |
|
|
|
|
|
export interface Encounter { |
|
id?: number; |
|
|
|
|
|
type: EncounterType; |
|
|
|
|
|
title: string; |
|
description: string; |
|
picletTypeId?: string; |
|
picletInstanceId?: number; |
|
enemyLevel?: number; |
|
|
|
|
|
createdAt: Date; |
|
} |
|
|
|
|
|
export interface GameState { |
|
id?: number; |
|
|
|
|
|
lastEncounterRefresh: Date; |
|
lastPlayed: Date; |
|
|
|
|
|
progressPoints: number; |
|
trainersDefeated: number; |
|
picletsCapured: number; |
|
battlesLost: number; |
|
} |
|
|
|
|
|
|
|
export interface TrainerScanProgress { |
|
id?: number; |
|
|
|
|
|
imagePath: string; |
|
trainerName: string; |
|
imageIndex: number; |
|
|
|
|
|
status: 'pending' | 'processing' | 'completed' | 'failed'; |
|
|
|
|
|
picletInstanceId?: number; |
|
errorMessage?: string; |
|
|
|
|
|
startedAt?: Date; |
|
completedAt?: Date; |
|
|
|
|
|
remoteUrl: string; |
|
} |
|
|
|
|