From f42358d3aa162e594264c57d63b6ef3e439d50b2 Mon Sep 17 00:00:00 2001 From: Luc Dube Date: Sun, 21 Apr 2024 23:16:34 -0400 Subject: [PATCH] added berry pouch support --- src/data/move.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/data/move.ts b/src/data/move.ts index 237584831d8..01e8a0cc1e8 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -15,7 +15,7 @@ import { ArenaTagType } from "./enums/arena-tag-type"; import { UnswappableAbilityAbAttr, UncopiableAbilityAbAttr, UnsuppressableAbilityAbAttr, NoTransformAbilityAbAttr, BlockRecoilDamageAttr, BlockOneHitKOAbAttr, IgnoreContactAbAttr, MaxMultiHitAbAttr, applyAbAttrs, BlockNonDirectDamageAbAttr, applyPreSwitchOutAbAttrs, PreSwitchOutAbAttr, applyPostDefendAbAttrs, PostDefendContactApplyStatusEffectAbAttr, MoveAbilityBypassAbAttr, PreventBerryUseAbAttr, BlockItemTheftAbAttr } from "./ability"; import { Abilities } from "./enums/abilities"; import { allAbilities } from './ability'; -import { PokemonHeldItemModifier, BerryModifier } from "../modifier/modifier"; +import { PokemonHeldItemModifier, BerryModifier, PreserveBerryModifier } from "../modifier/modifier"; import { BattlerIndex } from "../battle"; import { Stat } from "./pokemon-stat"; import { TerrainType } from "./terrain"; @@ -1120,9 +1120,14 @@ export class EatBerryAttr extends MoveEffectAttr { getBerryEffectFunc(this.chosenBerry.berryType)(target); - if (!--this.chosenBerry.stackCount) - target.scene.removeModifier(this.chosenBerry); - target.scene.updateModifiers(target.isPlayer()); + const preserve = new Utils.BooleanHolder(false); + target.scene.applyModifiers(PreserveBerryModifier, target.isPlayer(), target, preserve); + + if (!preserve.value){ + if (!--this.chosenBerry.stackCount) + target.scene.removeModifier(this.chosenBerry); + target.scene.updateModifiers(target.isPlayer()); +} return true; }