fix form display
This commit is contained in:
parent
da69c12356
commit
f87fbf37cf
6
src/scripts/convertGameMasterToJson.js
Normal file
6
src/scripts/convertGameMasterToJson.js
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
const POGOProtos = require('pogo-protos');
|
||||||
|
const fs = require('fs');
|
||||||
|
|
||||||
|
const gamemaster = fs.readFileSync('externals/pokemongo-game-master/versions/latest/GAME_MASTER.protobuf');
|
||||||
|
const decoded = POGOProtos.Networking.Responses.DownloadItemTemplatesResponse.decode(gamemaster);
|
||||||
|
fs.writeFileSync(`gamemaster_${ decoded.timestamp_ms }.json`, JSON.stringify(decoded, null, 2));
|
||||||
@ -26,16 +26,6 @@ const maxPossibleStats : IMaxStats = {
|
|||||||
level: 40,
|
level: 40,
|
||||||
};
|
};
|
||||||
|
|
||||||
const getClosestCpMultiplierIndex = (value : number) => {
|
|
||||||
let i;
|
|
||||||
for (i = 0; i < LevelMultipliers.length; i++) {
|
|
||||||
if (value < LevelMultipliers[i]) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return Math.max(i - 1, 0);
|
|
||||||
};
|
|
||||||
|
|
||||||
fs.mkdirSync(outPath, { recursive: true });
|
fs.mkdirSync(outPath, { recursive: true });
|
||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
@ -14,7 +14,9 @@ interface ICalculateRelativeStats {
|
|||||||
export const parseGameMaster = async () => {
|
export const parseGameMaster = async () => {
|
||||||
const apiService = new ApiService();
|
const apiService = new ApiService();
|
||||||
// const pokemonForms : { [ key in keyof typeof POGOProtos.Enums.PokemonId ]? : Array<POGOProtos.Enums.Form> } = {};
|
// const pokemonForms : { [ key in keyof typeof POGOProtos.Enums.PokemonId ]? : Array<POGOProtos.Enums.Form> } = {};
|
||||||
const pokemonData : { [ key in keyof typeof POGOProtos.Enums.PokemonId ]? : Array<IPokemon> } = {};
|
// const pokemonData : { [ key in keyof typeof POGOProtos.Enums.PokemonId ]? : Array<IPokemon> } = {};
|
||||||
|
const pokemonDataByPokemonId : Map<POGOProtos.Enums.PokemonId, Array<IPokemon>> = new Map();
|
||||||
|
const pokemonFormsByPokemonId : Map<POGOProtos.Enums.PokemonId, Array<POGOProtos.Enums.Form>> = new Map();
|
||||||
|
|
||||||
const pokemonBaseStamina : Array<ICalculateRelativeStats> = [];
|
const pokemonBaseStamina : Array<ICalculateRelativeStats> = [];
|
||||||
const pokemonBaseAttack : Array<ICalculateRelativeStats> = [];
|
const pokemonBaseAttack : Array<ICalculateRelativeStats> = [];
|
||||||
@ -23,7 +25,6 @@ export const parseGameMaster = async () => {
|
|||||||
|
|
||||||
const GameMasterProto = fs.readFileSync('externals/pokemongo-game-master/versions/latest/GAME_MASTER.protobuf');
|
const GameMasterProto = fs.readFileSync('externals/pokemongo-game-master/versions/latest/GAME_MASTER.protobuf');
|
||||||
const GameMaster = POGOProtos.Networking.Responses.DownloadItemTemplatesResponse.decode(GameMasterProto);
|
const GameMaster = POGOProtos.Networking.Responses.DownloadItemTemplatesResponse.decode(GameMasterProto);
|
||||||
// fs.writeFileSync('gamemaster.json', JSON.stringify(decoded, null, 2));
|
|
||||||
|
|
||||||
const version = GameMaster.timestamp_ms;
|
const version = GameMaster.timestamp_ms;
|
||||||
|
|
||||||
@ -32,14 +33,13 @@ export const parseGameMaster = async () => {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ignore *_NORMAL entries
|
if (entry.template_id.match(/^V(\d{4})_POKEMON_(\w+)$/) && entry.pokemon_settings) {
|
||||||
if (entry.template_id.match(/^V(\d{4})_POKEMON_(\w+)(?<!_NORMAL)$/) && entry.pokemon_settings) {
|
|
||||||
const pokemonId = entry.pokemon_settings.pokemon_id || POGOProtos.Enums.PokemonId.MISSINGNO;
|
const pokemonId = entry.pokemon_settings.pokemon_id || POGOProtos.Enums.PokemonId.MISSINGNO;
|
||||||
|
const pokemonData = pokemonDataByPokemonId.get(pokemonId) || [];
|
||||||
const dex = parseInt(RegExp.$1, 10);
|
const dex = parseInt(RegExp.$1, 10);
|
||||||
|
|
||||||
const speciesInfo = await apiService.getPokemonSpeciesInfo(pokemonId, dex, POGOProtos.Enums.PokemonId[pokemonId]);
|
const speciesInfo = await apiService.getPokemonSpeciesInfo(pokemonId, dex, POGOProtos.Enums.PokemonId[pokemonId]);
|
||||||
|
|
||||||
pokemonData[pokemonId] = pokemonData[pokemonId] || [];
|
|
||||||
const mon = {
|
const mon = {
|
||||||
...speciesInfo,
|
...speciesInfo,
|
||||||
id: pokemonId,
|
id: pokemonId,
|
||||||
@ -60,7 +60,8 @@ export const parseGameMaster = async () => {
|
|||||||
staminaRank: -1,
|
staminaRank: -1,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
pokemonData[pokemonId]!.push(mon);
|
pokemonData.push(mon);
|
||||||
|
pokemonDataByPokemonId.set(pokemonId, pokemonData);
|
||||||
|
|
||||||
const key = POGOProtos.Enums.PokemonId[mon.id] + POGOProtos.Enums.Form[mon.form];
|
const key = POGOProtos.Enums.PokemonId[mon.id] + POGOProtos.Enums.Form[mon.form];
|
||||||
|
|
||||||
@ -84,23 +85,42 @@ export const parseGameMaster = async () => {
|
|||||||
attackRank: -1,
|
attackRank: -1,
|
||||||
defenseRank: -1,
|
defenseRank: -1,
|
||||||
};
|
};
|
||||||
// } else if (entry.template_id.indexOf('FORMS_V') === 0 && entry.form_settings) {
|
|
||||||
// const pokemonId = entry.form_settings.pokemon || POGOProtos.Enums.PokemonId.MISSINGNO;
|
} else if (entry.template_id.indexOf('FORMS_V') === 0 && entry.form_settings) {
|
||||||
// if (entry.form_settings.forms) {
|
// typings say `forms` can be undefined, but in practice, it's not
|
||||||
// pokemonForms[pokemonId] = entry.form_settings.forms.reduce((output : Array<POGOProtos.Enums.Form>, form) => {
|
if (entry.form_settings.forms && entry.form_settings.forms.length > 0) {
|
||||||
// if (form.form) {
|
const pokemonId = entry.form_settings.pokemon || POGOProtos.Enums.PokemonId.MISSINGNO;
|
||||||
// output.push(form.form);
|
// console.log(entry);
|
||||||
// }
|
let pokemonData = pokemonFormsByPokemonId.get(pokemonId) || [];
|
||||||
// return output;
|
pokemonData = entry.form_settings.forms.reduce((output : Array<POGOProtos.Enums.Form>, form) => {
|
||||||
// }, []);
|
if (form.form) {
|
||||||
// } else if (pokemonId) {
|
output.push(form.form);
|
||||||
// pokemonForms[pokemonId] = [POGOProtos.Enums.Form.FORM_UNSET];
|
}
|
||||||
// }
|
return output;
|
||||||
|
}, pokemonData);
|
||||||
|
pokemonFormsByPokemonId.set(pokemonId, pokemonData);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// remove pokemon placeholders for ones that have forms
|
||||||
|
for (const [ pokemonId, forms ] of pokemonFormsByPokemonId) {
|
||||||
|
let pokemonData = pokemonDataByPokemonId.get(pokemonId);
|
||||||
|
if (typeof pokemonData === 'undefined' || pokemonData.length === 1) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
pokemonData = pokemonData.reduce((data : Array<IPokemon>, pokemon) => {
|
||||||
|
const pokemonHasForm = forms.some((form) => form === pokemon.form);
|
||||||
|
if (pokemonHasForm) {
|
||||||
|
data.push(pokemon);
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}, []);
|
||||||
|
pokemonDataByPokemonId.set(pokemonId, pokemonData);
|
||||||
|
}
|
||||||
|
|
||||||
// const orderedPokemon = Object.values(pokemonData).sort((a, b) => {
|
// const orderedPokemon = Object.values(pokemonData).sort((a, b) => {
|
||||||
const orderedPokemon = (Object.values(pokemonData) as unknown as Array<Array<IPokemon>>).sort((a, b) => {
|
const orderedPokemon = Array.from(pokemonDataByPokemonId.values()).sort((a, b) => {
|
||||||
return a[0].order - b[0].order;
|
return a[0].order - b[0].order;
|
||||||
});
|
});
|
||||||
orderedPokemon.forEach((value) => {
|
orderedPokemon.forEach((value) => {
|
||||||
@ -7,7 +7,7 @@ import classNames from 'classnames';
|
|||||||
import { IBestWorstStats, ILeaguePokemon, League } from 'app/models/League';
|
import { IBestWorstStats, ILeaguePokemon, League } from 'app/models/League';
|
||||||
import { Grade, IStats, } from 'app/models/Pokemon';
|
import { Grade, IStats, } from 'app/models/Pokemon';
|
||||||
import { calculateCp, calculateStatAtLevel } from 'app/utils/calculator';
|
import { calculateCp, calculateStatAtLevel } from 'app/utils/calculator';
|
||||||
import { alolanForms, formatDexNumber, formatForm, formatType } from 'app/utils/formatter';
|
import { formatDexNumber, formatForm, formatType, Forms } from 'app/utils/formatter';
|
||||||
|
|
||||||
import { IIndividualValues, IndividualValueKey } from './types';
|
import { IIndividualValues, IndividualValueKey } from './types';
|
||||||
|
|
||||||
@ -218,7 +218,43 @@ export class PokemonExplorer extends React.Component<IPokemonExplorerProps, ISta
|
|||||||
const pokemonIconCss = classNames(
|
const pokemonIconCss = classNames(
|
||||||
`pokemon-${dex}`,
|
`pokemon-${dex}`,
|
||||||
{
|
{
|
||||||
alola: alolanForms.indexOf(leaguePokemon.form) > -1
|
normal: Forms.normal.indexOf(leaguePokemon.form) > -1,
|
||||||
|
alola: Forms.alola.indexOf(leaguePokemon.form) > -1,
|
||||||
|
westSea: Forms.westSea.indexOf(leaguePokemon.form) > -1,
|
||||||
|
eastSea: Forms.eastSea.indexOf(leaguePokemon.form) > -1,
|
||||||
|
frost: Forms.frost.indexOf(leaguePokemon.form) > -1,
|
||||||
|
fan: Forms.fan.indexOf(leaguePokemon.form) > -1,
|
||||||
|
mow: Forms.mow.indexOf(leaguePokemon.form) > -1,
|
||||||
|
wash: Forms.wash.indexOf(leaguePokemon.form) > -1,
|
||||||
|
heat: Forms.heat.indexOf(leaguePokemon.form) > -1,
|
||||||
|
sky: Forms.sky.indexOf(leaguePokemon.form) > -1,
|
||||||
|
land: Forms.land.indexOf(leaguePokemon.form) > -1,
|
||||||
|
overcast: Forms.overcast.indexOf(leaguePokemon.form) > -1,
|
||||||
|
sunny: Forms.sunny.indexOf(leaguePokemon.form) > -1,
|
||||||
|
rainy: Forms.rainy.indexOf(leaguePokemon.form) > -1,
|
||||||
|
snowy: Forms.snowy.indexOf(leaguePokemon.form) > -1,
|
||||||
|
attack: Forms.attack.indexOf(leaguePokemon.form) > -1,
|
||||||
|
defense: Forms.defense.indexOf(leaguePokemon.form) > -1,
|
||||||
|
speed: Forms.speed.indexOf(leaguePokemon.form) > -1,
|
||||||
|
altered: Forms.altered.indexOf(leaguePokemon.form) > -1,
|
||||||
|
origin: Forms.origin.indexOf(leaguePokemon.form) > -1,
|
||||||
|
fighting: Forms.fighting.indexOf(leaguePokemon.form) > -1,
|
||||||
|
flying: Forms.flying.indexOf(leaguePokemon.form) > -1,
|
||||||
|
poison: Forms.poison.indexOf(leaguePokemon.form) > -1,
|
||||||
|
ground: Forms.ground.indexOf(leaguePokemon.form) > -1,
|
||||||
|
rock: Forms.rock.indexOf(leaguePokemon.form) > -1,
|
||||||
|
bug: Forms.bug.indexOf(leaguePokemon.form) > -1,
|
||||||
|
ghost: Forms.ghost.indexOf(leaguePokemon.form) > -1,
|
||||||
|
steel: Forms.steel.indexOf(leaguePokemon.form) > -1,
|
||||||
|
fire: Forms.fire.indexOf(leaguePokemon.form) > -1,
|
||||||
|
water: Forms.water.indexOf(leaguePokemon.form) > -1,
|
||||||
|
grass: Forms.grass.indexOf(leaguePokemon.form) > -1,
|
||||||
|
electric: Forms.electric.indexOf(leaguePokemon.form) > -1,
|
||||||
|
psychic: Forms.psychic.indexOf(leaguePokemon.form) > -1,
|
||||||
|
ice: Forms.ice.indexOf(leaguePokemon.form) > -1,
|
||||||
|
dragon: Forms.dragon.indexOf(leaguePokemon.form) > -1,
|
||||||
|
dark: Forms.dark.indexOf(leaguePokemon.form) > -1,
|
||||||
|
fairy: Forms.fairy.indexOf(leaguePokemon.form) > -1,
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@ -133,7 +133,9 @@ export class PokemonSelectList extends React.Component<IPokemonSelectListProps,
|
|||||||
}
|
}
|
||||||
|
|
||||||
private readonly getListItemKey = (index : number) => {
|
private readonly getListItemKey = (index : number) => {
|
||||||
return index + this.props.pokemonList[index].id;
|
const { pokemonList } = this.props;
|
||||||
|
const pokemon = pokemonList[index];
|
||||||
|
return `${index}-${pokemon.id}-${pokemon.form}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
private readonly calculateRowHeight = (index : number) => {
|
private readonly calculateRowHeight = (index : number) => {
|
||||||
@ -160,7 +162,7 @@ export class PokemonSelectList extends React.Component<IPokemonSelectListProps,
|
|||||||
const onClick = () => this.props.handleActivatePokemon(pokemon.id, pokemon.form);
|
const onClick = () => this.props.handleActivatePokemon(pokemon.id, pokemon.form);
|
||||||
return (
|
return (
|
||||||
<a
|
<a
|
||||||
key={ `${index}-${pokemon.id}-${pokemon.form}` }
|
key={ this.getListItemKey(index) }
|
||||||
style={ style }
|
style={ style }
|
||||||
className={ anchorCss }
|
className={ anchorCss }
|
||||||
onClick={ onClick }
|
onClick={ onClick }
|
||||||
|
|||||||
@ -54,7 +54,32 @@ export const formatType = (type : POGOProtos.Enums.PokemonType) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export const alolanForms = [
|
export const Forms = {
|
||||||
|
normal: [
|
||||||
|
POGOProtos.Enums.Form.CASTFORM_NORMAL,
|
||||||
|
POGOProtos.Enums.Form.DEOXYS_NORMAL,
|
||||||
|
POGOProtos.Enums.Form.RATTATA_NORMAL,
|
||||||
|
POGOProtos.Enums.Form.RATICATE_NORMAL,
|
||||||
|
POGOProtos.Enums.Form.RAICHU_NORMAL,
|
||||||
|
POGOProtos.Enums.Form.SANDSHREW_NORMAL,
|
||||||
|
POGOProtos.Enums.Form.SANDSLASH_NORMAL,
|
||||||
|
POGOProtos.Enums.Form.VULPIX_NORMAL,
|
||||||
|
POGOProtos.Enums.Form.NINETALES_NORMAL,
|
||||||
|
POGOProtos.Enums.Form.DIGLETT_NORMAL,
|
||||||
|
POGOProtos.Enums.Form.DUGTRIO_NORMAL,
|
||||||
|
POGOProtos.Enums.Form.MEOWTH_NORMAL,
|
||||||
|
POGOProtos.Enums.Form.PERSIAN_NORMAL,
|
||||||
|
POGOProtos.Enums.Form.GEODUDE_NORMAL,
|
||||||
|
POGOProtos.Enums.Form.GRAVELER_NORMAL,
|
||||||
|
POGOProtos.Enums.Form.GOLEM_NORMAL,
|
||||||
|
POGOProtos.Enums.Form.GRIMER_NORMAL,
|
||||||
|
POGOProtos.Enums.Form.MUK_NORMAL,
|
||||||
|
POGOProtos.Enums.Form.EXEGGUTOR_NORMAL,
|
||||||
|
POGOProtos.Enums.Form.MAROWAK_NORMAL,
|
||||||
|
POGOProtos.Enums.Form.ROTOM_NORMAL,
|
||||||
|
POGOProtos.Enums.Form.ARCEUS_NORMAL,
|
||||||
|
],
|
||||||
|
alola: [
|
||||||
POGOProtos.Enums.Form.RATTATA_ALOLA,
|
POGOProtos.Enums.Form.RATTATA_ALOLA,
|
||||||
POGOProtos.Enums.Form.RATICATE_ALOLA,
|
POGOProtos.Enums.Form.RATICATE_ALOLA,
|
||||||
POGOProtos.Enums.Form.RAICHU_ALOLA,
|
POGOProtos.Enums.Form.RAICHU_ALOLA,
|
||||||
@ -73,11 +98,210 @@ export const alolanForms = [
|
|||||||
POGOProtos.Enums.Form.MUK_ALOLA,
|
POGOProtos.Enums.Form.MUK_ALOLA,
|
||||||
POGOProtos.Enums.Form.EXEGGUTOR_ALOLA,
|
POGOProtos.Enums.Form.EXEGGUTOR_ALOLA,
|
||||||
POGOProtos.Enums.Form.MAROWAK_ALOLA,
|
POGOProtos.Enums.Form.MAROWAK_ALOLA,
|
||||||
];
|
],
|
||||||
|
plant: [
|
||||||
|
POGOProtos.Enums.Form.WORMADAM_PLANT,
|
||||||
|
POGOProtos.Enums.Form.BURMY_PLANT,
|
||||||
|
],
|
||||||
|
sandy: [
|
||||||
|
POGOProtos.Enums.Form.WORMADAM_SANDY,
|
||||||
|
POGOProtos.Enums.Form.BURMY_SANDY,
|
||||||
|
],
|
||||||
|
trash: [
|
||||||
|
POGOProtos.Enums.Form.WORMADAM_TRASH,
|
||||||
|
POGOProtos.Enums.Form.BURMY_TRASH,
|
||||||
|
],
|
||||||
|
westSea: [
|
||||||
|
POGOProtos.Enums.Form.SHELLOS_WEST_SEA,
|
||||||
|
POGOProtos.Enums.Form.GASTRODON_WEST_SEA,
|
||||||
|
],
|
||||||
|
eastSea: [
|
||||||
|
POGOProtos.Enums.Form.SHELLOS_EAST_SEA,
|
||||||
|
POGOProtos.Enums.Form.GASTRODON_EAST_SEA,
|
||||||
|
],
|
||||||
|
altered: [
|
||||||
|
POGOProtos.Enums.Form.GIRATINA_ALTERED,
|
||||||
|
],
|
||||||
|
origin: [
|
||||||
|
POGOProtos.Enums.Form.GIRATINA_ORIGIN,
|
||||||
|
],
|
||||||
|
frost: [
|
||||||
|
POGOProtos.Enums.Form.ROTOM_FROST,
|
||||||
|
],
|
||||||
|
fan: [
|
||||||
|
POGOProtos.Enums.Form.ROTOM_FAN,
|
||||||
|
],
|
||||||
|
mow: [
|
||||||
|
POGOProtos.Enums.Form.ROTOM_MOW,
|
||||||
|
],
|
||||||
|
wash: [
|
||||||
|
POGOProtos.Enums.Form.ROTOM_WASH,
|
||||||
|
],
|
||||||
|
heat: [
|
||||||
|
POGOProtos.Enums.Form.ROTOM_HEAT,
|
||||||
|
],
|
||||||
|
sky: [
|
||||||
|
POGOProtos.Enums.Form.SHAYMIN_SKY,
|
||||||
|
],
|
||||||
|
land: [
|
||||||
|
POGOProtos.Enums.Form.SHAYMIN_LAND,
|
||||||
|
],
|
||||||
|
overcast: [
|
||||||
|
POGOProtos.Enums.Form.CHERRIM_OVERCAST,
|
||||||
|
],
|
||||||
|
sunny: [
|
||||||
|
POGOProtos.Enums.Form.CASTFORM_SUNNY,
|
||||||
|
POGOProtos.Enums.Form.CHERRIM_SUNNY,
|
||||||
|
],
|
||||||
|
rainy: [
|
||||||
|
POGOProtos.Enums.Form.CASTFORM_RAINY,
|
||||||
|
],
|
||||||
|
snowy: [
|
||||||
|
POGOProtos.Enums.Form.CASTFORM_SNOWY,
|
||||||
|
],
|
||||||
|
attack: [
|
||||||
|
POGOProtos.Enums.Form.DEOXYS_ATTACK,
|
||||||
|
],
|
||||||
|
defense: [
|
||||||
|
POGOProtos.Enums.Form.DEOXYS_DEFENSE,
|
||||||
|
],
|
||||||
|
speed: [
|
||||||
|
POGOProtos.Enums.Form.DEOXYS_SPEED,
|
||||||
|
],
|
||||||
|
fighting: [
|
||||||
|
POGOProtos.Enums.Form.ARCEUS_FIGHTING,
|
||||||
|
],
|
||||||
|
flying: [
|
||||||
|
POGOProtos.Enums.Form.ARCEUS_FLYING,
|
||||||
|
],
|
||||||
|
poison: [
|
||||||
|
POGOProtos.Enums.Form.ARCEUS_POISON,
|
||||||
|
],
|
||||||
|
ground: [
|
||||||
|
POGOProtos.Enums.Form.ARCEUS_GROUND,
|
||||||
|
],
|
||||||
|
rock: [
|
||||||
|
POGOProtos.Enums.Form.ARCEUS_ROCK,
|
||||||
|
],
|
||||||
|
bug: [
|
||||||
|
POGOProtos.Enums.Form.ARCEUS_BUG,
|
||||||
|
],
|
||||||
|
ghost: [
|
||||||
|
POGOProtos.Enums.Form.ARCEUS_GHOST,
|
||||||
|
],
|
||||||
|
steel: [
|
||||||
|
POGOProtos.Enums.Form.ARCEUS_STEEL,
|
||||||
|
],
|
||||||
|
fire: [
|
||||||
|
POGOProtos.Enums.Form.ARCEUS_FIRE,
|
||||||
|
],
|
||||||
|
water: [
|
||||||
|
POGOProtos.Enums.Form.ARCEUS_WATER,
|
||||||
|
],
|
||||||
|
grass: [
|
||||||
|
POGOProtos.Enums.Form.ARCEUS_GRASS,
|
||||||
|
],
|
||||||
|
electric: [
|
||||||
|
POGOProtos.Enums.Form.ARCEUS_ELECTRIC,
|
||||||
|
],
|
||||||
|
psychic: [
|
||||||
|
POGOProtos.Enums.Form.ARCEUS_PSYCHIC,
|
||||||
|
],
|
||||||
|
ice: [
|
||||||
|
POGOProtos.Enums.Form.ARCEUS_ICE,
|
||||||
|
],
|
||||||
|
dragon: [
|
||||||
|
POGOProtos.Enums.Form.ARCEUS_DRAGON,
|
||||||
|
],
|
||||||
|
dark: [
|
||||||
|
POGOProtos.Enums.Form.ARCEUS_DARK,
|
||||||
|
],
|
||||||
|
fairy: [
|
||||||
|
POGOProtos.Enums.Form.ARCEUS_FAIRY,
|
||||||
|
],
|
||||||
|
};
|
||||||
|
|
||||||
export const formatForm = (form : POGOProtos.Enums.Form) => {
|
export const formatForm = (form : POGOProtos.Enums.Form) => {
|
||||||
if (alolanForms.indexOf(form) > -1) {
|
if (Forms.normal.indexOf(form) > -1) {
|
||||||
|
return 'Normal';
|
||||||
|
} else if (Forms.alola.indexOf(form) > -1) {
|
||||||
return 'Alola';
|
return 'Alola';
|
||||||
|
} else if (Forms.plant.indexOf(form) > -1) {
|
||||||
|
return 'Plant';
|
||||||
|
} else if (Forms.sandy.indexOf(form) > -1) {
|
||||||
|
return 'Sandy';
|
||||||
|
} else if (Forms.trash.indexOf(form) > -1) {
|
||||||
|
return 'Trash';
|
||||||
|
} else if (Forms.westSea.indexOf(form) > -1) {
|
||||||
|
return 'West Sea';
|
||||||
|
} else if (Forms.eastSea.indexOf(form) > -1) {
|
||||||
|
return 'East Sea';
|
||||||
|
} else if (Forms.frost.indexOf(form) > -1) {
|
||||||
|
return 'Frost';
|
||||||
|
} else if (Forms.fan.indexOf(form) > -1) {
|
||||||
|
return 'Fan';
|
||||||
|
} else if (Forms.mow.indexOf(form) > -1) {
|
||||||
|
return 'Mow';
|
||||||
|
} else if (Forms.wash.indexOf(form) > -1) {
|
||||||
|
return 'Wash';
|
||||||
|
} else if (Forms.heat.indexOf(form) > -1) {
|
||||||
|
return 'Heat';
|
||||||
|
} else if (Forms.sky.indexOf(form) > -1) {
|
||||||
|
return 'Sky';
|
||||||
|
} else if (Forms.land.indexOf(form) > -1) {
|
||||||
|
return 'Land';
|
||||||
|
} else if (Forms.overcast.indexOf(form) > -1) {
|
||||||
|
return 'Overcast';
|
||||||
|
} else if (Forms.sunny.indexOf(form) > -1) {
|
||||||
|
return 'Sunny';
|
||||||
|
} else if (Forms.rainy.indexOf(form) > -1) {
|
||||||
|
return 'Rainy';
|
||||||
|
} else if (Forms.snowy.indexOf(form) > -1) {
|
||||||
|
return 'Snowy';
|
||||||
|
} else if (Forms.attack.indexOf(form) > -1) {
|
||||||
|
return 'Attack';
|
||||||
|
} else if (Forms.defense.indexOf(form) > -1) {
|
||||||
|
return 'Defense';
|
||||||
|
} else if (Forms.speed.indexOf(form) > -1) {
|
||||||
|
return 'Speed';
|
||||||
|
} else if (Forms.altered.indexOf(form) > -1) {
|
||||||
|
return 'Altered';
|
||||||
|
} else if (Forms.origin.indexOf(form) > -1) {
|
||||||
|
return 'Origin';
|
||||||
|
} else if (Forms.fighting.indexOf(form) > -1) {
|
||||||
|
return 'Fighting';
|
||||||
|
} else if (Forms.flying.indexOf(form) > -1) {
|
||||||
|
return 'Flying';
|
||||||
|
} else if (Forms.poison.indexOf(form) > -1) {
|
||||||
|
return 'Poison';
|
||||||
|
} else if (Forms.ground.indexOf(form) > -1) {
|
||||||
|
return 'Fround';
|
||||||
|
} else if (Forms.rock.indexOf(form) > -1) {
|
||||||
|
return 'Rock';
|
||||||
|
} else if (Forms.bug.indexOf(form) > -1) {
|
||||||
|
return 'Bug';
|
||||||
|
} else if (Forms.ghost.indexOf(form) > -1) {
|
||||||
|
return 'Ghost';
|
||||||
|
} else if (Forms.steel.indexOf(form) > -1) {
|
||||||
|
return 'Steel';
|
||||||
|
} else if (Forms.fire.indexOf(form) > -1) {
|
||||||
|
return 'Fire';
|
||||||
|
} else if (Forms.water.indexOf(form) > -1) {
|
||||||
|
return 'Water';
|
||||||
|
} else if (Forms.grass.indexOf(form) > -1) {
|
||||||
|
return 'Grass';
|
||||||
|
} else if (Forms.electric.indexOf(form) > -1) {
|
||||||
|
return 'Electric';
|
||||||
|
} else if (Forms.psychic.indexOf(form) > -1) {
|
||||||
|
return 'Psychic';
|
||||||
|
} else if (Forms.ice.indexOf(form) > -1) {
|
||||||
|
return 'Ice';
|
||||||
|
} else if (Forms.dragon.indexOf(form) > -1) {
|
||||||
|
return 'Dragon';
|
||||||
|
} else if (Forms.dark.indexOf(form) > -1) {
|
||||||
|
return 'Dark';
|
||||||
|
} else if (Forms.fairy.indexOf(form) > -1) {
|
||||||
|
return 'Fairy';
|
||||||
} else {
|
} else {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user