Move ability.ts to subfolder

This commit is contained in:
Sirz Benjie 2025-03-30 12:42:56 -05:00
parent b41eee3c7f
commit 9dbacd678f
No known key found for this signature in database
GPG Key ID: 4A524B4D196C759E
59 changed files with 82 additions and 76 deletions

View File

@ -32,6 +32,7 @@
// TODO: these files are too big and complex, ignore them until their respective refactors // TODO: these files are too big and complex, ignore them until their respective refactors
"src/data/moves/move.ts", "src/data/moves/move.ts",
"src/data/ability.ts", "src/data/ability.ts",
"src/data/abilities/ability.ts",
"src/field/pokemon.ts", "src/field/pokemon.ts",
// this file is just too big: // this file is just too big:

View File

@ -75,7 +75,7 @@ import {
DoubleBattleChanceAbAttr, DoubleBattleChanceAbAttr,
PostBattleInitAbAttr, PostBattleInitAbAttr,
PostItemLostAbAttr, PostItemLostAbAttr,
} from "#app/data/ability"; } from "#app/data/abilities/ability";
import type { FixedBattleConfig } from "#app/battle"; import type { FixedBattleConfig } from "#app/battle";
import Battle, { BattleType } from "#app/battle"; import Battle, { BattleType } from "#app/battle";
import type { GameMode } from "#app/game-mode"; import type { GameMode } from "#app/game-mode";

View File

@ -1,29 +1,29 @@
import type { EnemyPokemon, PokemonMove } from "../field/pokemon"; import type { EnemyPokemon, PokemonMove } from "../../field/pokemon";
import type Pokemon from "../field/pokemon"; import type Pokemon from "../../field/pokemon";
import { HitResult, MoveResult, PlayerPokemon } from "../field/pokemon"; import { HitResult, MoveResult, PlayerPokemon } from "../../field/pokemon";
import { PokemonType } from "#enums/pokemon-type"; import { PokemonType } from "#enums/pokemon-type";
import { BooleanHolder, NumberHolder, toDmgValue, isNullOrUndefined, randSeedItem, randSeedInt, type Constructor } from "#app/utils"; import { BooleanHolder, NumberHolder, toDmgValue, isNullOrUndefined, randSeedItem, randSeedInt, type Constructor } from "#app/utils";
import { getPokemonNameWithAffix } from "../messages"; import { getPokemonNameWithAffix } from "../../messages";
import type { Weather } from "#app/data/weather"; import type { Weather } from "#app/data/weather";
import type { BattlerTag } from "./battler-tags"; import type { BattlerTag } from "../battler-tags";
import { BattlerTagLapseType, GroundedTag } from "./battler-tags"; import { BattlerTagLapseType, GroundedTag } from "../battler-tags";
import { getNonVolatileStatusEffects, getStatusEffectDescriptor, getStatusEffectHealText } from "#app/data/status-effect"; import { getNonVolatileStatusEffects, getStatusEffectDescriptor, getStatusEffectHealText } from "#app/data/status-effect";
import { Gender } from "./gender"; import { Gender } from "../gender";
import type Move from "./moves/move"; import type Move from "../moves/move";
import { AttackMove, FlinchAttr, OneHitKOAttr, HitHealAttr, allMoves, StatusMove, SelfStatusMove, VariablePowerAttr, applyMoveAttrs, VariableMoveTypeAttr, RandomMovesetMoveAttr, RandomMoveAttr, NaturePowerAttr, CopyMoveAttr, NeutralDamageAgainstFlyingTypeMultiplierAttr, FixedDamageAttr } from "./moves/move"; import { AttackMove, FlinchAttr, OneHitKOAttr, HitHealAttr, allMoves, StatusMove, SelfStatusMove, VariablePowerAttr, applyMoveAttrs, VariableMoveTypeAttr, RandomMovesetMoveAttr, RandomMoveAttr, NaturePowerAttr, CopyMoveAttr, NeutralDamageAgainstFlyingTypeMultiplierAttr, FixedDamageAttr } from "../moves/move";
import { MoveFlags } from "#enums/MoveFlags"; import { MoveFlags } from "#enums/MoveFlags";
import { MoveTarget } from "#enums/MoveTarget"; import { MoveTarget } from "#enums/MoveTarget";
import { MoveCategory } from "#enums/MoveCategory"; import { MoveCategory } from "#enums/MoveCategory";
import type { ArenaTrapTag, SuppressAbilitiesTag } from "./arena-tag"; import type { ArenaTrapTag, SuppressAbilitiesTag } from "../arena-tag";
import { ArenaTagSide } from "./arena-tag"; import { ArenaTagSide } from "../arena-tag";
import { BerryModifier, HitHealModifier, PokemonHeldItemModifier } from "../modifier/modifier"; import { BerryModifier, HitHealModifier, PokemonHeldItemModifier } from "../../modifier/modifier";
import { TerrainType } from "./terrain"; import { TerrainType } from "../terrain";
import { SpeciesFormChangeAbilityTrigger, SpeciesFormChangeRevertWeatherFormTrigger, SpeciesFormChangeWeatherTrigger } from "./pokemon-forms"; import { SpeciesFormChangeAbilityTrigger, SpeciesFormChangeRevertWeatherFormTrigger, SpeciesFormChangeWeatherTrigger } from "../pokemon-forms";
import i18next from "i18next"; import i18next from "i18next";
import type { Localizable } from "#app/interfaces/locales"; import type { Localizable } from "#app/interfaces/locales";
import { Command } from "../ui/command-ui-handler"; import { Command } from "../../ui/command-ui-handler";
import { BerryModifierType } from "#app/modifier/modifier-type"; import { BerryModifierType } from "#app/modifier/modifier-type";
import { getPokeballName } from "./pokeball"; import { getPokeballName } from "../pokeball";
import type { BattlerIndex } from "#app/battle"; import type { BattlerIndex } from "#app/battle";
import { BattleType } from "#app/battle"; import { BattleType } from "#app/battle";
import { Abilities } from "#enums/abilities"; import { Abilities } from "#enums/abilities";

