pvpokemon/src/ts/app/models/Pokemon.ts
2019-02-09 18:21:29 -05:00

62 lines
1.1 KiB
TypeScript

import POGOProtos from 'pogo-protos';
export const DEFAULT_POKEMON_NAME = 'MissingNo.';
export enum Grade {
'S',
'A',
'B',
'C',
'D',
'F',
}
export interface IBaseStats {
baseAttack : number;
baseDefense : number;
baseStamina : number;
}
export interface IBaseStatsRank {
attackRank : number;
defenseRank : number;
staminaRank : number;
}
export interface IMaxStats extends IBaseStats {
level : number;
}
export interface IPokemonSpecies {
name : string;
dex : number;
order : number;
genus : string;
}
export interface IPokemon extends IPokemonSpecies {
id : POGOProtos.Enums.PokemonId;
form : POGOProtos.Enums.Form;
family : POGOProtos.Enums.PokemonFamilyId;
types : {
type1 : POGOProtos.Enums.PokemonType;
type2 : POGOProtos.Enums.PokemonType | null;
};
stats : IBaseStats;
statsRank : IBaseStatsRank;
}
export interface IStats {
cp : number;
level : number;
ivHp : number;
ivAtk : number;
ivDef : number;
hp : number;
atk : number;
def : number;
total : number;
speciesGrade : Grade;
metaGrade : Grade;
}