From 4875580b9d7a34a80abfa7c4772adb19175f679b Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Thu, 10 Apr 2025 21:30:15 -0500 Subject: [PATCH] Move TurnMove interface to its own file --- src/battle.ts | 3 ++- src/data/moves/move.ts | 3 ++- src/field/pokemon.ts | 10 +--------- src/interfaces/turn-move.ts | 12 ++++++++++++ src/phases/command-phase.ts | 3 ++- test/battlerTags/substitute.test.ts | 3 ++- test/moves/spit_up.test.ts | 2 +- test/moves/stockpile.test.ts | 2 +- test/moves/swallow.test.ts | 2 +- 9 files changed, 24 insertions(+), 16 deletions(-) create mode 100644 src/interfaces/turn-move.ts diff --git a/src/battle.ts b/src/battle.ts index fb5af223b8f..1122db2679a 100644 --- a/src/battle.ts +++ b/src/battle.ts @@ -15,7 +15,8 @@ import { MoneyMultiplierModifier, PokemonHeldItemModifier } from "./modifier/mod import type { PokeballType } from "#enums/pokeball"; import { trainerConfigs } from "#app/data/trainers/trainer-config"; import { SpeciesFormKey } from "#enums/species-form-key"; -import type { EnemyPokemon, PlayerPokemon, TurnMove } from "#app/field/pokemon"; +import type { EnemyPokemon, PlayerPokemon } from "#app/field/pokemon"; +import type { TurnMove } from "./interfaces/turn-move"; import type Pokemon from "#app/field/pokemon"; import { ArenaTagType } from "#enums/arena-tag-type"; import { BattleSpec } from "#enums/battle-spec"; diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index a3766b0b718..6fa1f1892c9 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -12,7 +12,8 @@ import { TypeBoostTag, } from "../battler-tags"; import { getPokemonNameWithAffix } from "../../messages"; -import type { AttackMoveResult, TurnMove } from "../../field/pokemon"; +import type { AttackMoveResult } from "../../field/pokemon"; +import type { TurnMove } from "#app/interfaces/turn-move"; import type Pokemon from "../../field/pokemon"; import { EnemyPokemon, diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 7160f899d2b..ff98138a80b 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -260,6 +260,7 @@ import { timedEventManager } from "#app/global-event-manager"; import { loadMoveAnimations } from "#app/sprites/pokemon-asset-loader"; import { ResetStatusPhase } from "#app/phases/reset-status-phase"; import { LearnMoveSituation } from "#enums/learn-move-situation"; +import { TurnMove } from "#app/interfaces/turn-move"; export enum FieldPosition { CENTER, @@ -7771,15 +7772,6 @@ interface IllusionData { level?: number } -export interface TurnMove { - move: Moves; - targets: BattlerIndex[]; - result?: MoveResult; - virtual?: boolean; - turn?: number; - ignorePP?: boolean; -} - export interface AttackMoveResult { move: Moves; result: DamageResult; diff --git a/src/interfaces/turn-move.ts b/src/interfaces/turn-move.ts new file mode 100644 index 00000000000..639d309256e --- /dev/null +++ b/src/interfaces/turn-move.ts @@ -0,0 +1,12 @@ +import type { BattlerIndex } from "#app/battle"; +import type { MoveResult } from "#app/field/pokemon"; +import type { Moves } from "#enums/moves"; + +export interface TurnMove { + move: Moves; + targets: BattlerIndex[]; + result?: MoveResult; + virtual?: boolean; + turn?: number; + ignorePP?: boolean; +} diff --git a/src/phases/command-phase.ts b/src/phases/command-phase.ts index 8691ac453ca..cc6e2ca4970 100644 --- a/src/phases/command-phase.ts +++ b/src/phases/command-phase.ts @@ -11,7 +11,8 @@ import { BattlerTagType } from "#app/enums/battler-tag-type"; import { Biome } from "#app/enums/biome"; import { Moves } from "#app/enums/moves"; import { PokeballType } from "#enums/pokeball"; -import type { PlayerPokemon, TurnMove } from "#app/field/pokemon"; +import type { PlayerPokemon } from "#app/field/pokemon"; +import type { TurnMove } from "#app/interfaces/turn-move"; import { FieldPosition } from "#app/field/pokemon"; import { getPokemonNameWithAffix } from "#app/messages"; import { Command } from "#app/ui/command-ui-handler"; diff --git a/test/battlerTags/substitute.test.ts b/test/battlerTags/substitute.test.ts index c41dcc3839b..c4326bb9e07 100644 --- a/test/battlerTags/substitute.test.ts +++ b/test/battlerTags/substitute.test.ts @@ -1,5 +1,6 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import type { PokemonTurnData, TurnMove, PokemonMove } from "#app/field/pokemon"; +import type { PokemonTurnData, PokemonMove } from "#app/field/pokemon"; +import type { TurnMove } from "#app/interfaces/turn-move"; import type Pokemon from "#app/field/pokemon"; import { MoveResult } from "#app/field/pokemon"; import type BattleScene from "#app/battle-scene"; diff --git a/test/moves/spit_up.test.ts b/test/moves/spit_up.test.ts index 4541009777e..7ef6e5e5b14 100644 --- a/test/moves/spit_up.test.ts +++ b/test/moves/spit_up.test.ts @@ -2,7 +2,7 @@ import { Stat } from "#enums/stat"; import { StockpilingTag } from "#app/data/battler-tags"; import { allMoves } from "#app/data/moves/all-moves"; import { BattlerTagType } from "#app/enums/battler-tag-type"; -import type { TurnMove } from "#app/field/pokemon"; +import type { TurnMove } from "#app/interfaces/turn-move"; import { MoveResult } from "#app/field/pokemon"; import GameManager from "#test/testUtils/gameManager"; import { Abilities } from "#enums/abilities"; diff --git a/test/moves/stockpile.test.ts b/test/moves/stockpile.test.ts index 033f24d5229..f6e6a0087f6 100644 --- a/test/moves/stockpile.test.ts +++ b/test/moves/stockpile.test.ts @@ -1,6 +1,6 @@ import { Stat } from "#enums/stat"; import { StockpilingTag } from "#app/data/battler-tags"; -import type { TurnMove } from "#app/field/pokemon"; +import type { TurnMove } from "#app/interfaces/turn-move"; import { MoveResult } from "#app/field/pokemon"; import { CommandPhase } from "#app/phases/command-phase"; import { TurnInitPhase } from "#app/phases/turn-init-phase"; diff --git a/test/moves/swallow.test.ts b/test/moves/swallow.test.ts index baa03801079..86af584a174 100644 --- a/test/moves/swallow.test.ts +++ b/test/moves/swallow.test.ts @@ -1,7 +1,7 @@ import { Stat } from "#enums/stat"; import { StockpilingTag } from "#app/data/battler-tags"; import { BattlerTagType } from "#app/enums/battler-tag-type"; -import type { TurnMove } from "#app/field/pokemon"; +import type { TurnMove } from "#app/interfaces/turn-move"; import { MoveResult } from "#app/field/pokemon"; import { MovePhase } from "#app/phases/move-phase"; import { TurnInitPhase } from "#app/phases/turn-init-phase";