diff --git a/src/enums/dex-attr.ts b/src/enums/dex-attr.ts index ee5ceb43ef2..52c77ea8ce8 100644 --- a/src/enums/dex-attr.ts +++ b/src/enums/dex-attr.ts @@ -1,4 +1,5 @@ export const DexAttr = Object.freeze({ + GENDERLESS: 0n, NON_SHINY: 1n, SHINY: 2n, MALE: 4n, diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 0a8e8469115..e68dbee8b40 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -568,7 +568,13 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { getDexAttr(): bigint { let ret = 0n; - ret |= this.gender !== Gender.FEMALE ? DexAttr.MALE : DexAttr.FEMALE; + ret |= + this.gender === Gender.GENDERLESS + ? DexAttr.GENDERLESS + : this.gender === Gender.FEMALE + ? DexAttr.FEMALE + : DexAttr.MALE; + ret |= !this.shiny ? DexAttr.NON_SHINY : DexAttr.SHINY; ret |= this.variant >= 2 ? DexAttr.VARIANT_3 : this.variant === 1 ? DexAttr.VARIANT_2 : DexAttr.DEFAULT_VARIANT; ret |= globalScene.gameData.getFormAttr(this.formIndex);