49 lines
1.1 KiB
TypeScript
Executable File

import { PetBasicAction, PetGatherAction } from "./PetUpdateActionRequest";
export type PetClass = 'FOREST_SPIRIT' | 'OCEAN_GUARDIAN' | 'FIRE_ELEMENTAL' | 'MYTHICAL_BEAST' | 'SHADOW_WALKER' | 'CYBER_PET' | 'BIO_MECHANICAL';
export interface PetStats {
intelligence: number;
strength: number;
charisma: number;
maxIntelligence: number;
maxStrength: number;
maxCharisma: number;
}
export interface Resources {
wisdom: number;
gold: number;
food: number;
junk: number;
}
export interface Pet {
id: string;
name: string;
class: PetClass;
stats: PetStats;
resources: Resources;
level: number;
health: number;
maxHealth: number;
petGatherAction: PetGatherAction;
basicActionCooldown: Date;
petBasicAction: PetBasicAction;
skillPoints: number;
inventory: Inventory;
}
export type InvItemInteraction = 'EQUIP' | 'UNEQUIP' | 'USE' | 'DROP';
export interface Inventory {
items: number[];
capacity: number;
}
export interface PetClassInfo {
name: string;
description: string;
modifiers: string[];
color: string;
emoji: string;
}