Make phaseName as public and fix more uses

This commit is contained in:
Sirz Benjie 2025-05-28 18:02:19 -05:00
parent 6a217f2062
commit 8aa363683d
No known key found for this signature in database
GPG Key ID: 4A524B4D196C759E
89 changed files with 94 additions and 97 deletions

View File

@ -1587,9 +1587,7 @@ export default class BattleScene extends SceneBase {
return 0; return 0;
} }
const isEggPhase: boolean = ["EggLapsePhase", "EggHatchPhase"].includes( const isEggPhase: boolean = ["EggLapsePhase", "EggHatchPhase"].includes(this.getCurrentPhase()?.phaseName ?? "");
this.getCurrentPhase()?.constructor.name ?? "",
);
if ( if (
// Give trainers with specialty types an appropriately-typed form for Wormadam, Rotom, Arceus, Oricorio, Silvally, or Paldean Tauros. // Give trainers with specialty types an appropriately-typed form for Wormadam, Rotom, Arceus, Oricorio, Silvally, or Paldean Tauros.

View File

@ -15,7 +15,7 @@ export abstract class Phase {
* *
* When implementing a phase, you must set the `phaseName` property to the name of the phase. * When implementing a phase, you must set the `phaseName` property to the name of the phase.
*/ */
protected abstract readonly phaseName: PhaseString; public abstract readonly phaseName: PhaseString;
/** /**
* Check if the phase is of the given type without requiring `instanceof`. * Check if the phase is of the given type without requiring `instanceof`.

View File

@ -9,7 +9,7 @@ import { Phase } from "#app/phase";
import { globalScene } from "#app/global-scene"; import { globalScene } from "#app/global-scene";
export class AddEnemyBuffModifierPhase extends Phase { export class AddEnemyBuffModifierPhase extends Phase {
protected readonly phaseName = "AddEnemyBuffModifierPhase"; public readonly phaseName = "AddEnemyBuffModifierPhase";
start() { start() {
super.start(); super.start();

View File

@ -27,7 +27,7 @@ import { globalScene } from "#app/global-scene";
import { Gender } from "#app/data/gender"; import { Gender } from "#app/data/gender";
export class AttemptCapturePhase extends PokemonPhase { export class AttemptCapturePhase extends PokemonPhase {
protected readonly phaseName = "AttemptCapturePhase"; public readonly phaseName = "AttemptCapturePhase";
private pokeballType: PokeballType; private pokeballType: PokeballType;
private pokeball: Phaser.GameObjects.Sprite; private pokeball: Phaser.GameObjects.Sprite;
private originalY: number; private originalY: number;

View File

@ -17,7 +17,7 @@ import { globalScene } from "#app/global-scene";
import { SelectBiomePhase } from "./select-biome-phase"; import { SelectBiomePhase } from "./select-biome-phase";
export class AttemptRunPhase extends PokemonPhase { export class AttemptRunPhase extends PokemonPhase {
protected readonly phaseName = "AttemptRunPhase"; public readonly phaseName = "AttemptRunPhase";
/** For testing purposes: this is to force the pokemon to fail and escape */ /** For testing purposes: this is to force the pokemon to fail and escape */
public forceFailEscape = false; public forceFailEscape = false;

View File

@ -5,7 +5,7 @@ import { BattlePhase } from "./battle-phase";
import { GameOverPhase } from "./game-over-phase"; import { GameOverPhase } from "./game-over-phase";
export class BattleEndPhase extends BattlePhase { export class BattleEndPhase extends BattlePhase {
protected readonly phaseName = "BattleEndPhase"; public readonly phaseName = "BattleEndPhase";
/** If true, will increment battles won */ /** If true, will increment battles won */
isVictory: boolean; isVictory: boolean;

View File

@ -20,7 +20,7 @@ import type Pokemon from "#app/field/pokemon";
* Also triggers Cud Chew's "repeat berry use" effects * Also triggers Cud Chew's "repeat berry use" effects
*/ */
export class BerryPhase extends FieldPhase { export class BerryPhase extends FieldPhase {
protected readonly phaseName = "BerryPhase"; public readonly phaseName = "BerryPhase";
start() { start() {
super.start(); super.start();

View File

@ -4,7 +4,7 @@ import type { BattlerIndex } from "#app/battle";
import { globalScene } from "#app/global-scene"; import { globalScene } from "#app/global-scene";
export class CheckStatusEffectPhase extends Phase { export class CheckStatusEffectPhase extends Phase {
protected readonly phaseName = "CheckStatusEffectPhase"; public readonly phaseName = "CheckStatusEffectPhase";
private order: BattlerIndex[]; private order: BattlerIndex[];
constructor(order: BattlerIndex[]) { constructor(order: BattlerIndex[]) {
super(); super();

View File

@ -10,7 +10,7 @@ import { SwitchPhase } from "./switch-phase";
import { SwitchType } from "#enums/switch-type"; import { SwitchType } from "#enums/switch-type";
export class CheckSwitchPhase extends BattlePhase { export class CheckSwitchPhase extends BattlePhase {
protected readonly phaseName = "CheckSwitchPhase"; public readonly phaseName = "CheckSwitchPhase";
protected fieldIndex: number; protected fieldIndex: number;
protected useName: boolean; protected useName: boolean;

View File

@ -25,7 +25,7 @@ import { ArenaTagSide } from "#app/data/arena-tag";
import { ArenaTagType } from "#app/enums/arena-tag-type"; import { ArenaTagType } from "#app/enums/arena-tag-type";
export class CommandPhase extends FieldPhase { export class CommandPhase extends FieldPhase {
protected readonly phaseName = "CommandPhase"; public readonly phaseName = "CommandPhase";
protected fieldIndex: number; protected fieldIndex: number;
constructor(fieldIndex: number) { constructor(fieldIndex: number) {

View File

@ -7,7 +7,7 @@ import { PokemonPhase } from "./pokemon-phase";
export class CommonAnimPhase extends PokemonPhase { export class CommonAnimPhase extends PokemonPhase {
// PokemonHealPhase extends CommonAnimPhase, and to make typescript happy, // PokemonHealPhase extends CommonAnimPhase, and to make typescript happy,
// we need to allow phaseName to be a union of the two // we need to allow phaseName to be a union of the two
protected readonly phaseName: "CommonAnimPhase" | "PokemonHealPhase" | "WeatherEffectPhase" = "CommonAnimPhase"; public readonly phaseName: "CommonAnimPhase" | "PokemonHealPhase" | "WeatherEffectPhase" = "CommonAnimPhase";
private anim: CommonAnim | null; private anim: CommonAnim | null;
private targetIndex?: BattlerIndex; private targetIndex?: BattlerIndex;
private playOnEmptyField: boolean; private playOnEmptyField: boolean;

View File

@ -6,7 +6,7 @@ import { fixedInt } from "#app/utils/common";
import { PokemonPhase } from "#app/phases/pokemon-phase"; import { PokemonPhase } from "#app/phases/pokemon-phase";
export class DamageAnimPhase extends PokemonPhase { export class DamageAnimPhase extends PokemonPhase {
protected readonly phaseName = "DamageAnimPhase"; public readonly phaseName = "DamageAnimPhase";
private amount: number; private amount: number;
private damageResult: DamageResult; private damageResult: DamageResult;
private critical: boolean; private critical: boolean;

View File

@ -20,7 +20,7 @@ import { doShinySparkleAnim } from "#app/field/anims";
* Class that represents egg hatching * Class that represents egg hatching
*/ */
export class EggHatchPhase extends Phase { export class EggHatchPhase extends Phase {
protected readonly phaseName = "EggHatchPhase"; public readonly phaseName = "EggHatchPhase";
/** The egg that is hatching */ /** The egg that is hatching */
private egg: Egg; private egg: Egg;
/** The new EggHatchData for the egg/pokemon that hatches */ /** The new EggHatchData for the egg/pokemon that hatches */

View File

@ -16,7 +16,7 @@ import { EggHatchData } from "#app/data/egg-hatch-data";
* Also handles prompts for skipping animation, and calling the egg summary phase * Also handles prompts for skipping animation, and calling the egg summary phase
*/ */
export class EggLapsePhase extends Phase { export class EggLapsePhase extends Phase {
protected readonly phaseName = "EggLapsePhase"; public readonly phaseName = "EggLapsePhase";
private eggHatchData: EggHatchData[] = []; private eggHatchData: EggHatchData[] = [];
private readonly minEggsToSkip: number = 2; private readonly minEggsToSkip: number = 2;

View File

@ -9,7 +9,7 @@ import type { EggHatchData } from "#app/data/egg-hatch-data";
* Phase is handled mostly by the egg-hatch-scene-handler UI * Phase is handled mostly by the egg-hatch-scene-handler UI
*/ */
export class EggSummaryPhase extends Phase { export class EggSummaryPhase extends Phase {
protected readonly phaseName = "EggSummaryPhase"; public readonly phaseName = "EggSummaryPhase";
private eggHatchData: EggHatchData[]; private eggHatchData: EggHatchData[];
constructor(eggHatchData: EggHatchData[]) { constructor(eggHatchData: EggHatchData[]) {

View File

@ -48,7 +48,7 @@ import { getNatureName } from "#app/data/nature";
export class EncounterPhase extends BattlePhase { export class EncounterPhase extends BattlePhase {
// Union type is necessary as this is subclassed, and typescript will otherwise complain // Union type is necessary as this is subclassed, and typescript will otherwise complain
protected readonly phaseName: "EncounterPhase" | "NextEncounterPhase" | "NewBiomeEncounterPhase" = "EncounterPhase"; public readonly phaseName: "EncounterPhase" | "NextEncounterPhase" | "NewBiomeEncounterPhase" = "EncounterPhase";
private loaded: boolean; private loaded: boolean;
constructor(loaded = false) { constructor(loaded = false) {

View File

@ -5,7 +5,7 @@ import { addTextObject, TextStyle } from "#app/ui/text";
import i18next from "i18next"; import i18next from "i18next";
export class EndCardPhase extends Phase { export class EndCardPhase extends Phase {
protected readonly phaseName = "EndCardPhase"; public readonly phaseName = "EndCardPhase";
public endCard: Phaser.GameObjects.Image; public endCard: Phaser.GameObjects.Image;
public text: Phaser.GameObjects.Text; public text: Phaser.GameObjects.Text;
start(): void { start(): void {

View File

@ -3,7 +3,7 @@ import { Phase } from "#app/phase";
import { UiMode } from "#enums/ui-mode"; import { UiMode } from "#enums/ui-mode";
export class EndEvolutionPhase extends Phase { export class EndEvolutionPhase extends Phase {
protected readonly phaseName = "EndEvolutionPhase"; public readonly phaseName = "EndEvolutionPhase";
start() { start() {
super.start(); super.start();

View File

@ -15,7 +15,7 @@ import { BattlerTagType } from "#enums/battler-tag-type";
* @see {@linkcode EnemyPokemon.getNextMove} * @see {@linkcode EnemyPokemon.getNextMove}
*/ */
export class EnemyCommandPhase extends FieldPhase { export class EnemyCommandPhase extends FieldPhase {
protected readonly phaseName = "EnemyCommandPhase"; public readonly phaseName = "EnemyCommandPhase";
protected fieldIndex: number; protected fieldIndex: number;
protected skipTurn = false; protected skipTurn = false;

View File

@ -21,7 +21,7 @@ import { EVOLVE_MOVE } from "#app/data/balance/pokemon-level-moves";
export class EvolutionPhase extends Phase { export class EvolutionPhase extends Phase {
// FormChangePhase inherits from this, but EvolutionPhase is not abstract. // FormChangePhase inherits from this, but EvolutionPhase is not abstract.
// We have to use the union here // We have to use the union here
protected readonly phaseName: "EvolutionPhase" | "FormChangePhase" = "EvolutionPhase"; public readonly phaseName: "EvolutionPhase" | "FormChangePhase" = "EvolutionPhase";
protected pokemon: PlayerPokemon; protected pokemon: PlayerPokemon;
protected lastLevel: number; protected lastLevel: number;

View File

@ -7,7 +7,7 @@ import { PlayerPartyMemberPokemonPhase } from "./player-party-member-pokemon-pha
import { LevelUpPhase } from "./level-up-phase"; import { LevelUpPhase } from "./level-up-phase";
export class ExpPhase extends PlayerPartyMemberPokemonPhase { export class ExpPhase extends PlayerPartyMemberPokemonPhase {
protected readonly phaseName = "ExpPhase"; public readonly phaseName = "ExpPhase";
private expValue: number; private expValue: number;
constructor(partyMemberIndex: number, expValue: number) { constructor(partyMemberIndex: number, expValue: number) {

View File

@ -35,7 +35,7 @@ import { FRIENDSHIP_LOSS_FROM_FAINT } from "#app/data/balance/starters";
import { BattlerTagType } from "#enums/battler-tag-type"; import { BattlerTagType } from "#enums/battler-tag-type";
export class FaintPhase extends PokemonPhase { export class FaintPhase extends PokemonPhase {
protected readonly phaseName = "FaintPhase"; public readonly phaseName = "FaintPhase";
/** /**
* Whether or not instant revive should be prevented * Whether or not instant revive should be prevented
*/ */

View File

@ -13,7 +13,7 @@ import { BattlerTagType } from "#enums/battler-tag-type";
import { SpeciesFormKey } from "#enums/species-form-key"; import { SpeciesFormKey } from "#enums/species-form-key";
export class FormChangePhase extends EvolutionPhase { export class FormChangePhase extends EvolutionPhase {
protected readonly phaseName = "FormChangePhase"; public readonly phaseName = "FormChangePhase";
private formChange: SpeciesFormChange; private formChange: SpeciesFormChange;
private modal: boolean; private modal: boolean;

View File

@ -4,7 +4,7 @@ import i18next from "i18next";
import { ModifierRewardPhase } from "./modifier-reward-phase"; import { ModifierRewardPhase } from "./modifier-reward-phase";
export class GameOverModifierRewardPhase extends ModifierRewardPhase { export class GameOverModifierRewardPhase extends ModifierRewardPhase {
protected readonly phaseName = "GameOverModifierRewardPhase"; public readonly phaseName = "GameOverModifierRewardPhase";
doReward(): Promise<void> { doReward(): Promise<void> {
return new Promise<void>(resolve => { return new Promise<void>(resolve => {
const newModifier = this.modifierType.newModifier(); const newModifier = this.modifierType.newModifier();

View File

@ -34,7 +34,7 @@ import { pokerogueApi } from "#app/plugins/api/pokerogue-api";
import { MessagePhase } from "./message-phase"; import { MessagePhase } from "./message-phase";
export class GameOverPhase extends BattlePhase { export class GameOverPhase extends BattlePhase {
protected readonly phaseName = "GameOverPhase"; public readonly phaseName = "GameOverPhase";
private isVictory: boolean; private isVictory: boolean;
private firstRibbons: PokemonSpecies[] = []; private firstRibbons: PokemonSpecies[] = [];

View File

@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene";
import { Phase } from "#app/phase"; import { Phase } from "#app/phase";
export class HideAbilityPhase extends Phase { export class HideAbilityPhase extends Phase {
protected readonly phaseName = "HideAbilityPhase"; public readonly phaseName = "HideAbilityPhase";
start() { start() {
super.start(); super.start();

View File

@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene";
import { BattlePhase } from "./battle-phase"; import { BattlePhase } from "./battle-phase";
export class HidePartyExpBarPhase extends BattlePhase { export class HidePartyExpBarPhase extends BattlePhase {
protected readonly phaseName = "HidePartyExpBarPhase"; public readonly phaseName = "HidePartyExpBarPhase";
start() { start() {
super.start(); super.start();

View File

@ -23,7 +23,7 @@ export enum LearnMoveType {
} }
export class LearnMovePhase extends PlayerPartyMemberPokemonPhase { export class LearnMovePhase extends PlayerPartyMemberPokemonPhase {
protected readonly phaseName = "LearnMovePhase"; public readonly phaseName = "LearnMovePhase";
private moveId: MoveId; private moveId: MoveId;
private messageMode: UiMode; private messageMode: UiMode;
private learnMoveType: LearnMoveType; private learnMoveType: LearnMoveType;

View File

@ -4,7 +4,7 @@ import i18next from "i18next";
import { FieldPhase } from "./field-phase"; import { FieldPhase } from "./field-phase";
export class LevelCapPhase extends FieldPhase { export class LevelCapPhase extends FieldPhase {
protected readonly phaseName = "LevelCapPhase"; public readonly phaseName = "LevelCapPhase";
start(): void { start(): void {
super.start(); super.start();

View File

@ -10,7 +10,7 @@ import { NumberHolder } from "#app/utils/common";
import i18next from "i18next"; import i18next from "i18next";
export class LevelUpPhase extends PlayerPartyMemberPokemonPhase { export class LevelUpPhase extends PlayerPartyMemberPokemonPhase {
protected readonly phaseName = "LevelUpPhase"; public readonly phaseName = "LevelUpPhase";
protected lastLevel: number; protected lastLevel: number;
protected level: number; protected level: number;
protected pokemon: PlayerPokemon = this.getPlayerPokemon(); protected pokemon: PlayerPokemon = this.getPlayerPokemon();

View File

@ -8,7 +8,7 @@ import { Phase } from "#app/phase";
* isn't already loaded (e.g. for Metronome) * isn't already loaded (e.g. for Metronome)
*/ */
export class LoadMoveAnimPhase extends Phase { export class LoadMoveAnimPhase extends Phase {
protected readonly phaseName = "LoadMoveAnimPhase"; public readonly phaseName = "LoadMoveAnimPhase";
constructor(protected moveId: MoveId) { constructor(protected moveId: MoveId) {
super(); super();
} }

View File

@ -11,7 +11,7 @@ import { SelectGenderPhase } from "./select-gender-phase";
import { UnavailablePhase } from "./unavailable-phase"; import { UnavailablePhase } from "./unavailable-phase";
export class LoginPhase extends Phase { export class LoginPhase extends Phase {
protected readonly phaseName = "LoginPhase"; public readonly phaseName = "LoginPhase";
private showText: boolean; private showText: boolean;
constructor(showText = true) { constructor(showText = true) {

View File

@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene";
import { Phase } from "#app/phase"; import { Phase } from "#app/phase";
export class MessagePhase extends Phase { export class MessagePhase extends Phase {
protected readonly phaseName = "MessagePhase"; public readonly phaseName = "MessagePhase";
private text: string; private text: string;
private callbackDelay?: number | null; private callbackDelay?: number | null;
private prompt?: boolean | null; private prompt?: boolean | null;

View File

@ -7,7 +7,7 @@ import { BattlePhase } from "./battle-phase";
export class ModifierRewardPhase extends BattlePhase { export class ModifierRewardPhase extends BattlePhase {
// RibbonModifierRewardPhase extends ModifierRewardPhase and to make typescript happy // RibbonModifierRewardPhase extends ModifierRewardPhase and to make typescript happy
// we need to use a union type here // we need to use a union type here
protected readonly phaseName: "ModifierRewardPhase" | "RibbonModifierRewardPhase" | "GameOverModifierRewardPhase" = public readonly phaseName: "ModifierRewardPhase" | "RibbonModifierRewardPhase" | "GameOverModifierRewardPhase" =
"ModifierRewardPhase"; "ModifierRewardPhase";
protected modifierType: ModifierType; protected modifierType: ModifierType;

View File

@ -6,7 +6,7 @@ import { NumberHolder } from "#app/utils/common";
import { BattlePhase } from "./battle-phase"; import { BattlePhase } from "./battle-phase";
export class MoneyRewardPhase extends BattlePhase { export class MoneyRewardPhase extends BattlePhase {
protected readonly phaseName = "MoneyRewardPhase"; public readonly phaseName = "MoneyRewardPhase";
private moneyMultiplier: number; private moneyMultiplier: number;
constructor(moneyMultiplier: number) { constructor(moneyMultiplier: number) {

View File

@ -12,7 +12,7 @@ export class MoveAnimPhase<Anim extends MoveAnim> extends Phase {
super(); super();
} }
protected readonly phaseName = "MoveAnimPhase"; public readonly phaseName = "MoveAnimPhase";
public override start(): void { public override start(): void {
super.start(); super.start();

View File

@ -15,7 +15,7 @@ import { BattlerTagType } from "#enums/battler-tag-type";
* @extends {@linkcode PokemonPhase} * @extends {@linkcode PokemonPhase}
*/ */
export class MoveChargePhase extends PokemonPhase { export class MoveChargePhase extends PokemonPhase {
protected readonly phaseName = "MoveChargePhase"; public readonly phaseName = "MoveChargePhase";
/** The move instance that this phase applies */ /** The move instance that this phase applies */
public move: PokemonMove; public move: PokemonMove;
/** The field index targeted by the move (Charging moves assume single target) */ /** The field index targeted by the move (Charging moves assume single target) */

View File

@ -82,7 +82,7 @@ import { DamageAchv } from "#app/system/achv";
type HitCheckEntry = [HitCheckResult, TypeDamageMultiplier]; type HitCheckEntry = [HitCheckResult, TypeDamageMultiplier];
export class MoveEffectPhase extends PokemonPhase { export class MoveEffectPhase extends PokemonPhase {
protected readonly phaseName = "MoveEffectPhase"; public readonly phaseName = "MoveEffectPhase";
public move: Move; public move: Move;
private virtual = false; private virtual = false;
protected targets: BattlerIndex[]; protected targets: BattlerIndex[];

View File

@ -6,7 +6,7 @@ import { applyPostSummonAbAttrs, PostSummonRemoveEffectAbAttr } from "#app/data/
import type Pokemon from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon";
export class MoveEndPhase extends PokemonPhase { export class MoveEndPhase extends PokemonPhase {
protected readonly phaseName = "MoveEndPhase"; public readonly phaseName = "MoveEndPhase";
private wasFollowUp: boolean; private wasFollowUp: boolean;
/** Targets from the preceding MovePhase */ /** Targets from the preceding MovePhase */

View File

@ -4,7 +4,7 @@ import type Pokemon from "#app/field/pokemon";
import { BattlePhase } from "./battle-phase"; import { BattlePhase } from "./battle-phase";
export class MoveHeaderPhase extends BattlePhase { export class MoveHeaderPhase extends BattlePhase {
protected readonly phaseName = "MoveHeaderPhase"; public readonly phaseName = "MoveHeaderPhase";
public pokemon: Pokemon; public pokemon: Pokemon;
public move: PokemonMove; public move: PokemonMove;

View File

@ -52,7 +52,7 @@ import { StatusEffect } from "#enums/status-effect";
import i18next from "i18next"; import i18next from "i18next";
export class MovePhase extends BattlePhase { export class MovePhase extends BattlePhase {
protected readonly phaseName = "MovePhase"; public readonly phaseName = "MovePhase";
protected _pokemon: Pokemon; protected _pokemon: Pokemon;
protected _move: PokemonMove; protected _move: PokemonMove;
protected _targets: BattlerIndex[]; protected _targets: BattlerIndex[];

View File

@ -38,7 +38,7 @@ import { SelectBiomePhase } from "./select-biome-phase";
* - Queuing of the {@linkcode MysteryEncounterOptionSelectedPhase} * - Queuing of the {@linkcode MysteryEncounterOptionSelectedPhase}
*/ */
export class MysteryEncounterPhase extends Phase { export class MysteryEncounterPhase extends Phase {
protected readonly phaseName = "MysteryEncounterPhase"; public readonly phaseName = "MysteryEncounterPhase";
private readonly FIRST_DIALOGUE_PROMPT_DELAY = 300; private readonly FIRST_DIALOGUE_PROMPT_DELAY = 300;
optionSelectSettings?: OptionSelectSettings; optionSelectSettings?: OptionSelectSettings;
@ -180,7 +180,7 @@ export class MysteryEncounterPhase extends Phase {
* Any phase that is meant to follow this one MUST be queued via the onOptionSelect() logic of the selected option * Any phase that is meant to follow this one MUST be queued via the onOptionSelect() logic of the selected option
*/ */
export class MysteryEncounterOptionSelectedPhase extends Phase { export class MysteryEncounterOptionSelectedPhase extends Phase {
protected readonly phaseName = "MysteryEncounterOptionSelectedPhase"; public readonly phaseName = "MysteryEncounterOptionSelectedPhase";
onOptionSelect: OptionPhaseCallback; onOptionSelect: OptionPhaseCallback;
constructor() { constructor() {
@ -222,7 +222,7 @@ export class MysteryEncounterOptionSelectedPhase extends Phase {
* See {@linkcode TurnEndPhase} for more details * See {@linkcode TurnEndPhase} for more details
*/ */
export class MysteryEncounterBattleStartCleanupPhase extends Phase { export class MysteryEncounterBattleStartCleanupPhase extends Phase {
protected readonly phaseName = "MysteryEncounterBattleStartCleanupPhase"; public readonly phaseName = "MysteryEncounterBattleStartCleanupPhase";
/** /**
* Cleans up `TURN_END` tags, any {@linkcode PostTurnStatusEffectPhase}s, checks for Pokemon switches, then continues * Cleans up `TURN_END` tags, any {@linkcode PostTurnStatusEffectPhase}s, checks for Pokemon switches, then continues
*/ */
@ -286,7 +286,7 @@ export class MysteryEncounterBattleStartCleanupPhase extends Phase {
* - Queue the {@linkcode SummonPhase}s, {@linkcode PostSummonPhase}s, etc., required to initialize the phase queue for a battle * - Queue the {@linkcode SummonPhase}s, {@linkcode PostSummonPhase}s, etc., required to initialize the phase queue for a battle
*/ */
export class MysteryEncounterBattlePhase extends Phase { export class MysteryEncounterBattlePhase extends Phase {
protected readonly phaseName = "MysteryEncounterBattlePhase"; public readonly phaseName = "MysteryEncounterBattlePhase";
disableSwitch: boolean; disableSwitch: boolean;
constructor(disableSwitch = false) { constructor(disableSwitch = false) {
@ -516,7 +516,7 @@ export class MysteryEncounterBattlePhase extends Phase {
* - Queuing of the {@linkcode PostMysteryEncounterPhase} * - Queuing of the {@linkcode PostMysteryEncounterPhase}
*/ */
export class MysteryEncounterRewardsPhase extends Phase { export class MysteryEncounterRewardsPhase extends Phase {
protected readonly phaseName = "MysteryEncounterRewardsPhase"; public readonly phaseName = "MysteryEncounterRewardsPhase";
addHealPhase: boolean; addHealPhase: boolean;
constructor(addHealPhase = false) { constructor(addHealPhase = false) {
@ -584,7 +584,7 @@ export class MysteryEncounterRewardsPhase extends Phase {
* - Queuing of the next wave * - Queuing of the next wave
*/ */
export class PostMysteryEncounterPhase extends Phase { export class PostMysteryEncounterPhase extends Phase {
protected readonly phaseName = "PostMysteryEncounterPhase"; public readonly phaseName = "PostMysteryEncounterPhase";
private readonly FIRST_DIALOGUE_PROMPT_DELAY = 750; private readonly FIRST_DIALOGUE_PROMPT_DELAY = 750;
onPostOptionSelect?: OptionPhaseCallback; onPostOptionSelect?: OptionPhaseCallback;

View File

@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene";
import { BattlePhase } from "./battle-phase"; import { BattlePhase } from "./battle-phase";
export class NewBattlePhase extends BattlePhase { export class NewBattlePhase extends BattlePhase {
protected readonly phaseName = "NewBattlePhase"; public readonly phaseName = "NewBattlePhase";
start() { start() {
super.start(); super.start();

View File

@ -4,7 +4,7 @@ import { getRandomWeatherType } from "#app/data/weather";
import { NextEncounterPhase } from "./next-encounter-phase"; import { NextEncounterPhase } from "./next-encounter-phase";
export class NewBiomeEncounterPhase extends NextEncounterPhase { export class NewBiomeEncounterPhase extends NextEncounterPhase {
protected readonly phaseName = "NewBiomeEncounterPhase"; public readonly phaseName = "NewBiomeEncounterPhase";
doEncounter(): void { doEncounter(): void {
globalScene.playBgm(undefined, true); globalScene.playBgm(undefined, true);

View File

@ -6,7 +6,7 @@ import { EncounterPhase } from "./encounter-phase";
* Handles generating, loading and preparing for it. * Handles generating, loading and preparing for it.
*/ */
export class NextEncounterPhase extends EncounterPhase { export class NextEncounterPhase extends EncounterPhase {
protected readonly phaseName: "NextEncounterPhase" | "NewBiomeEncounterPhase" = "NextEncounterPhase"; public readonly phaseName: "NextEncounterPhase" | "NewBiomeEncounterPhase" = "NextEncounterPhase";
start() { start() {
super.start(); super.start();
} }

View File

@ -11,7 +11,7 @@ import { applyPostSetStatusAbAttrs, PostSetStatusAbAttr } from "#app/data/abilit
import { isNullOrUndefined } from "#app/utils/common"; import { isNullOrUndefined } from "#app/utils/common";
export class ObtainStatusEffectPhase extends PokemonPhase { export class ObtainStatusEffectPhase extends PokemonPhase {
protected readonly phaseName = "ObtainStatusEffectPhase"; public readonly phaseName = "ObtainStatusEffectPhase";
private statusEffect?: StatusEffect; private statusEffect?: StatusEffect;
private turnsRemaining?: number; private turnsRemaining?: number;
private sourceText?: string | null; private sourceText?: string | null;

View File

@ -6,7 +6,7 @@ import { Phase } from "#app/phase";
* Intended to be used as a more 1-off phase to provide exp to the party (such as during MEs), rather than cleanup a battle entirely * Intended to be used as a more 1-off phase to provide exp to the party (such as during MEs), rather than cleanup a battle entirely
*/ */
export class PartyExpPhase extends Phase { export class PartyExpPhase extends Phase {
protected readonly phaseName = "PartyExpPhase"; public readonly phaseName = "PartyExpPhase";
expValue: number; expValue: number;
useWaveIndexMultiplier?: boolean; useWaveIndexMultiplier?: boolean;
pokemonParticipantIds?: Set<number>; pokemonParticipantIds?: Set<number>;

View File

@ -3,7 +3,7 @@ import { fixedInt } from "#app/utils/common";
import { BattlePhase } from "./battle-phase"; import { BattlePhase } from "./battle-phase";
export class PartyHealPhase extends BattlePhase { export class PartyHealPhase extends BattlePhase {
protected readonly phaseName = "PartyHealPhase"; public readonly phaseName = "PartyHealPhase";
private resumeBgm: boolean; private resumeBgm: boolean;
constructor(resumeBgm: boolean) { constructor(resumeBgm: boolean) {

View File

@ -7,7 +7,7 @@ import { PokemonAnimType } from "#enums/pokemon-anim-type";
import { SpeciesId } from "#enums/species-id"; import { SpeciesId } from "#enums/species-id";
export class PokemonAnimPhase extends BattlePhase { export class PokemonAnimPhase extends BattlePhase {
protected readonly phaseName = "PokemonAnimPhase"; public readonly phaseName = "PokemonAnimPhase";
/** The type of animation to play in this phase */ /** The type of animation to play in this phase */
protected key: PokemonAnimType; protected key: PokemonAnimType;
/** The Pokemon to which this animation applies */ /** The Pokemon to which this animation applies */

View File

@ -14,7 +14,7 @@ import { BattlerTagType } from "#app/enums/battler-tag-type";
import type { HealBlockTag } from "#app/data/battler-tags"; import type { HealBlockTag } from "#app/data/battler-tags";
export class PokemonHealPhase extends CommonAnimPhase { export class PokemonHealPhase extends CommonAnimPhase {
protected readonly phaseName = "PokemonHealPhase"; public readonly phaseName = "PokemonHealPhase";
private hpHealed: number; private hpHealed: number;
private message: string | null; private message: string | null;
private showFullHpMessage: boolean; private showFullHpMessage: boolean;

View File

@ -13,7 +13,7 @@ import i18next from "i18next";
* Used for Transform (move) and Imposter (ability) * Used for Transform (move) and Imposter (ability)
*/ */
export class PokemonTransformPhase extends PokemonPhase { export class PokemonTransformPhase extends PokemonPhase {
protected readonly phaseName = "PokemonTransformPhase"; public readonly phaseName = "PokemonTransformPhase";
protected targetIndex: BattlerIndex; protected targetIndex: BattlerIndex;
private playSound: boolean; private playSound: boolean;

View File

@ -4,7 +4,7 @@ import type { EndCardPhase } from "./end-card-phase";
import { TitlePhase } from "./title-phase"; import { TitlePhase } from "./title-phase";
export class PostGameOverPhase extends Phase { export class PostGameOverPhase extends Phase {
protected readonly phaseName = "PostGameOverPhase"; public readonly phaseName = "PostGameOverPhase";
private endCardPhase?: EndCardPhase; private endCardPhase?: EndCardPhase;
constructor(endCardPhase?: EndCardPhase) { constructor(endCardPhase?: EndCardPhase) {

View File

@ -7,7 +7,7 @@ import { MysteryEncounterPostSummonTag } from "#app/data/battler-tags";
import { BattlerTagType } from "#enums/battler-tag-type"; import { BattlerTagType } from "#enums/battler-tag-type";
export class PostSummonPhase extends PokemonPhase { export class PostSummonPhase extends PokemonPhase {
protected readonly phaseName = "PostSummonPhase"; public readonly phaseName = "PostSummonPhase";
start() { start() {
super.start(); super.start();

View File

@ -17,7 +17,7 @@ import { BooleanHolder, NumberHolder } from "#app/utils/common";
import { PokemonPhase } from "./pokemon-phase"; import { PokemonPhase } from "./pokemon-phase";
export class PostTurnStatusEffectPhase extends PokemonPhase { export class PostTurnStatusEffectPhase extends PokemonPhase {
protected readonly phaseName = "PostTurnStatusEffectPhase"; public readonly phaseName = "PostTurnStatusEffectPhase";
// biome-ignore lint/complexity/noUselessConstructor: Not unnecessary as it makes battlerIndex required // biome-ignore lint/complexity/noUselessConstructor: Not unnecessary as it makes battlerIndex required
constructor(battlerIndex: BattlerIndex) { constructor(battlerIndex: BattlerIndex) {
super(battlerIndex); super(battlerIndex);

View File

@ -19,7 +19,7 @@ import {
} from "#app/data/abilities/ability"; } from "#app/data/abilities/ability";
export class QuietFormChangePhase extends BattlePhase { export class QuietFormChangePhase extends BattlePhase {
protected readonly phaseName = "QuietFormChangePhase"; public readonly phaseName = "QuietFormChangePhase";
protected pokemon: Pokemon; protected pokemon: Pokemon;
protected formChange: SpeciesFormChange; protected formChange: SpeciesFormChange;

View File

@ -4,7 +4,7 @@ import { UiMode } from "#enums/ui-mode";
import { fixedInt } from "#app/utils/common"; import { fixedInt } from "#app/utils/common";
export class ReloadSessionPhase extends Phase { export class ReloadSessionPhase extends Phase {
protected readonly phaseName = "ReloadSessionPhase"; public readonly phaseName = "ReloadSessionPhase";
private systemDataStr?: string; private systemDataStr?: string;
constructor(systemDataStr?: string) { constructor(systemDataStr?: string) {

View File

@ -7,7 +7,7 @@ import { BattlePhase } from "#app/phases/battle-phase";
* This is necessary to perform in a phase primarly to ensure that the status icon disappears at the correct time in the battle * This is necessary to perform in a phase primarly to ensure that the status icon disappears at the correct time in the battle
*/ */
export class ResetStatusPhase extends BattlePhase { export class ResetStatusPhase extends BattlePhase {
protected readonly phaseName = "ResetStatusPhase"; public readonly phaseName = "ResetStatusPhase";
private readonly pokemon: Pokemon; private readonly pokemon: Pokemon;
private readonly affectConfusion: boolean; private readonly affectConfusion: boolean;
private readonly reloadAssets: boolean; private readonly reloadAssets: boolean;

View File

@ -4,7 +4,7 @@ import { SwitchType } from "#enums/switch-type";
import { SwitchSummonPhase } from "./switch-summon-phase"; import { SwitchSummonPhase } from "./switch-summon-phase";
export class ReturnPhase extends SwitchSummonPhase { export class ReturnPhase extends SwitchSummonPhase {
protected readonly phaseName = "ReturnPhase"; public readonly phaseName = "ReturnPhase";
constructor(fieldIndex: number) { constructor(fieldIndex: number) {
super(SwitchType.SWITCH, fieldIndex, -1, true); super(SwitchType.SWITCH, fieldIndex, -1, true);
} }

View File

@ -15,7 +15,7 @@ import type { PlayerPokemon } from "#app/field/pokemon";
* when used by one of the player's Pokemon. * when used by one of the player's Pokemon.
*/ */
export class RevivalBlessingPhase extends BattlePhase { export class RevivalBlessingPhase extends BattlePhase {
protected readonly phaseName = "RevivalBlessingPhase"; public readonly phaseName = "RevivalBlessingPhase";
constructor(protected user: PlayerPokemon) { constructor(protected user: PlayerPokemon) {
super(); super();
} }

View File

@ -6,7 +6,7 @@ import i18next from "i18next";
import { ModifierRewardPhase } from "./modifier-reward-phase"; import { ModifierRewardPhase } from "./modifier-reward-phase";
export class RibbonModifierRewardPhase extends ModifierRewardPhase { export class RibbonModifierRewardPhase extends ModifierRewardPhase {
protected readonly phaseName = "RibbonModifierRewardPhase"; public readonly phaseName = "RibbonModifierRewardPhase";
private species: PokemonSpecies; private species: PokemonSpecies;
constructor(modifierTypeFunc: ModifierTypeFunc, species: PokemonSpecies) { constructor(modifierTypeFunc: ModifierTypeFunc, species: PokemonSpecies) {

View File

@ -8,7 +8,7 @@ import i18next from "i18next";
import { PokemonPhase } from "./pokemon-phase"; import { PokemonPhase } from "./pokemon-phase";
export class ScanIvsPhase extends PokemonPhase { export class ScanIvsPhase extends PokemonPhase {
protected readonly phaseName = "ScanIvsPhase"; public readonly phaseName = "ScanIvsPhase";
// biome-ignore lint/complexity/noUselessConstructor: This changes `battlerIndex` to be required // biome-ignore lint/complexity/noUselessConstructor: This changes `battlerIndex` to be required
constructor(battlerIndex: BattlerIndex) { constructor(battlerIndex: BattlerIndex) {
super(battlerIndex); super(battlerIndex);

View File

@ -10,7 +10,7 @@ import { PartyHealPhase } from "./party-heal-phase";
import { SwitchBiomePhase } from "./switch-biome-phase"; import { SwitchBiomePhase } from "./switch-biome-phase";
export class SelectBiomePhase extends BattlePhase { export class SelectBiomePhase extends BattlePhase {
protected readonly phaseName = "SelectBiomePhase"; public readonly phaseName = "SelectBiomePhase";
start() { start() {
super.start(); super.start();

View File

@ -3,7 +3,7 @@ import { Phase } from "#app/phase";
import { UiMode } from "#enums/ui-mode"; import { UiMode } from "#enums/ui-mode";
export class SelectChallengePhase extends Phase { export class SelectChallengePhase extends Phase {
protected readonly phaseName = "SelectChallengePhase"; public readonly phaseName = "SelectChallengePhase";
start() { start() {
super.start(); super.start();

View File

@ -6,7 +6,7 @@ import { UiMode } from "#enums/ui-mode";
import i18next from "i18next"; import i18next from "i18next";
export class SelectGenderPhase extends Phase { export class SelectGenderPhase extends Phase {
protected readonly phaseName = "SelectGenderPhase"; public readonly phaseName = "SelectGenderPhase";
start(): void { start(): void {
super.start(); super.start();

View File

@ -32,7 +32,7 @@ import type { CustomModifierSettings } from "#app/modifier/modifier-type";
import { isNullOrUndefined, NumberHolder } from "#app/utils/common"; import { isNullOrUndefined, NumberHolder } from "#app/utils/common";
export class SelectModifierPhase extends BattlePhase { export class SelectModifierPhase extends BattlePhase {
protected readonly phaseName = "SelectModifierPhase"; public readonly phaseName = "SelectModifierPhase";
private rerollCount: number; private rerollCount: number;
private modifierTiers?: ModifierTier[]; private modifierTiers?: ModifierTier[];
private customModifierSettings?: CustomModifierSettings; private customModifierSettings?: CustomModifierSettings;

View File

@ -15,7 +15,7 @@ import SoundFade from "phaser3-rex-plugins/plugins/soundfade";
import { isNullOrUndefined } from "#app/utils/common"; import { isNullOrUndefined } from "#app/utils/common";
export class SelectStarterPhase extends Phase { export class SelectStarterPhase extends Phase {
protected readonly phaseName = "SelectStarterPhase"; public readonly phaseName = "SelectStarterPhase";
start() { start() {
super.start(); super.start();

View File

@ -8,7 +8,7 @@ import i18next from "#app/plugins/i18n";
import { allMoves } from "#app/data/data-lists"; import { allMoves } from "#app/data/data-lists";
export class SelectTargetPhase extends PokemonPhase { export class SelectTargetPhase extends PokemonPhase {
protected readonly phaseName = "SelectTargetPhase"; public readonly phaseName = "SelectTargetPhase";
// biome-ignore lint/complexity/noUselessConstructor: This makes `fieldIndex` required // biome-ignore lint/complexity/noUselessConstructor: This makes `fieldIndex` required
constructor(fieldIndex: number) { constructor(fieldIndex: number) {
super(fieldIndex); super(fieldIndex);

View File

@ -3,7 +3,7 @@ import type { BattlerIndex } from "#app/battle";
import { PokemonPhase } from "./pokemon-phase"; import { PokemonPhase } from "./pokemon-phase";
export class ShinySparklePhase extends PokemonPhase { export class ShinySparklePhase extends PokemonPhase {
protected readonly phaseName = "ShinySparklePhase"; public readonly phaseName = "ShinySparklePhase";
// biome-ignore lint/complexity/noUselessConstructor: This makes `battlerIndex` required // biome-ignore lint/complexity/noUselessConstructor: This makes `battlerIndex` required
constructor(battlerIndex: BattlerIndex) { constructor(battlerIndex: BattlerIndex) {
super(battlerIndex); super(battlerIndex);

View File

@ -5,7 +5,7 @@ import { getPokemonNameWithAffix } from "#app/messages";
import { HideAbilityPhase } from "#app/phases/hide-ability-phase"; import { HideAbilityPhase } from "#app/phases/hide-ability-phase";
export class ShowAbilityPhase extends PokemonPhase { export class ShowAbilityPhase extends PokemonPhase {
protected readonly phaseName = "ShowAbilityPhase"; public readonly phaseName = "ShowAbilityPhase";
private passive: boolean; private passive: boolean;
private pokemonName: string; private pokemonName: string;
private abilityName: string; private abilityName: string;

View File

@ -8,7 +8,7 @@ import { LevelUpPhase } from "./level-up-phase";
import { PlayerPartyMemberPokemonPhase } from "./player-party-member-pokemon-phase"; import { PlayerPartyMemberPokemonPhase } from "./player-party-member-pokemon-phase";
export class ShowPartyExpBarPhase extends PlayerPartyMemberPokemonPhase { export class ShowPartyExpBarPhase extends PlayerPartyMemberPokemonPhase {
protected readonly phaseName = "ShowPartyExpBarPhase"; public readonly phaseName = "ShowPartyExpBarPhase";
private expValue: number; private expValue: number;
constructor(partyMemberIndex: number, expValue: number) { constructor(partyMemberIndex: number, expValue: number) {

View File

@ -3,7 +3,7 @@ import { PlayerGender } from "#app/enums/player-gender";
import { BattlePhase } from "./battle-phase"; import { BattlePhase } from "./battle-phase";
export class ShowTrainerPhase extends BattlePhase { export class ShowTrainerPhase extends BattlePhase {
protected readonly phaseName = "ShowTrainerPhase"; public readonly phaseName = "ShowTrainerPhase";
start() { start() {
super.start(); super.start();

View File

@ -31,7 +31,7 @@ export type StatStageChangeCallback = (
) => void; ) => void;
export class StatStageChangePhase extends PokemonPhase { export class StatStageChangePhase extends PokemonPhase {
protected readonly phaseName = "StatStageChangePhase"; public readonly phaseName = "StatStageChangePhase";
private stats: BattleStat[]; private stats: BattleStat[];
private selfTarget: boolean; private selfTarget: boolean;
private stages: number; private stages: number;

View File

@ -4,7 +4,7 @@ import { SummonPhase } from "./summon-phase";
import { globalScene } from "#app/global-scene"; import { globalScene } from "#app/global-scene";
export class SummonMissingPhase extends SummonPhase { export class SummonMissingPhase extends SummonPhase {
protected readonly phaseName = "SummonMissingPhase"; public readonly phaseName = "SummonMissingPhase";
preSummon(): void { preSummon(): void {
globalScene.ui.showText( globalScene.ui.showText(
i18next.t("battle:sendOutPokemon", { i18next.t("battle:sendOutPokemon", {

View File

@ -18,8 +18,7 @@ import { globalScene } from "#app/global-scene";
export class SummonPhase extends PartyMemberPokemonPhase { export class SummonPhase extends PartyMemberPokemonPhase {
// The union type is needed to keep typescript happy as these phases extend from SummonPhase // The union type is needed to keep typescript happy as these phases extend from SummonPhase
protected readonly phaseName: "SummonPhase" | "SummonMissingPhase" | "SwitchSummonPhase" | "ReturnPhase" = public readonly phaseName: "SummonPhase" | "SummonMissingPhase" | "SwitchSummonPhase" | "ReturnPhase" = "SummonPhase";
"SummonPhase";
private loaded: boolean; private loaded: boolean;
constructor(fieldIndex: number, player = true, loaded = false) { constructor(fieldIndex: number, player = true, loaded = false) {

View File

@ -4,7 +4,7 @@ import { getBiomeKey } from "#app/field/arena";
import { BattlePhase } from "./battle-phase"; import { BattlePhase } from "./battle-phase";
export class SwitchBiomePhase extends BattlePhase { export class SwitchBiomePhase extends BattlePhase {
protected readonly phaseName = "SwitchBiomePhase"; public readonly phaseName = "SwitchBiomePhase";
private nextBiome: BiomeId; private nextBiome: BiomeId;
constructor(nextBiome: BiomeId) { constructor(nextBiome: BiomeId) {

View File

@ -10,7 +10,7 @@ import { SwitchSummonPhase } from "./switch-summon-phase";
* for the player (if a switch would be valid for the current battle state). * for the player (if a switch would be valid for the current battle state).
*/ */
export class SwitchPhase extends BattlePhase { export class SwitchPhase extends BattlePhase {
protected readonly phaseName = "SwitchPhase"; public readonly phaseName = "SwitchPhase";
protected readonly fieldIndex: number; protected readonly fieldIndex: number;
private readonly switchType: SwitchType; private readonly switchType: SwitchType;
private readonly isModal: boolean; private readonly isModal: boolean;

View File

@ -22,7 +22,7 @@ import { SubstituteTag } from "#app/data/battler-tags";
import { SwitchType } from "#enums/switch-type"; import { SwitchType } from "#enums/switch-type";
export class SwitchSummonPhase extends SummonPhase { export class SwitchSummonPhase extends SummonPhase {
protected readonly phaseName: "SwitchSummonPhase" | "ReturnPhase" = "SwitchSummonPhase"; public readonly phaseName: "SwitchSummonPhase" | "ReturnPhase" = "SwitchSummonPhase";
private readonly switchType: SwitchType; private readonly switchType: SwitchType;
private readonly slotIndex: number; private readonly slotIndex: number;
private readonly doReturn: boolean; private readonly doReturn: boolean;

View File

@ -9,7 +9,7 @@ import { SpeciesFormChangeTeraTrigger } from "#app/data/pokemon-forms";
import { CommonAnim, CommonBattleAnim } from "#app/data/battle-anims"; import { CommonAnim, CommonBattleAnim } from "#app/data/battle-anims";
export class TeraPhase extends BattlePhase { export class TeraPhase extends BattlePhase {
protected readonly phaseName = "TeraPhase"; public readonly phaseName = "TeraPhase";
public pokemon: Pokemon; public pokemon: Pokemon;
constructor(pokemon: Pokemon) { constructor(pokemon: Pokemon) {

View File

@ -29,7 +29,7 @@ import { globalScene } from "#app/global-scene";
import Overrides from "#app/overrides"; import Overrides from "#app/overrides";
export class TitlePhase extends Phase { export class TitlePhase extends Phase {
protected readonly phaseName = "TitlePhase"; public readonly phaseName = "TitlePhase";
private loaded = false; private loaded = false;
private lastSessionData: SessionSaveData; private lastSessionData: SessionSaveData;
public gameMode: GameModes; public gameMode: GameModes;

View File

@ -3,7 +3,7 @@ import { FieldPosition } from "#app/field/pokemon";
import { BattlePhase } from "./battle-phase"; import { BattlePhase } from "./battle-phase";
export class ToggleDoublePositionPhase extends BattlePhase { export class ToggleDoublePositionPhase extends BattlePhase {
protected readonly phaseName = "ToggleDoublePositionPhase"; public readonly phaseName = "ToggleDoublePositionPhase";
private double: boolean; private double: boolean;
constructor(double: boolean) { constructor(double: boolean) {

View File

@ -14,7 +14,7 @@ import { achvs } from "#app/system/achv";
import { timedEventManager } from "#app/global-event-manager"; import { timedEventManager } from "#app/global-event-manager";
export class TrainerVictoryPhase extends BattlePhase { export class TrainerVictoryPhase extends BattlePhase {
protected readonly phaseName = "TrainerVictoryPhase"; public readonly phaseName = "TrainerVictoryPhase";
start() { start() {
globalScene.disableMenu = true; globalScene.disableMenu = true;

View File

@ -18,7 +18,7 @@ import { PokemonHealPhase } from "./pokemon-heal-phase";
import { globalScene } from "#app/global-scene"; import { globalScene } from "#app/global-scene";
export class TurnEndPhase extends FieldPhase { export class TurnEndPhase extends FieldPhase {
protected readonly phaseName = "TurnEndPhase"; public readonly phaseName = "TurnEndPhase";
start() { start() {
super.start(); super.start();

View File

@ -15,7 +15,7 @@ import { TurnStartPhase } from "./turn-start-phase";
import { globalScene } from "#app/global-scene"; import { globalScene } from "#app/global-scene";
export class TurnInitPhase extends FieldPhase { export class TurnInitPhase extends FieldPhase {
protected readonly phaseName = "TurnInitPhase"; public readonly phaseName = "TurnInitPhase";
start() { start() {
super.start(); super.start();

View File

@ -25,7 +25,7 @@ import { globalScene } from "#app/global-scene";
import { TeraPhase } from "./tera-phase"; import { TeraPhase } from "./tera-phase";
export class TurnStartPhase extends FieldPhase { export class TurnStartPhase extends FieldPhase {
protected readonly phaseName = "TurnStartPhase"; public readonly phaseName = "TurnStartPhase";
/** /**
* This orders the active Pokemon on the field by speed into an BattlerIndex array and returns that array. * This orders the active Pokemon on the field by speed into an BattlerIndex array and returns that array.
* It also checks for Trick Room and reverses the array if it is present. * It also checks for Trick Room and reverses the array if it is present.

View File

@ -4,7 +4,7 @@ import { UiMode } from "#enums/ui-mode";
import { LoginPhase } from "./login-phase"; import { LoginPhase } from "./login-phase";
export class UnavailablePhase extends Phase { export class UnavailablePhase extends Phase {
protected readonly phaseName = "UnavailablePhase"; public readonly phaseName = "UnavailablePhase";
start(): void { start(): void {
globalScene.ui.setMode(UiMode.UNAVAILABLE, () => { globalScene.ui.setMode(UiMode.UNAVAILABLE, () => {
globalScene.unshiftPhase(new LoginPhase(true)); globalScene.unshiftPhase(new LoginPhase(true));

View File

@ -6,7 +6,7 @@ import { UiMode } from "#enums/ui-mode";
import i18next from "i18next"; import i18next from "i18next";
export class UnlockPhase extends Phase { export class UnlockPhase extends Phase {
protected readonly phaseName = "UnlockPhase"; public readonly phaseName = "UnlockPhase";
private unlockable: Unlockables; private unlockable: Unlockables;
constructor(unlockable: Unlockables) { constructor(unlockable: Unlockables) {

View File

@ -18,7 +18,7 @@ import { timedEventManager } from "#app/global-event-manager";
import { SelectBiomePhase } from "./select-biome-phase"; import { SelectBiomePhase } from "./select-biome-phase";
export class VictoryPhase extends PokemonPhase { export class VictoryPhase extends PokemonPhase {
protected readonly phaseName = "VictoryPhase"; public readonly phaseName = "VictoryPhase";
/** If true, indicates that the phase is intended for EXP purposes only, and not to continue a battle to next phase */ /** If true, indicates that the phase is intended for EXP purposes only, and not to continue a battle to next phase */
isExpOnly: boolean; isExpOnly: boolean;

View File

@ -19,7 +19,7 @@ import { BooleanHolder, toDmgValue } from "#app/utils/common";
import { CommonAnimPhase } from "./common-anim-phase"; import { CommonAnimPhase } from "./common-anim-phase";
export class WeatherEffectPhase extends CommonAnimPhase { export class WeatherEffectPhase extends CommonAnimPhase {
protected readonly phaseName = "WeatherEffectPhase"; public readonly phaseName = "WeatherEffectPhase";
public weather: Weather | null; public weather: Weather | null;
constructor() { constructor() {

View File

@ -665,7 +665,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler {
show(args: any[]): boolean { show(args: any[]): boolean {
// Allow the use of candies if we are in one of the whitelisted phases // Allow the use of candies if we are in one of the whitelisted phases
this.canUseCandies = ["TitlePhase", "SelectStarterPhase", "CommandPhase"].includes( this.canUseCandies = ["TitlePhase", "SelectStarterPhase", "CommandPhase"].includes(
globalScene.getCurrentPhase()?.constructor.name ?? "", globalScene.getCurrentPhase()?.phaseName ?? "",
); );
if (args.length >= 1 && args[0] === "refresh") { if (args.length >= 1 && args[0] === "refresh") {