From eaea8067c05e2d74bc38437e88bfcbb4fcdf4fa5 Mon Sep 17 00:00:00 2001 From: frutescens Date: Tue, 8 Oct 2024 07:59:47 -0700 Subject: [PATCH] pollen puff fix --- src/field/pokemon.ts | 5 +++-- src/phases/move-effect-phase.ts | 6 ++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index a0ad4e8a52f..d18874794df 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -2680,11 +2680,12 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * Applies the results of a move to this pokemon * @param source The {@linkcode Pokemon} using the move * @param move The {@linkcode Move} being used + * @param moveCategory the {@linkcode MoveCategory} of the move used * @returns The {@linkcode HitResult} of the attack */ - apply(source: Pokemon, move: Move): HitResult { + apply(source: Pokemon, move: Move, moveCategory: MoveCategory): HitResult { const defendingSide = this.isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY; - if (move.category === MoveCategory.STATUS) { + if (moveCategory === MoveCategory.STATUS) { const cancelled = new Utils.BooleanHolder(false); const typeMultiplier = this.getMoveEffectiveness(source, move, false, false, cancelled); diff --git a/src/phases/move-effect-phase.ts b/src/phases/move-effect-phase.ts index b2d429a4313..82816635891 100644 --- a/src/phases/move-effect-phase.ts +++ b/src/phases/move-effect-phase.ts @@ -4,7 +4,7 @@ import { applyPreAttackAbAttrs, AddSecondStrikeAbAttr, IgnoreMoveEffectsAbAttr, import { ArenaTagSide, ConditionalProtectTag } from "#app/data/arena-tag"; import { MoveAnim } from "#app/data/battle-anims"; import { BattlerTagLapseType, DamageProtectedTag, ProtectedTag, SemiInvulnerableTag, SubstituteTag } from "#app/data/battler-tags"; -import { MoveTarget, applyMoveAttrs, OverrideMoveEffectAttr, MultiHitAttr, AttackMove, FixedDamageAttr, VariableTargetAttr, MissEffectAttr, MoveFlags, applyFilteredMoveAttrs, MoveAttr, MoveEffectAttr, MoveEffectTrigger, ChargeAttr, MoveCategory, NoEffectAttr, HitsTagAttr, ToxicAccuracyAttr } from "#app/data/move"; +import { MoveTarget, applyMoveAttrs, OverrideMoveEffectAttr, MultiHitAttr, AttackMove, FixedDamageAttr, VariableTargetAttr, MissEffectAttr, MoveFlags, applyFilteredMoveAttrs, MoveAttr, MoveEffectAttr, MoveEffectTrigger, ChargeAttr, MoveCategory, NoEffectAttr, HitsTagAttr, ToxicAccuracyAttr, VariableMoveCategoryAttr } from "#app/data/move"; import { SpeciesFormChangePostMoveTrigger } from "#app/data/pokemon-forms"; import { BattlerTagType } from "#app/enums/battler-tag-type"; import { Moves } from "#app/enums/moves"; @@ -192,7 +192,9 @@ export class MoveEffectPhase extends PokemonPhase { * made visible to the user until the resulting {@linkcode DamagePhase} * is invoked. */ - const hitResult = !isProtected ? target.apply(user, move) : HitResult.NO_EFFECT; + const moveCategory = new Utils.IntegerHolder(move.category); + applyMoveAttrs(VariableMoveCategoryAttr, user, target, move, moveCategory); + const hitResult = !isProtected ? target.apply(user, move, moveCategory.value) : HitResult.NO_EFFECT; /** Does {@linkcode hitResult} indicate that damage was dealt to the target? */ const dealsDamage = [