From bb005bb506ce36a119934261936ec406a430debf Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Sat, 27 Jul 2024 19:44:40 -0700 Subject: [PATCH] [Bug] Fix Pokemon in pre-patch saves swapping abilities (#3173) --- src/system/game-data.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/system/game-data.ts b/src/system/game-data.ts index 6b8f183e94a..3c0ae20ca1e 100644 --- a/src/system/game-data.ts +++ b/src/system/game-data.ts @@ -41,6 +41,7 @@ import { Moves } from "#enums/moves"; import { PlayerGender } from "#enums/player-gender"; import { Species } from "#enums/species"; import { applyChallenges, ChallengeType } from "#app/data/challenge.js"; +import { Abilities } from "#app/enums/abilities.js"; export const defaultStarterSpecies: Species[] = [ Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE, @@ -851,6 +852,15 @@ export class GameData { const handleSessionData = async (sessionDataStr: string) => { try { const sessionData = this.parseSessionData(sessionDataStr); + for (let i = 0; i <= 5; i++) { + if (sessionData.party[i]?.abilityIndex === 1) { + if (allSpecies[sessionData.party[i].species].ability1 === allSpecies[sessionData.party[i].species].ability2 && + allSpecies[sessionData.party[i].species].abilityHidden !== Abilities.NONE && + allSpecies[sessionData.party[i].species].abilityHidden !== allSpecies[sessionData.party[i].species].ability1) { + sessionData.party[i].abilityIndex = 2; + } + } + } resolve(sessionData); } catch (err) { reject(err);