View File

@ -18,7 +18,7 @@ import {
applyAbAttrs, applyAbAttrs,
applyOnGainAbAttrs, applyOnGainAbAttrs,
applyOnLoseAbAttrs, applyOnLoseAbAttrs,
} from "#app/data/ability"; } from "#app/data/abilities/ability";
import { Stat } from "#enums/stat"; import { Stat } from "#enums/stat";
import { CommonAnim, CommonBattleAnim } from "#app/data/battle-anims"; import { CommonAnim, CommonBattleAnim } from "#app/data/battle-anims";
import i18next from "i18next"; import i18next from "i18next";

View File

@ -7,7 +7,7 @@ import {
ProtectStatAbAttr, ProtectStatAbAttr,
ConditionalUserFieldProtectStatAbAttr, ConditionalUserFieldProtectStatAbAttr,
ReverseDrainAbAttr, ReverseDrainAbAttr,
} from "#app/data/ability"; } from "#app/data/abilities/ability";
import { ChargeAnim, CommonAnim, CommonBattleAnim, MoveChargeAnim } from "#app/data/battle-anims"; import { ChargeAnim, CommonAnim, CommonBattleAnim, MoveChargeAnim } from "#app/data/battle-anims";
import type Move from "#app/data/moves/move"; import type Move from "#app/data/moves/move";
import { import {

View File

@ -9,7 +9,7 @@ import {
ReduceBerryUseThresholdAbAttr, ReduceBerryUseThresholdAbAttr,
applyAbAttrs, applyAbAttrs,
applyPostItemLostAbAttrs, applyPostItemLostAbAttrs,
} from "./ability"; } from "./abilities/ability";
import i18next from "i18next"; import i18next from "i18next";
import { BattlerTagType } from "#enums/battler-tag-type"; import { BattlerTagType } from "#enums/battler-tag-type";
import { BerryType } from "#enums/berry-type"; import { BerryType } from "#enums/berry-type";

View File

@ -65,7 +65,7 @@ import {
UserFieldMoveTypePowerBoostAbAttr, UserFieldMoveTypePowerBoostAbAttr,
VariableMovePowerAbAttr, VariableMovePowerAbAttr,
WonderSkinAbAttr, WonderSkinAbAttr,
} from "../ability"; } from "../abilities/ability";
import { import {
AttackTypeBoosterModifier, AttackTypeBoosterModifier,
BerryModifier, BerryModifier,

View File

@ -38,7 +38,7 @@ import i18next from "i18next";
import type { OptionSelectConfig } from "#app/ui/abstact-option-select-ui-handler"; import type { OptionSelectConfig } from "#app/ui/abstact-option-select-ui-handler";
import type { PlayerPokemon } from "#app/field/pokemon"; import type { PlayerPokemon } from "#app/field/pokemon";
import { PokemonMove } from "#app/field/pokemon"; import { PokemonMove } from "#app/field/pokemon";
import { Ability } from "#app/data/ability"; import { Ability } from "#app/data/abilities/ability";
import { BerryModifier } from "#app/modifier/modifier"; import { BerryModifier } from "#app/modifier/modifier";
import { BerryType } from "#enums/berry-type"; import { BerryType } from "#enums/berry-type";
import { BattlerIndex } from "#app/battle"; import { BattlerIndex } from "#app/battle";

View File

@ -46,7 +46,7 @@ import { Abilities } from "#enums/abilities";
import { BattlerTagType } from "#enums/battler-tag-type"; import { BattlerTagType } from "#enums/battler-tag-type";
import { StatStageChangePhase } from "#app/phases/stat-stage-change-phase"; import { StatStageChangePhase } from "#app/phases/stat-stage-change-phase";
import { Stat } from "#enums/stat"; import { Stat } from "#enums/stat";
import { Ability } from "#app/data/ability"; import { Ability } from "#app/data/abilities/ability";
import { FIRE_RESISTANT_ABILITIES } from "#app/data/mystery-encounters/requirements/requirement-groups"; import { FIRE_RESISTANT_ABILITIES } from "#app/data/mystery-encounters/requirements/requirement-groups";
/** the i18n namespace for the encounter */ /** the i18n namespace for the encounter */

View File

@ -24,7 +24,7 @@ import { PokemonType } from "#enums/pokemon-type";
import { BerryType } from "#enums/berry-type"; import { BerryType } from "#enums/berry-type";
import { Stat } from "#enums/stat"; import { Stat } from "#enums/stat";
import { SpeciesFormChangeAbilityTrigger } from "#app/data/pokemon-forms"; import { SpeciesFormChangeAbilityTrigger } from "#app/data/pokemon-forms";
import { applyPostBattleInitAbAttrs, PostBattleInitAbAttr } from "#app/data/ability"; import { applyPostBattleInitAbAttrs, PostBattleInitAbAttr } from "#app/data/abilities/ability";
import { showEncounterDialogue, showEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; import { showEncounterDialogue, showEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils";
import { MysteryEncounterMode } from "#enums/mystery-encounter-mode"; import { MysteryEncounterMode } from "#enums/mystery-encounter-mode";
import { PartyHealPhase } from "#app/phases/party-heal-phase"; import { PartyHealPhase } from "#app/phases/party-heal-phase";

View File

@ -1,5 +1,5 @@
import type { Ability } from "#app/data/ability"; import type { Ability } from "#app/data/abilities/ability";
import { allAbilities } from "#app/data/ability"; import { allAbilities } from "#app/data/abilities/ability";
import type { EnemyPartyConfig } from "#app/data/mystery-encounters/utils/encounter-phase-utils"; import type { EnemyPartyConfig } from "#app/data/mystery-encounters/utils/encounter-phase-utils";
import { import {
initBattleWithEnemyConfig, initBattleWithEnemyConfig,

View File

@ -1,5 +1,5 @@
import { globalScene } from "#app/global-scene"; import { globalScene } from "#app/global-scene";
import { allAbilities } from "#app/data/ability"; import { allAbilities } from "#app/data/abilities/ability";
import { EvolutionItem, pokemonEvolutions } from "#app/data/balance/pokemon-evolutions"; import { EvolutionItem, pokemonEvolutions } from "#app/data/balance/pokemon-evolutions";
import { Nature } from "#enums/nature"; import { Nature } from "#enums/nature";
import { FormChangeItem, pokemonFormChanges, SpeciesFormChangeItemTrigger } from "#app/data/pokemon-forms"; import { FormChangeItem, pokemonFormChanges, SpeciesFormChangeItemTrigger } from "#app/data/pokemon-forms";

View File

@ -6,7 +6,7 @@ import { PokemonType } from "#enums/pokemon-type";
import type Move from "./moves/move"; import type Move from "./moves/move";
import { AttackMove } from "./moves/move"; import { AttackMove } from "./moves/move";
import { randSeedInt } from "#app/utils"; import { randSeedInt } from "#app/utils";
import { SuppressWeatherEffectAbAttr } from "./ability"; import { SuppressWeatherEffectAbAttr } from "./abilities/ability";
import { TerrainType, getTerrainName } from "./terrain"; import { TerrainType, getTerrainName } from "./terrain";
import i18next from "i18next"; import i18next from "i18next";
import { globalScene } from "#app/global-scene"; import { globalScene } from "#app/global-scene";

View File

@ -26,7 +26,7 @@ import {
PostTerrainChangeAbAttr, PostTerrainChangeAbAttr,
PostWeatherChangeAbAttr, PostWeatherChangeAbAttr,
TerrainEventTypeChangeAbAttr, TerrainEventTypeChangeAbAttr,
} from "#app/data/ability"; } from "#app/data/abilities/ability";
import type Pokemon from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon";
import Overrides from "#app/overrides"; import Overrides from "#app/overrides";
import { TagAddedEvent, TagRemovedEvent, TerrainChangedEvent, WeatherChangedEvent } from "#app/events/arena"; import { TagAddedEvent, TagRemovedEvent, TerrainChangedEvent, WeatherChangedEvent } from "#app/events/arena";

View File

@ -136,7 +136,7 @@ import {
WeakenMoveScreenTag, WeakenMoveScreenTag,
} from "#app/data/arena-tag"; } from "#app/data/arena-tag";
import type { SuppressAbilitiesTag } from "#app/data/arena-tag"; import type { SuppressAbilitiesTag } from "#app/data/arena-tag";
import type { Ability, AbAttr } from "#app/data/ability"; import type { Ability, AbAttr } from "#app/data/abilities/ability";
import { import {
StatMultiplierAbAttr, StatMultiplierAbAttr,
BlockCritAbAttr, BlockCritAbAttr,
@ -188,7 +188,7 @@ import {
applyAllyStatMultiplierAbAttrs, applyAllyStatMultiplierAbAttrs,
AllyStatMultiplierAbAttr, AllyStatMultiplierAbAttr,
MoveAbilityBypassAbAttr MoveAbilityBypassAbAttr
} from "#app/data/ability"; } from "#app/data/abilities/ability";
import type PokemonData from "#app/system/pokemon-data"; import type PokemonData from "#app/system/pokemon-data";
import { BattlerIndex } from "#app/battle"; import { BattlerIndex } from "#app/battle";
import { Mode } from "#app/ui/ui"; import { Mode } from "#app/ui/ui";

View File

@ -11,7 +11,7 @@ import { initEggMoves } from "#app/data/balance/egg-moves";
import { initPokemonForms } from "#app/data/pokemon-forms"; import { initPokemonForms } from "#app/data/pokemon-forms";
import { initSpecies } from "#app/data/pokemon-species"; import { initSpecies } from "#app/data/pokemon-species";
import { initMoves } from "#app/data/moves/move"; import { initMoves } from "#app/data/moves/move";
import { initAbilities } from "#app/data/ability"; import { initAbilities } from "#app/data/abilities/ability";
import { initAchievements } from "#app/system/achv"; import { initAchievements } from "#app/system/achv";
import { initTrainerTypeDialogue } from "#app/data/dialogue"; import { initTrainerTypeDialogue } from "#app/data/dialogue";
import { initChallenges } from "#app/data/challenge"; import { initChallenges } from "#app/data/challenge";

View File

@ -47,7 +47,7 @@ import {
} from "./modifier-type"; } from "./modifier-type";
import { Color, ShadowColor } from "#enums/color"; import { Color, ShadowColor } from "#enums/color";
import { FRIENDSHIP_GAIN_FROM_RARE_CANDY } from "#app/data/balance/starters"; import { FRIENDSHIP_GAIN_FROM_RARE_CANDY } from "#app/data/balance/starters";
import { applyAbAttrs, CommanderAbAttr } from "#app/data/ability"; import { applyAbAttrs, CommanderAbAttr } from "#app/data/abilities/ability";
import { globalScene } from "#app/global-scene"; import { globalScene } from "#app/global-scene";
export type ModifierPredicate = (modifier: Modifier) => boolean; export type ModifierPredicate = (modifier: Modifier) => boolean;

View File

@ -1,4 +1,9 @@
import { applyAbAttrs, applyPreLeaveFieldAbAttrs, PreLeaveFieldAbAttr, RunSuccessAbAttr } from "#app/data/ability"; import {
applyAbAttrs,
applyPreLeaveFieldAbAttrs,
PreLeaveFieldAbAttr,
RunSuccessAbAttr,
} from "#app/data/abilities/ability";
import { Stat } from "#enums/stat"; import { Stat } from "#enums/stat";
import { StatusEffect } from "#enums/status-effect"; import { StatusEffect } from "#enums/status-effect";
import type { PlayerPokemon, EnemyPokemon } from "#app/field/pokemon"; import type { PlayerPokemon, EnemyPokemon } from "#app/field/pokemon";

View File

@ -1,5 +1,5 @@
import { globalScene } from "#app/global-scene"; import { globalScene } from "#app/global-scene";
import { applyPostBattleAbAttrs, PostBattleAbAttr } from "#app/data/ability"; import { applyPostBattleAbAttrs, PostBattleAbAttr } from "#app/data/abilities/ability";
import { LapsingPersistentModifier, LapsingPokemonHeldItemModifier } from "#app/modifier/modifier"; import { LapsingPersistentModifier, LapsingPokemonHeldItemModifier } from "#app/modifier/modifier";
import { BattlePhase } from "./battle-phase"; import { BattlePhase } from "./battle-phase";
import { GameOverPhase } from "./game-over-phase"; import { GameOverPhase } from "./game-over-phase";

View File

@ -1,4 +1,4 @@
import { applyAbAttrs, PreventBerryUseAbAttr, HealFromBerryUseAbAttr } from "#app/data/ability"; import { applyAbAttrs, PreventBerryUseAbAttr, HealFromBerryUseAbAttr } from "#app/data/abilities/ability";
import { CommonAnim } from "#app/data/battle-anims"; import { CommonAnim } from "#app/data/battle-anims";
import { BerryUsedEvent } from "#app/events/battle-scene"; import { BerryUsedEvent } from "#app/events/battle-scene";
import { getPokemonNameWithAffix } from "#app/messages"; import { getPokemonNameWithAffix } from "#app/messages";

View File

@ -1,7 +1,7 @@
import { BattlerIndex, BattleType } from "#app/battle"; import { BattlerIndex, BattleType } from "#app/battle";
import { globalScene } from "#app/global-scene"; import { globalScene } from "#app/global-scene";
import { PLAYER_PARTY_MAX_SIZE } from "#app/constants"; import { PLAYER_PARTY_MAX_SIZE } from "#app/constants";
import { applyAbAttrs, SyncEncounterNatureAbAttr, applyPreSummonAbAttrs, PreSummonAbAttr } from "#app/data/ability"; import { applyAbAttrs, SyncEncounterNatureAbAttr, applyPreSummonAbAttrs, PreSummonAbAttr } from "#app/data/abilities/ability";
import { initEncounterAnims, loadEncounterAnimAssets } from "#app/data/battle-anims"; import { initEncounterAnims, loadEncounterAnimAssets } from "#app/data/battle-anims";
import { getCharVariantFromDialogue } from "#app/data/dialogue"; import { getCharVariantFromDialogue } from "#app/data/dialogue";
import { getEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; import { getEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils";

View File

@ -8,7 +8,7 @@ import {
PostFaintAbAttr, PostFaintAbAttr,
PostKnockOutAbAttr, PostKnockOutAbAttr,
PostVictoryAbAttr, PostVictoryAbAttr,
} from "#app/data/ability"; } from "#app/data/abilities/ability";
import type { DestinyBondTag, GrudgeTag } from "#app/data/battler-tags"; import type { DestinyBondTag, GrudgeTag } from "#app/data/battler-tags";
import { BattlerTagLapseType } from "#app/data/battler-tags"; import { BattlerTagLapseType } from "#app/data/battler-tags";
import { battleSpecDialogue } from "#app/data/dialogue"; import { battleSpecDialogue } from "#app/data/dialogue";

View File

@ -14,7 +14,7 @@ import {
PostDefendAbAttr, PostDefendAbAttr,
ReflectStatusMoveAbAttr, ReflectStatusMoveAbAttr,
TypeImmunityAbAttr, TypeImmunityAbAttr,
} from "#app/data/ability"; } from "#app/data/abilities/ability";
import { ArenaTagSide, ConditionalProtectTag } from "#app/data/arena-tag"; import { ArenaTagSide, ConditionalProtectTag } from "#app/data/arena-tag";
import { MoveAnim } from "#app/data/battle-anims"; import { MoveAnim } from "#app/data/battle-anims";
import { import {

View File

@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene";
import { BattlerTagLapseType } from "#app/data/battler-tags"; import { BattlerTagLapseType } from "#app/data/battler-tags";
import { PokemonPhase } from "./pokemon-phase"; import { PokemonPhase } from "./pokemon-phase";
import type { BattlerIndex } from "#app/battle"; import type { BattlerIndex } from "#app/battle";
import { applyPostSummonAbAttrs, PostSummonRemoveEffectAbAttr } from "#app/data/ability"; import { applyPostSummonAbAttrs, PostSummonRemoveEffectAbAttr } from "#app/data/abilities/ability";
import type Pokemon from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon";
export class MoveEndPhase extends PokemonPhase { export class MoveEndPhase extends PokemonPhase {

View File

@ -10,7 +10,7 @@ import {
PostMoveUsedAbAttr, PostMoveUsedAbAttr,
RedirectMoveAbAttr, RedirectMoveAbAttr,
ReduceStatusEffectDurationAbAttr, ReduceStatusEffectDurationAbAttr,
} from "#app/data/ability"; } from "#app/data/abilities/ability";
import type { DelayedAttackTag } from "#app/data/arena-tag"; import type { DelayedAttackTag } from "#app/data/arena-tag";
import { CommonAnim } from "#app/data/battle-anims"; import { CommonAnim } from "#app/data/battle-anims";
import { BattlerTagLapseType, CenterOfAttentionTag } from "#app/data/battler-tags"; import { BattlerTagLapseType, CenterOfAttentionTag } from "#app/data/battler-tags";

View File

@ -1,5 +1,5 @@
import { globalScene } from "#app/global-scene"; import { globalScene } from "#app/global-scene";
import { applyAbAttrs, PostBiomeChangeAbAttr } from "#app/data/ability"; import { applyAbAttrs, PostBiomeChangeAbAttr } from "#app/data/abilities/ability";
import { getRandomWeatherType } from "#app/data/weather"; import { getRandomWeatherType } from "#app/data/weather";
import { NextEncounterPhase } from "./next-encounter-phase"; import { NextEncounterPhase } from "./next-encounter-phase";

View File

@ -1,5 +1,5 @@
import { globalScene } from "#app/global-scene"; import { globalScene } from "#app/global-scene";
import { applyAbAttrs, applyPostSummonAbAttrs, CommanderAbAttr, PostSummonAbAttr } from "#app/data/ability"; import { applyAbAttrs, applyPostSummonAbAttrs, CommanderAbAttr, PostSummonAbAttr } from "#app/data/abilities/ability";
import { ArenaTrapTag } from "#app/data/arena-tag"; import { ArenaTrapTag } from "#app/data/arena-tag";
import { StatusEffect } from "#app/enums/status-effect"; import { StatusEffect } from "#app/enums/status-effect";
import { PokemonPhase } from "./pokemon-phase"; import { PokemonPhase } from "./pokemon-phase";

View File

@ -7,7 +7,7 @@ import {
BlockStatusDamageAbAttr, BlockStatusDamageAbAttr,
PostDamageAbAttr, PostDamageAbAttr,
ReduceBurnDamageAbAttr, ReduceBurnDamageAbAttr,
} from "#app/data/ability"; } from "#app/data/abilities/ability";
import { CommonBattleAnim, CommonAnim } from "#app/data/battle-anims"; import { CommonBattleAnim, CommonAnim } from "#app/data/battle-anims";
import { getStatusEffectActivationText } from "#app/data/status-effect"; import { getStatusEffectActivationText } from "#app/data/status-effect";
import { BattleSpec } from "#app/enums/battle-spec"; import { BattleSpec } from "#app/enums/battle-spec";

View File

@ -16,7 +16,7 @@ import {
ClearTerrainAbAttr, ClearTerrainAbAttr,
ClearWeatherAbAttr, ClearWeatherAbAttr,
PostTeraFormChangeStatChangeAbAttr, PostTeraFormChangeStatChangeAbAttr,
} from "#app/data/ability"; } from "#app/data/abilities/ability";
export class QuietFormChangePhase extends BattlePhase { export class QuietFormChangePhase extends BattlePhase {
protected pokemon: Pokemon; protected pokemon: Pokemon;

View File

@ -10,7 +10,7 @@ import {
ReflectStatStageChangeAbAttr, ReflectStatStageChangeAbAttr,
StatStageChangeCopyAbAttr, StatStageChangeCopyAbAttr,
StatStageChangeMultiplierAbAttr, StatStageChangeMultiplierAbAttr,
} from "#app/data/ability"; } from "#app/data/abilities/ability";
import { ArenaTagSide, MistTag } from "#app/data/arena-tag"; import { ArenaTagSide, MistTag } from "#app/data/arena-tag";
import type { ArenaTag } from "#app/data/arena-tag"; import type { ArenaTag } from "#app/data/arena-tag";
import type Pokemon from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon";

View File

@ -13,7 +13,7 @@ import { PostSummonPhase } from "./post-summon-phase";
import { GameOverPhase } from "./game-over-phase"; import { GameOverPhase } from "./game-over-phase";
import { ShinySparklePhase } from "./shiny-sparkle-phase"; import { ShinySparklePhase } from "./shiny-sparkle-phase";
import { MysteryEncounterMode } from "#enums/mystery-encounter-mode"; import { MysteryEncounterMode } from "#enums/mystery-encounter-mode";
import { applyPreSummonAbAttrs, PreSummonAbAttr } from "#app/data/ability"; import { applyPreSummonAbAttrs, PreSummonAbAttr } from "#app/data/abilities/ability";
import { globalScene } from "#app/global-scene"; import { globalScene } from "#app/global-scene";
export class SummonPhase extends PartyMemberPokemonPhase { export class SummonPhase extends PartyMemberPokemonPhase {

View File

@ -5,7 +5,7 @@ import {
PostDamageForceSwitchAbAttr, PostDamageForceSwitchAbAttr,
PreSummonAbAttr, PreSummonAbAttr,
PreSwitchOutAbAttr, PreSwitchOutAbAttr,
} from "#app/data/ability"; } from "#app/data/abilities/ability";
import { allMoves, ForceSwitchOutAttr } from "#app/data/moves/move"; import { allMoves, ForceSwitchOutAttr } from "#app/data/moves/move";
import { getPokeballTintColor } from "#app/data/pokeball"; import { getPokeballTintColor } from "#app/data/pokeball";
import { SpeciesFormChangeActiveTrigger } from "#app/data/pokemon-forms"; import { SpeciesFormChangeActiveTrigger } from "#app/data/pokemon-forms";

View File

@ -1,4 +1,4 @@
import { applyPostTurnAbAttrs, PostTurnAbAttr } from "#app/data/ability"; import { applyPostTurnAbAttrs, PostTurnAbAttr } from "#app/data/abilities/ability";
import { BattlerTagLapseType } from "#app/data/battler-tags"; import { BattlerTagLapseType } from "#app/data/battler-tags";
import { TerrainType } from "#app/data/terrain"; import { TerrainType } from "#app/data/terrain";
import { WeatherType } from "#app/enums/weather-type"; import { WeatherType } from "#app/enums/weather-type";

View File

@ -1,4 +1,4 @@
import { applyAbAttrs, BypassSpeedChanceAbAttr, PreventBypassSpeedChanceAbAttr } from "#app/data/ability"; import { applyAbAttrs, BypassSpeedChanceAbAttr, PreventBypassSpeedChanceAbAttr } from "#app/data/abilities/ability";
import { allMoves, MoveHeaderAttr } from "#app/data/moves/move"; import { allMoves, MoveHeaderAttr } from "#app/data/moves/move";
import { Abilities } from "#app/enums/abilities"; import { Abilities } from "#app/enums/abilities";
import { Stat } from "#app/enums/stat"; import { Stat } from "#app/enums/stat";

View File

@ -7,7 +7,7 @@ import {
BlockNonDirectDamageAbAttr, BlockNonDirectDamageAbAttr,
applyPostWeatherLapseAbAttrs, applyPostWeatherLapseAbAttrs,
PostWeatherLapseAbAttr, PostWeatherLapseAbAttr,
} from "#app/data/ability"; } from "#app/data/abilities/ability";
import { CommonAnim } from "#app/data/battle-anims"; import { CommonAnim } from "#app/data/battle-anims";
import type { Weather } from "#app/data/weather"; import type { Weather } from "#app/data/weather";
import { getWeatherDamageMessage, getWeatherLapseMessage } from "#app/data/weather"; import { getWeatherDamageMessage, getWeatherLapseMessage } from "#app/data/weather";

View File

@ -5,7 +5,7 @@ import { getVariantTint, getVariantIcon } from "#app/sprites/variant";
import { argbFromRgba } from "@material/material-color-utilities"; import { argbFromRgba } from "@material/material-color-utilities";
import i18next from "i18next"; import i18next from "i18next";
import { starterColors } from "#app/battle-scene"; import { starterColors } from "#app/battle-scene";
import { allAbilities } from "#app/data/ability"; import { allAbilities } from "#app/data/abilities/ability";
import { speciesEggMoves } from "#app/data/balance/egg-moves"; import { speciesEggMoves } from "#app/data/balance/egg-moves";
import { GrowthRate, getGrowthRateColor } from "#app/data/exp"; import { GrowthRate, getGrowthRateColor } from "#app/data/exp";
import { Gender, getGenderColor, getGenderSymbol } from "#app/data/gender"; import { Gender, getGenderColor, getGenderSymbol } from "#app/data/gender";

View File

@ -6,7 +6,7 @@ import type { OptionSelectItem } from "./abstact-option-select-ui-handler";
import { isNullOrUndefined } from "#app/utils"; import { isNullOrUndefined } from "#app/utils";
import { Mode } from "./ui"; import { Mode } from "./ui";
import { FilterTextRow } from "./filter-text"; import { FilterTextRow } from "./filter-text";
import { allAbilities } from "#app/data/ability"; import { allAbilities } from "#app/data/abilities/ability";
import { allMoves } from "#app/data/moves/move"; import { allMoves } from "#app/data/moves/move";
import { allSpecies } from "#app/data/pokemon-species"; import { allSpecies } from "#app/data/pokemon-species";
import i18next from "i18next"; import i18next from "i18next";

View File

@ -36,7 +36,7 @@ import type { Nature } from "#enums/nature";
import { addWindow } from "./ui-theme"; import { addWindow } from "./ui-theme";
import type { OptionSelectConfig } from "./abstact-option-select-ui-handler"; import type { OptionSelectConfig } from "./abstact-option-select-ui-handler";
import { FilterText, FilterTextRow } from "./filter-text"; import { FilterText, FilterTextRow } from "./filter-text";
import { allAbilities } from "#app/data/ability"; import { allAbilities } from "#app/data/abilities/ability";
import { starterPassiveAbilities } from "#app/data/balance/passives"; import { starterPassiveAbilities } from "#app/data/balance/passives";
import { allMoves } from "#app/data/moves/move"; import { allMoves } from "#app/data/moves/move";
import { speciesTmMoves } from "#app/data/balance/tms"; import { speciesTmMoves } from "#app/data/balance/tms";

View File

@ -8,8 +8,8 @@ import i18next from "i18next";
import type BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext"; import type BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext";
import { starterColors } from "#app/battle-scene"; import { starterColors } from "#app/battle-scene";
import { globalScene } from "#app/global-scene"; import { globalScene } from "#app/global-scene";
import type { Ability } from "#app/data/ability"; import type { Ability } from "#app/data/abilities/ability";
import { allAbilities } from "#app/data/ability"; import { allAbilities } from "#app/data/abilities/ability";
import { speciesEggMoves } from "#app/data/balance/egg-moves"; import { speciesEggMoves } from "#app/data/balance/egg-moves";
import { GrowthRate, getGrowthRateColor } from "#app/data/exp"; import { GrowthRate, getGrowthRateColor } from "#app/data/exp";
import { Gender, getGenderColor, getGenderSymbol } from "#app/data/gender"; import { Gender, getGenderColor, getGenderSymbol } from "#app/data/gender";

View File

@ -31,7 +31,7 @@ import { loggedInUser } from "#app/account";
import type { Variant } from "#app/sprites/variant"; import type { Variant } from "#app/sprites/variant";
import { getVariantTint } from "#app/sprites/variant"; import { getVariantTint } from "#app/sprites/variant";
import { Button } from "#enums/buttons"; import { Button } from "#enums/buttons";
import type { Ability } from "#app/data/ability"; import type { Ability } from "#app/data/abilities/ability";
import i18next from "i18next"; import i18next from "i18next";
import { modifierSortFunc } from "#app/modifier/modifier"; import { modifierSortFunc } from "#app/modifier/modifier";
import { PlayerGender } from "#enums/player-gender"; import { PlayerGender } from "#enums/player-gender";

View File

@ -1,4 +1,4 @@
import { allAbilities } from "#app/data/ability"; import { allAbilities } from "#app/data/abilities/ability";
import { Abilities } from "#enums/abilities"; import { Abilities } from "#enums/abilities";
import { Moves } from "#enums/moves"; import { Moves } from "#enums/moves";
import { Species } from "#enums/species"; import { Species } from "#enums/species";

View File

@ -1,5 +1,5 @@
import { BattlerIndex } from "#app/battle"; import { BattlerIndex } from "#app/battle";
import { allAbilities } from "#app/data/ability"; import { allAbilities } from "#app/data/abilities/ability";
import { Abilities } from "#app/enums/abilities"; import { Abilities } from "#app/enums/abilities";
import { Stat } from "#app/enums/stat"; import { Stat } from "#app/enums/stat";
import { WeatherType } from "#app/enums/weather-type"; import { WeatherType } from "#app/enums/weather-type";

View File

@ -9,7 +9,7 @@ import Phaser from "phaser";
import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
import { allMoves } from "#app/data/moves/move"; import { allMoves } from "#app/data/moves/move";
import { BattlerTagType } from "#enums/battler-tag-type"; import { BattlerTagType } from "#enums/battler-tag-type";
import { allAbilities } from "#app/data/ability"; import { allAbilities } from "#app/data/abilities/ability";
describe("Abilities - Flower Veil", () => { describe("Abilities - Flower Veil", () => {
let phaserGame: Phaser.Game; let phaserGame: Phaser.Game;

View File

@ -1,5 +1,5 @@
import { BattlerIndex } from "#app/battle"; import { BattlerIndex } from "#app/battle";
import { allAbilities } from "#app/data/ability"; import { allAbilities } from "#app/data/abilities/ability";
import { Abilities } from "#app/enums/abilities"; import { Abilities } from "#app/enums/abilities";
import { WeatherType } from "#app/enums/weather-type"; import { WeatherType } from "#app/enums/weather-type";
import { DamageAnimPhase } from "#app/phases/damage-anim-phase"; import { DamageAnimPhase } from "#app/phases/damage-anim-phase";

View File

@ -5,7 +5,7 @@ import GameManager from "#test/testUtils/gameManager";
import Phaser from "phaser"; import Phaser from "phaser";
import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
import { BattlerIndex } from "#app/battle"; import { BattlerIndex } from "#app/battle";
import { allAbilities } from "#app/data/ability"; import { allAbilities } from "#app/data/abilities/ability";
import { allMoves } from "#app/data/moves/move"; import { allMoves } from "#app/data/moves/move";
import { MoveCategory } from "#enums/MoveCategory"; import { MoveCategory } from "#enums/MoveCategory";

View File

@ -1,5 +1,5 @@
import { BattlerIndex } from "#app/battle"; import { BattlerIndex } from "#app/battle";
import { allAbilities } from "#app/data/ability"; import { allAbilities } from "#app/data/abilities/ability";
import { ArenaTagSide } from "#app/data/arena-tag"; import { ArenaTagSide } from "#app/data/arena-tag";
import { ArenaTagType } from "#app/enums/arena-tag-type"; import { ArenaTagType } from "#app/enums/arena-tag-type";
import { BattlerTagType } from "#app/enums/battler-tag-type"; import { BattlerTagType } from "#app/enums/battler-tag-type";

View File

@ -1,5 +1,5 @@
import { BattlerIndex } from "#app/battle"; import { BattlerIndex } from "#app/battle";
import { allAbilities } from "#app/data/ability"; import { allAbilities } from "#app/data/abilities/ability";
import { ArenaTagSide } from "#app/data/arena-tag"; import { ArenaTagSide } from "#app/data/arena-tag";
import { allMoves } from "#app/data/moves/move"; import { allMoves } from "#app/data/moves/move";
import { ArenaTagType } from "#app/enums/arena-tag-type"; import { ArenaTagType } from "#app/enums/arena-tag-type";

View File

@ -1,7 +1,7 @@
import { BattlerIndex } from "#app/battle"; import { BattlerIndex } from "#app/battle";
import type { CommandPhase } from "#app/phases/command-phase"; import type { CommandPhase } from "#app/phases/command-phase";
import { Command } from "#app/ui/command-ui-handler"; import { Command } from "#app/ui/command-ui-handler";
import { PostSummonWeatherChangeAbAttr } from "#app/data/ability"; import { PostSummonWeatherChangeAbAttr } from "#app/data/abilities/ability";
import { Abilities } from "#enums/abilities"; import { Abilities } from "#enums/abilities";
import { ArenaTagType } from "#enums/arena-tag-type"; import { ArenaTagType } from "#enums/arena-tag-type";
import { Moves } from "#enums/moves"; import { Moves } from "#enums/moves";

View File

@ -1,4 +1,4 @@
import { allAbilities, BypassSpeedChanceAbAttr } from "#app/data/ability"; import { allAbilities, BypassSpeedChanceAbAttr } from "#app/data/abilities/ability";
import { FaintPhase } from "#app/phases/faint-phase"; import { FaintPhase } from "#app/phases/faint-phase";
import { Abilities } from "#enums/abilities"; import { Abilities } from "#enums/abilities";
import { Moves } from "#enums/moves"; import { Moves } from "#enums/moves";

View File

@ -1,4 +1,4 @@
import { StatMultiplierAbAttr, allAbilities } from "#app/data/ability"; import { StatMultiplierAbAttr, allAbilities } from "#app/data/abilities/ability";
import { CommandPhase } from "#app/phases/command-phase"; import { CommandPhase } from "#app/phases/command-phase";
import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { MoveEffectPhase } from "#app/phases/move-effect-phase";
import { MoveEndPhase } from "#app/phases/move-end-phase"; import { MoveEndPhase } from "#app/phases/move-end-phase";

View File

@ -4,7 +4,7 @@ import {
applyPreDefendAbAttrs, applyPreDefendAbAttrs,
IgnoreMoveEffectsAbAttr, IgnoreMoveEffectsAbAttr,
MoveEffectChanceMultiplierAbAttr, MoveEffectChanceMultiplierAbAttr,
} from "#app/data/ability"; } from "#app/data/abilities/ability";
import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { MoveEffectPhase } from "#app/phases/move-effect-phase";
import { NumberHolder } from "#app/utils"; import { NumberHolder } from "#app/utils";
import { Abilities } from "#enums/abilities"; import { Abilities } from "#enums/abilities";

View File

@ -1,4 +1,4 @@
import { allAbilities } from "#app/data/ability"; import { allAbilities } from "#app/data/abilities/ability";
import { allMoves } from "#app/data/moves/move"; import { allMoves } from "#app/data/moves/move";
import { Abilities } from "#app/enums/abilities"; import { Abilities } from "#app/enums/abilities";
import { Moves } from "#enums/moves"; import { Moves } from "#enums/moves";

View File

@ -1,5 +1,5 @@
import { BattlerIndex } from "#app/battle"; import { BattlerIndex } from "#app/battle";
import { PostItemLostAbAttr } from "#app/data/ability"; import { PostItemLostAbAttr } from "#app/data/abilities/ability";
import { allMoves, StealHeldItemChanceAttr } from "#app/data/moves/move"; import { allMoves, StealHeldItemChanceAttr } from "#app/data/moves/move";
import type Pokemon from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon";
import type { ContactHeldItemTransferChanceModifier } from "#app/modifier/modifier"; import type { ContactHeldItemTransferChanceModifier } from "#app/modifier/modifier";

View File

@ -1,4 +1,4 @@
import { allAbilities } from "#app/data/ability"; import { allAbilities } from "#app/data/abilities/ability";
import { Stat } from "#app/enums/stat"; import { Stat } from "#app/enums/stat";
import { Abilities } from "#enums/abilities"; import { Abilities } from "#enums/abilities";
import { Moves } from "#enums/moves"; import { Moves } from "#enums/moves";

View File

@ -1,4 +1,4 @@
import { allAbilities } from "#app/data/ability"; import { allAbilities } from "#app/data/abilities/ability";
import { Abilities } from "#app/enums/abilities"; import { Abilities } from "#app/enums/abilities";
import type Pokemon from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon";
import { TurnEndPhase } from "#app/phases/turn-end-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase";

View File

@ -1,5 +1,5 @@
import { BattlerIndex } from "#app/battle"; import { BattlerIndex } from "#app/battle";
import { allAbilities } from "#app/data/ability"; import { allAbilities } from "#app/data/abilities/ability";
import { ArenaTagSide } from "#app/data/arena-tag"; import { ArenaTagSide } from "#app/data/arena-tag";
import { allMoves, FlinchAttr } from "#app/data/moves/move"; import { allMoves, FlinchAttr } from "#app/data/moves/move";
import { PokemonType } from "#enums/pokemon-type"; import { PokemonType } from "#enums/pokemon-type";

View File

@ -1,5 +1,5 @@
import { BattlerIndex } from "#app/battle"; import { BattlerIndex } from "#app/battle";
import { allAbilities, PostDefendContactApplyStatusEffectAbAttr } from "#app/data/ability"; import { allAbilities, PostDefendContactApplyStatusEffectAbAttr } from "#app/data/abilities/ability";
import { Abilities } from "#app/enums/abilities"; import { Abilities } from "#app/enums/abilities";
import { StatusEffect } from "#app/enums/status-effect"; import { StatusEffect } from "#app/enums/status-effect";
import GameManager from "#test/testUtils/gameManager"; import GameManager from "#test/testUtils/gameManager";

View File

@ -11,7 +11,7 @@ import { StatusEffect } from "#enums/status-effect";
import { BattlerIndex } from "#app/battle"; import { BattlerIndex } from "#app/battle";
import { ArenaTagType } from "#enums/arena-tag-type"; import { ArenaTagType } from "#enums/arena-tag-type";
import { ArenaTagSide } from "#app/data/arena-tag"; import { ArenaTagSide } from "#app/data/arena-tag";
import { allAbilities, MoveEffectChanceMultiplierAbAttr } from "#app/data/ability"; import { allAbilities, MoveEffectChanceMultiplierAbAttr } from "#app/data/abilities/ability";
describe("Moves - Secret Power", () => { describe("Moves - Secret Power", () => {
let phaserGame: Phaser.Game; let phaserGame: Phaser.Game;

View File

@ -1,6 +1,6 @@
import { SESSION_ID_COOKIE_NAME } from "#app/constants"; import { SESSION_ID_COOKIE_NAME } from "#app/constants";
import { initLoggedInUser } from "#app/account"; import { initLoggedInUser } from "#app/account";
import { initAbilities } from "#app/data/ability"; import { initAbilities } from "#app/data/abilities/ability";
import { initBiomes } from "#app/data/balance/biomes"; import { initBiomes } from "#app/data/balance/biomes";
import { initEggMoves } from "#app/data/balance/egg-moves"; import { initEggMoves } from "#app/data/balance/egg-moves";
import { initPokemonPrevolutions } from "#app/data/balance/pokemon-evolutions"; import { initPokemonPrevolutions } from "#app/data/balance/pokemon-evolutions";