import { IPokemon, IStats } from './Pokemon';

export type League = 'great' | 'ultra' | 'master' | 'custom';

export interface IMaxCpByLeague {
    great : number;
    ultra : number;
    master : number;
    custom : number;
}

export const MaxCpByLeague : IMaxCpByLeague = {
    great: 1500,
    ultra: 2500,
    master: Infinity,
    custom: Infinity,
};

export const LeagueLabels : Array<{ id : League, label : string }> = [{
    id: 'great',
    label: 'Great'
}, {
    id: 'ultra',
    label: 'Ultra'
}, {
    id: 'master',
    label: 'Master'
}, {
    id: 'custom',
    label: 'Custom'
}];

interface IBestWorstStatSpread {
    best : number;
    worst : number;
}
export interface IBestWorstStats {
    stamina : IBestWorstStatSpread;
    attack : IBestWorstStatSpread;
    defense : IBestWorstStatSpread;
}
export interface ILeaguePokemon extends IPokemon {
    statMax : {
        great : IBestWorstStats;
        ultra : IBestWorstStats;
        master : IBestWorstStats;
        custom : IBestWorstStats;
    };
    pvp : {
        great : Array<IStats>;
        ultra : Array<IStats>;
        master : Array<IStats>;
        custom : Array<IStats>;
    };
}
