54 lines
929 B
TypeScript
54 lines
929 B
TypeScript
import type {
|
|
TibiaProtection,
|
|
TibiaRequirements,
|
|
TibiaStats,
|
|
} from "./currency";
|
|
|
|
export interface TibiaItem {
|
|
id: string;
|
|
name: string;
|
|
image: string;
|
|
alt?: string;
|
|
category:
|
|
| "weapon"
|
|
| "armor"
|
|
| "helmet"
|
|
| "legs"
|
|
| "boots"
|
|
| "shield"
|
|
| "amulet"
|
|
| "ring"
|
|
| "potion"
|
|
| "rune"
|
|
| "tool"
|
|
| "ammunition"
|
|
| "other";
|
|
rarity: "common" | "uncommon" | "rare" | "epic" | "legendary";
|
|
stats?: TibiaStats;
|
|
requirements?: TibiaRequirements;
|
|
protections?: TibiaProtection;
|
|
stackable?: boolean;
|
|
dropLocation?: string;
|
|
npcPrice?: number;
|
|
price: {
|
|
buy: number;
|
|
sell: number;
|
|
bid?: number;
|
|
};
|
|
priceHistory: {
|
|
highest: number;
|
|
lowest: number;
|
|
average: number;
|
|
};
|
|
}
|
|
|
|
export interface MarketOffer {
|
|
id: string;
|
|
item: TibiaItem;
|
|
seller: string;
|
|
price: number;
|
|
quantity: number;
|
|
type: "buy" | "sell";
|
|
timestamp: Date;
|
|
}
|