mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-03-28 20:49:20 +00:00
* Mystery Encounter bugfixes * more ME bug fixes * update allowed pokemon in ME requirements * some unit test cleanup and general tidying * fix null exception on isBattleMysteryEncounter * clean up tsdocs and fix pokemon hasAbility check * fix double battle crash in challenge mode with a single eligible pokemon * apply suggestions from PR#4619's code reviews * revert fix for Keldeo crashes + implement fix suggestion from PR #4619 * fix session migration for PokemonCustomData * prevent test failure due to keldeo fix --------- Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
33 lines
1.4 KiB
TypeScript
33 lines
1.4 KiB
TypeScript
import { SessionSaveData } from "../../game-data";
|
|
import { CustomPokemonData } from "#app/data/custom-pokemon-data";
|
|
|
|
export const systemMigrators = [] as const;
|
|
|
|
export const settingsMigrators = [] as const;
|
|
|
|
export const sessionMigrators = [
|
|
/**
|
|
* Converts old Pokemon natureOverride and mysteryEncounterData
|
|
* to use the new conjoined {@linkcode Pokemon.customPokemonData} structure instead.
|
|
* @param data {@linkcode SessionSaveData}
|
|
*/
|
|
function migrateCustomPokemonDataAndNatureOverrides(data: SessionSaveData) {
|
|
// Fix Pokemon nature overrides and custom data migration
|
|
data.party.forEach(pokemon => {
|
|
if (pokemon["mysteryEncounterPokemonData"]) {
|
|
pokemon.customPokemonData = new CustomPokemonData(pokemon["mysteryEncounterPokemonData"]);
|
|
pokemon["mysteryEncounterPokemonData"] = null;
|
|
}
|
|
if (pokemon["fusionMysteryEncounterPokemonData"]) {
|
|
pokemon.fusionCustomPokemonData = new CustomPokemonData(pokemon["fusionMysteryEncounterPokemonData"]);
|
|
pokemon["fusionMysteryEncounterPokemonData"] = null;
|
|
}
|
|
pokemon.customPokemonData = pokemon.customPokemonData ?? new CustomPokemonData();
|
|
if (pokemon["natureOverride"] && pokemon["natureOverride"] >= 0) {
|
|
pokemon.customPokemonData.nature = pokemon["natureOverride"];
|
|
pokemon["natureOverride"] = -1;
|
|
}
|
|
});
|
|
}
|
|
] as const;
|