[Bug][Hotfix] Fix crashes when loading save with a transformed pokemon (#5806)

* Fix speciesForm being saved incorrectly

* Fix transformed icon

* Fix moveset loading errors
This commit is contained in:
Dean 2025-05-09 01:34:28 -07:00 committed by GitHub
parent b183f26330
commit 0712f86462
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 6 additions and 6 deletions

View File

@ -1045,7 +1045,7 @@ export default class BattleScene extends SceneBase {
y: number,
originX = 0.5,
originY = 0.5,
ignoreOverride = false,
ignoreOverride = true,
useIllusion = false,
): Phaser.GameObjects.Container {
const container = this.add.container(x, y);
@ -1053,9 +1053,9 @@ export default class BattleScene extends SceneBase {
const icon = this.add.sprite(0, 0, pokemon.getIconAtlasKey(ignoreOverride, useIllusion));
icon.setName(`sprite-${pokemon.name}-icon`);
icon.setFrame(pokemon.getIconId(true, useIllusion));
icon.setFrame(pokemon.getIconId(ignoreOverride, useIllusion));
// Temporary fix to show pokemon's default icon if variant icon doesn't exist
if (icon.frame.name !== pokemon.getIconId(true, useIllusion)) {
if (icon.frame.name !== pokemon.getIconId(ignoreOverride, useIllusion)) {
console.log(`${pokemon.name}'s variant icon does not exist. Replacing with default.`);
const temp = pokemon.shiny;
pokemon.shiny = false;
@ -1071,7 +1071,7 @@ export default class BattleScene extends SceneBase {
const fusionIcon = this.add.sprite(0, 0, pokemon.getFusionIconAtlasKey(ignoreOverride, useIllusion));
fusionIcon.setName("sprite-fusion-icon");
fusionIcon.setOrigin(0.5, 0);
fusionIcon.setFrame(pokemon.getFusionIconId(true, useIllusion));
fusionIcon.setFrame(pokemon.getFusionIconId(ignoreOverride, useIllusion));
const originalWidth = icon.width;
const originalHeight = icon.height;

View File

@ -7862,7 +7862,7 @@ export class PokemonSummonData {
}
if (key === "moveset") {
this.moveset = value.map((m: any) => PokemonMove.loadMove(m));
this.moveset = value?.map((m: any) => PokemonMove.loadMove(m));
continue;
}

View File

@ -188,7 +188,7 @@ export default class PokemonData {
// when loading from saved session, recover summonData.speciesFrom and form index species object
// used to stay transformed on reload session
if (this.summonData.speciesForm) {
this.summonData.speciesForm = getPokemonSpeciesForm(
ret.summonData.speciesForm = getPokemonSpeciesForm(
this.summonData.speciesForm.speciesId,
this.summonDataSpeciesFormIndex,
);