From 33c29e647e1f37287bff0bf5212306bb172f809b Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Thu, 10 Apr 2025 21:46:58 -0500 Subject: [PATCH] Move hit-result to its own file --- src/data/ability.ts | 3 ++- src/data/arena-tag.ts | 2 +- src/data/battler-tags.ts | 3 ++- src/data/berry.ts | 2 +- src/data/moves/move.ts | 2 +- src/enums/ai-type.ts | 1 - src/enums/hit-result.ts | 15 +++++++++++++++ src/field/damage-number-handler.ts | 2 +- src/field/pokemon.ts | 17 +---------------- src/interfaces/damage-calculation-result.ts | 2 +- src/phases/damage-anim-phase.ts | 3 ++- src/phases/faint-phase.ts | 3 ++- src/phases/move-effect-phase.ts | 3 ++- src/phases/pokemon-heal-phase.ts | 2 +- src/phases/weather-effect-phase.ts | 2 +- test/abilities/galvanize.test.ts | 2 +- test/abilities/tera_shell.test.ts | 2 +- test/moves/tera_blast.test.ts | 2 +- 18 files changed, 36 insertions(+), 32 deletions(-) create mode 100644 src/enums/hit-result.ts diff --git a/src/data/ability.ts b/src/data/ability.ts index 9a0d9aeefdb..02cc12dd0f4 100644 --- a/src/data/ability.ts +++ b/src/data/ability.ts @@ -1,7 +1,8 @@ import type { EnemyPokemon } from "../field/pokemon"; import type { PokemonMove } from "./moves/pokemon-move"; import type Pokemon from "../field/pokemon"; -import { HitResult, MoveResult, PlayerPokemon } from "../field/pokemon"; +import { MoveResult, PlayerPokemon } from "../field/pokemon"; +import { HitResult } from "#enums/hit-result"; import { PokemonType } from "#enums/pokemon-type"; import { BooleanHolder, NumberHolder, toDmgValue, isNullOrUndefined, randSeedItem, randSeedInt, type Constructor } from "#app/utils"; import { getPokemonNameWithAffix } from "../messages"; diff --git a/src/data/arena-tag.ts b/src/data/arena-tag.ts index 7f90f81ddc5..c6a1515685f 100644 --- a/src/data/arena-tag.ts +++ b/src/data/arena-tag.ts @@ -7,7 +7,7 @@ import { MoveTarget } from "#enums/MoveTarget"; import { MoveCategory } from "#enums/MoveCategory"; import { getPokemonNameWithAffix } from "#app/messages"; import type Pokemon from "#app/field/pokemon"; -import { HitResult } from "#app/field/pokemon"; +import { HitResult } from "#enums/hit-result"; import { PokemonMove } from "./moves/pokemon-move"; import { StatusEffect } from "#enums/status-effect"; import type { BattlerIndex } from "#app/battle"; diff --git a/src/data/battler-tags.ts b/src/data/battler-tags.ts index a5ae2d6f8e5..c3dcfc49ef6 100644 --- a/src/data/battler-tags.ts +++ b/src/data/battler-tags.ts @@ -24,7 +24,8 @@ import { getStatusEffectHealText } from "#app/data/status-effect"; import { TerrainType } from "#app/data/terrain"; import { PokemonType } from "#enums/pokemon-type"; import type Pokemon from "#app/field/pokemon"; -import { HitResult, MoveResult } from "#app/field/pokemon"; +import { MoveResult } from "#app/field/pokemon"; +import { HitResult } from "#enums/hit-result"; import { getPokemonNameWithAffix } from "#app/messages"; import { CommonAnimPhase } from "#app/phases/common-anim-phase"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; diff --git a/src/data/berry.ts b/src/data/berry.ts index 8a58d337aa4..aaa0dda6e7f 100644 --- a/src/data/berry.ts +++ b/src/data/berry.ts @@ -1,6 +1,6 @@ import { getPokemonNameWithAffix } from "../messages"; import type Pokemon from "../field/pokemon"; -import { HitResult } from "../field/pokemon"; +import { HitResult } from "#enums/hit-result"; import { getStatusEffectHealText } from "./status-effect"; import { NumberHolder, toDmgValue, randSeedInt } from "#app/utils"; import { diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 449bd2967a7..591894f5f1e 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -17,10 +17,10 @@ import type { TurnMove } from "#app/interfaces/turn-move"; import type Pokemon from "../../field/pokemon"; import { EnemyPokemon, - HitResult, MoveResult, PlayerPokemon, } from "../../field/pokemon"; +import { HitResult } from "#enums/hit-result"; import { FieldPosition } from "#enums/field-position"; import { PokemonMove } from "./pokemon-move"; import { diff --git a/src/enums/ai-type.ts b/src/enums/ai-type.ts index a050d6f5cef..13931172a4a 100644 --- a/src/enums/ai-type.ts +++ b/src/enums/ai-type.ts @@ -1,4 +1,3 @@ - export enum AiType { RANDOM, SMART_RANDOM, diff --git a/src/enums/hit-result.ts b/src/enums/hit-result.ts new file mode 100644 index 00000000000..3e62587dd6c --- /dev/null +++ b/src/enums/hit-result.ts @@ -0,0 +1,15 @@ +export enum HitResult { + EFFECTIVE = 1, + SUPER_EFFECTIVE, + NOT_VERY_EFFECTIVE, + ONE_HIT_KO, + NO_EFFECT, + STATUS, + HEAL, + FAIL, + MISS, + INDIRECT, + IMMUNE, + CONFUSION, + INDIRECT_KO +} diff --git a/src/field/damage-number-handler.ts b/src/field/damage-number-handler.ts index a527b148fff..1980e7ba41f 100644 --- a/src/field/damage-number-handler.ts +++ b/src/field/damage-number-handler.ts @@ -1,7 +1,7 @@ import { TextStyle, addTextObject } from "../ui/text"; import type { DamageResult } from "./pokemon"; import type Pokemon from "./pokemon"; -import { HitResult } from "./pokemon"; +import { HitResult } from "#enums/hit-result"; import { formatStat, fixedInt } from "#app/utils"; import type { BattlerIndex } from "../battle"; import { globalScene } from "#app/global-scene"; diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 188d3cc1e65..a90f00f642b 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -266,6 +266,7 @@ import { PokemonMove } from "#app/data/moves/pokemon-move"; import { DamageCalculationResult } from "#app/interfaces/damage-calculation-result"; import { FieldPosition } from "#enums/field-position"; import { AttackMoveResult } from "#app/interfaces/attack-move-result"; +import { HitResult } from "#enums/hit-result"; export default abstract class Pokemon extends Phaser.GameObjects.Container { public id: number; @@ -7851,22 +7852,6 @@ export enum MoveResult { OTHER, } -export enum HitResult { - EFFECTIVE = 1, - SUPER_EFFECTIVE, - NOT_VERY_EFFECTIVE, - ONE_HIT_KO, - NO_EFFECT, - STATUS, - HEAL, - FAIL, - MISS, - INDIRECT, - IMMUNE, - CONFUSION, - INDIRECT_KO, -} - export type DamageResult = | HitResult.EFFECTIVE | HitResult.SUPER_EFFECTIVE diff --git a/src/interfaces/damage-calculation-result.ts b/src/interfaces/damage-calculation-result.ts index eee2a3cb921..1220ff7b57d 100644 --- a/src/interfaces/damage-calculation-result.ts +++ b/src/interfaces/damage-calculation-result.ts @@ -1,4 +1,4 @@ -import type { HitResult } from "#app/field/pokemon"; +import type { HitResult } from "#enums/hit-result"; /** Interface containing the results of a damage calculation for a given move */ export interface DamageCalculationResult { diff --git a/src/phases/damage-anim-phase.ts b/src/phases/damage-anim-phase.ts index 696a2e55b6f..9cf93a3f97e 100644 --- a/src/phases/damage-anim-phase.ts +++ b/src/phases/damage-anim-phase.ts @@ -1,7 +1,8 @@ import { globalScene } from "#app/global-scene"; import type { BattlerIndex } from "#app/battle"; import { BattleSpec } from "#enums/battle-spec"; -import { type DamageResult, HitResult } from "#app/field/pokemon"; +import type { DamageResult } from "#app/field/pokemon"; +import { HitResult } from "#enums/hit-result"; import { fixedInt } from "#app/utils"; import { PokemonPhase } from "#app/phases/pokemon-phase"; diff --git a/src/phases/faint-phase.ts b/src/phases/faint-phase.ts index 62792b85459..4c418679047 100644 --- a/src/phases/faint-phase.ts +++ b/src/phases/faint-phase.ts @@ -19,7 +19,8 @@ import { BattleSpec } from "#app/enums/battle-spec"; import { StatusEffect } from "#app/enums/status-effect"; import type { EnemyPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; -import { HitResult, PlayerPokemon } from "#app/field/pokemon"; +import { PlayerPokemon } from "#app/field/pokemon"; +import { HitResult } from "#enums/hit-result"; import { PokemonMove } from "#app/data/moves/pokemon-move"; import { getPokemonNameWithAffix } from "#app/messages"; import { PokemonInstantReviveModifier } from "#app/modifier/modifier"; diff --git a/src/phases/move-effect-phase.ts b/src/phases/move-effect-phase.ts index c0f200965f8..c13c411be68 100644 --- a/src/phases/move-effect-phase.ts +++ b/src/phases/move-effect-phase.ts @@ -51,7 +51,8 @@ import { SpeciesFormChangePostMoveTrigger } from "#app/data/pokemon-forms"; import { PokemonType } from "#enums/pokemon-type"; import { PokemonMove } from "#app/data/moves/pokemon-move"; import type Pokemon from "#app/field/pokemon"; -import { HitResult, MoveResult } from "#app/field/pokemon"; +import { MoveResult } from "#app/field/pokemon"; +import { HitResult } from "#enums/hit-result"; import { getPokemonNameWithAffix } from "#app/messages"; import { ContactHeldItemTransferChanceModifier, diff --git a/src/phases/pokemon-heal-phase.ts b/src/phases/pokemon-heal-phase.ts index 651c625b23a..84dc8a5e116 100644 --- a/src/phases/pokemon-heal-phase.ts +++ b/src/phases/pokemon-heal-phase.ts @@ -3,7 +3,7 @@ import type { BattlerIndex } from "#app/battle"; import { CommonAnim } from "#app/data/battle-anims"; import { getStatusEffectHealText } from "#app/data/status-effect"; import { StatusEffect } from "#app/enums/status-effect"; -import { HitResult } from "#app/field/pokemon"; +import { HitResult } from "#enums/hit-result"; import { getPokemonNameWithAffix } from "#app/messages"; import { HealingBoosterModifier } from "#app/modifier/modifier"; import { HealAchv } from "#app/system/achv"; diff --git a/src/phases/weather-effect-phase.ts b/src/phases/weather-effect-phase.ts index 5284c9fba85..256894457fc 100644 --- a/src/phases/weather-effect-phase.ts +++ b/src/phases/weather-effect-phase.ts @@ -14,7 +14,7 @@ import { getWeatherDamageMessage, getWeatherLapseMessage } from "#app/data/weath import { BattlerTagType } from "#app/enums/battler-tag-type"; import { WeatherType } from "#app/enums/weather-type"; import type Pokemon from "#app/field/pokemon"; -import { HitResult } from "#app/field/pokemon"; +import { HitResult } from "#enums/hit-result"; import { BooleanHolder, toDmgValue } from "#app/utils"; import { CommonAnimPhase } from "./common-anim-phase"; diff --git a/test/abilities/galvanize.test.ts b/test/abilities/galvanize.test.ts index 4ea26d02d32..4efb6bb068f 100644 --- a/test/abilities/galvanize.test.ts +++ b/test/abilities/galvanize.test.ts @@ -4,7 +4,7 @@ import { PokemonType } from "#enums/pokemon-type"; import { Abilities } from "#app/enums/abilities"; import { Moves } from "#app/enums/moves"; import { Species } from "#app/enums/species"; -import { HitResult } from "#app/field/pokemon"; +import { HitResult } from "#enums/hit-result"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/test/abilities/tera_shell.test.ts b/test/abilities/tera_shell.test.ts index a99ecfd4ce1..bd88c21f52d 100644 --- a/test/abilities/tera_shell.test.ts +++ b/test/abilities/tera_shell.test.ts @@ -2,7 +2,7 @@ import { BattlerIndex } from "#app/battle"; import { Abilities } from "#app/enums/abilities"; import { Moves } from "#app/enums/moves"; import { Species } from "#app/enums/species"; -import { HitResult } from "#app/field/pokemon"; +import { HitResult } from "#enums/hit-result"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/test/moves/tera_blast.test.ts b/test/moves/tera_blast.test.ts index df6e6b582ca..9d17ea6a3cc 100644 --- a/test/moves/tera_blast.test.ts +++ b/test/moves/tera_blast.test.ts @@ -5,7 +5,7 @@ import { allMoves } from "#app/data/moves/all-moves"; import type Move from "#app/data/moves/move"; import { PokemonType } from "#enums/pokemon-type"; import { Abilities } from "#app/enums/abilities"; -import { HitResult } from "#app/field/pokemon"; +import { HitResult } from "#enums/hit-result"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import GameManager from "#test/testUtils/gameManager";