From d576d66617966ee2be1563d33961a0b1fcd582ff Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Thu, 10 Jul 2025 01:31:55 -0700 Subject: [PATCH] Rename `HELD_ITEM_EFFECT` enum-object to `HeldItemEffect` --- src/battle-scene.ts | 4 +- src/data/moves/move.ts | 47 ++++++++------- src/field/arena.ts | 6 +- src/field/pokemon.ts | 26 ++++----- src/items/all-held-items.ts | 58 +++++++++---------- src/items/held-item.ts | 5 +- src/items/held-items/accuracy-booster.ts | 4 +- src/items/held-items/attack-type-booster.ts | 4 +- src/items/held-items/base-stat-booster.ts | 4 +- src/items/held-items/base-stat-flat.ts | 4 +- src/items/held-items/base-stat-total.ts | 4 +- src/items/held-items/baton.ts | 4 +- src/items/held-items/berry.ts | 4 +- src/items/held-items/bypass-speed-chance.ts | 4 +- src/items/held-items/crit-booster.ts | 4 +- src/items/held-items/damage-money-reward.ts | 4 +- src/items/held-items/evo-tracker.ts | 4 +- src/items/held-items/exp-booster.ts | 4 +- src/items/held-items/field-effect.ts | 4 +- src/items/held-items/flinch-chance.ts | 4 +- src/items/held-items/friendship-booster.ts | 4 +- src/items/held-items/hit-heal.ts | 4 +- src/items/held-items/incrementing-stat.ts | 4 +- src/items/held-items/instant-revive.ts | 4 +- src/items/held-items/item-steal.ts | 6 +- src/items/held-items/multi-hit.ts | 4 +- src/items/held-items/nature-weight-booster.ts | 4 +- .../held-items/reset-negative-stat-stage.ts | 4 +- src/items/held-items/stat-booster.ts | 4 +- src/items/held-items/survive-chance.ts | 4 +- src/items/held-items/turn-end-heal.ts | 4 +- src/items/held-items/turn-end-status.ts | 4 +- src/phases/berry-phase.ts | 4 +- src/phases/faint-phase.ts | 4 +- src/phases/move-effect-phase.ts | 12 ++-- src/phases/stat-stage-change-phase.ts | 4 +- src/phases/turn-end-phase.ts | 8 +-- src/phases/turn-start-phase.ts | 4 +- test/items/eviolite.test.ts | 16 ++--- test/items/exp_booster.test.ts | 4 +- test/items/light_ball.test.ts | 34 +++++------ 41 files changed, 171 insertions(+), 171 deletions(-) diff --git a/src/battle-scene.ts b/src/battle-scene.ts index 5fa6df23051..51b72d82234 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -141,7 +141,7 @@ import { timedEventManager } from "./global-event-manager"; import { starterColors } from "./global-vars/starter-colors"; import { startingWave } from "./starting-wave"; import { applyHeldItems } from "./items/all-held-items"; -import { HELD_ITEM_EFFECT } from "./items/held-item"; +import { HeldItemEffect } from "./items/held-item"; import { PhaseManager } from "./phase-manager"; import { HeldItemId } from "#enums/held-item-id"; import { assignEnemyHeldItemsForWave, assignItemsFromConfiguration } from "./items/held-item-pool"; @@ -3222,7 +3222,7 @@ export default class BattleScene extends SceneBase { expMultiplier = Overrides.XP_MULTIPLIER_OVERRIDE; } const pokemonExp = new NumberHolder(expValue * expMultiplier); - applyHeldItems(HELD_ITEM_EFFECT.EXP_BOOSTER, { pokemon: partyMember, expAmount: pokemonExp }); + applyHeldItems(HeldItemEffect.EXP_BOOSTER, { pokemon: partyMember, expAmount: pokemonExp }); partyMemberExp.push(Math.floor(pokemonExp.value)); } diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 04df60f0251..c38418ca510 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -1,16 +1,16 @@ import { MoveChargeAnim } from "../battle-anims"; import { ChargeAnim } from "#enums/move-anims-common"; import { - CommandedTag, - EncoreTag, - GulpMissileTag, - HelpingHandTag, - SemiInvulnerableTag, - ShellTrapTag, - StockpilingTag, - SubstituteTag, - TrappedTag, - TypeBoostTag, + CommandedTag, + EncoreTag, + GulpMissileTag, + HelpingHandTag, + SemiInvulnerableTag, + ShellTrapTag, + StockpilingTag, + SubstituteTag, + TrappedTag, + TypeBoostTag, } from "../battler-tags"; import { getPokemonNameWithAffix } from "../../messages"; import type { TurnMove } from "#app/@types/turn-move"; @@ -22,9 +22,9 @@ import { MoveResult } from "#enums/move-result"; import { HitResult } from "#enums/hit-result"; import { FieldPosition } from "#enums/field-position"; import { - getNonVolatileStatusEffects, - getStatusEffectHealText, - isNonVolatileStatusEffect, + getNonVolatileStatusEffects, + getStatusEffectHealText, + isNonVolatileStatusEffect, } from "../status-effect"; import { getTypeDamageMultiplier } from "../type"; import { PokemonType } from "#enums/pokemon-type"; @@ -34,13 +34,12 @@ import type { ArenaTrapTag } from "../arena-tag"; import { WeakenMoveTypeTag } from "../arena-tag"; import { ArenaTagSide } from "#enums/arena-tag-side"; import { - applyAbAttrs + applyAbAttrs } from "../abilities/apply-ab-attrs"; import { allAbilities, allHeldItems, allMoves } from "../data-lists"; import type { BattlerIndex } from "#enums/battler-index"; import { BattleType } from "#enums/battle-type"; import { TerrainType } from "../terrain"; -import { ModifierPoolType } from "#enums/modifier-pool-type"; import { Command } from "#enums/command"; import i18next from "i18next"; import type { Localizable } from "#app/@types/locales"; @@ -53,11 +52,11 @@ import { MoveId } from "#enums/move-id"; import { SpeciesId } from "#enums/species-id"; import { MoveUsedEvent } from "#app/events/battle-scene"; import { - BATTLE_STATS, - type BattleStat, - type EffectiveStat, - getStatKey, - Stat, + BATTLE_STATS, + type BattleStat, + type EffectiveStat, + getStatKey, + Stat, } from "#app/enums/stat"; import { MoveEndPhase } from "#app/phases/move-end-phase"; import { MovePhase } from "#app/phases/move-phase"; @@ -78,14 +77,14 @@ import { MoveEffectTrigger } from "#enums/MoveEffectTrigger"; import { MultiHitType } from "#enums/MultiHitType"; import { invalidAssistMoves, invalidCopycatMoves, invalidMetronomeMoves, invalidMirrorMoveMoves, invalidSleepTalkMoves, invalidSketchMoves } from "./invalid-moves"; import { isVirtual, MoveUseMode } from "#enums/move-use-mode"; -import { HELD_ITEM_EFFECT } from "#app/items/held-item"; +import { HeldItemEffect } from "#app/items/held-item"; import { BerryHeldItem, berryTypeToHeldItem } from "#app/items/held-items/berry"; import { HeldItemCategoryId, HeldItemId, isItemInCategory } from "#enums/held-item-id"; import type { ChargingMove, MoveAttrMap, MoveAttrString, MoveKindString, MoveClassMap } from "#app/@types/move-types"; import { applyMoveAttrs } from "./apply-attrs"; import { frenzyMissFunc, getMoveTargets } from "./move-utils"; import { TRAINER_ITEM_EFFECT } from "#app/items/trainer-item"; -import { AbAttrBaseParams, AbAttrParamsWithCancel, PreAttackModifyPowerAbAttrParams } from "../abilities/ability"; +import { AbAttrParamsWithCancel, PreAttackModifyPowerAbAttrParams } from "../abilities/ability"; import { applyHeldItems } from "#app/items/all-held-items"; /** @@ -766,7 +765,7 @@ export default abstract class Move implements Localizable { const isOhko = this.hasAttr("OneHitKOAccuracyAttr"); if (!isOhko) { - applyHeldItems(HELD_ITEM_EFFECT.ACCURACY_BOOSTER, { pokemon: user, moveAccuracy: moveAccuracy }); + applyHeldItems(HeldItemEffect.ACCURACY_BOOSTER, { pokemon: user, moveAccuracy: moveAccuracy }); } if (globalScene.arena.weather?.weatherType === WeatherType.FOG) { @@ -848,7 +847,7 @@ export default abstract class Move implements Localizable { if (!this.hasAttr("TypelessAttr")) { globalScene.arena.applyTags(WeakenMoveTypeTag, simulated, typeChangeHolder.value, power); - applyHeldItems(HELD_ITEM_EFFECT.ATTACK_TYPE_BOOST, { + applyHeldItems(HeldItemEffect.ATTACK_TYPE_BOOST, { pokemon: source, moveType: typeChangeHolder.value, movePower: power, diff --git a/src/field/arena.ts b/src/field/arena.ts index 08ed42ff72a..86e04117a51 100644 --- a/src/field/arena.ts +++ b/src/field/arena.ts @@ -35,7 +35,7 @@ import { } from "#app/data/pokemon-forms/form-change-triggers"; import { WeatherType } from "#enums/weather-type"; import { applyHeldItems } from "#app/items/all-held-items"; -import { HELD_ITEM_EFFECT } from "#app/items/held-item"; +import { HeldItemEffect } from "#app/items/held-item"; export class Arena { public biomeType: BiomeId; @@ -339,7 +339,7 @@ export class Arena { if (!isNullOrUndefined(user)) { weatherDuration.value = 5; - applyHeldItems(HELD_ITEM_EFFECT.FIELD_EFFECT, { pokemon: user, fieldDuration: weatherDuration }); + applyHeldItems(HeldItemEffect.FIELD_EFFECT, { pokemon: user, fieldDuration: weatherDuration }); } this.weather = weather ? new Weather(weather, weatherDuration.value) : null; @@ -426,7 +426,7 @@ export class Arena { if (!isNullOrUndefined(user)) { terrainDuration.value = 5; - applyHeldItems(HELD_ITEM_EFFECT.FIELD_EFFECT, { pokemon: user, fieldDuration: terrainDuration }); + applyHeldItems(HeldItemEffect.FIELD_EFFECT, { pokemon: user, fieldDuration: terrainDuration }); } this.terrain = terrain ? new Terrain(terrain, terrainDuration.value) : null; diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index aca18a02ef8..8cea1eadd82 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -154,7 +154,7 @@ import { timedEventManager } from "#app/global-event-manager"; import { loadMoveAnimations } from "#app/sprites/pokemon-asset-loader"; import { PokemonItemManager } from "./pokemon-held-item-manager"; import { applyHeldItems } from "#app/items/all-held-items"; -import { HELD_ITEM_EFFECT } from "#app/items/held-item"; +import { HeldItemEffect } from "#app/items/held-item"; import { HeldItemId } from "#enums/held-item-id"; import { isVirtual, isIgnorePP, MoveUseMode } from "#enums/move-use-mode"; import { FieldPosition } from "#enums/field-position"; @@ -1346,7 +1346,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { getCritStage(source: Pokemon, move: Move): number { const critStage = new NumberHolder(0); applyMoveAttrs("HighCritAttr", source, this, move, critStage); - applyHeldItems(HELD_ITEM_EFFECT.CRIT_BOOST, { pokemon: source, critStage: critStage }); + applyHeldItems(HeldItemEffect.CRIT_BOOST, { pokemon: source, critStage: critStage }); globalScene.applyPlayerItems(TRAINER_ITEM_EFFECT.TEMP_CRIT_BOOSTER, { numberHolder: critStage }); applyAbAttrs("BonusCritAbAttr", { pokemon: source, critStage }); const critBoostTag = source.getTag(CritBoostTag); @@ -1401,7 +1401,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { ): number { const statVal = new NumberHolder(this.getStat(stat, false)); if (!ignoreHeldItems) { - applyHeldItems(HELD_ITEM_EFFECT.STAT_BOOST, { pokemon: this, stat: stat, statValue: statVal }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: this, stat: stat, statValue: statVal }); } // The Ruin abilities here are never ignored, but they reveal themselves on summon anyway @@ -1509,7 +1509,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { const statHolder = new NumberHolder(Math.floor((2 * baseStats[s] + this.ivs[s]) * this.level * 0.01)); if (s === Stat.HP) { statHolder.value = statHolder.value + this.level + 10; - applyHeldItems(HELD_ITEM_EFFECT.INCREMENTING_STAT, { pokemon: this, stat: s, statHolder: statHolder }); + applyHeldItems(HeldItemEffect.INCREMENTING_STAT, { pokemon: this, stat: s, statHolder: statHolder }); if (this.hasAbility(AbilityId.WONDER_GUARD, false, true)) { statHolder.value = 1; } @@ -1524,14 +1524,14 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } else { statHolder.value += 5; const natureStatMultiplier = new NumberHolder(getNatureStatMultiplier(this.getNature(), s)); - applyHeldItems(HELD_ITEM_EFFECT.NATURE_WEIGHT_BOOSTER, { pokemon: this, multiplier: natureStatMultiplier }); + applyHeldItems(HeldItemEffect.NATURE_WEIGHT_BOOSTER, { pokemon: this, multiplier: natureStatMultiplier }); if (natureStatMultiplier.value !== 1) { statHolder.value = Math.max( Math[natureStatMultiplier.value > 1 ? "ceil" : "floor"](statHolder.value * natureStatMultiplier.value), 1, ); } - applyHeldItems(HELD_ITEM_EFFECT.INCREMENTING_STAT, { pokemon: this, stat: s, statHolder: statHolder }); + applyHeldItems(HeldItemEffect.INCREMENTING_STAT, { pokemon: this, stat: s, statHolder: statHolder }); } statHolder.value = Phaser.Math.Clamp(statHolder.value, 1, Number.MAX_SAFE_INTEGER); @@ -1544,9 +1544,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { const baseStats = this.getSpeciesForm(true).baseStats.slice(0); applyChallenges(ChallengeType.FLIP_STAT, this, baseStats); // Shuckle Juice - applyHeldItems(HELD_ITEM_EFFECT.BASE_STAT_TOTAL, { pokemon: this, baseStats: baseStats }); + applyHeldItems(HeldItemEffect.BASE_STAT_TOTAL, { pokemon: this, baseStats: baseStats }); // Old Gateau - applyHeldItems(HELD_ITEM_EFFECT.BASE_STAT_FLAT, { pokemon: this, baseStats: baseStats }); + applyHeldItems(HeldItemEffect.BASE_STAT_FLAT, { pokemon: this, baseStats: baseStats }); if (this.isFusion()) { const fusionBaseStats = this.getFusionSpeciesForm(true).baseStats; applyChallenges(ChallengeType.FLIP_STAT, this, fusionBaseStats); @@ -1560,7 +1560,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } } // Vitamins - applyHeldItems(HELD_ITEM_EFFECT.BASE_STAT_BOOSTER, { pokemon: this, baseStats: baseStats }); + applyHeldItems(HeldItemEffect.BASE_STAT_BOOSTER, { pokemon: this, baseStats: baseStats }); return baseStats; } @@ -3707,7 +3707,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { applyMoveAttrs("FixedDamageAttr", source, this, move, fixedDamage); if (fixedDamage.value) { const multiLensMultiplier = new NumberHolder(1); - applyHeldItems(HELD_ITEM_EFFECT.MULTI_HIT, { + applyHeldItems(HeldItemEffect.MULTI_HIT, { pokemon: source, moveId: move.id, damageMultiplier: multiLensMultiplier, @@ -3755,7 +3755,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { /** Multiplier for moves enhanced by Multi-Lens and/or Parental Bond */ const multiStrikeEnhancementMultiplier = new NumberHolder(1); - applyHeldItems(HELD_ITEM_EFFECT.MULTI_HIT, { + applyHeldItems(HeldItemEffect.MULTI_HIT, { pokemon: source, moveId: move.id, damageMultiplier: multiStrikeEnhancementMultiplier, @@ -3993,7 +3993,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { surviveDamage.value = this.lapseTag(BattlerTagType.ENDURE_TOKEN); } if (!surviveDamage.value) { - applyHeldItems(HELD_ITEM_EFFECT.SURVIVE_CHANCE, { pokemon: this, surviveDamage: surviveDamage }); + applyHeldItems(HeldItemEffect.SURVIVE_CHANCE, { pokemon: this, surviveDamage: surviveDamage }); } if (surviveDamage.value) { damage = this.hp - 1; @@ -5748,7 +5748,7 @@ export class PlayerPokemon extends Pokemon { fusionStarterSpeciesId ? globalScene.gameData.starterData[fusionStarterSpeciesId] : null, ].filter(d => !!d); const amount = new NumberHolder(friendship); - applyHeldItems(HELD_ITEM_EFFECT.FRIENDSHIP_BOOSTER, { pokemon: this, friendship: amount }); + applyHeldItems(HeldItemEffect.FRIENDSHIP_BOOSTER, { pokemon: this, friendship: amount }); const candyFriendshipMultiplier = globalScene.gameMode.isClassic ? timedEventManager.getClassicFriendshipMultiplier() : 1; diff --git a/src/items/all-held-items.ts b/src/items/all-held-items.ts index 8d6f7b37a4c..54c0682a5c9 100644 --- a/src/items/all-held-items.ts +++ b/src/items/all-held-items.ts @@ -6,7 +6,7 @@ import type { PokemonType } from "#enums/pokemon-type"; import { SpeciesId } from "#enums/species-id"; import { Stat, type PermanentStat } from "#enums/stat"; import { StatusEffect } from "#enums/status-effect"; -import { HELD_ITEM_EFFECT } from "./held-item"; +import { HeldItemEffect } from "./held-item"; import { type ACCURACY_BOOST_PARAMS, AccuracyBoosterHeldItem } from "./held-items/accuracy-booster"; import { type ATTACK_TYPE_BOOST_PARAMS, @@ -174,36 +174,36 @@ export function initHeldItems() { } type APPLY_HELD_ITEMS_PARAMS = { - [HELD_ITEM_EFFECT.ATTACK_TYPE_BOOST]: ATTACK_TYPE_BOOST_PARAMS; - [HELD_ITEM_EFFECT.TURN_END_HEAL]: TURN_END_HEAL_PARAMS; - [HELD_ITEM_EFFECT.HIT_HEAL]: HIT_HEAL_PARAMS; - [HELD_ITEM_EFFECT.RESET_NEGATIVE_STAT_STAGE]: RESET_NEGATIVE_STAT_STAGE_PARAMS; - [HELD_ITEM_EFFECT.EXP_BOOSTER]: EXP_BOOST_PARAMS; - [HELD_ITEM_EFFECT.BERRY]: BERRY_PARAMS; - [HELD_ITEM_EFFECT.BASE_STAT_BOOSTER]: BASE_STAT_BOOSTER_PARAMS; - [HELD_ITEM_EFFECT.INSTANT_REVIVE]: INSTANT_REVIVE_PARAMS; - [HELD_ITEM_EFFECT.STAT_BOOST]: STAT_BOOST_PARAMS; - [HELD_ITEM_EFFECT.CRIT_BOOST]: CRIT_BOOST_PARAMS; - [HELD_ITEM_EFFECT.TURN_END_STATUS]: TURN_END_STATUS_PARAMS; - [HELD_ITEM_EFFECT.SURVIVE_CHANCE]: SURVIVE_CHANCE_PARAMS; - [HELD_ITEM_EFFECT.BYPASS_SPEED_CHANCE]: BYPASS_SPEED_CHANCE_PARAMS; - [HELD_ITEM_EFFECT.FLINCH_CHANCE]: FLINCH_CHANCE_PARAMS; - [HELD_ITEM_EFFECT.FIELD_EFFECT]: FIELD_EFFECT_PARAMS; - [HELD_ITEM_EFFECT.FRIENDSHIP_BOOSTER]: FRIENDSHIP_BOOST_PARAMS; - [HELD_ITEM_EFFECT.NATURE_WEIGHT_BOOSTER]: NATURE_WEIGHT_BOOST_PARAMS; - [HELD_ITEM_EFFECT.ACCURACY_BOOSTER]: ACCURACY_BOOST_PARAMS; - [HELD_ITEM_EFFECT.MULTI_HIT]: MULTI_HIT_PARAMS; - [HELD_ITEM_EFFECT.DAMAGE_MONEY_REWARD]: DAMAGE_MONEY_REWARD_PARAMS; - [HELD_ITEM_EFFECT.BATON]: BATON_PARAMS; - [HELD_ITEM_EFFECT.CONTACT_ITEM_STEAL_CHANCE]: ITEM_STEAL_PARAMS; - [HELD_ITEM_EFFECT.TURN_END_ITEM_STEAL]: ITEM_STEAL_PARAMS; - [HELD_ITEM_EFFECT.BASE_STAT_TOTAL]: BASE_STAT_TOTAL_PARAMS; - [HELD_ITEM_EFFECT.BASE_STAT_FLAT]: BASE_STAT_FLAT_PARAMS; - [HELD_ITEM_EFFECT.INCREMENTING_STAT]: INCREMENTING_STAT_PARAMS; - [HELD_ITEM_EFFECT.EVO_TRACKER]: EVO_TRACKER_PARAMS; + [HeldItemEffect.ATTACK_TYPE_BOOST]: ATTACK_TYPE_BOOST_PARAMS; + [HeldItemEffect.TURN_END_HEAL]: TURN_END_HEAL_PARAMS; + [HeldItemEffect.HIT_HEAL]: HIT_HEAL_PARAMS; + [HeldItemEffect.RESET_NEGATIVE_STAT_STAGE]: RESET_NEGATIVE_STAT_STAGE_PARAMS; + [HeldItemEffect.EXP_BOOSTER]: EXP_BOOST_PARAMS; + [HeldItemEffect.BERRY]: BERRY_PARAMS; + [HeldItemEffect.BASE_STAT_BOOSTER]: BASE_STAT_BOOSTER_PARAMS; + [HeldItemEffect.INSTANT_REVIVE]: INSTANT_REVIVE_PARAMS; + [HeldItemEffect.STAT_BOOST]: STAT_BOOST_PARAMS; + [HeldItemEffect.CRIT_BOOST]: CRIT_BOOST_PARAMS; + [HeldItemEffect.TURN_END_STATUS]: TURN_END_STATUS_PARAMS; + [HeldItemEffect.SURVIVE_CHANCE]: SURVIVE_CHANCE_PARAMS; + [HeldItemEffect.BYPASS_SPEED_CHANCE]: BYPASS_SPEED_CHANCE_PARAMS; + [HeldItemEffect.FLINCH_CHANCE]: FLINCH_CHANCE_PARAMS; + [HeldItemEffect.FIELD_EFFECT]: FIELD_EFFECT_PARAMS; + [HeldItemEffect.FRIENDSHIP_BOOSTER]: FRIENDSHIP_BOOST_PARAMS; + [HeldItemEffect.NATURE_WEIGHT_BOOSTER]: NATURE_WEIGHT_BOOST_PARAMS; + [HeldItemEffect.ACCURACY_BOOSTER]: ACCURACY_BOOST_PARAMS; + [HeldItemEffect.MULTI_HIT]: MULTI_HIT_PARAMS; + [HeldItemEffect.DAMAGE_MONEY_REWARD]: DAMAGE_MONEY_REWARD_PARAMS; + [HeldItemEffect.BATON]: BATON_PARAMS; + [HeldItemEffect.CONTACT_ITEM_STEAL_CHANCE]: ITEM_STEAL_PARAMS; + [HeldItemEffect.TURN_END_ITEM_STEAL]: ITEM_STEAL_PARAMS; + [HeldItemEffect.BASE_STAT_TOTAL]: BASE_STAT_TOTAL_PARAMS; + [HeldItemEffect.BASE_STAT_FLAT]: BASE_STAT_FLAT_PARAMS; + [HeldItemEffect.INCREMENTING_STAT]: INCREMENTING_STAT_PARAMS; + [HeldItemEffect.EVO_TRACKER]: EVO_TRACKER_PARAMS; }; -export function applyHeldItems(effect: T, params: APPLY_HELD_ITEMS_PARAMS[T]) { +export function applyHeldItems(effect: T, params: APPLY_HELD_ITEMS_PARAMS[T]) { const pokemon = params.pokemon; if (pokemon) { for (const item of Object.keys(pokemon.heldItemManager.heldItems)) { diff --git a/src/items/held-item.ts b/src/items/held-item.ts index d317c1ec0fd..6fdfc0dd6e7 100644 --- a/src/items/held-item.ts +++ b/src/items/held-item.ts @@ -4,7 +4,8 @@ import { globalScene } from "#app/global-scene"; import { HeldItemNames, type HeldItemId } from "#enums/held-item-id"; import i18next from "i18next"; -export const HELD_ITEM_EFFECT = { +// TODO: this should be moved to its own file +export const HeldItemEffect = { ATTACK_TYPE_BOOST: 1, TURN_END_HEAL: 2, HIT_HEAL: 3, @@ -35,7 +36,7 @@ export const HELD_ITEM_EFFECT = { INCREMENTING_STAT: 52, } as const; -export type HELD_ITEM_EFFECT = (typeof HELD_ITEM_EFFECT)[keyof typeof HELD_ITEM_EFFECT]; +export type HeldItemEffect = (typeof HeldItemEffect)[keyof typeof HeldItemEffect]; export class HeldItem { // public pokemonId: number; diff --git a/src/items/held-items/accuracy-booster.ts b/src/items/held-items/accuracy-booster.ts index cba45f29c24..0dcc6293a95 100644 --- a/src/items/held-items/accuracy-booster.ts +++ b/src/items/held-items/accuracy-booster.ts @@ -1,7 +1,7 @@ import type Pokemon from "#app/field/pokemon"; import type { NumberHolder } from "#app/utils/common"; import type { HeldItemId } from "#enums/held-item-id"; -import { HeldItem, HELD_ITEM_EFFECT } from "../held-item"; +import { HeldItemEffect, HeldItem } from "../held-item"; export interface ACCURACY_BOOST_PARAMS { /** The pokemon with the item */ @@ -11,7 +11,7 @@ export interface ACCURACY_BOOST_PARAMS { } export class AccuracyBoosterHeldItem extends HeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.ACCURACY_BOOSTER]; + public effects: HeldItemEffect[] = [HeldItemEffect.ACCURACY_BOOSTER]; private accuracyAmount: number; diff --git a/src/items/held-items/attack-type-booster.ts b/src/items/held-items/attack-type-booster.ts index 6fd56721d5c..09d4f3e9c50 100644 --- a/src/items/held-items/attack-type-booster.ts +++ b/src/items/held-items/attack-type-booster.ts @@ -3,7 +3,7 @@ import { PokemonType } from "#enums/pokemon-type"; import i18next from "i18next"; import type { NumberHolder } from "#app/utils/common"; import type Pokemon from "#app/field/pokemon"; -import { HeldItem, HELD_ITEM_EFFECT } from "#app/items/held-item"; +import { HeldItemEffect, HeldItem } from "#app/items/held-item"; export interface ATTACK_TYPE_BOOST_PARAMS { /** The pokemon with the item */ @@ -41,7 +41,7 @@ export const attackTypeToHeldItem: AttackTypeToHeldItemMap = { }; export class AttackTypeBoosterHeldItem extends HeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.TURN_END_HEAL]; + public effects: HeldItemEffect[] = [HeldItemEffect.TURN_END_HEAL]; public moveType: PokemonType; public powerBoost: number; diff --git a/src/items/held-items/base-stat-booster.ts b/src/items/held-items/base-stat-booster.ts index e5075c41a15..1595c25b986 100644 --- a/src/items/held-items/base-stat-booster.ts +++ b/src/items/held-items/base-stat-booster.ts @@ -2,7 +2,7 @@ import type Pokemon from "#app/field/pokemon"; import { HeldItemId } from "#enums/held-item-id"; import { getStatKey, type PermanentStat, Stat } from "#enums/stat"; import i18next from "i18next"; -import { HeldItem, HELD_ITEM_EFFECT } from "../held-item"; +import { HeldItemEffect, HeldItem } from "../held-item"; export interface BASE_STAT_BOOSTER_PARAMS { /** The pokemon with the item */ @@ -33,7 +33,7 @@ export const statBoostItems: Record = { }; export class BaseStatBoosterHeldItem extends HeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.BASE_STAT_BOOSTER]; + public effects: HeldItemEffect[] = [HeldItemEffect.BASE_STAT_BOOSTER]; public stat: PermanentStat; constructor(type: HeldItemId, maxStackCount = 1, stat: PermanentStat) { diff --git a/src/items/held-items/base-stat-flat.ts b/src/items/held-items/base-stat-flat.ts index 75c12b1f0f5..80285d91716 100644 --- a/src/items/held-items/base-stat-flat.ts +++ b/src/items/held-items/base-stat-flat.ts @@ -1,5 +1,5 @@ import type Pokemon from "#app/field/pokemon"; -import { HeldItem, HELD_ITEM_EFFECT } from "../held-item"; +import { HeldItemEffect, HeldItem } from "../held-item"; import { Stat } from "#enums/stat"; import i18next from "i18next"; @@ -14,7 +14,7 @@ export interface BASE_STAT_FLAT_PARAMS { * Currently used by Old Gateau item */ export class BaseStatFlatHeldItem extends HeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.BASE_STAT_FLAT]; + public effects: HeldItemEffect[] = [HeldItemEffect.BASE_STAT_FLAT]; public isTransferable = false; get description(): string { diff --git a/src/items/held-items/base-stat-total.ts b/src/items/held-items/base-stat-total.ts index b48ab0f3430..d54602c227a 100644 --- a/src/items/held-items/base-stat-total.ts +++ b/src/items/held-items/base-stat-total.ts @@ -1,6 +1,6 @@ import type Pokemon from "#app/field/pokemon"; import i18next from "i18next"; -import { HeldItem, HELD_ITEM_EFFECT } from "../held-item"; +import { HeldItemEffect, HeldItem } from "../held-item"; import type { HeldItemId } from "#enums/held-item-id"; export interface BASE_STAT_TOTAL_PARAMS { @@ -14,7 +14,7 @@ export interface BASE_STAT_TOTAL_PARAMS { * Currently used by Shuckle Juice item */ export class BaseStatTotalHeldItem extends HeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.BASE_STAT_TOTAL]; + public effects: HeldItemEffect[] = [HeldItemEffect.BASE_STAT_TOTAL]; public isTransferable = false; public statModifier: number; diff --git a/src/items/held-items/baton.ts b/src/items/held-items/baton.ts index 0b36f6c77c7..1045b3b5a9d 100644 --- a/src/items/held-items/baton.ts +++ b/src/items/held-items/baton.ts @@ -1,6 +1,6 @@ import type Pokemon from "#app/field/pokemon"; import type { NumberHolder } from "#app/utils/common"; -import { HeldItem, HELD_ITEM_EFFECT } from "../held-item"; +import { HeldItemEffect, HeldItem } from "../held-item"; export interface BATON_PARAMS { /** The pokemon with the item */ @@ -10,7 +10,7 @@ export interface BATON_PARAMS { } export class BatonHeldItem extends HeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.BATON]; + public effects: HeldItemEffect[] = [HeldItemEffect.BATON]; /** * Applies {@linkcode SwitchEffectTransferModifier} diff --git a/src/items/held-items/berry.ts b/src/items/held-items/berry.ts index f93df60c8a5..68e4a5b10bb 100644 --- a/src/items/held-items/berry.ts +++ b/src/items/held-items/berry.ts @@ -2,7 +2,7 @@ import { getBerryEffectDescription, getBerryEffectFunc, getBerryName, getBerryPr import { BerryUsedEvent } from "#app/events/battle-scene"; import type Pokemon from "#app/field/pokemon"; import { globalScene } from "#app/global-scene"; -import { ConsumableHeldItem, HELD_ITEM_EFFECT } from "#app/items/held-item"; +import { ConsumableHeldItem, HeldItemEffect } from "#app/items/held-item"; import { BooleanHolder } from "#app/utils/common"; import { BerryType } from "#enums/berry-type"; import { HeldItemId } from "#enums/held-item-id"; @@ -33,7 +33,7 @@ export interface BERRY_PARAMS { // TODO: Maybe split up into subclasses? export class BerryHeldItem extends ConsumableHeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.BERRY]; + public effects: HeldItemEffect[] = [HeldItemEffect.BERRY]; public berryType: BerryType; constructor(berryType: BerryType, maxStackCount = 1) { diff --git a/src/items/held-items/bypass-speed-chance.ts b/src/items/held-items/bypass-speed-chance.ts index c454463a14e..c7734b1ca48 100644 --- a/src/items/held-items/bypass-speed-chance.ts +++ b/src/items/held-items/bypass-speed-chance.ts @@ -1,5 +1,5 @@ import type Pokemon from "#app/field/pokemon"; -import { HeldItem, HELD_ITEM_EFFECT } from "#app/items/held-item"; +import { HeldItemEffect, HeldItem } from "#app/items/held-item"; import type { BooleanHolder } from "#app/utils/common"; import { globalScene } from "#app/global-scene"; import i18next from "i18next"; @@ -19,7 +19,7 @@ export interface BYPASS_SPEED_CHANCE_PARAMS { * @see {@linkcode apply} */ export class BypassSpeedChanceHeldItem extends HeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.BYPASS_SPEED_CHANCE]; + public effects: HeldItemEffect[] = [HeldItemEffect.BYPASS_SPEED_CHANCE]; /** * Checks if {@linkcode BypassSpeedChanceModifier} should be applied diff --git a/src/items/held-items/crit-booster.ts b/src/items/held-items/crit-booster.ts index cc305b33640..646a3221a80 100644 --- a/src/items/held-items/crit-booster.ts +++ b/src/items/held-items/crit-booster.ts @@ -2,7 +2,7 @@ import type Pokemon from "#app/field/pokemon"; import type { NumberHolder } from "#app/utils/common"; import type { HeldItemId } from "#enums/held-item-id"; import type { SpeciesId } from "#enums/species-id"; -import { HeldItem, HELD_ITEM_EFFECT } from "../held-item"; +import { HeldItemEffect, HeldItem } from "../held-item"; export interface CRIT_BOOST_PARAMS { /** The pokemon with the item */ @@ -17,7 +17,7 @@ export interface CRIT_BOOST_PARAMS { * @see {@linkcode apply} */ export class CritBoostHeldItem extends HeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.CRIT_BOOST]; + public effects: HeldItemEffect[] = [HeldItemEffect.CRIT_BOOST]; /** The amount of stages by which the held item increases the current critical-hit stage value */ protected stageIncrement: number; diff --git a/src/items/held-items/damage-money-reward.ts b/src/items/held-items/damage-money-reward.ts index 0e0905d183e..8844f08b9eb 100644 --- a/src/items/held-items/damage-money-reward.ts +++ b/src/items/held-items/damage-money-reward.ts @@ -1,7 +1,7 @@ import type Pokemon from "#app/field/pokemon"; import { globalScene } from "#app/global-scene"; import { NumberHolder } from "#app/utils/common"; -import { HeldItem, HELD_ITEM_EFFECT } from "../held-item"; +import { HeldItemEffect, HeldItem } from "../held-item"; import { TRAINER_ITEM_EFFECT } from "../trainer-item"; export interface DAMAGE_MONEY_REWARD_PARAMS { @@ -12,7 +12,7 @@ export interface DAMAGE_MONEY_REWARD_PARAMS { } export class DamageMoneyRewardHeldItem extends HeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.DAMAGE_MONEY_REWARD]; + public effects: HeldItemEffect[] = [HeldItemEffect.DAMAGE_MONEY_REWARD]; /** * Applies {@linkcode DamageMoneyRewardModifier} diff --git a/src/items/held-items/evo-tracker.ts b/src/items/held-items/evo-tracker.ts index 37020e67fec..5d7f124073d 100644 --- a/src/items/held-items/evo-tracker.ts +++ b/src/items/held-items/evo-tracker.ts @@ -3,7 +3,7 @@ import { globalScene } from "#app/global-scene"; import { HeldItemId } from "#enums/held-item-id"; import type { SpeciesId } from "#enums/species-id"; import i18next from "i18next"; -import { HeldItem, HELD_ITEM_EFFECT } from "../held-item"; +import { HeldItemEffect, HeldItem } from "../held-item"; import { TrainerItemId } from "#enums/trainer-item-id"; export interface EVO_TRACKER_PARAMS { @@ -12,7 +12,7 @@ export interface EVO_TRACKER_PARAMS { } export class EvoTrackerHeldItem extends HeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.EVO_TRACKER]; + public effects: HeldItemEffect[] = [HeldItemEffect.EVO_TRACKER]; protected species: SpeciesId; protected required: number; diff --git a/src/items/held-items/exp-booster.ts b/src/items/held-items/exp-booster.ts index c4dd7ae9773..e6d49747542 100644 --- a/src/items/held-items/exp-booster.ts +++ b/src/items/held-items/exp-booster.ts @@ -2,7 +2,7 @@ import type Pokemon from "#app/field/pokemon"; import type { NumberHolder } from "#app/utils/common"; import type { HeldItemId } from "#enums/held-item-id"; import i18next from "i18next"; -import { HeldItem, HELD_ITEM_EFFECT } from "../held-item"; +import { HeldItemEffect, HeldItem } from "../held-item"; export interface EXP_BOOST_PARAMS { /** The pokemon with the item */ @@ -12,7 +12,7 @@ export interface EXP_BOOST_PARAMS { } export class ExpBoosterHeldItem extends HeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.EXP_BOOSTER]; + public effects: HeldItemEffect[] = [HeldItemEffect.EXP_BOOSTER]; private boostPercent: number; private boostMultiplier: number; diff --git a/src/items/held-items/field-effect.ts b/src/items/held-items/field-effect.ts index 048aa8f38b6..3853cf1381e 100644 --- a/src/items/held-items/field-effect.ts +++ b/src/items/held-items/field-effect.ts @@ -1,5 +1,5 @@ import type Pokemon from "#app/field/pokemon"; -import { HeldItem, HELD_ITEM_EFFECT } from "#app/items/held-item"; +import { HeldItemEffect, HeldItem } from "#app/items/held-item"; import type { NumberHolder } from "#app/utils/common"; export interface FIELD_EFFECT_PARAMS { @@ -15,7 +15,7 @@ export interface FIELD_EFFECT_PARAMS { * @see {@linkcode apply} */ export class FieldEffectHeldItem extends HeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.FIELD_EFFECT]; + public effects: HeldItemEffect[] = [HeldItemEffect.FIELD_EFFECT]; /** * Provides two more turns per stack to any weather or terrain effect caused diff --git a/src/items/held-items/flinch-chance.ts b/src/items/held-items/flinch-chance.ts index ca46ce79528..c6c5565058d 100644 --- a/src/items/held-items/flinch-chance.ts +++ b/src/items/held-items/flinch-chance.ts @@ -1,5 +1,5 @@ import type Pokemon from "#app/field/pokemon"; -import { HeldItem, HELD_ITEM_EFFECT } from "#app/items/held-item"; +import { HeldItemEffect, HeldItem } from "#app/items/held-item"; import type { BooleanHolder } from "#app/utils/common"; import type { HeldItemId } from "#enums/held-item-id"; @@ -16,7 +16,7 @@ export interface FLINCH_CHANCE_PARAMS { * @see {@linkcode apply} */ export class FlinchChanceHeldItem extends HeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.FLINCH_CHANCE]; + public effects: HeldItemEffect[] = [HeldItemEffect.FLINCH_CHANCE]; private chance: number; constructor(type: HeldItemId, maxStackCount = 1, chance: number) { diff --git a/src/items/held-items/friendship-booster.ts b/src/items/held-items/friendship-booster.ts index 72a42ea48dc..4e3fd32a6b1 100644 --- a/src/items/held-items/friendship-booster.ts +++ b/src/items/held-items/friendship-booster.ts @@ -1,7 +1,7 @@ import type Pokemon from "#app/field/pokemon"; import type { NumberHolder } from "#app/utils/common"; import i18next from "i18next"; -import { HeldItem, HELD_ITEM_EFFECT } from "../held-item"; +import { HeldItemEffect, HeldItem } from "../held-item"; export interface FRIENDSHIP_BOOST_PARAMS { /** The pokemon with the item */ @@ -11,7 +11,7 @@ export interface FRIENDSHIP_BOOST_PARAMS { } export class FriendshipBoosterHeldItem extends HeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.FRIENDSHIP_BOOSTER]; + public effects: HeldItemEffect[] = [HeldItemEffect.FRIENDSHIP_BOOSTER]; get description(): string { return i18next.t("modifierType:ModifierType.PokemonFriendshipBoosterModifierType.description"); diff --git a/src/items/held-items/hit-heal.ts b/src/items/held-items/hit-heal.ts index 1432aa3370b..799a3e4d56d 100644 --- a/src/items/held-items/hit-heal.ts +++ b/src/items/held-items/hit-heal.ts @@ -1,7 +1,7 @@ import type Pokemon from "#app/field/pokemon"; import { globalScene } from "#app/global-scene"; import i18next from "i18next"; -import { HeldItem, HELD_ITEM_EFFECT } from "#app/items/held-item"; +import { HeldItemEffect, HeldItem } from "#app/items/held-item"; import { PokemonHealPhase } from "#app/phases/pokemon-heal-phase"; import { toDmgValue } from "#app/utils/common"; import { getPokemonNameWithAffix } from "#app/messages"; @@ -12,7 +12,7 @@ export interface HIT_HEAL_PARAMS { } export class HitHealHeldItem extends HeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.TURN_END_HEAL]; + public effects: HeldItemEffect[] = [HeldItemEffect.TURN_END_HEAL]; get name(): string { return i18next.t("modifierType:ModifierType.SHELL_BELL.name"); diff --git a/src/items/held-items/incrementing-stat.ts b/src/items/held-items/incrementing-stat.ts index 262d8d00f70..c6157856cc2 100644 --- a/src/items/held-items/incrementing-stat.ts +++ b/src/items/held-items/incrementing-stat.ts @@ -1,5 +1,5 @@ import type Pokemon from "#app/field/pokemon"; -import { HeldItem, HELD_ITEM_EFFECT } from "../held-item"; +import { HeldItemEffect, HeldItem } from "../held-item"; import { Stat } from "#enums/stat"; import type { NumberHolder } from "#app/utils/common"; import i18next from "i18next"; @@ -16,7 +16,7 @@ export interface INCREMENTING_STAT_PARAMS { * Currently used by Macho Brace item */ export class IncrementingStatHeldItem extends HeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.INCREMENTING_STAT]; + public effects: HeldItemEffect[] = [HeldItemEffect.INCREMENTING_STAT]; public isTransferable = false; /** diff --git a/src/items/held-items/instant-revive.ts b/src/items/held-items/instant-revive.ts index 40e88c1e5bf..c700dcf97b2 100644 --- a/src/items/held-items/instant-revive.ts +++ b/src/items/held-items/instant-revive.ts @@ -1,7 +1,7 @@ import type Pokemon from "#app/field/pokemon"; import { globalScene } from "#app/global-scene"; import i18next from "i18next"; -import { ConsumableHeldItem, HELD_ITEM_EFFECT } from "../held-item"; +import { ConsumableHeldItem, HeldItemEffect } from "../held-item"; import { getPokemonNameWithAffix } from "#app/messages"; import { PokemonHealPhase } from "#app/phases/pokemon-heal-phase"; import { toDmgValue } from "#app/utils/common"; @@ -19,7 +19,7 @@ export interface INSTANT_REVIVE_PARAMS { * @see {@linkcode apply} */ export class InstantReviveHeldItem extends ConsumableHeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.INSTANT_REVIVE]; + public effects: HeldItemEffect[] = [HeldItemEffect.INSTANT_REVIVE]; get name(): string { return i18next.t("modifierType:ModifierType.REVIVER_SEED.name"); diff --git a/src/items/held-items/item-steal.ts b/src/items/held-items/item-steal.ts index ec78ebdeeb3..3279b4d98cf 100644 --- a/src/items/held-items/item-steal.ts +++ b/src/items/held-items/item-steal.ts @@ -2,7 +2,7 @@ import Pokemon from "#app/field/pokemon"; import { randSeedFloat } from "#app/utils/common"; import type { HeldItemId } from "#enums/held-item-id"; import i18next from "i18next"; -import { HeldItem, HELD_ITEM_EFFECT } from "../held-item"; +import { HeldItemEffect, HeldItem } from "../held-item"; import { getPokemonNameWithAffix } from "#app/messages"; import { allHeldItems } from "../all-held-items"; import { globalScene } from "#app/global-scene"; @@ -83,7 +83,7 @@ export abstract class ItemTransferHeldItem extends HeldItem { * @see {@linkcode modifierTypes[MINI_BLACK_HOLE]} */ export class TurnEndItemStealHeldItem extends ItemTransferHeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.TURN_END_ITEM_STEAL]; + public effects: HeldItemEffect[] = [HeldItemEffect.TURN_END_ITEM_STEAL]; isTransferable = true; get description(): string { @@ -125,7 +125,7 @@ export class TurnEndItemStealHeldItem extends ItemTransferHeldItem { * @see {@linkcode HeldItemTransferModifier} */ export class ContactItemStealChanceHeldItem extends ItemTransferHeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.CONTACT_ITEM_STEAL_CHANCE]; + public effects: HeldItemEffect[] = [HeldItemEffect.CONTACT_ITEM_STEAL_CHANCE]; public readonly chancePercent: number; public readonly chance: number; diff --git a/src/items/held-items/multi-hit.ts b/src/items/held-items/multi-hit.ts index 5efbdf71386..12472162afe 100644 --- a/src/items/held-items/multi-hit.ts +++ b/src/items/held-items/multi-hit.ts @@ -1,5 +1,5 @@ import type Pokemon from "#app/field/pokemon"; -import { HeldItem, HELD_ITEM_EFFECT } from "#app/items/held-item"; +import { HeldItemEffect, HeldItem } from "#app/items/held-item"; import { isNullOrUndefined, type NumberHolder } from "#app/utils/common"; import type { MoveId } from "#enums/move-id"; import { allMoves } from "#app/data/data-lists"; @@ -19,7 +19,7 @@ export interface MULTI_HIT_PARAMS { * @see {@linkcode apply} */ export class MultiHitHeldItem extends HeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.MULTI_HIT]; + public effects: HeldItemEffect[] = [HeldItemEffect.MULTI_HIT]; get description(): string { return i18next.t("modifierType:ModifierType.PokemonMultiHitModifierType.description"); diff --git a/src/items/held-items/nature-weight-booster.ts b/src/items/held-items/nature-weight-booster.ts index ae515a96196..76a81df6423 100644 --- a/src/items/held-items/nature-weight-booster.ts +++ b/src/items/held-items/nature-weight-booster.ts @@ -1,6 +1,6 @@ import type Pokemon from "#app/field/pokemon"; import type { NumberHolder } from "#app/utils/common"; -import { HeldItem, HELD_ITEM_EFFECT } from "../held-item"; +import { HeldItemEffect, HeldItem } from "../held-item"; export interface NATURE_WEIGHT_BOOST_PARAMS { /** The pokemon with the item */ @@ -10,7 +10,7 @@ export interface NATURE_WEIGHT_BOOST_PARAMS { } export class NatureWeightBoosterHeldItem extends HeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.NATURE_WEIGHT_BOOSTER]; + public effects: HeldItemEffect[] = [HeldItemEffect.NATURE_WEIGHT_BOOSTER]; /** * Applies {@linkcode PokemonNatureWeightModifier} diff --git a/src/items/held-items/reset-negative-stat-stage.ts b/src/items/held-items/reset-negative-stat-stage.ts index 94bb72c9ed4..76b17e19ffb 100644 --- a/src/items/held-items/reset-negative-stat-stage.ts +++ b/src/items/held-items/reset-negative-stat-stage.ts @@ -2,7 +2,7 @@ import type Pokemon from "#app/field/pokemon"; import { globalScene } from "#app/global-scene"; import { BATTLE_STATS } from "#enums/stat"; import i18next from "i18next"; -import { ConsumableHeldItem, HELD_ITEM_EFFECT } from "../held-item"; +import { ConsumableHeldItem, HeldItemEffect } from "../held-item"; import { getPokemonNameWithAffix } from "#app/messages"; export interface RESET_NEGATIVE_STAT_STAGE_PARAMS { @@ -19,7 +19,7 @@ export interface RESET_NEGATIVE_STAT_STAGE_PARAMS { * @see {@linkcode apply} */ export class ResetNegativeStatStageHeldItem extends ConsumableHeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.RESET_NEGATIVE_STAT_STAGE]; + public effects: HeldItemEffect[] = [HeldItemEffect.RESET_NEGATIVE_STAT_STAGE]; get name(): string { return i18next.t("modifierType:ModifierType.WHITE_HERB.name"); diff --git a/src/items/held-items/stat-booster.ts b/src/items/held-items/stat-booster.ts index 711b4f276ab..8e6553053f5 100644 --- a/src/items/held-items/stat-booster.ts +++ b/src/items/held-items/stat-booster.ts @@ -4,7 +4,7 @@ import type { NumberHolder } from "#app/utils/common"; import { HeldItemId } from "#enums/held-item-id"; import type { SpeciesId } from "#enums/species-id"; import type { Stat } from "#enums/stat"; -import { HeldItem, HELD_ITEM_EFFECT } from "../held-item"; +import { HeldItemEffect, HeldItem } from "../held-item"; export interface STAT_BOOST_PARAMS { /** The pokemon with the item */ @@ -20,7 +20,7 @@ export interface STAT_BOOST_PARAMS { * @see {@linkcode apply} */ export class StatBoostHeldItem extends HeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.STAT_BOOST]; + public effects: HeldItemEffect[] = [HeldItemEffect.STAT_BOOST]; /** The stats that the held item boosts */ protected stats: Stat[]; /** The multiplier used to increase the relevant stat(s) */ diff --git a/src/items/held-items/survive-chance.ts b/src/items/held-items/survive-chance.ts index e23477f0fab..1e3b1718ab1 100644 --- a/src/items/held-items/survive-chance.ts +++ b/src/items/held-items/survive-chance.ts @@ -1,5 +1,5 @@ import type Pokemon from "#app/field/pokemon"; -import { HeldItem, HELD_ITEM_EFFECT } from "#app/items/held-item"; +import { HeldItemEffect, HeldItem } from "#app/items/held-item"; import type { BooleanHolder } from "#app/utils/common"; import { globalScene } from "#app/global-scene"; import i18next from "i18next"; @@ -18,7 +18,7 @@ export interface SURVIVE_CHANCE_PARAMS { * @see {@linkcode apply} */ export class SurviveChanceHeldItem extends HeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.SURVIVE_CHANCE]; + public effects: HeldItemEffect[] = [HeldItemEffect.SURVIVE_CHANCE]; /** * Checks if the {@linkcode SurviveDamageModifier} should be applied diff --git a/src/items/held-items/turn-end-heal.ts b/src/items/held-items/turn-end-heal.ts index 0ba42db70ae..ebd86718d7a 100644 --- a/src/items/held-items/turn-end-heal.ts +++ b/src/items/held-items/turn-end-heal.ts @@ -1,7 +1,7 @@ import type Pokemon from "#app/field/pokemon"; import { globalScene } from "#app/global-scene"; import i18next from "i18next"; -import { HeldItem, HELD_ITEM_EFFECT } from "#app/items/held-item"; +import { HeldItemEffect, HeldItem } from "#app/items/held-item"; import { PokemonHealPhase } from "#app/phases/pokemon-heal-phase"; import { toDmgValue } from "#app/utils/common"; import { getPokemonNameWithAffix } from "#app/messages"; @@ -12,7 +12,7 @@ export interface TURN_END_HEAL_PARAMS { } export class TurnEndHealHeldItem extends HeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.TURN_END_HEAL]; + public effects: HeldItemEffect[] = [HeldItemEffect.TURN_END_HEAL]; apply(params: TURN_END_HEAL_PARAMS): boolean { const pokemon = params.pokemon; diff --git a/src/items/held-items/turn-end-status.ts b/src/items/held-items/turn-end-status.ts index ed0a1d609fc..6a4ae620b47 100644 --- a/src/items/held-items/turn-end-status.ts +++ b/src/items/held-items/turn-end-status.ts @@ -1,5 +1,5 @@ import type Pokemon from "#app/field/pokemon"; -import { HeldItem, HELD_ITEM_EFFECT } from "#app/items/held-item"; +import { HeldItemEffect, HeldItem } from "#app/items/held-item"; import type { StatusEffect } from "#enums/status-effect"; import type { HeldItemId } from "#enums/held-item-id"; @@ -15,7 +15,7 @@ export interface TURN_END_STATUS_PARAMS { * @see {@linkcode apply} */ export class TurnEndStatusHeldItem extends HeldItem { - public effects: HELD_ITEM_EFFECT[] = [HELD_ITEM_EFFECT.TURN_END_STATUS]; + public effects: HeldItemEffect[] = [HeldItemEffect.TURN_END_STATUS]; /** The status effect to be applied by the held item */ public effect: StatusEffect; diff --git a/src/phases/berry-phase.ts b/src/phases/berry-phase.ts index 2b361427d7c..1fe547d7469 100644 --- a/src/phases/berry-phase.ts +++ b/src/phases/berry-phase.ts @@ -7,7 +7,7 @@ import { FieldPhase } from "./field-phase"; import { globalScene } from "#app/global-scene"; import type Pokemon from "#app/field/pokemon"; import { allHeldItems, applyHeldItems } from "#app/items/all-held-items"; -import { HELD_ITEM_EFFECT } from "#app/items/held-item"; +import { HeldItemEffect } from "#app/items/held-item"; import { HeldItemCategoryId, isItemInCategory } from "#enums/held-item-id"; /** @@ -59,7 +59,7 @@ export class BerryPhase extends FieldPhase { CommonAnim.USE_ITEM, ); - applyHeldItems(HELD_ITEM_EFFECT.BERRY, { pokemon: pokemon }); + applyHeldItems(HeldItemEffect.BERRY, { pokemon: pokemon }); globalScene.updateItems(pokemon.isPlayer()); // AbilityId.CHEEK_POUCH only works once per round of nom noms diff --git a/src/phases/faint-phase.ts b/src/phases/faint-phase.ts index 9dc54ef4642..0733e168ae5 100644 --- a/src/phases/faint-phase.ts +++ b/src/phases/faint-phase.ts @@ -21,7 +21,7 @@ import { isNullOrUndefined } from "#app/utils/common"; import { FRIENDSHIP_LOSS_FROM_FAINT } from "#app/data/balance/starters"; import { BattlerTagType } from "#enums/battler-tag-type"; import { applyHeldItems } from "#app/items/all-held-items"; -import { HELD_ITEM_EFFECT } from "#app/items/held-item"; +import { HeldItemEffect } from "#app/items/held-item"; export class FaintPhase extends PokemonPhase { public readonly phaseName = "FaintPhase"; @@ -55,7 +55,7 @@ export class FaintPhase extends PokemonPhase { faintPokemon.resetSummonData(); if (!this.preventInstantRevive) { - applyHeldItems(HELD_ITEM_EFFECT.INSTANT_REVIVE, { pokemon: faintPokemon }); + applyHeldItems(HeldItemEffect.INSTANT_REVIVE, { pokemon: faintPokemon }); } /** diff --git a/src/phases/move-effect-phase.ts b/src/phases/move-effect-phase.ts index 21f869110d5..2e006c3a46f 100644 --- a/src/phases/move-effect-phase.ts +++ b/src/phases/move-effect-phase.ts @@ -41,7 +41,7 @@ import type Move from "#app/data/moves/move"; import { isFieldTargeted } from "#app/data/moves/move-utils"; import { DamageAchv } from "#app/system/achv"; import { applyHeldItems } from "#app/items/all-held-items"; -import { HELD_ITEM_EFFECT } from "#app/items/held-item"; +import { HeldItemEffect } from "#app/items/held-item"; import { isVirtual, isReflected, MoveUseMode } from "#enums/move-use-mode"; import { TRAINER_ITEM_EFFECT } from "#app/items/trainer-item"; @@ -313,7 +313,7 @@ export class MoveEffectPhase extends PokemonPhase { // If Parental Bond is applicable, add another hit applyAbAttrs("AddSecondStrikeAbAttr", { pokemon: user, move, hitCount }); // If Multi-Lens is applicable, add hits equal to the number of held Multi-Lenses - applyHeldItems(HELD_ITEM_EFFECT.MULTI_HIT, { pokemon: user, moveId: move.id, count: hitCount }); + applyHeldItems(HeldItemEffect.MULTI_HIT, { pokemon: user, moveId: move.id, count: hitCount }); // Set the user's relevant turnData fields to reflect the final hit count user.turnData.hitCount = hitCount.value; user.turnData.hitsLeft = hitCount.value; @@ -413,7 +413,7 @@ export class MoveEffectPhase extends PokemonPhase { globalScene.phaseManager.queueMessage(i18next.t("battle:attackHitsCount", { count: hitsTotal })); } - applyHeldItems(HELD_ITEM_EFFECT.HIT_HEAL, { pokemon: user }); + applyHeldItems(HeldItemEffect.HIT_HEAL, { pokemon: user }); this.getTargets().forEach(target => { target.turnData.moveEffectiveness = null; }); @@ -455,7 +455,7 @@ export class MoveEffectPhase extends PokemonPhase { !this.move.hitsSubstitute(user, target) ) { const flinched = new BooleanHolder(false); - applyHeldItems(HELD_ITEM_EFFECT.FLINCH_CHANCE, { pokemon: user, flinched: flinched }); + applyHeldItems(HeldItemEffect.FLINCH_CHANCE, { pokemon: user, flinched: flinched }); if (flinched.value) { target.addTag(BattlerTagType.FLINCHED, undefined, this.move.id, user.id); } @@ -900,7 +900,7 @@ export class MoveEffectPhase extends PokemonPhase { }); if (user.isPlayer() && target.isEnemy()) { - applyHeldItems(HELD_ITEM_EFFECT.DAMAGE_MONEY_REWARD, { pokemon: user, damage: damage }); + applyHeldItems(HeldItemEffect.DAMAGE_MONEY_REWARD, { pokemon: user, damage: damage }); } return [result, isCritical]; @@ -1013,7 +1013,7 @@ export class MoveEffectPhase extends PokemonPhase { // Apply Grip Claw's chance to steal an item from the target if (this.move.is("AttackMove")) { - applyHeldItems(HELD_ITEM_EFFECT.CONTACT_ITEM_STEAL_CHANCE, { pokemon: user, target: target }); + applyHeldItems(HeldItemEffect.CONTACT_ITEM_STEAL_CHANCE, { pokemon: user, target: target }); } } } diff --git a/src/phases/stat-stage-change-phase.ts b/src/phases/stat-stage-change-phase.ts index 0fd77648b76..95364908d5d 100644 --- a/src/phases/stat-stage-change-phase.ts +++ b/src/phases/stat-stage-change-phase.ts @@ -14,7 +14,7 @@ import { Stat, type BattleStat, getStatKey, getStatStageChangeDescriptionKey } f import { OctolockTag } from "#app/data/battler-tags"; import { ArenaTagType } from "#app/enums/arena-tag-type"; import { applyHeldItems } from "#app/items/all-held-items"; -import { HELD_ITEM_EFFECT } from "#app/items/held-item"; +import { HeldItemEffect } from "#app/items/held-item"; import type { ConditionalUserFieldProtectStatAbAttrParams, PreStatStageChangeAbAttrParams, @@ -236,7 +236,7 @@ export class StatStageChangePhase extends PokemonPhase { ); if (!existingPhase?.is("StatStageChangePhase")) { // Apply White Herb if needed - applyHeldItems(HELD_ITEM_EFFECT.RESET_NEGATIVE_STAT_STAGE, { pokemon: pokemon, isPlayer: this.player }); + applyHeldItems(HeldItemEffect.RESET_NEGATIVE_STAT_STAGE, { pokemon: pokemon, isPlayer: this.player }); } pokemon.updateInfo(); diff --git a/src/phases/turn-end-phase.ts b/src/phases/turn-end-phase.ts index 1d1bd3ebb3c..a222734161d 100644 --- a/src/phases/turn-end-phase.ts +++ b/src/phases/turn-end-phase.ts @@ -9,7 +9,7 @@ import i18next from "i18next"; import { FieldPhase } from "./field-phase"; import { globalScene } from "#app/global-scene"; import { applyHeldItems } from "#app/items/all-held-items"; -import { HELD_ITEM_EFFECT } from "#app/items/held-item"; +import { HeldItemEffect } from "#app/items/held-item"; import { TRAINER_ITEM_EFFECT } from "#app/items/trainer-item"; export class TurnEndPhase extends FieldPhase { @@ -26,7 +26,7 @@ export class TurnEndPhase extends FieldPhase { if (!pokemon.switchOutStatus) { pokemon.lapseTags(BattlerTagLapseType.TURN_END); - applyHeldItems(HELD_ITEM_EFFECT.TURN_END_HEAL, { pokemon: pokemon }); + applyHeldItems(HeldItemEffect.TURN_END_HEAL, { pokemon: pokemon }); if (globalScene.arena.terrain?.terrainType === TerrainType.GRASSY && pokemon.isGrounded()) { globalScene.phaseManager.unshiftNew( @@ -48,9 +48,9 @@ export class TurnEndPhase extends FieldPhase { applyAbAttrs("PostTurnAbAttr", { pokemon }); } - applyHeldItems(HELD_ITEM_EFFECT.TURN_END_STATUS, { pokemon: pokemon }); + applyHeldItems(HeldItemEffect.TURN_END_STATUS, { pokemon: pokemon }); - applyHeldItems(HELD_ITEM_EFFECT.TURN_END_ITEM_STEAL, { pokemon: pokemon }); + applyHeldItems(HeldItemEffect.TURN_END_ITEM_STEAL, { pokemon: pokemon }); pokemon.tempSummonData.turnCount++; pokemon.tempSummonData.waveTurnCount++; diff --git a/src/phases/turn-start-phase.ts b/src/phases/turn-start-phase.ts index cfdf68727f3..f7ded3fe2eb 100644 --- a/src/phases/turn-start-phase.ts +++ b/src/phases/turn-start-phase.ts @@ -10,7 +10,7 @@ import { BattlerIndex } from "#enums/battler-index"; import { TrickRoomTag } from "#app/data/arena-tag"; import { SwitchType } from "#enums/switch-type"; import { globalScene } from "#app/global-scene"; -import { HELD_ITEM_EFFECT } from "#app/items/held-item"; +import { HeldItemEffect } from "#app/items/held-item"; import { applyHeldItems } from "#app/items/all-held-items"; export class TurnStartPhase extends FieldPhase { @@ -73,7 +73,7 @@ export class TurnStartPhase extends FieldPhase { canCheckHeldItems: canCheckHeldItems, }); if (canCheckHeldItems.value) { - applyHeldItems(HELD_ITEM_EFFECT.BYPASS_SPEED_CHANCE, { pokemon: p, doBypassSpeed: bypassSpeed }); + applyHeldItems(HeldItemEffect.BYPASS_SPEED_CHANCE, { pokemon: p, doBypassSpeed: bypassSpeed }); } battlerBypassSpeed[p.getBattlerIndex()] = bypassSpeed; }); diff --git a/test/items/eviolite.test.ts b/test/items/eviolite.test.ts index 0539280e132..fae83947885 100644 --- a/test/items/eviolite.test.ts +++ b/test/items/eviolite.test.ts @@ -1,5 +1,5 @@ import { applyHeldItems } from "#app/items/all-held-items"; -import { HELD_ITEM_EFFECT } from "#app/items/held-item"; +import { HeldItemEffect } from "#app/items/held-item"; import { NumberHolder, randItem } from "#app/utils/common"; import { HeldItemId } from "#enums/held-item-id"; import { SpeciesId } from "#enums/species-id"; @@ -34,7 +34,7 @@ describe("Items - Eviolite", () => { vi.spyOn(partyMember, "getEffectiveStat").mockImplementation((stat, _opponent?, _move?, _isCritical?) => { const statValue = new NumberHolder(partyMember.getStat(stat, false)); - applyHeldItems(HELD_ITEM_EFFECT.STAT_BOOST, { pokemon: partyMember, stat: stat, statValue: statValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: stat, statValue: statValue }); return Math.floor(statValue.value); }); @@ -53,7 +53,7 @@ describe("Items - Eviolite", () => { vi.spyOn(partyMember, "getEffectiveStat").mockImplementation((stat, _opponent?, _move?, _isCritical?) => { const statValue = new NumberHolder(partyMember.getStat(stat, false)); - applyHeldItems(HELD_ITEM_EFFECT.STAT_BOOST, { pokemon: partyMember, stat: stat, statValue: statValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: stat, statValue: statValue }); // Ignore other calculations for simplicity @@ -83,7 +83,7 @@ describe("Items - Eviolite", () => { vi.spyOn(partyMember, "getEffectiveStat").mockImplementation((stat, _opponent?, _move?, _isCritical?) => { const statValue = new NumberHolder(partyMember.getStat(stat, false)); - applyHeldItems(HELD_ITEM_EFFECT.STAT_BOOST, { pokemon: partyMember, stat: stat, statValue: statValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: stat, statValue: statValue }); // Ignore other calculations for simplicity @@ -113,7 +113,7 @@ describe("Items - Eviolite", () => { vi.spyOn(partyMember, "getEffectiveStat").mockImplementation((stat, _opponent?, _move?, _isCritical?) => { const statValue = new NumberHolder(partyMember.getStat(stat, false)); - applyHeldItems(HELD_ITEM_EFFECT.STAT_BOOST, { pokemon: partyMember, stat: stat, statValue: statValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: stat, statValue: statValue }); // Ignore other calculations for simplicity @@ -143,7 +143,7 @@ describe("Items - Eviolite", () => { vi.spyOn(partyMember, "getEffectiveStat").mockImplementation((stat, _opponent?, _move?, _isCritical?) => { const statValue = new NumberHolder(partyMember.getStat(stat, false)); - applyHeldItems(HELD_ITEM_EFFECT.STAT_BOOST, { pokemon: partyMember, stat: stat, statValue: statValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: stat, statValue: statValue }); // Ignore other calculations for simplicity @@ -173,7 +173,7 @@ describe("Items - Eviolite", () => { vi.spyOn(partyMember, "getEffectiveStat").mockImplementation((stat, _opponent?, _move?, _isCritical?) => { const statValue = new NumberHolder(partyMember.getStat(stat, false)); - applyHeldItems(HELD_ITEM_EFFECT.STAT_BOOST, { pokemon: partyMember, stat: stat, statValue: statValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: stat, statValue: statValue }); // Ignore other calculations for simplicity @@ -203,7 +203,7 @@ describe("Items - Eviolite", () => { vi.spyOn(partyMember, "getEffectiveStat").mockImplementation((stat, _opponent?, _move?, _isCritical?) => { const statValue = new NumberHolder(partyMember.getStat(stat, false)); - applyHeldItems(HELD_ITEM_EFFECT.STAT_BOOST, { pokemon: partyMember, stat: stat, statValue: statValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: stat, statValue: statValue }); // Ignore other calculations for simplicity diff --git a/test/items/exp_booster.test.ts b/test/items/exp_booster.test.ts index ded5cb85544..11546c4a4fb 100644 --- a/test/items/exp_booster.test.ts +++ b/test/items/exp_booster.test.ts @@ -5,7 +5,7 @@ import Phase from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import { HeldItemId } from "#enums/held-item-id"; import { applyHeldItems } from "#app/items/all-held-items"; -import { HELD_ITEM_EFFECT } from "#app/items/held-item"; +import { HeldItemEffect } from "#app/items/held-item"; describe("EXP Modifier Items", () => { let phaserGame: Phaser.Game; @@ -34,7 +34,7 @@ describe("EXP Modifier Items", () => { const partyMember = game.scene.getPlayerPokemon()!; partyMember.exp = 100; const expHolder = new NumberHolder(partyMember.exp); - applyHeldItems(HELD_ITEM_EFFECT.EXP_BOOSTER, { pokemon: partyMember, expAmount: expHolder }); + applyHeldItems(HeldItemEffect.EXP_BOOSTER, { pokemon: partyMember, expAmount: expHolder }); expect(expHolder.value).toBe(440); }); }); diff --git a/test/items/light_ball.test.ts b/test/items/light_ball.test.ts index 742e7dc8d61..b0509041162 100644 --- a/test/items/light_ball.test.ts +++ b/test/items/light_ball.test.ts @@ -7,7 +7,7 @@ import Phase from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { HeldItemId } from "#enums/held-item-id"; import { applyHeldItems } from "#app/items/all-held-items"; -import { HELD_ITEM_EFFECT } from "#app/items/held-item"; +import { HeldItemEffect } from "#app/items/held-item"; describe("Items - Light Ball", () => { let phaserGame: Phaser.Game; @@ -92,17 +92,17 @@ describe("Items - Light Ball", () => { // Making sure modifier is not applied without holding item const atkValue = new NumberHolder(atkStat); - applyHeldItems(HELD_ITEM_EFFECT.STAT_BOOST, { pokemon: partyMember, stat: Stat.DEF, statValue: atkValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: Stat.DEF, statValue: atkValue }); const spAtkValue = new NumberHolder(spAtkStat); - applyHeldItems(HELD_ITEM_EFFECT.STAT_BOOST, { pokemon: partyMember, stat: Stat.SPDEF, statValue: spAtkValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: Stat.SPDEF, statValue: spAtkValue }); expect(atkValue.value / atkStat).toBe(1); expect(spAtkValue.value / spAtkStat).toBe(1); // Giving Light Ball to party member and testing if it applies partyMember.heldItemManager.add(HeldItemId.LIGHT_BALL); - applyHeldItems(HELD_ITEM_EFFECT.STAT_BOOST, { pokemon: partyMember, stat: Stat.ATK, statValue: atkValue }); - applyHeldItems(HELD_ITEM_EFFECT.STAT_BOOST, { pokemon: partyMember, stat: Stat.SPATK, statValue: spAtkValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: Stat.ATK, statValue: atkValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: Stat.SPATK, statValue: spAtkValue }); expect(atkValue.value / atkStat).toBe(2); expect(spAtkValue.value / spAtkStat).toBe(2); @@ -128,9 +128,9 @@ describe("Items - Light Ball", () => { // Making sure modifier is not applied without holding item const atkValue = new NumberHolder(atkStat); - applyHeldItems(HELD_ITEM_EFFECT.STAT_BOOST, { pokemon: partyMember, stat: Stat.DEF, statValue: atkValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: Stat.DEF, statValue: atkValue }); const spAtkValue = new NumberHolder(spAtkStat); - applyHeldItems(HELD_ITEM_EFFECT.STAT_BOOST, { pokemon: partyMember, stat: Stat.SPDEF, statValue: spAtkValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: Stat.SPDEF, statValue: spAtkValue }); expect(atkValue.value / atkStat).toBe(1); expect(spAtkValue.value / spAtkStat).toBe(1); @@ -138,8 +138,8 @@ describe("Items - Light Ball", () => { // Giving Light Ball to party member and testing if it applies partyMember.heldItemManager.add(HeldItemId.LIGHT_BALL); - applyHeldItems(HELD_ITEM_EFFECT.STAT_BOOST, { pokemon: partyMember, stat: Stat.ATK, statValue: atkValue }); - applyHeldItems(HELD_ITEM_EFFECT.STAT_BOOST, { pokemon: partyMember, stat: Stat.SPATK, statValue: spAtkValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: Stat.ATK, statValue: atkValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: Stat.SPATK, statValue: spAtkValue }); expect(atkValue.value / atkStat).toBe(2); expect(spAtkValue.value / spAtkStat).toBe(2); @@ -165,9 +165,9 @@ describe("Items - Light Ball", () => { // Making sure modifier is not applied without holding item const atkValue = new NumberHolder(atkStat); - applyHeldItems(HELD_ITEM_EFFECT.STAT_BOOST, { pokemon: partyMember, stat: Stat.DEF, statValue: atkValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: Stat.DEF, statValue: atkValue }); const spAtkValue = new NumberHolder(spAtkStat); - applyHeldItems(HELD_ITEM_EFFECT.STAT_BOOST, { pokemon: partyMember, stat: Stat.SPDEF, statValue: spAtkValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: Stat.SPDEF, statValue: spAtkValue }); expect(atkValue.value / atkStat).toBe(1); expect(spAtkValue.value / spAtkStat).toBe(1); @@ -175,8 +175,8 @@ describe("Items - Light Ball", () => { // Giving Light Ball to party member and testing if it applies partyMember.heldItemManager.add(HeldItemId.LIGHT_BALL); - applyHeldItems(HELD_ITEM_EFFECT.STAT_BOOST, { pokemon: partyMember, stat: Stat.ATK, statValue: atkValue }); - applyHeldItems(HELD_ITEM_EFFECT.STAT_BOOST, { pokemon: partyMember, stat: Stat.SPATK, statValue: spAtkValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: Stat.ATK, statValue: atkValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: Stat.SPATK, statValue: spAtkValue }); expect(atkValue.value / atkStat).toBe(2); expect(spAtkValue.value / spAtkStat).toBe(2); @@ -192,17 +192,17 @@ describe("Items - Light Ball", () => { // Making sure modifier is not applied without holding item const atkValue = new NumberHolder(atkStat); - applyHeldItems(HELD_ITEM_EFFECT.STAT_BOOST, { pokemon: partyMember, stat: Stat.DEF, statValue: atkValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: Stat.DEF, statValue: atkValue }); const spAtkValue = new NumberHolder(spAtkStat); - applyHeldItems(HELD_ITEM_EFFECT.STAT_BOOST, { pokemon: partyMember, stat: Stat.SPDEF, statValue: spAtkValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: Stat.SPDEF, statValue: spAtkValue }); expect(atkValue.value / atkStat).toBe(1); expect(spAtkValue.value / spAtkStat).toBe(1); // Giving Light Ball to party member and testing if it applies partyMember.heldItemManager.add(HeldItemId.LIGHT_BALL); - applyHeldItems(HELD_ITEM_EFFECT.STAT_BOOST, { pokemon: partyMember, stat: Stat.ATK, statValue: atkValue }); - applyHeldItems(HELD_ITEM_EFFECT.STAT_BOOST, { pokemon: partyMember, stat: Stat.SPATK, statValue: spAtkValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: Stat.ATK, statValue: atkValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: Stat.SPATK, statValue: spAtkValue }); expect(atkValue.value / atkStat).toBe(1); expect(spAtkValue.value / spAtkStat).toBe(1);