mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-04 07:22:19 +02:00
Make phaseName as public and fix more uses
This commit is contained in:
parent
6a217f2062
commit
8aa363683d
@ -1587,9 +1587,7 @@ export default class BattleScene extends SceneBase {
|
||||
return 0;
|
||||
}
|
||||
|
||||
const isEggPhase: boolean = ["EggLapsePhase", "EggHatchPhase"].includes(
|
||||
this.getCurrentPhase()?.constructor.name ?? "",
|
||||
);
|
||||
const isEggPhase: boolean = ["EggLapsePhase", "EggHatchPhase"].includes(this.getCurrentPhase()?.phaseName ?? "");
|
||||
|
||||
if (
|
||||
// Give trainers with specialty types an appropriately-typed form for Wormadam, Rotom, Arceus, Oricorio, Silvally, or Paldean Tauros.
|
||||
|
@ -15,7 +15,7 @@ export abstract class 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`.
|
||||
|
@ -9,7 +9,7 @@ import { Phase } from "#app/phase";
|
||||
import { globalScene } from "#app/global-scene";
|
||||
|
||||
export class AddEnemyBuffModifierPhase extends Phase {
|
||||
protected readonly phaseName = "AddEnemyBuffModifierPhase";
|
||||
public readonly phaseName = "AddEnemyBuffModifierPhase";
|
||||
start() {
|
||||
super.start();
|
||||
|
||||
|
@ -27,7 +27,7 @@ import { globalScene } from "#app/global-scene";
|
||||
import { Gender } from "#app/data/gender";
|
||||
|
||||
export class AttemptCapturePhase extends PokemonPhase {
|
||||
protected readonly phaseName = "AttemptCapturePhase";
|
||||
public readonly phaseName = "AttemptCapturePhase";
|
||||
private pokeballType: PokeballType;
|
||||
private pokeball: Phaser.GameObjects.Sprite;
|
||||
private originalY: number;
|
||||
|
@ -17,7 +17,7 @@ import { globalScene } from "#app/global-scene";
|
||||
import { SelectBiomePhase } from "./select-biome-phase";
|
||||
|
||||
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 */
|
||||
public forceFailEscape = false;
|
||||
|
||||
|
@ -5,7 +5,7 @@ import { BattlePhase } from "./battle-phase";
|
||||
import { GameOverPhase } from "./game-over-phase";
|
||||
|
||||
export class BattleEndPhase extends BattlePhase {
|
||||
protected readonly phaseName = "BattleEndPhase";
|
||||
public readonly phaseName = "BattleEndPhase";
|
||||
/** If true, will increment battles won */
|
||||
isVictory: boolean;
|
||||
|
||||
|
@ -20,7 +20,7 @@ import type Pokemon from "#app/field/pokemon";
|
||||
* Also triggers Cud Chew's "repeat berry use" effects
|
||||
*/
|
||||
export class BerryPhase extends FieldPhase {
|
||||
protected readonly phaseName = "BerryPhase";
|
||||
public readonly phaseName = "BerryPhase";
|
||||
start() {
|
||||
super.start();
|
||||
|
||||
|
@ -4,7 +4,7 @@ import type { BattlerIndex } from "#app/battle";
|
||||
import { globalScene } from "#app/global-scene";
|
||||
|
||||
export class CheckStatusEffectPhase extends Phase {
|
||||
protected readonly phaseName = "CheckStatusEffectPhase";
|
||||
public readonly phaseName = "CheckStatusEffectPhase";
|
||||
private order: BattlerIndex[];
|
||||
constructor(order: BattlerIndex[]) {
|
||||
super();
|
||||
|
@ -10,7 +10,7 @@ import { SwitchPhase } from "./switch-phase";
|
||||
import { SwitchType } from "#enums/switch-type";
|
||||
|
||||
export class CheckSwitchPhase extends BattlePhase {
|
||||
protected readonly phaseName = "CheckSwitchPhase";
|
||||
public readonly phaseName = "CheckSwitchPhase";
|
||||
protected fieldIndex: number;
|
||||
protected useName: boolean;
|
||||
|
||||
|
@ -25,7 +25,7 @@ import { ArenaTagSide } from "#app/data/arena-tag";
|
||||
import { ArenaTagType } from "#app/enums/arena-tag-type";
|
||||
|
||||
export class CommandPhase extends FieldPhase {
|
||||
protected readonly phaseName = "CommandPhase";
|
||||
public readonly phaseName = "CommandPhase";
|
||||
protected fieldIndex: number;
|
||||
|
||||
constructor(fieldIndex: number) {
|
||||
|
@ -7,7 +7,7 @@ import { PokemonPhase } from "./pokemon-phase";
|
||||
export class CommonAnimPhase extends PokemonPhase {
|
||||
// PokemonHealPhase extends CommonAnimPhase, and to make typescript happy,
|
||||
// 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 targetIndex?: BattlerIndex;
|
||||
private playOnEmptyField: boolean;
|
||||
|
@ -6,7 +6,7 @@ import { fixedInt } from "#app/utils/common";
|
||||
import { PokemonPhase } from "#app/phases/pokemon-phase";
|
||||
|
||||
export class DamageAnimPhase extends PokemonPhase {
|
||||
protected readonly phaseName = "DamageAnimPhase";
|
||||
public readonly phaseName = "DamageAnimPhase";
|
||||
private amount: number;
|
||||
private damageResult: DamageResult;
|
||||
private critical: boolean;
|
||||
|
@ -20,7 +20,7 @@ import { doShinySparkleAnim } from "#app/field/anims";
|
||||
* Class that represents egg hatching
|
||||
*/
|
||||
export class EggHatchPhase extends Phase {
|
||||
protected readonly phaseName = "EggHatchPhase";
|
||||
public readonly phaseName = "EggHatchPhase";
|
||||
/** The egg that is hatching */
|
||||
private egg: Egg;
|
||||
/** The new EggHatchData for the egg/pokemon that hatches */
|
||||
|
@ -16,7 +16,7 @@ import { EggHatchData } from "#app/data/egg-hatch-data";
|
||||
* Also handles prompts for skipping animation, and calling the egg summary phase
|
||||
*/
|
||||
export class EggLapsePhase extends Phase {
|
||||
protected readonly phaseName = "EggLapsePhase";
|
||||
public readonly phaseName = "EggLapsePhase";
|
||||
private eggHatchData: EggHatchData[] = [];
|
||||
private readonly minEggsToSkip: number = 2;
|
||||
|
||||
|
@ -9,7 +9,7 @@ import type { EggHatchData } from "#app/data/egg-hatch-data";
|
||||
* Phase is handled mostly by the egg-hatch-scene-handler UI
|
||||
*/
|
||||
export class EggSummaryPhase extends Phase {
|
||||
protected readonly phaseName = "EggSummaryPhase";
|
||||
public readonly phaseName = "EggSummaryPhase";
|
||||
private eggHatchData: EggHatchData[];
|
||||
|
||||
constructor(eggHatchData: EggHatchData[]) {
|
||||
|
@ -48,7 +48,7 @@ import { getNatureName } from "#app/data/nature";
|
||||
|
||||
export class EncounterPhase extends BattlePhase {
|
||||
// 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;
|
||||
|
||||
constructor(loaded = false) {
|
||||
|
@ -5,7 +5,7 @@ import { addTextObject, TextStyle } from "#app/ui/text";
|
||||
import i18next from "i18next";
|
||||
|
||||
export class EndCardPhase extends Phase {
|
||||
protected readonly phaseName = "EndCardPhase";
|
||||
public readonly phaseName = "EndCardPhase";
|
||||
public endCard: Phaser.GameObjects.Image;
|
||||
public text: Phaser.GameObjects.Text;
|
||||
start(): void {
|
||||
|
@ -3,7 +3,7 @@ import { Phase } from "#app/phase";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
|
||||
export class EndEvolutionPhase extends Phase {
|
||||
protected readonly phaseName = "EndEvolutionPhase";
|
||||
public readonly phaseName = "EndEvolutionPhase";
|
||||
start() {
|
||||
super.start();
|
||||
|
||||
|
@ -15,7 +15,7 @@ import { BattlerTagType } from "#enums/battler-tag-type";
|
||||
* @see {@linkcode EnemyPokemon.getNextMove}
|
||||
*/
|
||||
export class EnemyCommandPhase extends FieldPhase {
|
||||
protected readonly phaseName = "EnemyCommandPhase";
|
||||
public readonly phaseName = "EnemyCommandPhase";
|
||||
protected fieldIndex: number;
|
||||
protected skipTurn = false;
|
||||
|
||||
|
@ -21,7 +21,7 @@ import { EVOLVE_MOVE } from "#app/data/balance/pokemon-level-moves";
|
||||
export class EvolutionPhase extends Phase {
|
||||
// FormChangePhase inherits from this, but EvolutionPhase is not abstract.
|
||||
// We have to use the union here
|
||||
protected readonly phaseName: "EvolutionPhase" | "FormChangePhase" = "EvolutionPhase";
|
||||
public readonly phaseName: "EvolutionPhase" | "FormChangePhase" = "EvolutionPhase";
|
||||
protected pokemon: PlayerPokemon;
|
||||
protected lastLevel: number;
|
||||
|
||||
|
@ -7,7 +7,7 @@ import { PlayerPartyMemberPokemonPhase } from "./player-party-member-pokemon-pha
|
||||
import { LevelUpPhase } from "./level-up-phase";
|
||||
|
||||
export class ExpPhase extends PlayerPartyMemberPokemonPhase {
|
||||
protected readonly phaseName = "ExpPhase";
|
||||
public readonly phaseName = "ExpPhase";
|
||||
private expValue: number;
|
||||
|
||||
constructor(partyMemberIndex: number, expValue: number) {
|
||||
|
@ -35,7 +35,7 @@ import { FRIENDSHIP_LOSS_FROM_FAINT } from "#app/data/balance/starters";
|
||||
import { BattlerTagType } from "#enums/battler-tag-type";
|
||||
|
||||
export class FaintPhase extends PokemonPhase {
|
||||
protected readonly phaseName = "FaintPhase";
|
||||
public readonly phaseName = "FaintPhase";
|
||||
/**
|
||||
* Whether or not instant revive should be prevented
|
||||
*/
|
||||
|
@ -13,7 +13,7 @@ import { BattlerTagType } from "#enums/battler-tag-type";
|
||||
import { SpeciesFormKey } from "#enums/species-form-key";
|
||||
|
||||
export class FormChangePhase extends EvolutionPhase {
|
||||
protected readonly phaseName = "FormChangePhase";
|
||||
public readonly phaseName = "FormChangePhase";
|
||||
private formChange: SpeciesFormChange;
|
||||
private modal: boolean;
|
||||
|
||||
|
@ -4,7 +4,7 @@ import i18next from "i18next";
|
||||
import { ModifierRewardPhase } from "./modifier-reward-phase";
|
||||
|
||||
export class GameOverModifierRewardPhase extends ModifierRewardPhase {
|
||||
protected readonly phaseName = "GameOverModifierRewardPhase";
|
||||
public readonly phaseName = "GameOverModifierRewardPhase";
|
||||
doReward(): Promise<void> {
|
||||
return new Promise<void>(resolve => {
|
||||
const newModifier = this.modifierType.newModifier();
|
||||
|
@ -34,7 +34,7 @@ import { pokerogueApi } from "#app/plugins/api/pokerogue-api";
|
||||
import { MessagePhase } from "./message-phase";
|
||||
|
||||
export class GameOverPhase extends BattlePhase {
|
||||
protected readonly phaseName = "GameOverPhase";
|
||||
public readonly phaseName = "GameOverPhase";
|
||||
private isVictory: boolean;
|
||||
private firstRibbons: PokemonSpecies[] = [];
|
||||
|
||||
|
@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene";
|
||||
import { Phase } from "#app/phase";
|
||||
|
||||
export class HideAbilityPhase extends Phase {
|
||||
protected readonly phaseName = "HideAbilityPhase";
|
||||
public readonly phaseName = "HideAbilityPhase";
|
||||
start() {
|
||||
super.start();
|
||||
|
||||
|
@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene";
|
||||
import { BattlePhase } from "./battle-phase";
|
||||
|
||||
export class HidePartyExpBarPhase extends BattlePhase {
|
||||
protected readonly phaseName = "HidePartyExpBarPhase";
|
||||
public readonly phaseName = "HidePartyExpBarPhase";
|
||||
start() {
|
||||
super.start();
|
||||
|
||||
|
@ -23,7 +23,7 @@ export enum LearnMoveType {
|
||||
}
|
||||
|
||||
export class LearnMovePhase extends PlayerPartyMemberPokemonPhase {
|
||||
protected readonly phaseName = "LearnMovePhase";
|
||||
public readonly phaseName = "LearnMovePhase";
|
||||
private moveId: MoveId;
|
||||
private messageMode: UiMode;
|
||||
private learnMoveType: LearnMoveType;
|
||||
|
@ -4,7 +4,7 @@ import i18next from "i18next";
|
||||
import { FieldPhase } from "./field-phase";
|
||||
|
||||
export class LevelCapPhase extends FieldPhase {
|
||||
protected readonly phaseName = "LevelCapPhase";
|
||||
public readonly phaseName = "LevelCapPhase";
|
||||
start(): void {
|
||||
super.start();
|
||||
|
||||
|
@ -10,7 +10,7 @@ import { NumberHolder } from "#app/utils/common";
|
||||
import i18next from "i18next";
|
||||
|
||||
export class LevelUpPhase extends PlayerPartyMemberPokemonPhase {
|
||||
protected readonly phaseName = "LevelUpPhase";
|
||||
public readonly phaseName = "LevelUpPhase";
|
||||
protected lastLevel: number;
|
||||
protected level: number;
|
||||
protected pokemon: PlayerPokemon = this.getPlayerPokemon();
|
||||
|
@ -8,7 +8,7 @@ import { Phase } from "#app/phase";
|
||||
* isn't already loaded (e.g. for Metronome)
|
||||
*/
|
||||
export class LoadMoveAnimPhase extends Phase {
|
||||
protected readonly phaseName = "LoadMoveAnimPhase";
|
||||
public readonly phaseName = "LoadMoveAnimPhase";
|
||||
constructor(protected moveId: MoveId) {
|
||||
super();
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ import { SelectGenderPhase } from "./select-gender-phase";
|
||||
import { UnavailablePhase } from "./unavailable-phase";
|
||||
|
||||
export class LoginPhase extends Phase {
|
||||
protected readonly phaseName = "LoginPhase";
|
||||
public readonly phaseName = "LoginPhase";
|
||||
private showText: boolean;
|
||||
|
||||
constructor(showText = true) {
|
||||
|
@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene";
|
||||
import { Phase } from "#app/phase";
|
||||
|
||||
export class MessagePhase extends Phase {
|
||||
protected readonly phaseName = "MessagePhase";
|
||||
public readonly phaseName = "MessagePhase";
|
||||
private text: string;
|
||||
private callbackDelay?: number | null;
|
||||
private prompt?: boolean | null;
|
||||
|
@ -7,7 +7,7 @@ import { BattlePhase } from "./battle-phase";
|
||||
export class ModifierRewardPhase extends BattlePhase {
|
||||
// RibbonModifierRewardPhase extends ModifierRewardPhase and to make typescript happy
|
||||
// we need to use a union type here
|
||||
protected readonly phaseName: "ModifierRewardPhase" | "RibbonModifierRewardPhase" | "GameOverModifierRewardPhase" =
|
||||
public readonly phaseName: "ModifierRewardPhase" | "RibbonModifierRewardPhase" | "GameOverModifierRewardPhase" =
|
||||
"ModifierRewardPhase";
|
||||
protected modifierType: ModifierType;
|
||||
|
||||
|
@ -6,7 +6,7 @@ import { NumberHolder } from "#app/utils/common";
|
||||
import { BattlePhase } from "./battle-phase";
|
||||
|
||||
export class MoneyRewardPhase extends BattlePhase {
|
||||
protected readonly phaseName = "MoneyRewardPhase";
|
||||
public readonly phaseName = "MoneyRewardPhase";
|
||||
private moneyMultiplier: number;
|
||||
|
||||
constructor(moneyMultiplier: number) {
|
||||
|
@ -12,7 +12,7 @@ export class MoveAnimPhase<Anim extends MoveAnim> extends Phase {
|
||||
super();
|
||||
}
|
||||
|
||||
protected readonly phaseName = "MoveAnimPhase";
|
||||
public readonly phaseName = "MoveAnimPhase";
|
||||
|
||||
public override start(): void {
|
||||
super.start();
|
||||
|
@ -15,7 +15,7 @@ import { BattlerTagType } from "#enums/battler-tag-type";
|
||||
* @extends {@linkcode PokemonPhase}
|
||||
*/
|
||||
export class MoveChargePhase extends PokemonPhase {
|
||||
protected readonly phaseName = "MoveChargePhase";
|
||||
public readonly phaseName = "MoveChargePhase";
|
||||
/** The move instance that this phase applies */
|
||||
public move: PokemonMove;
|
||||
/** The field index targeted by the move (Charging moves assume single target) */
|
||||
|
@ -82,7 +82,7 @@ import { DamageAchv } from "#app/system/achv";
|
||||
type HitCheckEntry = [HitCheckResult, TypeDamageMultiplier];
|
||||
|
||||
export class MoveEffectPhase extends PokemonPhase {
|
||||
protected readonly phaseName = "MoveEffectPhase";
|
||||
public readonly phaseName = "MoveEffectPhase";
|
||||
public move: Move;
|
||||
private virtual = false;
|
||||
protected targets: BattlerIndex[];
|
||||
|
@ -6,7 +6,7 @@ import { applyPostSummonAbAttrs, PostSummonRemoveEffectAbAttr } from "#app/data/
|
||||
import type Pokemon from "#app/field/pokemon";
|
||||
|
||||
export class MoveEndPhase extends PokemonPhase {
|
||||
protected readonly phaseName = "MoveEndPhase";
|
||||
public readonly phaseName = "MoveEndPhase";
|
||||
private wasFollowUp: boolean;
|
||||
|
||||
/** Targets from the preceding MovePhase */
|
||||
|
@ -4,7 +4,7 @@ import type Pokemon from "#app/field/pokemon";
|
||||
import { BattlePhase } from "./battle-phase";
|
||||
|
||||
export class MoveHeaderPhase extends BattlePhase {
|
||||
protected readonly phaseName = "MoveHeaderPhase";
|
||||
public readonly phaseName = "MoveHeaderPhase";
|
||||
public pokemon: Pokemon;
|
||||
public move: PokemonMove;
|
||||
|
||||
|
@ -52,7 +52,7 @@ import { StatusEffect } from "#enums/status-effect";
|
||||
import i18next from "i18next";
|
||||
|
||||
export class MovePhase extends BattlePhase {
|
||||
protected readonly phaseName = "MovePhase";
|
||||
public readonly phaseName = "MovePhase";
|
||||
protected _pokemon: Pokemon;
|
||||
protected _move: PokemonMove;
|
||||
protected _targets: BattlerIndex[];
|
||||
|
@ -38,7 +38,7 @@ import { SelectBiomePhase } from "./select-biome-phase";
|
||||
* - Queuing of the {@linkcode MysteryEncounterOptionSelectedPhase}
|
||||
*/
|
||||
export class MysteryEncounterPhase extends Phase {
|
||||
protected readonly phaseName = "MysteryEncounterPhase";
|
||||
public readonly phaseName = "MysteryEncounterPhase";
|
||||
private readonly FIRST_DIALOGUE_PROMPT_DELAY = 300;
|
||||
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
|
||||
*/
|
||||
export class MysteryEncounterOptionSelectedPhase extends Phase {
|
||||
protected readonly phaseName = "MysteryEncounterOptionSelectedPhase";
|
||||
public readonly phaseName = "MysteryEncounterOptionSelectedPhase";
|
||||
onOptionSelect: OptionPhaseCallback;
|
||||
|
||||
constructor() {
|
||||
@ -222,7 +222,7 @@ export class MysteryEncounterOptionSelectedPhase extends Phase {
|
||||
* See {@linkcode TurnEndPhase} for more details
|
||||
*/
|
||||
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
|
||||
*/
|
||||
@ -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
|
||||
*/
|
||||
export class MysteryEncounterBattlePhase extends Phase {
|
||||
protected readonly phaseName = "MysteryEncounterBattlePhase";
|
||||
public readonly phaseName = "MysteryEncounterBattlePhase";
|
||||
disableSwitch: boolean;
|
||||
|
||||
constructor(disableSwitch = false) {
|
||||
@ -516,7 +516,7 @@ export class MysteryEncounterBattlePhase extends Phase {
|
||||
* - Queuing of the {@linkcode PostMysteryEncounterPhase}
|
||||
*/
|
||||
export class MysteryEncounterRewardsPhase extends Phase {
|
||||
protected readonly phaseName = "MysteryEncounterRewardsPhase";
|
||||
public readonly phaseName = "MysteryEncounterRewardsPhase";
|
||||
addHealPhase: boolean;
|
||||
|
||||
constructor(addHealPhase = false) {
|
||||
@ -584,7 +584,7 @@ export class MysteryEncounterRewardsPhase extends Phase {
|
||||
* - Queuing of the next wave
|
||||
*/
|
||||
export class PostMysteryEncounterPhase extends Phase {
|
||||
protected readonly phaseName = "PostMysteryEncounterPhase";
|
||||
public readonly phaseName = "PostMysteryEncounterPhase";
|
||||
private readonly FIRST_DIALOGUE_PROMPT_DELAY = 750;
|
||||
onPostOptionSelect?: OptionPhaseCallback;
|
||||
|
||||
|
@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene";
|
||||
import { BattlePhase } from "./battle-phase";
|
||||
|
||||
export class NewBattlePhase extends BattlePhase {
|
||||
protected readonly phaseName = "NewBattlePhase";
|
||||
public readonly phaseName = "NewBattlePhase";
|
||||
start() {
|
||||
super.start();
|
||||
|
||||
|
@ -4,7 +4,7 @@ import { getRandomWeatherType } from "#app/data/weather";
|
||||
import { NextEncounterPhase } from "./next-encounter-phase";
|
||||
|
||||
export class NewBiomeEncounterPhase extends NextEncounterPhase {
|
||||
protected readonly phaseName = "NewBiomeEncounterPhase";
|
||||
public readonly phaseName = "NewBiomeEncounterPhase";
|
||||
doEncounter(): void {
|
||||
globalScene.playBgm(undefined, true);
|
||||
|
||||
|
@ -6,7 +6,7 @@ import { EncounterPhase } from "./encounter-phase";
|
||||
* Handles generating, loading and preparing for it.
|
||||
*/
|
||||
export class NextEncounterPhase extends EncounterPhase {
|
||||
protected readonly phaseName: "NextEncounterPhase" | "NewBiomeEncounterPhase" = "NextEncounterPhase";
|
||||
public readonly phaseName: "NextEncounterPhase" | "NewBiomeEncounterPhase" = "NextEncounterPhase";
|
||||
start() {
|
||||
super.start();
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ import { applyPostSetStatusAbAttrs, PostSetStatusAbAttr } from "#app/data/abilit
|
||||
import { isNullOrUndefined } from "#app/utils/common";
|
||||
|
||||
export class ObtainStatusEffectPhase extends PokemonPhase {
|
||||
protected readonly phaseName = "ObtainStatusEffectPhase";
|
||||
public readonly phaseName = "ObtainStatusEffectPhase";
|
||||
private statusEffect?: StatusEffect;
|
||||
private turnsRemaining?: number;
|
||||
private sourceText?: string | null;
|
||||
|
@ -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
|
||||
*/
|
||||
export class PartyExpPhase extends Phase {
|
||||
protected readonly phaseName = "PartyExpPhase";
|
||||
public readonly phaseName = "PartyExpPhase";
|
||||
expValue: number;
|
||||
useWaveIndexMultiplier?: boolean;
|
||||
pokemonParticipantIds?: Set<number>;
|
||||
|
@ -3,7 +3,7 @@ import { fixedInt } from "#app/utils/common";
|
||||
import { BattlePhase } from "./battle-phase";
|
||||
|
||||
export class PartyHealPhase extends BattlePhase {
|
||||
protected readonly phaseName = "PartyHealPhase";
|
||||
public readonly phaseName = "PartyHealPhase";
|
||||
private resumeBgm: boolean;
|
||||
|
||||
constructor(resumeBgm: boolean) {
|
||||
|
@ -7,7 +7,7 @@ import { PokemonAnimType } from "#enums/pokemon-anim-type";
|
||||
import { SpeciesId } from "#enums/species-id";
|
||||
|
||||
export class PokemonAnimPhase extends BattlePhase {
|
||||
protected readonly phaseName = "PokemonAnimPhase";
|
||||
public readonly phaseName = "PokemonAnimPhase";
|
||||
/** The type of animation to play in this phase */
|
||||
protected key: PokemonAnimType;
|
||||
/** The Pokemon to which this animation applies */
|
||||
|
@ -14,7 +14,7 @@ import { BattlerTagType } from "#app/enums/battler-tag-type";
|
||||
import type { HealBlockTag } from "#app/data/battler-tags";
|
||||
|
||||
export class PokemonHealPhase extends CommonAnimPhase {
|
||||
protected readonly phaseName = "PokemonHealPhase";
|
||||
public readonly phaseName = "PokemonHealPhase";
|
||||
private hpHealed: number;
|
||||
private message: string | null;
|
||||
private showFullHpMessage: boolean;
|
||||
|
@ -13,7 +13,7 @@ import i18next from "i18next";
|
||||
* Used for Transform (move) and Imposter (ability)
|
||||
*/
|
||||
export class PokemonTransformPhase extends PokemonPhase {
|
||||
protected readonly phaseName = "PokemonTransformPhase";
|
||||
public readonly phaseName = "PokemonTransformPhase";
|
||||
protected targetIndex: BattlerIndex;
|
||||
private playSound: boolean;
|
||||
|
||||
|
@ -4,7 +4,7 @@ import type { EndCardPhase } from "./end-card-phase";
|
||||
import { TitlePhase } from "./title-phase";
|
||||
|
||||
export class PostGameOverPhase extends Phase {
|
||||
protected readonly phaseName = "PostGameOverPhase";
|
||||
public readonly phaseName = "PostGameOverPhase";
|
||||
private endCardPhase?: EndCardPhase;
|
||||
|
||||
constructor(endCardPhase?: EndCardPhase) {
|
||||
|
@ -7,7 +7,7 @@ import { MysteryEncounterPostSummonTag } from "#app/data/battler-tags";
|
||||
import { BattlerTagType } from "#enums/battler-tag-type";
|
||||
|
||||
export class PostSummonPhase extends PokemonPhase {
|
||||
protected readonly phaseName = "PostSummonPhase";
|
||||
public readonly phaseName = "PostSummonPhase";
|
||||
start() {
|
||||
super.start();
|
||||
|
||||
|
@ -17,7 +17,7 @@ import { BooleanHolder, NumberHolder } from "#app/utils/common";
|
||||
import { PokemonPhase } from "./pokemon-phase";
|
||||
|
||||
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
|
||||
constructor(battlerIndex: BattlerIndex) {
|
||||
super(battlerIndex);
|
||||
|
@ -19,7 +19,7 @@ import {
|
||||
} from "#app/data/abilities/ability";
|
||||
|
||||
export class QuietFormChangePhase extends BattlePhase {
|
||||
protected readonly phaseName = "QuietFormChangePhase";
|
||||
public readonly phaseName = "QuietFormChangePhase";
|
||||
protected pokemon: Pokemon;
|
||||
protected formChange: SpeciesFormChange;
|
||||
|
||||
|
@ -4,7 +4,7 @@ import { UiMode } from "#enums/ui-mode";
|
||||
import { fixedInt } from "#app/utils/common";
|
||||
|
||||
export class ReloadSessionPhase extends Phase {
|
||||
protected readonly phaseName = "ReloadSessionPhase";
|
||||
public readonly phaseName = "ReloadSessionPhase";
|
||||
private systemDataStr?: string;
|
||||
|
||||
constructor(systemDataStr?: string) {
|
||||
|
@ -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
|
||||
*/
|
||||
export class ResetStatusPhase extends BattlePhase {
|
||||
protected readonly phaseName = "ResetStatusPhase";
|
||||
public readonly phaseName = "ResetStatusPhase";
|
||||
private readonly pokemon: Pokemon;
|
||||
private readonly affectConfusion: boolean;
|
||||
private readonly reloadAssets: boolean;
|
||||
|
@ -4,7 +4,7 @@ import { SwitchType } from "#enums/switch-type";
|
||||
import { SwitchSummonPhase } from "./switch-summon-phase";
|
||||
|
||||
export class ReturnPhase extends SwitchSummonPhase {
|
||||
protected readonly phaseName = "ReturnPhase";
|
||||
public readonly phaseName = "ReturnPhase";
|
||||
constructor(fieldIndex: number) {
|
||||
super(SwitchType.SWITCH, fieldIndex, -1, true);
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ import type { PlayerPokemon } from "#app/field/pokemon";
|
||||
* when used by one of the player's Pokemon.
|
||||
*/
|
||||
export class RevivalBlessingPhase extends BattlePhase {
|
||||
protected readonly phaseName = "RevivalBlessingPhase";
|
||||
public readonly phaseName = "RevivalBlessingPhase";
|
||||
constructor(protected user: PlayerPokemon) {
|
||||
super();
|
||||
}
|
||||
|
@ -6,7 +6,7 @@ import i18next from "i18next";
|
||||
import { ModifierRewardPhase } from "./modifier-reward-phase";
|
||||
|
||||
export class RibbonModifierRewardPhase extends ModifierRewardPhase {
|
||||
protected readonly phaseName = "RibbonModifierRewardPhase";
|
||||
public readonly phaseName = "RibbonModifierRewardPhase";
|
||||
private species: PokemonSpecies;
|
||||
|
||||
constructor(modifierTypeFunc: ModifierTypeFunc, species: PokemonSpecies) {
|
||||
|
@ -8,7 +8,7 @@ import i18next from "i18next";
|
||||
import { PokemonPhase } from "./pokemon-phase";
|
||||
|
||||
export class ScanIvsPhase extends PokemonPhase {
|
||||
protected readonly phaseName = "ScanIvsPhase";
|
||||
public readonly phaseName = "ScanIvsPhase";
|
||||
// biome-ignore lint/complexity/noUselessConstructor: This changes `battlerIndex` to be required
|
||||
constructor(battlerIndex: BattlerIndex) {
|
||||
super(battlerIndex);
|
||||
|
@ -10,7 +10,7 @@ import { PartyHealPhase } from "./party-heal-phase";
|
||||
import { SwitchBiomePhase } from "./switch-biome-phase";
|
||||
|
||||
export class SelectBiomePhase extends BattlePhase {
|
||||
protected readonly phaseName = "SelectBiomePhase";
|
||||
public readonly phaseName = "SelectBiomePhase";
|
||||
start() {
|
||||
super.start();
|
||||
|
||||
|
@ -3,7 +3,7 @@ import { Phase } from "#app/phase";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
|
||||
export class SelectChallengePhase extends Phase {
|
||||
protected readonly phaseName = "SelectChallengePhase";
|
||||
public readonly phaseName = "SelectChallengePhase";
|
||||
start() {
|
||||
super.start();
|
||||
|
||||
|
@ -6,7 +6,7 @@ import { UiMode } from "#enums/ui-mode";
|
||||
import i18next from "i18next";
|
||||
|
||||
export class SelectGenderPhase extends Phase {
|
||||
protected readonly phaseName = "SelectGenderPhase";
|
||||
public readonly phaseName = "SelectGenderPhase";
|
||||
start(): void {
|
||||
super.start();
|
||||
|
||||
|
@ -32,7 +32,7 @@ import type { CustomModifierSettings } from "#app/modifier/modifier-type";
|
||||
import { isNullOrUndefined, NumberHolder } from "#app/utils/common";
|
||||
|
||||
export class SelectModifierPhase extends BattlePhase {
|
||||
protected readonly phaseName = "SelectModifierPhase";
|
||||
public readonly phaseName = "SelectModifierPhase";
|
||||
private rerollCount: number;
|
||||
private modifierTiers?: ModifierTier[];
|
||||
private customModifierSettings?: CustomModifierSettings;
|
||||
|
@ -15,7 +15,7 @@ import SoundFade from "phaser3-rex-plugins/plugins/soundfade";
|
||||
import { isNullOrUndefined } from "#app/utils/common";
|
||||
|
||||
export class SelectStarterPhase extends Phase {
|
||||
protected readonly phaseName = "SelectStarterPhase";
|
||||
public readonly phaseName = "SelectStarterPhase";
|
||||
start() {
|
||||
super.start();
|
||||
|
||||
|
@ -8,7 +8,7 @@ import i18next from "#app/plugins/i18n";
|
||||
import { allMoves } from "#app/data/data-lists";
|
||||
|
||||
export class SelectTargetPhase extends PokemonPhase {
|
||||
protected readonly phaseName = "SelectTargetPhase";
|
||||
public readonly phaseName = "SelectTargetPhase";
|
||||
// biome-ignore lint/complexity/noUselessConstructor: This makes `fieldIndex` required
|
||||
constructor(fieldIndex: number) {
|
||||
super(fieldIndex);
|
||||
|
@ -3,7 +3,7 @@ import type { BattlerIndex } from "#app/battle";
|
||||
import { PokemonPhase } from "./pokemon-phase";
|
||||
|
||||
export class ShinySparklePhase extends PokemonPhase {
|
||||
protected readonly phaseName = "ShinySparklePhase";
|
||||
public readonly phaseName = "ShinySparklePhase";
|
||||
// biome-ignore lint/complexity/noUselessConstructor: This makes `battlerIndex` required
|
||||
constructor(battlerIndex: BattlerIndex) {
|
||||
super(battlerIndex);
|
||||
|
@ -5,7 +5,7 @@ import { getPokemonNameWithAffix } from "#app/messages";
|
||||
import { HideAbilityPhase } from "#app/phases/hide-ability-phase";
|
||||
|
||||
export class ShowAbilityPhase extends PokemonPhase {
|
||||
protected readonly phaseName = "ShowAbilityPhase";
|
||||
public readonly phaseName = "ShowAbilityPhase";
|
||||
private passive: boolean;
|
||||
private pokemonName: string;
|
||||
private abilityName: string;
|
||||
|
@ -8,7 +8,7 @@ import { LevelUpPhase } from "./level-up-phase";
|
||||
import { PlayerPartyMemberPokemonPhase } from "./player-party-member-pokemon-phase";
|
||||
|
||||
export class ShowPartyExpBarPhase extends PlayerPartyMemberPokemonPhase {
|
||||
protected readonly phaseName = "ShowPartyExpBarPhase";
|
||||
public readonly phaseName = "ShowPartyExpBarPhase";
|
||||
private expValue: number;
|
||||
|
||||
constructor(partyMemberIndex: number, expValue: number) {
|
||||
|
@ -3,7 +3,7 @@ import { PlayerGender } from "#app/enums/player-gender";
|
||||
import { BattlePhase } from "./battle-phase";
|
||||
|
||||
export class ShowTrainerPhase extends BattlePhase {
|
||||
protected readonly phaseName = "ShowTrainerPhase";
|
||||
public readonly phaseName = "ShowTrainerPhase";
|
||||
start() {
|
||||
super.start();
|
||||
|
||||
|
@ -31,7 +31,7 @@ export type StatStageChangeCallback = (
|
||||
) => void;
|
||||
|
||||
export class StatStageChangePhase extends PokemonPhase {
|
||||
protected readonly phaseName = "StatStageChangePhase";
|
||||
public readonly phaseName = "StatStageChangePhase";
|
||||
private stats: BattleStat[];
|
||||
private selfTarget: boolean;
|
||||
private stages: number;
|
||||
|
@ -4,7 +4,7 @@ import { SummonPhase } from "./summon-phase";
|
||||
import { globalScene } from "#app/global-scene";
|
||||
|
||||
export class SummonMissingPhase extends SummonPhase {
|
||||
protected readonly phaseName = "SummonMissingPhase";
|
||||
public readonly phaseName = "SummonMissingPhase";
|
||||
preSummon(): void {
|
||||
globalScene.ui.showText(
|
||||
i18next.t("battle:sendOutPokemon", {
|
||||
|
@ -18,8 +18,7 @@ import { globalScene } from "#app/global-scene";
|
||||
|
||||
export class SummonPhase extends PartyMemberPokemonPhase {
|
||||
// The union type is needed to keep typescript happy as these phases extend from SummonPhase
|
||||
protected readonly phaseName: "SummonPhase" | "SummonMissingPhase" | "SwitchSummonPhase" | "ReturnPhase" =
|
||||
"SummonPhase";
|
||||
public readonly phaseName: "SummonPhase" | "SummonMissingPhase" | "SwitchSummonPhase" | "ReturnPhase" = "SummonPhase";
|
||||
private loaded: boolean;
|
||||
|
||||
constructor(fieldIndex: number, player = true, loaded = false) {
|
||||
|
@ -4,7 +4,7 @@ import { getBiomeKey } from "#app/field/arena";
|
||||
import { BattlePhase } from "./battle-phase";
|
||||
|
||||
export class SwitchBiomePhase extends BattlePhase {
|
||||
protected readonly phaseName = "SwitchBiomePhase";
|
||||
public readonly phaseName = "SwitchBiomePhase";
|
||||
private nextBiome: BiomeId;
|
||||
|
||||
constructor(nextBiome: BiomeId) {
|
||||
|
@ -10,7 +10,7 @@ import { SwitchSummonPhase } from "./switch-summon-phase";
|
||||
* for the player (if a switch would be valid for the current battle state).
|
||||
*/
|
||||
export class SwitchPhase extends BattlePhase {
|
||||
protected readonly phaseName = "SwitchPhase";
|
||||
public readonly phaseName = "SwitchPhase";
|
||||
protected readonly fieldIndex: number;
|
||||
private readonly switchType: SwitchType;
|
||||
private readonly isModal: boolean;
|
||||
|
@ -22,7 +22,7 @@ import { SubstituteTag } from "#app/data/battler-tags";
|
||||
import { SwitchType } from "#enums/switch-type";
|
||||
|
||||
export class SwitchSummonPhase extends SummonPhase {
|
||||
protected readonly phaseName: "SwitchSummonPhase" | "ReturnPhase" = "SwitchSummonPhase";
|
||||
public readonly phaseName: "SwitchSummonPhase" | "ReturnPhase" = "SwitchSummonPhase";
|
||||
private readonly switchType: SwitchType;
|
||||
private readonly slotIndex: number;
|
||||
private readonly doReturn: boolean;
|
||||
|
@ -9,7 +9,7 @@ import { SpeciesFormChangeTeraTrigger } from "#app/data/pokemon-forms";
|
||||
import { CommonAnim, CommonBattleAnim } from "#app/data/battle-anims";
|
||||
|
||||
export class TeraPhase extends BattlePhase {
|
||||
protected readonly phaseName = "TeraPhase";
|
||||
public readonly phaseName = "TeraPhase";
|
||||
public pokemon: Pokemon;
|
||||
|
||||
constructor(pokemon: Pokemon) {
|
||||
|
@ -29,7 +29,7 @@ import { globalScene } from "#app/global-scene";
|
||||
import Overrides from "#app/overrides";
|
||||
|
||||
export class TitlePhase extends Phase {
|
||||
protected readonly phaseName = "TitlePhase";
|
||||
public readonly phaseName = "TitlePhase";
|
||||
private loaded = false;
|
||||
private lastSessionData: SessionSaveData;
|
||||
public gameMode: GameModes;
|
||||
|
@ -3,7 +3,7 @@ import { FieldPosition } from "#app/field/pokemon";
|
||||
import { BattlePhase } from "./battle-phase";
|
||||
|
||||
export class ToggleDoublePositionPhase extends BattlePhase {
|
||||
protected readonly phaseName = "ToggleDoublePositionPhase";
|
||||
public readonly phaseName = "ToggleDoublePositionPhase";
|
||||
private double: boolean;
|
||||
|
||||
constructor(double: boolean) {
|
||||
|
@ -14,7 +14,7 @@ import { achvs } from "#app/system/achv";
|
||||
import { timedEventManager } from "#app/global-event-manager";
|
||||
|
||||
export class TrainerVictoryPhase extends BattlePhase {
|
||||
protected readonly phaseName = "TrainerVictoryPhase";
|
||||
public readonly phaseName = "TrainerVictoryPhase";
|
||||
start() {
|
||||
globalScene.disableMenu = true;
|
||||
|
||||
|
@ -18,7 +18,7 @@ import { PokemonHealPhase } from "./pokemon-heal-phase";
|
||||
import { globalScene } from "#app/global-scene";
|
||||
|
||||
export class TurnEndPhase extends FieldPhase {
|
||||
protected readonly phaseName = "TurnEndPhase";
|
||||
public readonly phaseName = "TurnEndPhase";
|
||||
start() {
|
||||
super.start();
|
||||
|
||||
|
@ -15,7 +15,7 @@ import { TurnStartPhase } from "./turn-start-phase";
|
||||
import { globalScene } from "#app/global-scene";
|
||||
|
||||
export class TurnInitPhase extends FieldPhase {
|
||||
protected readonly phaseName = "TurnInitPhase";
|
||||
public readonly phaseName = "TurnInitPhase";
|
||||
start() {
|
||||
super.start();
|
||||
|
||||
|
@ -25,7 +25,7 @@ import { globalScene } from "#app/global-scene";
|
||||
import { TeraPhase } from "./tera-phase";
|
||||
|
||||
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.
|
||||
* It also checks for Trick Room and reverses the array if it is present.
|
||||
|
@ -4,7 +4,7 @@ import { UiMode } from "#enums/ui-mode";
|
||||
import { LoginPhase } from "./login-phase";
|
||||
|
||||
export class UnavailablePhase extends Phase {
|
||||
protected readonly phaseName = "UnavailablePhase";
|
||||
public readonly phaseName = "UnavailablePhase";
|
||||
start(): void {
|
||||
globalScene.ui.setMode(UiMode.UNAVAILABLE, () => {
|
||||
globalScene.unshiftPhase(new LoginPhase(true));
|
||||
|
@ -6,7 +6,7 @@ import { UiMode } from "#enums/ui-mode";
|
||||
import i18next from "i18next";
|
||||
|
||||
export class UnlockPhase extends Phase {
|
||||
protected readonly phaseName = "UnlockPhase";
|
||||
public readonly phaseName = "UnlockPhase";
|
||||
private unlockable: Unlockables;
|
||||
|
||||
constructor(unlockable: Unlockables) {
|
||||
|
@ -18,7 +18,7 @@ import { timedEventManager } from "#app/global-event-manager";
|
||||
import { SelectBiomePhase } from "./select-biome-phase";
|
||||
|
||||
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 */
|
||||
isExpOnly: boolean;
|
||||
|
||||
|
@ -19,7 +19,7 @@ import { BooleanHolder, toDmgValue } from "#app/utils/common";
|
||||
import { CommonAnimPhase } from "./common-anim-phase";
|
||||
|
||||
export class WeatherEffectPhase extends CommonAnimPhase {
|
||||
protected readonly phaseName = "WeatherEffectPhase";
|
||||
public readonly phaseName = "WeatherEffectPhase";
|
||||
public weather: Weather | null;
|
||||
|
||||
constructor() {
|
||||
|
@ -665,7 +665,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler {
|
||||
show(args: any[]): boolean {
|
||||
// Allow the use of candies if we are in one of the whitelisted phases
|
||||
this.canUseCandies = ["TitlePhase", "SelectStarterPhase", "CommandPhase"].includes(
|
||||
globalScene.getCurrentPhase()?.constructor.name ?? "",
|
||||
globalScene.getCurrentPhase()?.phaseName ?? "",
|
||||
);
|
||||
|
||||
if (args.length >= 1 && args[0] === "refresh") {
|
||||
|
Loading…
Reference in New Issue
Block a user