From 6b6e2ad93a1bd4eb724668b5484eb09496fb4ee8 Mon Sep 17 00:00:00 2001 From: jnotsknab Date: Tue, 17 Jun 2025 02:36:05 -0500 Subject: [PATCH 1/3] Fixed Speed Boost bug in AttemptRunPhase for doubles battles. --- src/phases/attempt-run-phase.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/phases/attempt-run-phase.ts b/src/phases/attempt-run-phase.ts index 5e24f3474a6..deb3a4c68fc 100644 --- a/src/phases/attempt-run-phase.ts +++ b/src/phases/attempt-run-phase.ts @@ -19,15 +19,13 @@ export class AttemptRunPhase extends PokemonPhase { const playerField = globalScene.getPlayerField(); const enemyField = globalScene.getEnemyField(); - const playerPokemon = this.getPokemon(); - const escapeChance = new NumberHolder(0); this.attemptRunAway(playerField, enemyField, escapeChance); - applyAbAttrs("RunSuccessAbAttr", playerPokemon, null, false, escapeChance); + applyAbAttrs("RunSuccessAbAttr", playerField[0], null, false, escapeChance); - if (playerPokemon.randBattleSeedInt(100) < escapeChance.value && !this.forceFailEscape) { + if (playerField[0].randBattleSeedInt(100) < escapeChance.value && !this.forceFailEscape) { enemyField.forEach(enemyPokemon => applyPreLeaveFieldAbAttrs("PreLeaveFieldAbAttr", enemyPokemon)); globalScene.playSound("se/flee"); @@ -60,7 +58,12 @@ export class AttemptRunPhase extends PokemonPhase { globalScene.phaseManager.pushNew("NewBattlePhase"); } else { - playerPokemon.turnData.failedRunAway = true; + playerField[0].turnData.failedRunAway = true; + + if (globalScene.currentBattle.double) { + playerField[1].turnData.failedRunAway = true; + } + globalScene.phaseManager.queueMessage(i18next.t("battle:runAwayCannotEscape"), null, true, 500); } From e135751537acb14bf7ccfd4c7f8948c79699e5bf Mon Sep 17 00:00:00 2001 From: jnotsknab Date: Tue, 17 Jun 2025 04:04:06 -0500 Subject: [PATCH 2/3] Apply RunSuccessAbAttr to second Pokemon in doubles battle --- src/phases/attempt-run-phase.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/phases/attempt-run-phase.ts b/src/phases/attempt-run-phase.ts index deb3a4c68fc..7a37f70b3e3 100644 --- a/src/phases/attempt-run-phase.ts +++ b/src/phases/attempt-run-phase.ts @@ -18,13 +18,16 @@ export class AttemptRunPhase extends PokemonPhase { const playerField = globalScene.getPlayerField(); const enemyField = globalScene.getEnemyField(); - const escapeChance = new NumberHolder(0); this.attemptRunAway(playerField, enemyField, escapeChance); applyAbAttrs("RunSuccessAbAttr", playerField[0], null, false, escapeChance); + if (globalScene.currentBattle.double) { + applyAbAttrs("RunSuccessAbAttr", playerField[1], null, false, escapeChance); + } + if (playerField[0].randBattleSeedInt(100) < escapeChance.value && !this.forceFailEscape) { enemyField.forEach(enemyPokemon => applyPreLeaveFieldAbAttrs("PreLeaveFieldAbAttr", enemyPokemon)); From 427021a11759eadebaca7a75a0018738b5f11469 Mon Sep 17 00:00:00 2001 From: jnotsknab Date: Tue, 17 Jun 2025 04:08:37 -0500 Subject: [PATCH 3/3] Added comment questioning whether applyabattrs is needed for the second mon in doubles battles --- src/phases/attempt-run-phase.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/phases/attempt-run-phase.ts b/src/phases/attempt-run-phase.ts index 7a37f70b3e3..727d73619c8 100644 --- a/src/phases/attempt-run-phase.ts +++ b/src/phases/attempt-run-phase.ts @@ -24,6 +24,7 @@ export class AttemptRunPhase extends PokemonPhase { applyAbAttrs("RunSuccessAbAttr", playerField[0], null, false, escapeChance); + //TODO: needed? if (globalScene.currentBattle.double) { applyAbAttrs("RunSuccessAbAttr", playerField[1], null, false, escapeChance); }