From 021f31b589d40e97c5ca422ce190a2945925b1fe Mon Sep 17 00:00:00 2001 From: Mumble <171087428+frutescens@users.noreply.github.com> Date: Sun, 8 Sep 2024 16:03:37 -0700 Subject: [PATCH] [Hotfix] Retrieve the right cry when alternate-form Pokemon faint + retrieve the correct sprite key (#4117) * [DOCS] adding JSDocs to `arena.ts` (#3590) * adding some docs * Update src/field/pokemon.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * seems like battleStats changed to statStages * Apply suggestions from code review editing doc text Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com> * Update tsdocs, convert comment to tsdoc in `pokemon.ts` --------- Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com> * [Bug] Fix scrappy (+ some immunity move and ability) in inverse battle (#4067) * fix scrappy + etc. update inverse battle test code * update test code following request from swain * fix and optimize imports (#4061) - remove any `.js` extension imports - remove unncessary dynamic imports of `modifier.ts` file. The file was being imported statically & dynamically. Made it pure static - increase vite chunk-size warning limit Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com> * Fusion hotfix * returned main * Faint cry properly retrieved for non fused Pokemon with forms * Revert "[DOCS] adding JSDocs to `arena.ts` (#3590)" This reverts commit b73fd97760bc7fbd7c35062d3763d30820ddbded. * Revert "[Bug] Fix scrappy (+ some immunity move and ability) in inverse battle (#4067)" This reverts commit 31fcbf49f49ee1106b25fe5d9737507b3e7615e8. * Revert "fix and optimize imports (#4061)" This reverts commit d1bd6974e435c9ddd2222194b8ef282a87b03047. * Fixed sprite key generation --------- Co-authored-by: DustinLin <39450497+DustinLin@users.noreply.github.com> Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com> Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com> Co-authored-by: frutescens --- src/battle-scene.ts | 6 +++--- src/field/pokemon.ts | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/battle-scene.ts b/src/battle-scene.ts index 8a4e98b25e8..12f424f63b3 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -2763,8 +2763,8 @@ export default class BattleScene extends SceneBase { const keys: string[] = []; const playerParty = this.getParty(); playerParty.forEach(p => { - keys.push("pkmn__" + p.species.getSpriteId(p.gender === Gender.FEMALE, p.species.formIndex, p.shiny, p.variant)); - keys.push("pkmn__" + p.species.getSpriteId(p.gender === Gender.FEMALE, p.species.formIndex, p.shiny, p.variant, true)); + keys.push(p.getSpriteKey(true)); + keys.push(p.getBattleSpriteKey(true, true)); keys.push("cry/" + p.species.getCryKey(p.species.formIndex)); if (p.fusionSpecies && p.getSpeciesForm() !== p.getFusionSpeciesForm()) { keys.push("cry/"+p.fusionSpecies.getCryKey(p.fusionFormIndex)); @@ -2773,7 +2773,7 @@ export default class BattleScene extends SceneBase { // enemyParty has to be operated on separately from playerParty because playerPokemon =/= enemyPokemon const enemyParty = this.getEnemyParty(); enemyParty.forEach(p => { - keys.push(p.species.getSpriteKey(p.gender === Gender.FEMALE, p.species.formIndex, p.shiny, p.variant)); + keys.push(p.getSpriteKey(true)); keys.push("cry/" + p.species.getCryKey(p.species.formIndex)); if (p.fusionSpecies && p.getSpeciesForm() !== p.getFusionSpeciesForm()) { keys.push("cry/"+p.fusionSpecies.getCryKey(p.fusionFormIndex)); diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 7d7fae064cf..91b57501371 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -2771,7 +2771,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return this.fusionFaintCry(callback); } - const key = `cry/${this.getSpeciesForm().getCryKey(this.formIndex)}`; + const key = `cry/${this.species.getCryKey(this.formIndex)}`; //eslint-disable-next-line @typescript-eslint/no-unused-vars let i = 0; let rate = 0.85;