From db637761475d589318df5ad6bf418f5037a42b84 Mon Sep 17 00:00:00 2001 From: Lylian Date: Sun, 6 Apr 2025 17:55:08 +0200 Subject: [PATCH] add pokemon.getPokeball() --- src/field/pokemon.ts | 8 ++++++++ src/phases/summon-phase.ts | 6 +++--- src/phases/switch-summon-phase.ts | 2 +- test/abilities/illusion.test.ts | 3 +-- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index a0483076002..b763eeeb21f 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -558,6 +558,14 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } } + getPokeball(useIllusion = false){ + if(useIllusion){ + return this.summonData?.illusion?.pokeball ?? this.pokeball + } else { + return this.pokeball + } + } + init(): void { this.fieldPosition = FieldPosition.CENTER; this.initBattleInfo(); diff --git a/src/phases/summon-phase.ts b/src/phases/summon-phase.ts index 836e9b9a695..7379d509e55 100644 --- a/src/phases/summon-phase.ts +++ b/src/phases/summon-phase.ts @@ -128,7 +128,7 @@ export class SummonPhase extends PartyMemberPokemonPhase { this.player ? 36 : 248, this.player ? 80 : 44, "pb", - getPokeballAtlasKey(pokemon.summonData?.illusion?.pokeball ?? pokemon.pokeball), + getPokeballAtlasKey(pokemon.getPokeball(true)), ); pokeball.setVisible(false); pokeball.setOrigin(0.5, 0.625); @@ -180,7 +180,7 @@ export class SummonPhase extends PartyMemberPokemonPhase { addPokeballOpenParticles( pokemon.x, pokemon.y - 16, - pokemon.summonData?.illusion?.pokeball ?? pokemon.pokeball, + pokemon.getPokeball(true), ); globalScene.updateModifiers(this.player); globalScene.updateFieldScale(); @@ -189,7 +189,7 @@ export class SummonPhase extends PartyMemberPokemonPhase { pokemon.setVisible(true); pokemon.getSprite().setVisible(true); pokemon.setScale(0.5); - pokemon.tint(getPokeballTintColor(pokemon.summonData?.illusion?.pokeball ?? pokemon.pokeball)); + pokemon.tint(getPokeballTintColor(pokemon.getPokeball(true))); pokemon.untint(250, "Sine.easeIn"); globalScene.updateFieldScale(); globalScene.tweens.add({ diff --git a/src/phases/switch-summon-phase.ts b/src/phases/switch-summon-phase.ts index 3b478afa269..3acbcad10d9 100644 --- a/src/phases/switch-summon-phase.ts +++ b/src/phases/switch-summon-phase.ts @@ -105,7 +105,7 @@ export class SwitchSummonPhase extends SummonPhase { ); globalScene.playSound("se/pb_rel"); pokemon.hideInfo(); - pokemon.tint(getPokeballTintColor(pokemon.summonData?.illusion?.pokeball ?? pokemon.pokeball), 1, 250, "Sine.easeIn"); + pokemon.tint(getPokeballTintColor(pokemon.getPokeball(true)), 1, 250, "Sine.easeIn"); globalScene.tweens.add({ targets: pokemon, duration: 250, diff --git a/test/abilities/illusion.test.ts b/test/abilities/illusion.test.ts index 75b7a2c1645..df2dbb7096d 100644 --- a/test/abilities/illusion.test.ts +++ b/test/abilities/illusion.test.ts @@ -135,11 +135,10 @@ describe("Abilities - Illusion", () => { const zoroark = game.scene.getPlayerPokemon()!; - console.log("OOOOOOOOOOOOOOOOOOOOO", !!zoroark.summonData.illusion) expect(zoroark.name).equals("Axew"); expect(zoroark.getNameToRender()).equals("axew nickname"); expect(zoroark.getGender(false, true)).equals(Gender.FEMALE); expect(zoroark.isShiny(true)).equals(true); - expect(zoroark.summonData?.illusion?.pokeball).equals(PokeballType.GREAT_BALL); + expect(zoroark.getPokeball(true)).equals(PokeballType.GREAT_BALL); }); });