Added icons for passive abilities

This commit is contained in:
Wlowscha 2025-01-18 00:10:10 +01:00
parent dee1db9c8e
commit ea7dfe249b
No known key found for this signature in database
GPG Key ID: 3C8F1AD330565D04
2 changed files with 34 additions and 4 deletions

View File

@ -17,6 +17,8 @@ export class PokedexMonContainer extends Phaser.GameObjects.Container {
public tmMove1Icon: Phaser.GameObjects.Image;
public eggMove2Icon: Phaser.GameObjects.Image;
public tmMove2Icon: Phaser.GameObjects.Image;
public passive1Icon: Phaser.GameObjects.Image;
public passive2Icon: Phaser.GameObjects.Image;
public cost: number = 0;
constructor(species: PokemonSpecies) {
@ -119,7 +121,7 @@ export class PokedexMonContainer extends Phaser.GameObjects.Container {
this.tmMove1Icon = tmMove1Icon;
// move icons
const eggMove2Icon = globalScene.add.image(10, 12, "mystery_egg");
const eggMove2Icon = globalScene.add.image(7, 12, "mystery_egg");
eggMove2Icon.setOrigin(0, 0);
eggMove2Icon.setScale(0.25);
eggMove2Icon.setVisible(false);
@ -134,6 +136,22 @@ export class PokedexMonContainer extends Phaser.GameObjects.Container {
this.add(tmMove2Icon);
this.tmMove2Icon = tmMove2Icon;
// move icons
const passive1Icon = globalScene.add.image(3, 3, "candy");
passive1Icon.setOrigin(0, 0);
passive1Icon.setScale(0.25);
passive1Icon.setVisible(false);
this.add(passive1Icon);
this.passive1Icon = passive1Icon;
// move icons
const passive2Icon = globalScene.add.image(12, 3, "candy");
passive2Icon.setOrigin(0, 0);
passive2Icon.setScale(0.25);
passive2Icon.setVisible(false);
this.add(passive2Icon);
this.passive2Icon = passive2Icon;
}
checkIconId(female, formIndex, shiny, variant) {

View File

@ -1223,17 +1223,29 @@ export default class PokedexUiHandler extends MessageUiHandler {
// Ability filter
const abilities = [ container.species.ability1, container.species.ability2, container.species.abilityHidden ].map(a => allAbilities[a].name);
const passive = starterPassiveAbilities[this.getStarterSpeciesId(container.species.speciesId)] ?? 0;
const selectedAbility1 = this.filterText.getValue(FilterTextRow.ABILITY_1);
const fitsFormAbility = container.species.forms.some(form => allAbilities[form.ability1].name === selectedAbility1);
const fitsAbility1 = abilities.includes(selectedAbility1) || fitsFormAbility || selectedAbility1 === this.filterText.defaultText;
const fitsPassive1 = allAbilities[passive].name === selectedAbility1;
const passive = starterPassiveAbilities[this.getStarterSpeciesId(container.species.speciesId)] ?? 0;
const selectedAbility2 = this.filterText.getValue(FilterTextRow.ABILITY_2);
const fitsAbility2 = allAbilities[passive].name === selectedAbility2 || selectedAbility2 === this.filterText.defaultText;
const fitsAbility2 = abilities.includes(selectedAbility2) || fitsFormAbility || selectedAbility2 === this.filterText.defaultText;
const fitsPassive2 = allAbilities[passive].name === selectedAbility2;
// If both fields have been set to the same ability, show both ability and passive
const fitsAbilities = (selectedAbility1 === selectedAbility2) ? fitsAbility1 || fitsAbility2 : fitsAbility1 && fitsAbility2;
const fitsAbilities = (fitsAbility1 && (fitsPassive2 || selectedAbility2 === this.filterText.defaultText)) ||
(fitsAbility2 && (fitsPassive1 || selectedAbility1 === this.filterText.defaultText));
container.passive1Icon.setVisible(false);
container.passive2Icon.setVisible(false);
if (fitsPassive1) {
container.passive1Icon.setVisible(true);
}
if (fitsPassive2) {
container.passive2Icon.setVisible(true);
}
// Gen filter
const fitsGen = this.filterBar.getVals(DropDownColumn.GEN).includes(container.species.generation);