diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index d99c25bc612..ac6af5cbb04 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -995,15 +995,14 @@ export default class StarterSelectUiHandler extends MessageUiHandler { delete starterAttributes.shiny; } - if (starterAttributes.variant !== undefined && !isNaN(starterAttributes.variant)) { + if (starterAttributes.variant !== undefined) { const unlockedVariants = [ - hasNonShiny, hasShiny && caughtAttr & DexAttr.DEFAULT_VARIANT, hasShiny && caughtAttr & DexAttr.VARIANT_2, hasShiny && caughtAttr & DexAttr.VARIANT_3 ]; - if (!unlockedVariants[starterAttributes.variant + 1]) { // add 1 as -1 = non-shiny - // requested variant wasn't unlocked, purging setting + if (isNaN(starterAttributes.variant) || starterAttributes.variant < 0 || !unlockedVariants[starterAttributes.variant]) { + // variant value is invalid or requested variant wasn't unlocked, purging setting delete starterAttributes.variant; } }