diff --git a/src/data/ability.ts b/src/data/ability.ts index 70c59b700..bbc55a19e 100644 --- a/src/data/ability.ts +++ b/src/data/ability.ts @@ -1448,6 +1448,34 @@ export class PostSummonAllyHealAbAttr extends PostSummonAbAttr { } } +/** + * Resets an ally's temporary stat boots to zero with no regard to + * whether this is a positive or negative change + * @param pokemon The {@link Pokemon} with this {@link AbAttr} + * @param passive N/A + * @param args N/A + * @returns if the move was successful + */ +export class PostSummonClearAllyStatsAbAttr extends PostSummonAbAttr { + constructor() { + super(); + } + + applyPostSummon(pokemon: Pokemon, passive: boolean, args: any[]): boolean { + const target = pokemon.getAlly(); + if (target?.isActive(true)) { + for (let s = 0; s < target.summonData.battleStats.length; s++) + target.summonData.battleStats[s] = 0; + + target.scene.queueMessage(getPokemonMessage(target, `'s stat changes\nwere removed!`)); + + return true; + } + + return false; + } +} + export class DownloadAbAttr extends PostSummonAbAttr { private enemyDef: integer; private enemySpDef: integer; @@ -3566,7 +3594,7 @@ export function initAbilities() { new Ability(Abilities.UNSEEN_FIST, 8) .unimplemented(), new Ability(Abilities.CURIOUS_MEDICINE, 8) - .unimplemented(), + .attr(PostSummonClearAllyStatsAbAttr), new Ability(Abilities.TRANSISTOR, 8) .attr(MoveTypePowerBoostAbAttr, Type.ELECTRIC), new Ability(Abilities.DRAGONS_MAW, 8)