From 0c862839d33d40352546ae03d491e2fe4c4a999d Mon Sep 17 00:00:00 2001 From: Tempoanon <163687446+Tempo-anon@users.noreply.github.com> Date: Fri, 31 May 2024 10:56:39 -0400 Subject: [PATCH] Revert "[Bug] Full Heals and Full Restore cure confusion (#1112)" (#1653) This reverts commit 6c4b60a2faca4f52fd83808e1bd6c331aa98a2c3. --- src/data/berry.ts | 7 +++++-- src/field/pokemon.ts | 10 ++-------- src/modifier/modifier-type.ts | 5 ++--- src/modifier/modifier.ts | 17 ++++++++++------- 4 files changed, 19 insertions(+), 20 deletions(-) diff --git a/src/data/berry.ts b/src/data/berry.ts index 7c5ce477a95..e832ab0a43e 100644 --- a/src/data/berry.ts +++ b/src/data/berry.ts @@ -94,9 +94,12 @@ export function getBerryEffectFunc(berryType: BerryType): BerryEffectFunc { } if (pokemon.status) { pokemon.scene.queueMessage(getPokemonMessage(pokemon, getStatusEffectHealText(pokemon.status.effect))); + pokemon.resetStatus(); + pokemon.updateInfo(); + } + if (pokemon.getTag(BattlerTagType.CONFUSED)) { + pokemon.lapseTag(BattlerTagType.CONFUSED); } - pokemon.resetStatus(true, true); - pokemon.updateInfo(); }; case BerryType.LIECHI: case BerryType.GANLON: diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index e7fce386ddb..2ff53249aeb 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -2426,10 +2426,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { /** * Resets the status of a pokemon - * @param {boolean} revive Whether revive should be cured; defaults to true. - * @param {boolean} confusion Whether resetStatus should include confusion or not; defaults to false. + * @param revive whether revive should be cured, defaults to true */ - resetStatus(revive: boolean = true, confusion: boolean = false): void { + resetStatus(revive: boolean = true): void { const lastStatus = this.status?.effect; if (!revive && lastStatus === StatusEffect.FAINT) { return; @@ -2441,11 +2440,6 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { this.lapseTag(BattlerTagType.NIGHTMARE); } } - if (confusion) { - if (this.getTag(BattlerTagType.CONFUSED)) { - this.lapseTag(BattlerTagType.CONFUSED); - } - } } primeSummonData(summonDataPrimer: PokemonSummonData): void { diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index a9f5e3642cf..a26c8f634f7 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -21,7 +21,6 @@ import { ModifierTier } from "./modifier-tier"; import { Nature, getNatureName, getNatureStatMultiplier } from "#app/data/nature"; import i18next from "#app/plugins/i18n"; import { getModifierTierTextTint } from "#app/ui/text"; -import { BattlerTagType } from "#app/data/enums/battler-tag-type.js"; const outputModifierData = false; const useMaxWeightForOutput = false; @@ -231,7 +230,7 @@ export class PokemonHpRestoreModifierType extends PokemonModifierType { constructor(localeKey: string, iconImage: string, restorePoints: integer, restorePercent: integer, healStatus: boolean = false, newModifierFunc?: NewModifierFunc, selectFilter?: PokemonSelectFilter, group?: string) { super(localeKey, iconImage, newModifierFunc || ((_type, args) => new Modifiers.PokemonHpRestoreModifier(this, (args[0] as PlayerPokemon).id, this.restorePoints, this.restorePercent, this.healStatus, false)), selectFilter || ((pokemon: PlayerPokemon) => { - if (!pokemon.hp || (pokemon.hp >= pokemon.getMaxHp() && (!this.healStatus || (!pokemon.status && !pokemon.getTag(BattlerTagType.CONFUSED))))) { + if (!pokemon.hp || (pokemon.hp >= pokemon.getMaxHp() && (!this.healStatus || !pokemon.status))) { return PartyUiHandler.NoEffectMessage; } return null; @@ -281,7 +280,7 @@ export class PokemonStatusHealModifierType extends PokemonModifierType { constructor(localeKey: string, iconImage: string) { super(localeKey, iconImage, ((_type, args) => new Modifiers.PokemonStatusHealModifier(this, (args[0] as PlayerPokemon).id)), ((pokemon: PlayerPokemon) => { - if (!pokemon.hp || (!pokemon.status && !pokemon.getTag(BattlerTagType.CONFUSED))) { + if (!pokemon.hp || !pokemon.status) { return PartyUiHandler.NoEffectMessage; } return null; diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index 379543f0ab2..9035eeda9dd 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -1057,14 +1057,16 @@ export class PokemonHpRestoreModifier extends ConsumablePokemonModifier { let restorePoints = this.restorePoints; if (!this.fainted) { restorePoints = Math.floor(restorePoints * (args[1] as number)); - if (this.fainted || this.healStatus) { - pokemon.resetStatus(true, true); - } - pokemon.hp = Math.min(pokemon.hp + Math.max(Math.ceil(Math.max(Math.floor((this.restorePercent * 0.01) * pokemon.getMaxHp()), restorePoints)), 1), pokemon.getMaxHp()); - return true; } - return false; + if (this.fainted || this.healStatus) { + pokemon.resetStatus(); + } + pokemon.hp = Math.min(pokemon.hp + Math.max(Math.ceil(Math.max(Math.floor((this.restorePercent * 0.01) * pokemon.getMaxHp()), restorePoints)), 1), pokemon.getMaxHp()); + + return true; } + + return false; } } @@ -1075,7 +1077,8 @@ export class PokemonStatusHealModifier extends ConsumablePokemonModifier { apply(args: any[]): boolean { const pokemon = args[0] as Pokemon; - pokemon.resetStatus(true, true); + pokemon.resetStatus(); + return true; } }