mlpcardgame/src/mlpccg/draft/types.ts

47 lines
749 B
TypeScript

import { Card } from "@/mlpccg";
export type Provider = Iterator<Card>;
export type Pack = Card[];
export interface PackSchema {
slots: PackSlot[];
}
export interface PackSlot {
amount: number;
provider: Provider;
alternate: AlternateProvider[];
}
export interface AlternateProvider {
probability: number;
provider: Provider;
}
export interface SetDraftOptions {
type: "set";
set: string;
}
export interface BlockDraftOptions {
type: "block";
block: string;
}
export interface CubeDraftOptions {
type: "cube";
url: string;
}
export interface I8PCubeDraftOptions {
type: "i8pcube";
url: string;
}
export type DraftOptions =
| SetDraftOptions
| BlockDraftOptions
| CubeDraftOptions
| I8PCubeDraftOptions;