mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-09-24 07:23:24 +02:00
Merge remote-tracking branch 'upstream/beta' into phase-interceptor
This commit is contained in:
commit
09d8012620
7
.dockerignore
Normal file
7
.dockerignore
Normal file
@ -0,0 +1,7 @@
|
||||
# .dockerignore
|
||||
node_modules
|
||||
*.log
|
||||
*.md
|
||||
.gitignore
|
||||
Dockerfile
|
||||
.env
|
10
.github/workflows/create-release.yml
vendored
10
.github/workflows/create-release.yml
vendored
@ -55,14 +55,14 @@ jobs:
|
||||
- name: Create release branch
|
||||
run: git checkout -b release
|
||||
|
||||
# In order to be able to open a PR into beta, we need the branch to have at least one change.
|
||||
- name: Overwrite RELEASE file
|
||||
# In order to be able to open a PR into beta, we need the branch to have at least one commit.
|
||||
# The first commit is _usually_ just bumping the version number, so we can kill 2 birds with 1 stone here
|
||||
- name: Bump release version
|
||||
run: |
|
||||
git config --local user.name "github-actions[bot]"
|
||||
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||
echo "Release v${{ github.event.inputs.versionName }}" > RELEASE
|
||||
git add RELEASE
|
||||
git commit -m "Stage release v${{ github.event.inputs.versionName }}"
|
||||
pnpm --no-git-tag-version version ${{ github.events.inputs.versionName }}
|
||||
git commit -am "Stage release for v${{ github.events.inputs.versionName }}"
|
||||
|
||||
- name: Push new branch
|
||||
run: git push origin release
|
||||
|
2
.github/workflows/deploy-beta.yml
vendored
2
.github/workflows/deploy-beta.yml
vendored
@ -22,8 +22,6 @@ jobs:
|
||||
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 10
|
||||
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
|
2
.github/workflows/deploy.yml
vendored
2
.github/workflows/deploy.yml
vendored
@ -20,8 +20,6 @@ jobs:
|
||||
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 10
|
||||
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
|
2
.github/workflows/linting.yml
vendored
2
.github/workflows/linting.yml
vendored
@ -30,8 +30,6 @@ jobs:
|
||||
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 10
|
||||
|
||||
- name: Set up Node
|
||||
uses: actions/setup-node@v4
|
||||
|
2
.github/workflows/test-shard-template.yml
vendored
2
.github/workflows/test-shard-template.yml
vendored
@ -32,8 +32,6 @@ jobs:
|
||||
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 10
|
||||
|
||||
- name: Set up Node.js
|
||||
uses: actions/setup-node@v4
|
||||
|
@ -81,6 +81,7 @@ Notable topics include:
|
||||
- [Linting & Formatting](./docs/linting.md)
|
||||
- [Localization](./docs/localization.md)
|
||||
- [Enemy AI move selection](./docs/enemy-ai.md)
|
||||
- [Running with Podman](./docs/podman.md)
|
||||
|
||||
Again, if you have unanswered questions please feel free to ask!
|
||||
|
||||
|
47
Dockerfile
Normal file
47
Dockerfile
Normal file
@ -0,0 +1,47 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
ARG NODE_VERSION=22.14
|
||||
ARG OS=alpine
|
||||
|
||||
FROM node:${NODE_VERSION}-${OS}
|
||||
|
||||
# Create non-root user
|
||||
RUN addgroup -S appgroup && adduser -S appuser -G appgroup
|
||||
|
||||
# Install git (for potential runtime needs)
|
||||
RUN apk add --no-cache git
|
||||
|
||||
# Set working directory
|
||||
WORKDIR /app
|
||||
|
||||
# Enable and prepare pnpm
|
||||
RUN corepack enable && corepack prepare pnpm@10.14.0 --activate
|
||||
|
||||
COPY . .
|
||||
|
||||
# Copy package files
|
||||
COPY package.json pnpm-lock.yaml ./
|
||||
|
||||
# Install all dependencies
|
||||
RUN --mount=type=cache,target=/home/appuser/.pnpm-store \
|
||||
pnpm install --frozen-lockfile && \
|
||||
rm -rf /home/appuser/.pnpm-store/*
|
||||
|
||||
# Change ownership
|
||||
RUN chown -R appuser:appgroup /app
|
||||
|
||||
# Switch to non-root user
|
||||
USER appuser
|
||||
|
||||
# Set environment variables
|
||||
ENV VITE_BYPASS_LOGIN=1 \
|
||||
VITE_BYPASS_TUTORIAL=0 \
|
||||
NEXT_TELEMETRY_DISABLED=1 \
|
||||
PNP_HOME=/home/appuser/.shrc \
|
||||
NODE_ENV=development \
|
||||
PORT=8000
|
||||
|
||||
# Expose port
|
||||
EXPOSE $PORT
|
||||
|
||||
# Start the app in development mode
|
||||
CMD ["pnpm", "run", "start:podman"]
|
27
docs/podman.md
Normal file
27
docs/podman.md
Normal file
@ -0,0 +1,27 @@
|
||||
# Using Podman
|
||||
|
||||
## Requirements
|
||||
|
||||
* `podman >=5.x`
|
||||
|
||||
## Steps
|
||||
|
||||
1. `podman build -t pokerogue -f Dockerfile .`
|
||||
2. `podman create --name temp-pokerogue localhost/pokerogue`
|
||||
3. `podman cp temp-pokerogue:/app/node_modules ./`
|
||||
4. `podman cp temp-pokerogue:/app/public/locales ./public/`
|
||||
5. `podman rm temp-pokerogue`
|
||||
6. `podman run --rm -p 8000:8000 -v $(pwd):/app:Z --userns=keep-id -u $(id -u):$(id -g) localhost/pokerogue`
|
||||
7. Visit `http://localhost:8000/`
|
||||
|
||||
Note:
|
||||
|
||||
1. Steps 2,3,4 are required because mounting working directory without installed `node_modules/` and assets locally will be empty,
|
||||
this way we prevent it by copying them from the container itself to local directory
|
||||
|
||||
2. `podman run` may take a couple of minutes to mount the working directory
|
||||
|
||||
### Running tests inside container
|
||||
|
||||
`podman run --rm -p 8000:8000 -v $(pwd):/app:Z --userns=keep-id -u $(id -u):$(id -g) localhost/pokerogue pnpm test:silent
|
||||
`
|
@ -7,6 +7,7 @@
|
||||
"start:prod": "vite --mode production",
|
||||
"start:beta": "vite --mode beta",
|
||||
"start:dev": "vite --mode development",
|
||||
"start:podman": "vite --mode development --host 0.0.0.0 --port $PORT",
|
||||
"build": "vite build",
|
||||
"build:beta": "vite build --mode beta",
|
||||
"preview": "vite preview",
|
||||
@ -46,7 +47,7 @@
|
||||
"lefthook": "^1.12.2",
|
||||
"msw": "^2.10.4",
|
||||
"phaser3spectorjs": "^0.0.8",
|
||||
"typedoc": "^0.28.12",
|
||||
"typedoc": "0.28.7",
|
||||
"typedoc-github-theme": "^0.3.1",
|
||||
"typedoc-plugin-coverage": "^4.0.1",
|
||||
"typedoc-plugin-mdn-links": "^5.0.9",
|
||||
@ -71,5 +72,6 @@
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22.0.0"
|
||||
}
|
||||
},
|
||||
"packageManager": "pnpm@10.14.0"
|
||||
}
|
||||
|
@ -88,17 +88,17 @@ importers:
|
||||
specifier: ^0.0.8
|
||||
version: 0.0.8
|
||||
typedoc:
|
||||
specifier: ^0.28.12
|
||||
version: 0.28.12(typescript@5.8.3)
|
||||
specifier: 0.28.7
|
||||
version: 0.28.7(typescript@5.8.3)
|
||||
typedoc-github-theme:
|
||||
specifier: ^0.3.1
|
||||
version: 0.3.1(typedoc@0.28.12(typescript@5.8.3))
|
||||
version: 0.3.1(typedoc@0.28.7(typescript@5.8.3))
|
||||
typedoc-plugin-coverage:
|
||||
specifier: ^4.0.1
|
||||
version: 4.0.1(typedoc@0.28.12(typescript@5.8.3))
|
||||
version: 4.0.1(typedoc@0.28.7(typescript@5.8.3))
|
||||
typedoc-plugin-mdn-links:
|
||||
specifier: ^5.0.9
|
||||
version: 5.0.9(typedoc@0.28.12(typescript@5.8.3))
|
||||
version: 5.0.9(typedoc@0.28.7(typescript@5.8.3))
|
||||
typescript:
|
||||
specifier: ^5.8.3
|
||||
version: 5.8.3
|
||||
@ -1818,12 +1818,12 @@ packages:
|
||||
peerDependencies:
|
||||
typedoc: 0.27.x || 0.28.x
|
||||
|
||||
typedoc@0.28.12:
|
||||
resolution: {integrity: sha512-H5ODu4f7N+myG4MfuSp2Vh6wV+WLoZaEYxKPt2y8hmmqNEMVrH69DAjjdmYivF4tP/C2jrIZCZhPalZlTU/ipA==}
|
||||
typedoc@0.28.7:
|
||||
resolution: {integrity: sha512-lpz0Oxl6aidFkmS90VQDQjk/Qf2iw0IUvFqirdONBdj7jPSN9mGXhy66BcGNDxx5ZMyKKiBVAREvPEzT6Uxipw==}
|
||||
engines: {node: '>= 18', pnpm: '>= 10'}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x
|
||||
typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x
|
||||
|
||||
typescript@5.8.3:
|
||||
resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==}
|
||||
@ -3663,19 +3663,19 @@ snapshots:
|
||||
|
||||
type-fest@4.41.0: {}
|
||||
|
||||
typedoc-github-theme@0.3.1(typedoc@0.28.12(typescript@5.8.3)):
|
||||
typedoc-github-theme@0.3.1(typedoc@0.28.7(typescript@5.8.3)):
|
||||
dependencies:
|
||||
typedoc: 0.28.12(typescript@5.8.3)
|
||||
typedoc: 0.28.7(typescript@5.8.3)
|
||||
|
||||
typedoc-plugin-coverage@4.0.1(typedoc@0.28.12(typescript@5.8.3)):
|
||||
typedoc-plugin-coverage@4.0.1(typedoc@0.28.7(typescript@5.8.3)):
|
||||
dependencies:
|
||||
typedoc: 0.28.12(typescript@5.8.3)
|
||||
typedoc: 0.28.7(typescript@5.8.3)
|
||||
|
||||
typedoc-plugin-mdn-links@5.0.9(typedoc@0.28.12(typescript@5.8.3)):
|
||||
typedoc-plugin-mdn-links@5.0.9(typedoc@0.28.7(typescript@5.8.3)):
|
||||
dependencies:
|
||||
typedoc: 0.28.12(typescript@5.8.3)
|
||||
typedoc: 0.28.7(typescript@5.8.3)
|
||||
|
||||
typedoc@0.28.12(typescript@5.8.3):
|
||||
typedoc@0.28.7(typescript@5.8.3):
|
||||
dependencies:
|
||||
'@gerrit0/mini-shiki': 3.12.2
|
||||
lunr: 2.3.9
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 090bfefaf7e9d4efcbca61fa78a9cdf5d701830b
|
||||
Subproject commit 74de730a64272c8e9ca0a4cdcf3426cbf1b0aeda
|
@ -1,4 +1,4 @@
|
||||
import type { ScoreboardCategory } from "#ui/containers/daily-run-scoreboard";
|
||||
import type { ScoreboardCategory } from "#ui/daily-run-scoreboard";
|
||||
|
||||
export interface GetDailyRankingsRequest {
|
||||
category: ScoreboardCategory;
|
||||
|
@ -121,13 +121,13 @@ import { vouchers } from "#system/voucher";
|
||||
import { trainerConfigs } from "#trainers/trainer-config";
|
||||
import type { HeldModifierConfig } from "#types/held-modifier-config";
|
||||
import type { Localizable } from "#types/locales";
|
||||
import { AbilityBar } from "#ui/containers/ability-bar";
|
||||
import { ArenaFlyout } from "#ui/containers/arena-flyout";
|
||||
import { CandyBar } from "#ui/containers/candy-bar";
|
||||
import { CharSprite } from "#ui/containers/char-sprite";
|
||||
import { PartyExpBar } from "#ui/containers/party-exp-bar";
|
||||
import { PokeballTray } from "#ui/containers/pokeball-tray";
|
||||
import { PokemonInfoContainer } from "#ui/containers/pokemon-info-container";
|
||||
import { AbilityBar } from "#ui/ability-bar";
|
||||
import { ArenaFlyout } from "#ui/arena-flyout";
|
||||
import { CandyBar } from "#ui/candy-bar";
|
||||
import { CharSprite } from "#ui/char-sprite";
|
||||
import { PartyExpBar } from "#ui/party-exp-bar";
|
||||
import { PokeballTray } from "#ui/pokeball-tray";
|
||||
import { PokemonInfoContainer } from "#ui/pokemon-info-container";
|
||||
import { addTextObject, getTextColor } from "#ui/text";
|
||||
import { UI } from "#ui/ui";
|
||||
import { addUiThemeOverrides } from "#ui/ui-theme";
|
||||
|
@ -1,5 +1,6 @@
|
||||
import type { FixedBattleConfig } from "#app/battle";
|
||||
import { getRandomTrainerFunc } from "#app/battle";
|
||||
import { globalScene } from "#app/global-scene";
|
||||
import { defaultStarterSpeciesAndEvolutions } from "#balance/pokemon-evolutions";
|
||||
import { speciesStarterCosts } from "#balance/starters";
|
||||
import type { PokemonSpecies } from "#data/pokemon-species";
|
||||
@ -12,6 +13,7 @@ import { ClassicFixedBossWaves } from "#enums/fixed-boss-waves";
|
||||
import { ModifierTier } from "#enums/modifier-tier";
|
||||
import { MoveId } from "#enums/move-id";
|
||||
import type { MoveSourceType } from "#enums/move-source-type";
|
||||
import { MysteryEncounterType } from "#enums/mystery-encounter-type";
|
||||
import { Nature } from "#enums/nature";
|
||||
import { PokemonType } from "#enums/pokemon-type";
|
||||
import { SpeciesId } from "#enums/species-id";
|
||||
@ -1076,7 +1078,12 @@ export class LimitedCatchChallenge extends Challenge {
|
||||
|
||||
override applyPokemonAddToParty(pokemon: EnemyPokemon, status: BooleanHolder): boolean {
|
||||
if (status.value) {
|
||||
status.value = pokemon.metWave % 10 === 1;
|
||||
const isTeleporter =
|
||||
globalScene.currentBattle.mysteryEncounter?.encounterType === MysteryEncounterType.TELEPORTING_HIJINKS
|
||||
&& globalScene.currentBattle.mysteryEncounter.selectedOption
|
||||
!== globalScene.currentBattle.mysteryEncounter.options[2]; // don't allow catch when not choosing biome change option
|
||||
const isFirstWave = pokemon.metWave % 10 === 1;
|
||||
status.value = isTeleporter || isFirstWave;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -6,7 +6,7 @@ import { PokemonSpecies } from "#data/pokemon-species";
|
||||
import { BiomeId } from "#enums/biome-id";
|
||||
import { PartyMemberStrength } from "#enums/party-member-strength";
|
||||
import { SpeciesId } from "#enums/species-id";
|
||||
import type { Starter } from "#ui/handlers/starter-select-ui-handler";
|
||||
import type { Starter } from "#ui/starter-select-ui-handler";
|
||||
import { isNullOrUndefined, randSeedGauss, randSeedInt, randSeedItem } from "#utils/common";
|
||||
import { getEnumValues } from "#utils/enums";
|
||||
import { getPokemonSpecies, getPokemonSpeciesForm } from "#utils/pokemon-utils";
|
||||
|
@ -46,8 +46,8 @@ import {
|
||||
} from "#mystery-encounters/mystery-encounter-requirements";
|
||||
import { getRandomPartyMemberFunc, trainerConfigs } from "#trainers/trainer-config";
|
||||
import { TrainerPartyCompoundTemplate, TrainerPartyTemplate } from "#trainers/trainer-party-template";
|
||||
import { MoveInfoOverlay } from "#ui/containers/move-info-overlay";
|
||||
import type { OptionSelectItem } from "#ui/handlers/abstract-option-select-ui-handler";
|
||||
import type { OptionSelectItem } from "#ui/abstract-option-select-ui-handler";
|
||||
import { MoveInfoOverlay } from "#ui/move-info-overlay";
|
||||
import { isNullOrUndefined, randSeedInt, randSeedShuffle } from "#utils/common";
|
||||
import i18next from "i18next";
|
||||
|
||||
|
@ -45,7 +45,7 @@ import { MysteryEncounterBuilder } from "#mystery-encounters/mystery-encounter";
|
||||
import { MysteryEncounterOptionBuilder } from "#mystery-encounters/mystery-encounter-option";
|
||||
import { trainerConfigs } from "#trainers/trainer-config";
|
||||
import { TrainerPartyCompoundTemplate, TrainerPartyTemplate } from "#trainers/trainer-party-template";
|
||||
import type { OptionSelectConfig } from "#ui/handlers/abstract-option-select-ui-handler";
|
||||
import type { OptionSelectConfig } from "#ui/abstract-option-select-ui-handler";
|
||||
import { randSeedInt, randSeedShuffle } from "#utils/common";
|
||||
import { getPokemonSpecies } from "#utils/pokemon-utils";
|
||||
import i18next from "i18next";
|
||||
|
@ -37,7 +37,7 @@ import { MysteryEncounterOptionBuilder } from "#mystery-encounters/mystery-encou
|
||||
import { MoveRequirement } from "#mystery-encounters/mystery-encounter-requirements";
|
||||
import { DANCING_MOVES } from "#mystery-encounters/requirement-groups";
|
||||
import { PokemonData } from "#system/pokemon-data";
|
||||
import type { OptionSelectItem } from "#ui/handlers/abstract-option-select-ui-handler";
|
||||
import type { OptionSelectItem } from "#ui/abstract-option-select-ui-handler";
|
||||
import { getPokemonSpecies } from "#utils/pokemon-utils";
|
||||
import i18next from "i18next";
|
||||
|
||||
|
@ -33,7 +33,7 @@ import {
|
||||
MoneyRequirement,
|
||||
} from "#mystery-encounters/mystery-encounter-requirements";
|
||||
import i18next from "#plugins/i18n";
|
||||
import type { OptionSelectItem } from "#ui/handlers/abstract-option-select-ui-handler";
|
||||
import type { OptionSelectItem } from "#ui/abstract-option-select-ui-handler";
|
||||
import { randSeedItem } from "#utils/common";
|
||||
import { getPokemonSpecies } from "#utils/pokemon-utils";
|
||||
|
||||
|
@ -18,7 +18,7 @@ import {
|
||||
import type { MysteryEncounter } from "#mystery-encounters/mystery-encounter";
|
||||
import { MysteryEncounterBuilder } from "#mystery-encounters/mystery-encounter";
|
||||
import { MysteryEncounterOptionBuilder } from "#mystery-encounters/mystery-encounter-option";
|
||||
import type { OptionSelectItem } from "#ui/handlers/abstract-option-select-ui-handler";
|
||||
import type { OptionSelectItem } from "#ui/abstract-option-select-ui-handler";
|
||||
import i18next from "i18next";
|
||||
|
||||
/** i18n namespace for the encounter */
|
||||
|
@ -42,7 +42,7 @@ import { MysteryEncounterOptionBuilder } from "#mystery-encounters/mystery-encou
|
||||
import { PartySizeRequirement } from "#mystery-encounters/mystery-encounter-requirements";
|
||||
import { PokemonData } from "#system/pokemon-data";
|
||||
import { MusicPreference } from "#system/settings";
|
||||
import type { OptionSelectItem } from "#ui/handlers/abstract-option-select-ui-handler";
|
||||
import type { OptionSelectItem } from "#ui/abstract-option-select-ui-handler";
|
||||
import { isNullOrUndefined, NumberHolder, randInt, randSeedInt, randSeedItem, randSeedShuffle } from "#utils/common";
|
||||
import { getEnumKeys } from "#utils/enums";
|
||||
import { getRandomLocaleEntry } from "#utils/i18n";
|
||||
|
@ -27,7 +27,7 @@ import { MysteryEncounterBuilder } from "#mystery-encounters/mystery-encounter";
|
||||
import { MysteryEncounterOptionBuilder } from "#mystery-encounters/mystery-encounter-option";
|
||||
import { PokemonData } from "#system/pokemon-data";
|
||||
import type { HeldModifierConfig } from "#types/held-modifier-config";
|
||||
import type { OptionSelectItem } from "#ui/handlers/abstract-option-select-ui-handler";
|
||||
import type { OptionSelectItem } from "#ui/abstract-option-select-ui-handler";
|
||||
import { isNullOrUndefined, randSeedShuffle } from "#utils/common";
|
||||
import { getEnumValues } from "#utils/enums";
|
||||
import i18next from "i18next";
|
||||
|
@ -46,9 +46,9 @@ import type { PokemonData } from "#system/pokemon-data";
|
||||
import type { TrainerConfig } from "#trainers/trainer-config";
|
||||
import { trainerConfigs } from "#trainers/trainer-config";
|
||||
import type { HeldModifierConfig } from "#types/held-modifier-config";
|
||||
import type { OptionSelectConfig, OptionSelectItem } from "#ui/handlers/abstract-option-select-ui-handler";
|
||||
import type { PartyOption, PokemonSelectFilter } from "#ui/handlers/party-ui-handler";
|
||||
import { PartyUiMode } from "#ui/handlers/party-ui-handler";
|
||||
import type { OptionSelectConfig, OptionSelectItem } from "#ui/abstract-option-select-ui-handler";
|
||||
import type { PartyOption, PokemonSelectFilter } from "#ui/party-ui-handler";
|
||||
import { PartyUiMode } from "#ui/party-ui-handler";
|
||||
import { coerceArray, isNullOrUndefined, randomString, randSeedInt, randSeedItem } from "#utils/common";
|
||||
import { getPokemonSpecies } from "#utils/pokemon-utils";
|
||||
import i18next from "i18next";
|
||||
|
@ -31,9 +31,9 @@ import {
|
||||
showEncounterText,
|
||||
} from "#mystery-encounters/encounter-dialogue-utils";
|
||||
import { achvs } from "#system/achv";
|
||||
import type { PartyOption } from "#ui/handlers/party-ui-handler";
|
||||
import { PartyUiMode } from "#ui/handlers/party-ui-handler";
|
||||
import { SummaryUiMode } from "#ui/handlers/summary-ui-handler";
|
||||
import type { PartyOption } from "#ui/party-ui-handler";
|
||||
import { PartyUiMode } from "#ui/party-ui-handler";
|
||||
import { SummaryUiMode } from "#ui/summary-ui-handler";
|
||||
import { applyChallenges } from "#utils/challenge-utils";
|
||||
import { BooleanHolder, isNullOrUndefined, randSeedInt } from "#utils/common";
|
||||
import { getPokemonSpecies } from "#utils/pokemon-utils";
|
||||
|
@ -234,7 +234,7 @@ const seasonalSplashMessages: Season[] = [
|
||||
"valentines.happyValentines",
|
||||
"valentines.fullOfLove",
|
||||
"valentines.applinForYou",
|
||||
"valentines.thePowerOfLoveIsThreeThirtyBST",
|
||||
"valentines.thePowerOfLoveIsThreeThirtyBst",
|
||||
"valentines.haveAHeartScale",
|
||||
"valentines.i<3You",
|
||||
],
|
||||
@ -265,7 +265,7 @@ const seasonalSplashMessages: Season[] = [
|
||||
"aprilFools.whoIsFinn",
|
||||
"aprilFools.watchOutForShadowPokemon",
|
||||
"aprilFools.nowWithDarkTypeLuxray",
|
||||
"aprilFools.onlyOnPokerogueNetAGAIN",
|
||||
"aprilFools.onlyOnPokerogueNetAgain",
|
||||
"aprilFools.noFreeVouchers",
|
||||
"aprilFools.altffourAchievementPoints",
|
||||
"aprilFools.rokePogue",
|
||||
|
@ -147,8 +147,8 @@ import type { StarterDataEntry, StarterMoveset } from "#types/save-data";
|
||||
import type { TurnMove } from "#types/turn-move";
|
||||
import { BattleInfo } from "#ui/battle-info";
|
||||
import { EnemyBattleInfo } from "#ui/enemy-battle-info";
|
||||
import type { PartyOption } from "#ui/handlers/party-ui-handler";
|
||||
import { PartyUiHandler, PartyUiMode } from "#ui/handlers/party-ui-handler";
|
||||
import type { PartyOption } from "#ui/party-ui-handler";
|
||||
import { PartyUiHandler, PartyUiMode } from "#ui/party-ui-handler";
|
||||
import { PlayerBattleInfo } from "#ui/player-battle-info";
|
||||
import { applyChallenges } from "#utils/challenge-utils";
|
||||
import {
|
||||
|
@ -11,7 +11,7 @@ import { initMoves } from "#moves/move";
|
||||
import { initMysteryEncounters } from "#mystery-encounters/mystery-encounters";
|
||||
import { initAchievements } from "#system/achv";
|
||||
import { initVouchers } from "#system/voucher";
|
||||
import { initStatsKeys } from "#ui/handlers/game-stats-ui-handler";
|
||||
import { initStatsKeys } from "#ui/game-stats-ui-handler";
|
||||
|
||||
/** Initialize the game. */
|
||||
export function initializeGame() {
|
||||
|
@ -115,8 +115,8 @@ import {
|
||||
import type { PokemonMove } from "#moves/pokemon-move";
|
||||
import { getVoucherTypeIcon, getVoucherTypeName, VoucherType } from "#system/voucher";
|
||||
import type { ModifierTypeFunc, WeightedModifierTypeWeightFunc } from "#types/modifier-types";
|
||||
import type { PokemonMoveSelectFilter, PokemonSelectFilter } from "#ui/handlers/party-ui-handler";
|
||||
import { PartyUiHandler } from "#ui/handlers/party-ui-handler";
|
||||
import type { PokemonMoveSelectFilter, PokemonSelectFilter } from "#ui/party-ui-handler";
|
||||
import { PartyUiHandler } from "#ui/party-ui-handler";
|
||||
import { getModifierTierTextTint } from "#ui/text";
|
||||
import { applyChallenges } from "#utils/challenge-utils";
|
||||
import {
|
||||
|
@ -21,9 +21,9 @@ import type { EnemyPokemon } from "#field/pokemon";
|
||||
import { PokemonHeldItemModifier } from "#modifiers/modifier";
|
||||
import { PokemonPhase } from "#phases/pokemon-phase";
|
||||
import { achvs } from "#system/achv";
|
||||
import type { PartyOption } from "#ui/handlers/party-ui-handler";
|
||||
import { PartyUiMode } from "#ui/handlers/party-ui-handler";
|
||||
import { SummaryUiMode } from "#ui/handlers/summary-ui-handler";
|
||||
import type { PartyOption } from "#ui/party-ui-handler";
|
||||
import { PartyUiMode } from "#ui/party-ui-handler";
|
||||
import { SummaryUiMode } from "#ui/summary-ui-handler";
|
||||
import { applyChallenges } from "#utils/challenge-utils";
|
||||
import { BooleanHolder } from "#utils/common";
|
||||
import i18next from "i18next";
|
||||
|
@ -220,7 +220,7 @@ export class CommandPhase extends FieldPhase {
|
||||
if (!moveStatus.value) {
|
||||
cannotSelectKey = "battle:moveCannotUseChallenge";
|
||||
} else if (move.getPpRatio() === 0) {
|
||||
cannotSelectKey = "battle:moveNoPP";
|
||||
cannotSelectKey = "battle:moveNoPp";
|
||||
} else if (move.getName().endsWith(" (N)")) {
|
||||
cannotSelectKey = "battle:moveNotImplemented";
|
||||
} else if (user.isMoveRestricted(move.moveId, user)) {
|
||||
|
@ -9,9 +9,9 @@ import { doShinySparkleAnim } from "#field/anims";
|
||||
import type { PlayerPokemon } from "#field/pokemon";
|
||||
import type { EggLapsePhase } from "#phases/egg-lapse-phase";
|
||||
import { achvs } from "#system/achv";
|
||||
import { EggCounterContainer } from "#ui/containers/egg-counter-container";
|
||||
import { PokemonInfoContainer } from "#ui/containers/pokemon-info-container";
|
||||
import type { EggHatchSceneUiHandler } from "#ui/handlers/egg-hatch-scene-ui-handler";
|
||||
import { EggCounterContainer } from "#ui/egg-counter-container";
|
||||
import type { EggHatchSceneUiHandler } from "#ui/egg-hatch-scene-ui-handler";
|
||||
import { PokemonInfoContainer } from "#ui/pokemon-info-container";
|
||||
import { fixedInt, getFrameMs, randInt } from "#utils/common";
|
||||
import i18next from "i18next";
|
||||
import SoundFade from "phaser3-rex-plugins/plugins/soundfade";
|
||||
|
@ -10,7 +10,7 @@ import { LearnMoveSituation } from "#enums/learn-move-situation";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import { cos, sin } from "#field/anims";
|
||||
import type { PlayerPokemon, Pokemon } from "#field/pokemon";
|
||||
import type { EvolutionSceneUiHandler } from "#ui/handlers/evolution-scene-ui-handler";
|
||||
import type { EvolutionSceneUiHandler } from "#ui/evolution-scene-ui-handler";
|
||||
import { fixedInt, getFrameMs, randInt } from "#utils/common";
|
||||
import i18next from "i18next";
|
||||
import SoundFade from "phaser3-rex-plugins/plugins/soundfade";
|
||||
|
@ -8,7 +8,7 @@ import { UiMode } from "#enums/ui-mode";
|
||||
import type { PlayerPokemon, Pokemon } from "#field/pokemon";
|
||||
import { EvolutionPhase } from "#phases/evolution-phase";
|
||||
import { achvs } from "#system/achv";
|
||||
import type { PartyUiHandler } from "#ui/handlers/party-ui-handler";
|
||||
import type { PartyUiHandler } from "#ui/party-ui-handler";
|
||||
import { fixedInt } from "#utils/common";
|
||||
|
||||
export class FormChangePhase extends EvolutionPhase {
|
||||
|
@ -10,8 +10,8 @@ import { UiMode } from "#enums/ui-mode";
|
||||
import type { Pokemon } from "#field/pokemon";
|
||||
import type { Move } from "#moves/move";
|
||||
import { PlayerPartyMemberPokemonPhase } from "#phases/player-party-member-pokemon-phase";
|
||||
import { EvolutionSceneUiHandler } from "#ui/handlers/evolution-scene-ui-handler";
|
||||
import { SummaryUiMode } from "#ui/handlers/summary-ui-handler";
|
||||
import { EvolutionSceneUiHandler } from "#ui/evolution-scene-ui-handler";
|
||||
import { SummaryUiMode } from "#ui/summary-ui-handler";
|
||||
import i18next from "i18next";
|
||||
|
||||
export class LearnMovePhase extends PlayerPartyMemberPokemonPhase {
|
||||
|
@ -932,7 +932,7 @@ export class MoveEffectPhase extends PokemonPhase {
|
||||
msg = i18next.t("battle:hitResultNotVeryEffective");
|
||||
break;
|
||||
case HitResult.ONE_HIT_KO:
|
||||
msg = i18next.t("battle:hitResultOneHitKO");
|
||||
msg = i18next.t("battle:hitResultOneHitKo");
|
||||
break;
|
||||
}
|
||||
if (msg) {
|
||||
|
@ -3,8 +3,8 @@ import { SwitchType } from "#enums/switch-type";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import type { PlayerPokemon } from "#field/pokemon";
|
||||
import { BattlePhase } from "#phases/battle-phase";
|
||||
import type { PartyOption } from "#ui/handlers/party-ui-handler";
|
||||
import { PartyUiHandler, PartyUiMode } from "#ui/handlers/party-ui-handler";
|
||||
import type { PartyOption } from "#ui/party-ui-handler";
|
||||
import { PartyUiHandler, PartyUiMode } from "#ui/party-ui-handler";
|
||||
import { isNullOrUndefined, toDmgValue } from "#utils/common";
|
||||
import i18next from "i18next";
|
||||
|
||||
|
@ -5,7 +5,7 @@ import { ChallengeType } from "#enums/challenge-type";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import { MapModifier, MoneyInterestModifier } from "#modifiers/modifier";
|
||||
import { BattlePhase } from "#phases/battle-phase";
|
||||
import type { OptionSelectItem } from "#ui/handlers/abstract-option-select-ui-handler";
|
||||
import type { OptionSelectItem } from "#ui/abstract-option-select-ui-handler";
|
||||
import { applyChallenges } from "#utils/challenge-utils";
|
||||
import { BooleanHolder, randSeedInt } from "#utils/common";
|
||||
|
||||
|
@ -24,9 +24,9 @@ import {
|
||||
TmModifierType,
|
||||
} from "#modifiers/modifier-type";
|
||||
import { BattlePhase } from "#phases/battle-phase";
|
||||
import type { ModifierSelectUiHandler } from "#ui/handlers/modifier-select-ui-handler";
|
||||
import { SHOP_OPTIONS_ROW_LIMIT } from "#ui/handlers/modifier-select-ui-handler";
|
||||
import { PartyOption, PartyUiHandler, PartyUiMode } from "#ui/handlers/party-ui-handler";
|
||||
import type { ModifierSelectUiHandler } from "#ui/modifier-select-ui-handler";
|
||||
import { SHOP_OPTIONS_ROW_LIMIT } from "#ui/modifier-select-ui-handler";
|
||||
import { PartyOption, PartyUiHandler, PartyUiMode } from "#ui/party-ui-handler";
|
||||
import { isNullOrUndefined, NumberHolder } from "#utils/common";
|
||||
import i18next from "i18next";
|
||||
|
||||
|
@ -7,8 +7,8 @@ import { ChallengeType } from "#enums/challenge-type";
|
||||
import type { SpeciesId } from "#enums/species-id";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import { overrideHeldItems, overrideModifiers } from "#modifiers/modifier";
|
||||
import { SaveSlotUiMode } from "#ui/handlers/save-slot-select-ui-handler";
|
||||
import type { Starter } from "#ui/handlers/starter-select-ui-handler";
|
||||
import { SaveSlotUiMode } from "#ui/save-slot-select-ui-handler";
|
||||
import type { Starter } from "#ui/starter-select-ui-handler";
|
||||
import { applyChallenges } from "#utils/challenge-utils";
|
||||
import { isNullOrUndefined } from "#utils/common";
|
||||
import { getPokemonSpecies } from "#utils/pokemon-utils";
|
||||
|
@ -3,7 +3,7 @@ import { DynamicPhaseType } from "#enums/dynamic-phase-type";
|
||||
import { SwitchType } from "#enums/switch-type";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import { BattlePhase } from "#phases/battle-phase";
|
||||
import { PartyOption, PartyUiHandler, PartyUiMode } from "#ui/handlers/party-ui-handler";
|
||||
import { PartyOption, PartyUiHandler, PartyUiMode } from "#ui/party-ui-handler";
|
||||
|
||||
/**
|
||||
* Opens the party selector UI and transitions into a {@linkcode SwitchSummonPhase}
|
||||
|
@ -16,8 +16,8 @@ import type { Modifier } from "#modifiers/modifier";
|
||||
import { getDailyRunStarterModifiers, regenerateModifierPoolThresholds } from "#modifiers/modifier-type";
|
||||
import { vouchers } from "#system/voucher";
|
||||
import type { SessionSaveData } from "#types/save-data";
|
||||
import type { OptionSelectConfig, OptionSelectItem } from "#ui/handlers/abstract-option-select-ui-handler";
|
||||
import { SaveSlotUiMode } from "#ui/handlers/save-slot-select-ui-handler";
|
||||
import type { OptionSelectConfig, OptionSelectItem } from "#ui/abstract-option-select-ui-handler";
|
||||
import { SaveSlotUiMode } from "#ui/save-slot-select-ui-handler";
|
||||
import { isLocal, isLocalServerConnected, isNullOrUndefined } from "#utils/common";
|
||||
import i18next from "i18next";
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { ApiBase } from "#api/api-base";
|
||||
import type { GetDailyRankingsPageCountRequest, GetDailyRankingsRequest } from "#types/api/pokerogue-daily-api";
|
||||
import type { RankingEntry } from "#ui/containers/daily-run-scoreboard";
|
||||
import type { RankingEntry } from "#ui/daily-run-scoreboard";
|
||||
|
||||
/**
|
||||
* A wrapper for daily-run PokéRogue API requests.
|
||||
|
@ -72,7 +72,7 @@ import type {
|
||||
VoucherCounts,
|
||||
VoucherUnlocks,
|
||||
} from "#types/save-data";
|
||||
import { RUN_HISTORY_LIMIT } from "#ui/handlers/run-history-ui-handler";
|
||||
import { RUN_HISTORY_LIMIT } from "#ui/run-history-ui-handler";
|
||||
import { applyChallenges } from "#utils/challenge-utils";
|
||||
import { executeIf, fixedInt, isLocal, NumberHolder, randInt, randSeedItem } from "#utils/common";
|
||||
import { decrypt, encrypt } from "#utils/data";
|
||||
|
@ -1,8 +1,8 @@
|
||||
import { globalScene } from "#app/global-scene";
|
||||
import Overrides from "#app/overrides";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import { AwaitableUiHandler } from "#ui/handlers/awaitable-ui-handler";
|
||||
import type { UiHandler } from "#ui/handlers/ui-handler";
|
||||
import { AwaitableUiHandler } from "#ui/awaitable-ui-handler";
|
||||
import type { UiHandler } from "#ui/ui-handler";
|
||||
import i18next from "i18next";
|
||||
|
||||
export enum Tutorial {
|
||||
|
@ -3,16 +3,16 @@ import type { InputsController } from "#app/inputs-controller";
|
||||
import { Button } from "#enums/buttons";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import { Setting, SettingKeys, settingIndex } from "#system/settings";
|
||||
import type { MessageUiHandler } from "#ui/handlers/message-ui-handler";
|
||||
import { PokedexPageUiHandler } from "#ui/handlers/pokedex-page-ui-handler";
|
||||
import { PokedexUiHandler } from "#ui/handlers/pokedex-ui-handler";
|
||||
import { RunInfoUiHandler } from "#ui/handlers/run-info-ui-handler";
|
||||
import { StarterSelectUiHandler } from "#ui/handlers/starter-select-ui-handler";
|
||||
import type { MessageUiHandler } from "#ui/message-ui-handler";
|
||||
import { PokedexPageUiHandler } from "#ui/pokedex-page-ui-handler";
|
||||
import { PokedexUiHandler } from "#ui/pokedex-ui-handler";
|
||||
import { RunInfoUiHandler } from "#ui/run-info-ui-handler";
|
||||
import { SettingsAudioUiHandler } from "#ui/settings-audio-ui-handler";
|
||||
import { SettingsDisplayUiHandler } from "#ui/settings-display-ui-handler";
|
||||
import { SettingsGamepadUiHandler } from "#ui/settings-gamepad-ui-handler";
|
||||
import { SettingsKeyboardUiHandler } from "#ui/settings-keyboard-ui-handler";
|
||||
import { SettingsUiHandler } from "#ui/settings-ui-handler";
|
||||
import { StarterSelectUiHandler } from "#ui/starter-select-ui-handler";
|
||||
import Phaser from "phaser";
|
||||
|
||||
type ActionKeys = Record<Button, () => void>;
|
||||
|
@ -3,9 +3,9 @@ import { Stat } from "#enums/stat";
|
||||
import { TextStyle } from "#enums/text-style";
|
||||
import { UiTheme } from "#enums/ui-theme";
|
||||
import type { EnemyPokemon } from "#field/pokemon";
|
||||
import { BattleFlyout } from "#ui/battle-flyout";
|
||||
import type { BattleInfoParamList } from "#ui/battle-info";
|
||||
import { BattleInfo } from "#ui/battle-info";
|
||||
import { BattleFlyout } from "#ui/containers/battle-flyout";
|
||||
import { addTextObject } from "#ui/text";
|
||||
import { addWindow, WindowVariant } from "#ui/ui-theme";
|
||||
import { getLocalizedSpriteKey } from "#utils/common";
|
||||
|
@ -15,8 +15,8 @@ import {
|
||||
} from "#events/arena";
|
||||
import type { TurnEndEvent } from "#events/battle-scene";
|
||||
import { BattleSceneEventType } from "#events/battle-scene";
|
||||
import { TimeOfDayWidget } from "#ui/containers/time-of-day-widget";
|
||||
import { addTextObject } from "#ui/text";
|
||||
import { TimeOfDayWidget } from "#ui/time-of-day-widget";
|
||||
import { addWindow, WindowVariant } from "#ui/ui-theme";
|
||||
import { fixedInt } from "#utils/common";
|
||||
import { toCamelCase, toTitleCase } from "#utils/strings";
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { globalScene } from "#app/global-scene";
|
||||
import { TextStyle } from "#enums/text-style";
|
||||
import { ScrollBar } from "#ui/containers/scroll-bar";
|
||||
import { ScrollBar } from "#ui/scroll-bar";
|
||||
import { addTextObject } from "#ui/text";
|
||||
import { addWindow, WindowVariant } from "#ui/ui-theme";
|
||||
import i18next from "i18next";
|
||||
|
@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene";
|
||||
import { TextStyle } from "#enums/text-style";
|
||||
import type { EggCountChangedEvent } from "#events/egg";
|
||||
import { EggEventType } from "#events/egg";
|
||||
import type { EggHatchSceneUiHandler } from "#ui/handlers/egg-hatch-scene-ui-handler";
|
||||
import type { EggHatchSceneUiHandler } from "#ui/egg-hatch-scene-ui-handler";
|
||||
import { addTextObject } from "#ui/text";
|
||||
import { addWindow } from "#ui/ui-theme";
|
||||
|
||||
|
@ -2,9 +2,9 @@ import { globalScene } from "#app/global-scene";
|
||||
import type { DropDownColumn } from "#enums/drop-down-column";
|
||||
import { TextStyle } from "#enums/text-style";
|
||||
import type { UiTheme } from "#enums/ui-theme";
|
||||
import type { DropDown } from "#ui/containers/dropdown";
|
||||
import { DropDownType } from "#ui/containers/dropdown";
|
||||
import type { StarterContainer } from "#ui/containers/starter-container";
|
||||
import type { DropDown } from "#ui/dropdown";
|
||||
import { DropDownType } from "#ui/dropdown";
|
||||
import type { StarterContainer } from "#ui/starter-container";
|
||||
import { addTextObject, getTextColor } from "#ui/text";
|
||||
import { addWindow, WindowVariant } from "#ui/ui-theme";
|
||||
|
||||
|
@ -2,8 +2,8 @@ import { globalScene } from "#app/global-scene";
|
||||
import { TextStyle } from "#enums/text-style";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import type { UiTheme } from "#enums/ui-theme";
|
||||
import type { StarterContainer } from "#ui/containers/starter-container";
|
||||
import type { AwaitableUiHandler } from "#ui/handlers/awaitable-ui-handler";
|
||||
import type { AwaitableUiHandler } from "#ui/awaitable-ui-handler";
|
||||
import type { StarterContainer } from "#ui/starter-container";
|
||||
import { addTextObject, getTextColor } from "#ui/text";
|
||||
import type { UI } from "#ui/ui";
|
||||
import { addWindow, WindowVariant } from "#ui/ui-theme";
|
||||
|
@ -4,8 +4,8 @@ import { Gender } from "#data/gender";
|
||||
import type { PokemonSpecies } from "#data/pokemon-species";
|
||||
import { DexAttr } from "#enums/dex-attr";
|
||||
import { getVariantTint } from "#sprites/variant";
|
||||
import type { PokemonIconAnimHelper } from "#ui/utils/pokemon-icon-anim-helper";
|
||||
import { PokemonIconAnimMode } from "#ui/utils/pokemon-icon-anim-helper";
|
||||
import type { PokemonIconAnimHelper } from "#ui/pokemon-icon-anim-helper";
|
||||
import { PokemonIconAnimMode } from "#ui/pokemon-icon-anim-helper";
|
||||
|
||||
/**
|
||||
* A container for a Pokemon's sprite and icons to get displayed in the egg summary screen
|
||||
|
@ -8,7 +8,7 @@ import type { Pokemon } from "#field/pokemon";
|
||||
import { getVariantTint } from "#sprites/variant";
|
||||
import type { DexEntry } from "#types/dex-data";
|
||||
import type { StarterDataEntry } from "#types/save-data";
|
||||
import { ConfirmUiHandler } from "#ui/handlers/confirm-ui-handler";
|
||||
import { ConfirmUiHandler } from "#ui/confirm-ui-handler";
|
||||
import { addBBCodeTextObject, addTextObject, getTextColor } from "#ui/text";
|
||||
import { addWindow } from "#ui/ui-theme";
|
||||
import { fixedInt, getShinyDescriptor } from "#utils/common";
|
||||
|
@ -2,9 +2,9 @@ import { globalScene } from "#app/global-scene";
|
||||
import { Button } from "#enums/buttons";
|
||||
import { TextStyle } from "#enums/text-style";
|
||||
import type { UiMode } from "#enums/ui-mode";
|
||||
import { UiHandler } from "#ui/handlers/ui-handler";
|
||||
import { NavigationManager } from "#ui/navigation-menu";
|
||||
import { addTextObject, getTextColor } from "#ui/text";
|
||||
import { UiHandler } from "#ui/ui-handler";
|
||||
import { addWindow } from "#ui/ui-theme";
|
||||
import i18next from "i18next";
|
||||
|
||||
|
@ -2,8 +2,8 @@ import { globalScene } from "#app/global-scene";
|
||||
import { Button } from "#enums/buttons";
|
||||
import { TextStyle } from "#enums/text-style";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import { UiHandler } from "#ui/handlers/ui-handler";
|
||||
import { addBBCodeTextObject, getTextColor, getTextStyleOptions } from "#ui/text";
|
||||
import { UiHandler } from "#ui/ui-handler";
|
||||
import { addWindow } from "#ui/ui-theme";
|
||||
import { fixedInt, rgbHexToRgba } from "#utils/common";
|
||||
import { argbFromRgba } from "@material/material-color-utilities";
|
||||
|
@ -8,8 +8,8 @@ import { achvs, getAchievementDescription } from "#system/achv";
|
||||
import type { Voucher } from "#system/voucher";
|
||||
import { getVoucherTypeIcon, getVoucherTypeName, vouchers } from "#system/voucher";
|
||||
import type { AchvUnlocks, VoucherUnlocks } from "#types/save-data";
|
||||
import { ScrollBar } from "#ui/containers/scroll-bar";
|
||||
import { MessageUiHandler } from "#ui/handlers/message-ui-handler";
|
||||
import { MessageUiHandler } from "#ui/message-ui-handler";
|
||||
import { ScrollBar } from "#ui/scroll-bar";
|
||||
import { addTextObject } from "#ui/text";
|
||||
import { addWindow } from "#ui/ui-theme";
|
||||
import i18next from "i18next";
|
||||
|
@ -3,9 +3,9 @@ import { globalScene } from "#app/global-scene";
|
||||
import { Button } from "#enums/buttons";
|
||||
import { TextStyle } from "#enums/text-style";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import type { InputFieldConfig } from "#ui/handlers/form-modal-ui-handler";
|
||||
import { FormModalUiHandler } from "#ui/handlers/form-modal-ui-handler";
|
||||
import type { ModalConfig } from "#ui/handlers/modal-ui-handler";
|
||||
import type { InputFieldConfig } from "#ui/form-modal-ui-handler";
|
||||
import { FormModalUiHandler } from "#ui/form-modal-ui-handler";
|
||||
import type { ModalConfig } from "#ui/modal-ui-handler";
|
||||
import { getTextColor } from "#ui/text";
|
||||
import { toTitleCase } from "#utils/strings";
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { Button } from "#enums/buttons";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import { AbstractOptionSelectUiHandler } from "#ui/handlers/abstract-option-select-ui-handler";
|
||||
import { AbstractOptionSelectUiHandler } from "#ui/abstract-option-select-ui-handler";
|
||||
|
||||
export class AutoCompleteUiHandler extends AbstractOptionSelectUiHandler {
|
||||
modalContainer: Phaser.GameObjects.Container;
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { globalScene } from "#app/global-scene";
|
||||
import { Button } from "#enums/buttons";
|
||||
import type { UiMode } from "#enums/ui-mode";
|
||||
import { UiHandler } from "#ui/handlers/ui-handler";
|
||||
import { UiHandler } from "#ui/ui-handler";
|
||||
|
||||
export abstract class AwaitableUiHandler extends UiHandler {
|
||||
protected awaitingActionInput: boolean;
|
||||
|
@ -5,8 +5,8 @@ import { Command } from "#enums/command";
|
||||
import { TextStyle } from "#enums/text-style";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import type { CommandPhase } from "#phases/command-phase";
|
||||
import { UiHandler } from "#ui/handlers/ui-handler";
|
||||
import { addTextObject, getTextStyleOptions } from "#ui/text";
|
||||
import { UiHandler } from "#ui/ui-handler";
|
||||
import { addWindow } from "#ui/ui-theme";
|
||||
import i18next from "i18next";
|
||||
|
||||
|
@ -3,7 +3,7 @@ import { Button } from "#enums/buttons";
|
||||
import { getStatKey, PERMANENT_STATS } from "#enums/stat";
|
||||
import { TextStyle } from "#enums/text-style";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import { MessageUiHandler } from "#ui/handlers/message-ui-handler";
|
||||
import { MessageUiHandler } from "#ui/message-ui-handler";
|
||||
import { addBBCodeTextObject, addTextObject, getTextColor } from "#ui/text";
|
||||
import { addWindow } from "#ui/ui-theme";
|
||||
import i18next from "i18next";
|
||||
|
@ -5,8 +5,8 @@ import { Challenges } from "#enums/challenges";
|
||||
import { Color, ShadowColor } from "#enums/color";
|
||||
import { TextStyle } from "#enums/text-style";
|
||||
import type { UiMode } from "#enums/ui-mode";
|
||||
import { UiHandler } from "#ui/handlers/ui-handler";
|
||||
import { addTextObject } from "#ui/text";
|
||||
import { UiHandler } from "#ui/ui-handler";
|
||||
import { addWindow } from "#ui/ui-theme";
|
||||
import { getLocalizedSpriteKey } from "#utils/common";
|
||||
import i18next from "i18next";
|
||||
|
@ -1,9 +1,9 @@
|
||||
import { globalScene } from "#app/global-scene";
|
||||
import { pokerogueApi } from "#app/plugins/api/pokerogue-api";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import type { InputFieldConfig } from "#ui/handlers/form-modal-ui-handler";
|
||||
import { FormModalUiHandler } from "#ui/handlers/form-modal-ui-handler";
|
||||
import type { ModalConfig } from "#ui/handlers/modal-ui-handler";
|
||||
import type { InputFieldConfig } from "#ui/form-modal-ui-handler";
|
||||
import { FormModalUiHandler } from "#ui/form-modal-ui-handler";
|
||||
import type { ModalConfig } from "#ui/modal-ui-handler";
|
||||
import i18next from "i18next";
|
||||
|
||||
export class ChangePasswordFormUiHandler extends FormModalUiHandler {
|
||||
|
@ -9,9 +9,9 @@ import { TextStyle } from "#enums/text-style";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import { TerastallizeAccessModifier } from "#modifiers/modifier";
|
||||
import type { CommandPhase } from "#phases/command-phase";
|
||||
import { PartyUiHandler, PartyUiMode } from "#ui/handlers/party-ui-handler";
|
||||
import { UiHandler } from "#ui/handlers/ui-handler";
|
||||
import { PartyUiHandler, PartyUiMode } from "#ui/party-ui-handler";
|
||||
import { addTextObject } from "#ui/text";
|
||||
import { UiHandler } from "#ui/ui-handler";
|
||||
import i18next from "i18next";
|
||||
|
||||
export class CommandUiHandler extends UiHandler {
|
||||
|
@ -1,8 +1,8 @@
|
||||
import { globalScene } from "#app/global-scene";
|
||||
import { Button } from "#enums/buttons";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import type { OptionSelectConfig } from "#ui/handlers/abstract-option-select-ui-handler";
|
||||
import { AbstractOptionSelectUiHandler } from "#ui/handlers/abstract-option-select-ui-handler";
|
||||
import type { OptionSelectConfig } from "#ui/abstract-option-select-ui-handler";
|
||||
import { AbstractOptionSelectUiHandler } from "#ui/abstract-option-select-ui-handler";
|
||||
import i18next from "i18next";
|
||||
|
||||
export class ConfirmUiHandler extends AbstractOptionSelectUiHandler {
|
||||
|
@ -9,7 +9,7 @@ import { GachaType } from "#enums/gacha-types";
|
||||
import { TextStyle } from "#enums/text-style";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import { getVoucherTypeIcon, VoucherType } from "#system/voucher";
|
||||
import { MessageUiHandler } from "#ui/handlers/message-ui-handler";
|
||||
import { MessageUiHandler } from "#ui/message-ui-handler";
|
||||
import { addTextObject, getEggTierTextTint, getTextStyleOptions } from "#ui/text";
|
||||
import { addWindow } from "#ui/ui-theme";
|
||||
import { fixedInt, randSeedShuffle } from "#utils/common";
|
||||
@ -96,7 +96,7 @@ export class EggGachaUiHandler extends MessageUiHandler {
|
||||
legendaryLabelY = 0;
|
||||
}
|
||||
|
||||
const gachaUpLabel = addTextObject(gachaX, gachaY, i18next.t("egg:legendaryUPGacha"), gachaTextStyle).setOrigin(0);
|
||||
const gachaUpLabel = addTextObject(gachaX, gachaY, i18next.t("egg:legendaryUpGacha"), gachaTextStyle).setOrigin(0);
|
||||
gachaInfoContainer.add(gachaUpLabel);
|
||||
|
||||
switch (gachaType as GachaType) {
|
||||
@ -124,14 +124,14 @@ export class EggGachaUiHandler extends MessageUiHandler {
|
||||
gachaUpLabel.setAlign("center").setY(0);
|
||||
}
|
||||
|
||||
gachaUpLabel.setText(i18next.t("egg:moveUPGacha")).setX(0).setOrigin(0.5, 0);
|
||||
gachaUpLabel.setText(i18next.t("egg:moveUpGacha")).setX(0).setOrigin(0.5, 0);
|
||||
break;
|
||||
case GachaType.SHINY:
|
||||
if (["de", "fr", "ko", "ru"].includes(currentLanguage)) {
|
||||
gachaUpLabel.setAlign("center").setY(0);
|
||||
}
|
||||
|
||||
gachaUpLabel.setText(i18next.t("egg:shinyUPGacha")).setX(0).setOrigin(0.5, 0);
|
||||
gachaUpLabel.setText(i18next.t("egg:shinyUpGacha")).setX(0).setOrigin(0.5, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { globalScene } from "#app/global-scene";
|
||||
import { Button } from "#enums/buttons";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import { UiHandler } from "#ui/handlers/ui-handler";
|
||||
import { UiHandler } from "#ui/ui-handler";
|
||||
|
||||
export class EggHatchSceneUiHandler extends UiHandler {
|
||||
public eggHatchContainer: Phaser.GameObjects.Container;
|
||||
|
@ -2,12 +2,12 @@ import { globalScene } from "#app/global-scene";
|
||||
import { Button } from "#enums/buttons";
|
||||
import { TextStyle } from "#enums/text-style";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import { ScrollBar } from "#ui/containers/scroll-bar";
|
||||
import { MessageUiHandler } from "#ui/handlers/message-ui-handler";
|
||||
import { MessageUiHandler } from "#ui/message-ui-handler";
|
||||
import { PokemonIconAnimHelper, PokemonIconAnimMode } from "#ui/pokemon-icon-anim-helper";
|
||||
import { ScrollBar } from "#ui/scroll-bar";
|
||||
import { ScrollableGridHelper } from "#ui/scrollable-grid-helper";
|
||||
import { addTextObject } from "#ui/text";
|
||||
import { addWindow } from "#ui/ui-theme";
|
||||
import { PokemonIconAnimHelper, PokemonIconAnimMode } from "#ui/utils/pokemon-icon-anim-helper";
|
||||
import { ScrollableGridHelper } from "#ui/utils/scrollable-grid-helper";
|
||||
import i18next from "i18next";
|
||||
|
||||
export class EggListUiHandler extends MessageUiHandler {
|
||||
|
@ -3,12 +3,12 @@ import { getEggTierForSpecies } from "#data/egg";
|
||||
import type { EggHatchData } from "#data/egg-hatch-data";
|
||||
import { Button } from "#enums/buttons";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import { HatchedPokemonContainer } from "#ui/containers/hatched-pokemon-container";
|
||||
import { PokemonHatchInfoContainer } from "#ui/containers/pokemon-hatch-info-container";
|
||||
import { ScrollBar } from "#ui/containers/scroll-bar";
|
||||
import { MessageUiHandler } from "#ui/handlers/message-ui-handler";
|
||||
import { PokemonIconAnimHelper, PokemonIconAnimMode } from "#ui/utils/pokemon-icon-anim-helper";
|
||||
import { ScrollableGridHelper } from "#ui/utils/scrollable-grid-helper";
|
||||
import { HatchedPokemonContainer } from "#ui/hatched-pokemon-container";
|
||||
import { MessageUiHandler } from "#ui/message-ui-handler";
|
||||
import { PokemonHatchInfoContainer } from "#ui/pokemon-hatch-info-container";
|
||||
import { PokemonIconAnimHelper, PokemonIconAnimMode } from "#ui/pokemon-icon-anim-helper";
|
||||
import { ScrollBar } from "#ui/scroll-bar";
|
||||
import { ScrollableGridHelper } from "#ui/scrollable-grid-helper";
|
||||
|
||||
const iconContainerX = 112;
|
||||
const iconContainerY = 9;
|
||||
|
@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene";
|
||||
import { Button } from "#enums/buttons";
|
||||
import { TextStyle } from "#enums/text-style";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import { MessageUiHandler } from "#ui/handlers/message-ui-handler";
|
||||
import { MessageUiHandler } from "#ui/message-ui-handler";
|
||||
import { addTextObject } from "#ui/text";
|
||||
|
||||
export class EvolutionSceneUiHandler extends MessageUiHandler {
|
||||
|
@ -12,9 +12,9 @@ import { UiMode } from "#enums/ui-mode";
|
||||
import type { EnemyPokemon, Pokemon } from "#field/pokemon";
|
||||
import type { PokemonMove } from "#moves/pokemon-move";
|
||||
import type { CommandPhase } from "#phases/command-phase";
|
||||
import { MoveInfoOverlay } from "#ui/containers/move-info-overlay";
|
||||
import { UiHandler } from "#ui/handlers/ui-handler";
|
||||
import { MoveInfoOverlay } from "#ui/move-info-overlay";
|
||||
import { addTextObject, getTextColor } from "#ui/text";
|
||||
import { UiHandler } from "#ui/ui-handler";
|
||||
import { fixedInt, getLocalizedSpriteKey, padInt } from "#utils/common";
|
||||
import i18next from "i18next";
|
||||
|
||||
|
@ -2,8 +2,8 @@ import { globalScene } from "#app/global-scene";
|
||||
import { Button } from "#enums/buttons";
|
||||
import { TextStyle } from "#enums/text-style";
|
||||
import type { UiMode } from "#enums/ui-mode";
|
||||
import type { ModalConfig } from "#ui/handlers/modal-ui-handler";
|
||||
import { ModalUiHandler } from "#ui/handlers/modal-ui-handler";
|
||||
import type { ModalConfig } from "#ui/modal-ui-handler";
|
||||
import { ModalUiHandler } from "#ui/modal-ui-handler";
|
||||
import { addTextInputObject, addTextObject, getTextColor } from "#ui/text";
|
||||
import { addWindow, WindowVariant } from "#ui/ui-theme";
|
||||
import { fixedInt } from "#utils/common";
|
||||
|
@ -7,8 +7,8 @@ import { PlayerGender } from "#enums/player-gender";
|
||||
import { TextStyle } from "#enums/text-style";
|
||||
import { UiTheme } from "#enums/ui-theme";
|
||||
import type { GameData } from "#system/game-data";
|
||||
import { UiHandler } from "#ui/handlers/ui-handler";
|
||||
import { addTextObject } from "#ui/text";
|
||||
import { UiHandler } from "#ui/ui-handler";
|
||||
import { addWindow } from "#ui/ui-theme";
|
||||
import { formatFancyLargeNumber, getPlayTimeString } from "#utils/common";
|
||||
import { toTitleCase } from "#utils/strings";
|
||||
@ -108,7 +108,7 @@ const displayStats: DisplayStats = {
|
||||
sourceFunc: gameData => gameData.gameStats.highestDamage.toString(),
|
||||
},
|
||||
highestHeal: {
|
||||
label_key: "highestHPHealed",
|
||||
label_key: "highestHpHealed",
|
||||
sourceFunc: gameData => gameData.gameStats.highestHeal.toString(),
|
||||
},
|
||||
pokemonSeen: {
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { TextStyle } from "#enums/text-style";
|
||||
import type { UiMode } from "#enums/ui-mode";
|
||||
import { ModalUiHandler } from "#ui/handlers/modal-ui-handler";
|
||||
import { ModalUiHandler } from "#ui/modal-ui-handler";
|
||||
import { addTextObject } from "#ui/text";
|
||||
import i18next from "i18next";
|
||||
|
||||
|
@ -3,10 +3,10 @@ import { globalScene } from "#app/global-scene";
|
||||
import { TextStyle } from "#enums/text-style";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import { languageOptions } from "#system/settings-language";
|
||||
import type { OptionSelectItem } from "#ui/handlers/abstract-option-select-ui-handler";
|
||||
import type { InputFieldConfig } from "#ui/handlers/form-modal-ui-handler";
|
||||
import { FormModalUiHandler } from "#ui/handlers/form-modal-ui-handler";
|
||||
import type { ModalConfig } from "#ui/handlers/modal-ui-handler";
|
||||
import type { OptionSelectItem } from "#ui/abstract-option-select-ui-handler";
|
||||
import type { InputFieldConfig } from "#ui/form-modal-ui-handler";
|
||||
import { FormModalUiHandler } from "#ui/form-modal-ui-handler";
|
||||
import type { ModalConfig } from "#ui/modal-ui-handler";
|
||||
import { addTextObject } from "#ui/text";
|
||||
import { addWindow } from "#ui/ui-theme";
|
||||
import { fixedInt } from "#utils/common";
|
||||
|
@ -7,10 +7,10 @@ import { Button } from "#enums/buttons";
|
||||
import { GameDataType } from "#enums/game-data-type";
|
||||
import { TextStyle } from "#enums/text-style";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import { BgmBar } from "#ui/containers/bgm-bar";
|
||||
import type { OptionSelectConfig, OptionSelectItem } from "#ui/handlers/abstract-option-select-ui-handler";
|
||||
import type { AwaitableUiHandler } from "#ui/handlers/awaitable-ui-handler";
|
||||
import { MessageUiHandler } from "#ui/handlers/message-ui-handler";
|
||||
import type { OptionSelectConfig, OptionSelectItem } from "#ui/abstract-option-select-ui-handler";
|
||||
import type { AwaitableUiHandler } from "#ui/awaitable-ui-handler";
|
||||
import { BgmBar } from "#ui/bgm-bar";
|
||||
import { MessageUiHandler } from "#ui/message-ui-handler";
|
||||
import { addTextObject, getTextStyleOptions } from "#ui/text";
|
||||
import { addWindow, WindowVariant } from "#ui/ui-theme";
|
||||
import { fixedInt, isLocal, sessionIdKey } from "#utils/common";
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { globalScene } from "#app/global-scene";
|
||||
import type { UiMode } from "#enums/ui-mode";
|
||||
import { AwaitableUiHandler } from "#ui/handlers/awaitable-ui-handler";
|
||||
import { AwaitableUiHandler } from "#ui/awaitable-ui-handler";
|
||||
import { getFrameMs } from "#utils/common";
|
||||
|
||||
export abstract class MessageUiHandler extends AwaitableUiHandler {
|
||||
|
@ -2,8 +2,8 @@ import { globalScene } from "#app/global-scene";
|
||||
import type { Button } from "#enums/buttons";
|
||||
import { TextStyle } from "#enums/text-style";
|
||||
import type { UiMode } from "#enums/ui-mode";
|
||||
import { UiHandler } from "#ui/handlers/ui-handler";
|
||||
import { addTextObject } from "#ui/text";
|
||||
import { UiHandler } from "#ui/ui-handler";
|
||||
import { addWindow, WindowVariant } from "#ui/ui-theme";
|
||||
|
||||
export interface ModalConfig {
|
||||
|
@ -11,8 +11,8 @@ import { UiMode } from "#enums/ui-mode";
|
||||
import { HealShopCostModifier, LockModifierTiersModifier, PokemonHeldItemModifier } from "#modifiers/modifier";
|
||||
import type { ModifierTypeOption } from "#modifiers/modifier-type";
|
||||
import { getPlayerShopModifierTypeOptionsForWave, TmModifierType } from "#modifiers/modifier-type";
|
||||
import { MoveInfoOverlay } from "#ui/containers/move-info-overlay";
|
||||
import { AwaitableUiHandler } from "#ui/handlers/awaitable-ui-handler";
|
||||
import { AwaitableUiHandler } from "#ui/awaitable-ui-handler";
|
||||
import { MoveInfoOverlay } from "#ui/move-info-overlay";
|
||||
import { addTextObject, getModifierTierTextTint, getTextColor, getTextStyleOptions } from "#ui/text";
|
||||
import { formatMoney, NumberHolder } from "#utils/common";
|
||||
import i18next from "i18next";
|
||||
|
@ -9,9 +9,9 @@ import { getEncounterText } from "#mystery-encounters/encounter-dialogue-utils";
|
||||
import type { OptionSelectSettings } from "#mystery-encounters/encounter-phase-utils";
|
||||
import type { MysteryEncounterOption } from "#mystery-encounters/mystery-encounter-option";
|
||||
import type { MysteryEncounterPhase } from "#phases/mystery-encounter-phases";
|
||||
import { PartyUiMode } from "#ui/handlers/party-ui-handler";
|
||||
import { UiHandler } from "#ui/handlers/ui-handler";
|
||||
import { PartyUiMode } from "#ui/party-ui-handler";
|
||||
import { addBBCodeTextObject, getBBCodeFrag } from "#ui/text";
|
||||
import { UiHandler } from "#ui/ui-handler";
|
||||
import { addWindow, WindowVariant } from "#ui/ui-theme";
|
||||
import { fixedInt, isNullOrUndefined } from "#utils/common";
|
||||
import i18next from "i18next";
|
||||
|
@ -21,11 +21,11 @@ import type { PokemonMove } from "#moves/pokemon-move";
|
||||
import type { CommandPhase } from "#phases/command-phase";
|
||||
import { getVariantTint } from "#sprites/variant";
|
||||
import type { TurnMove } from "#types/turn-move";
|
||||
import { MoveInfoOverlay } from "#ui/containers/move-info-overlay";
|
||||
import { MessageUiHandler } from "#ui/handlers/message-ui-handler";
|
||||
import { MessageUiHandler } from "#ui/message-ui-handler";
|
||||
import { MoveInfoOverlay } from "#ui/move-info-overlay";
|
||||
import { PokemonIconAnimHelper, PokemonIconAnimMode } from "#ui/pokemon-icon-anim-helper";
|
||||
import { addBBCodeTextObject, addTextObject, getTextColor } from "#ui/text";
|
||||
import { addWindow } from "#ui/ui-theme";
|
||||
import { PokemonIconAnimHelper, PokemonIconAnimMode } from "#ui/utils/pokemon-icon-anim-helper";
|
||||
import { applyChallenges } from "#utils/challenge-utils";
|
||||
import { BooleanHolder, getLocalizedSpriteKey, randInt } from "#utils/common";
|
||||
import { toCamelCase, toTitleCase } from "#utils/strings";
|
||||
|
@ -46,12 +46,12 @@ import { getVariantIcon, getVariantTint } from "#sprites/variant";
|
||||
import { SettingKeyboard } from "#system/settings-keyboard";
|
||||
import type { DexEntry } from "#types/dex-data";
|
||||
import type { StarterAttributes } from "#types/save-data";
|
||||
import { BaseStatsOverlay } from "#ui/containers/base-stats-overlay";
|
||||
import { MoveInfoOverlay } from "#ui/containers/move-info-overlay";
|
||||
import { PokedexInfoOverlay } from "#ui/containers/pokedex-info-overlay";
|
||||
import { StatsContainer } from "#ui/containers/stats-container";
|
||||
import type { OptionSelectItem } from "#ui/handlers/abstract-option-select-ui-handler";
|
||||
import { MessageUiHandler } from "#ui/handlers/message-ui-handler";
|
||||
import type { OptionSelectItem } from "#ui/abstract-option-select-ui-handler";
|
||||
import { BaseStatsOverlay } from "#ui/base-stats-overlay";
|
||||
import { MessageUiHandler } from "#ui/message-ui-handler";
|
||||
import { MoveInfoOverlay } from "#ui/move-info-overlay";
|
||||
import { PokedexInfoOverlay } from "#ui/pokedex-info-overlay";
|
||||
import { StatsContainer } from "#ui/stats-container";
|
||||
import { addBBCodeTextObject, addTextObject, getTextColor, getTextStyleOptions } from "#ui/text";
|
||||
import { addWindow } from "#ui/ui-theme";
|
||||
import { BooleanHolder, getLocalizedSpriteKey, isNullOrUndefined, padInt, rgbHexToRgba } from "#utils/common";
|
||||
|
@ -1,11 +1,11 @@
|
||||
import { allAbilities, allMoves, allSpecies } from "#data/data-lists";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import type { PlayerPokemon } from "#field/pokemon";
|
||||
import { FilterTextRow } from "#ui/containers/filter-text";
|
||||
import type { OptionSelectItem } from "#ui/handlers/abstract-option-select-ui-handler";
|
||||
import type { InputFieldConfig } from "#ui/handlers/form-modal-ui-handler";
|
||||
import { FormModalUiHandler } from "#ui/handlers/form-modal-ui-handler";
|
||||
import type { ModalConfig } from "#ui/handlers/modal-ui-handler";
|
||||
import type { OptionSelectItem } from "#ui/abstract-option-select-ui-handler";
|
||||
import { FilterTextRow } from "#ui/filter-text";
|
||||
import type { InputFieldConfig } from "#ui/form-modal-ui-handler";
|
||||
import { FormModalUiHandler } from "#ui/form-modal-ui-handler";
|
||||
import type { ModalConfig } from "#ui/modal-ui-handler";
|
||||
import { isNullOrUndefined } from "#utils/common";
|
||||
import i18next from "i18next";
|
||||
|
||||
|
@ -34,23 +34,16 @@ import { getVariantIcon, getVariantTint } from "#sprites/variant";
|
||||
import { SettingKeyboard } from "#system/settings-keyboard";
|
||||
import type { DexEntry } from "#types/dex-data";
|
||||
import type { DexAttrProps, StarterAttributes } from "#types/save-data";
|
||||
import {
|
||||
DropDown,
|
||||
DropDownLabel,
|
||||
DropDownOption,
|
||||
DropDownState,
|
||||
DropDownType,
|
||||
SortCriteria,
|
||||
} from "#ui/containers/dropdown";
|
||||
import { FilterBar } from "#ui/containers/filter-bar";
|
||||
import { FilterText, FilterTextRow } from "#ui/containers/filter-text";
|
||||
import { PokedexMonContainer } from "#ui/containers/pokedex-mon-container";
|
||||
import { ScrollBar } from "#ui/containers/scroll-bar";
|
||||
import type { OptionSelectConfig } from "#ui/handlers/abstract-option-select-ui-handler";
|
||||
import { MessageUiHandler } from "#ui/handlers/message-ui-handler";
|
||||
import type { OptionSelectConfig } from "#ui/abstract-option-select-ui-handler";
|
||||
import { DropDown, DropDownLabel, DropDownOption, DropDownState, DropDownType, SortCriteria } from "#ui/dropdown";
|
||||
import { FilterBar } from "#ui/filter-bar";
|
||||
import { FilterText, FilterTextRow } from "#ui/filter-text";
|
||||
import { MessageUiHandler } from "#ui/message-ui-handler";
|
||||
import { PokedexMonContainer } from "#ui/pokedex-mon-container";
|
||||
import { PokemonIconAnimHelper, PokemonIconAnimMode } from "#ui/pokemon-icon-anim-helper";
|
||||
import { ScrollBar } from "#ui/scroll-bar";
|
||||
import { addTextObject, getTextColor } from "#ui/text";
|
||||
import { addWindow } from "#ui/ui-theme";
|
||||
import { PokemonIconAnimHelper, PokemonIconAnimMode } from "#ui/utils/pokemon-icon-anim-helper";
|
||||
import { BooleanHolder, fixedInt, getLocalizedSpriteKey, padInt, randIntRange, rgbHexToRgba } from "#utils/common";
|
||||
import type { StarterPreferences } from "#utils/data";
|
||||
import { loadStarterPreferences } from "#utils/data";
|
||||
|
@ -2,9 +2,9 @@ import { pokerogueApi } from "#api/pokerogue-api";
|
||||
import { globalScene } from "#app/global-scene";
|
||||
import { TextStyle } from "#enums/text-style";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import type { InputFieldConfig } from "#ui/handlers/form-modal-ui-handler";
|
||||
import { FormModalUiHandler } from "#ui/handlers/form-modal-ui-handler";
|
||||
import type { ModalConfig } from "#ui/handlers/modal-ui-handler";
|
||||
import type { InputFieldConfig } from "#ui/form-modal-ui-handler";
|
||||
import { FormModalUiHandler } from "#ui/form-modal-ui-handler";
|
||||
import type { ModalConfig } from "#ui/modal-ui-handler";
|
||||
import { addTextObject } from "#ui/text";
|
||||
import i18next from "i18next";
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
import type { PlayerPokemon } from "#field/pokemon";
|
||||
import type { InputFieldConfig } from "#ui/handlers/form-modal-ui-handler";
|
||||
import { FormModalUiHandler } from "#ui/handlers/form-modal-ui-handler";
|
||||
import type { ModalConfig } from "#ui/handlers/modal-ui-handler";
|
||||
import type { InputFieldConfig } from "#ui/form-modal-ui-handler";
|
||||
import { FormModalUiHandler } from "#ui/form-modal-ui-handler";
|
||||
import type { ModalConfig } from "#ui/modal-ui-handler";
|
||||
import i18next from "i18next";
|
||||
|
||||
export class RenameFormUiHandler extends FormModalUiHandler {
|
||||
|
@ -8,8 +8,8 @@ import { TrainerVariant } from "#enums/trainer-variant";
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import type { PokemonData } from "#system/pokemon-data";
|
||||
import type { RunEntry } from "#types/save-data";
|
||||
import { MessageUiHandler } from "#ui/handlers/message-ui-handler";
|
||||
import { RunDisplayMode } from "#ui/handlers/run-info-ui-handler";
|
||||
import { MessageUiHandler } from "#ui/message-ui-handler";
|
||||
import { RunDisplayMode } from "#ui/run-info-ui-handler";
|
||||
import { addTextObject } from "#ui/text";
|
||||
import { addWindow } from "#ui/ui-theme";
|
||||
import { fixedInt, formatLargeNumber } from "#utils/common";
|
||||
|
@ -22,8 +22,8 @@ import { getVariantTint } from "#sprites/variant";
|
||||
import type { PokemonData } from "#system/pokemon-data";
|
||||
import { SettingKeyboard } from "#system/settings-keyboard";
|
||||
import type { SessionSaveData } from "#types/save-data";
|
||||
import { UiHandler } from "#ui/handlers/ui-handler";
|
||||
import { addBBCodeTextObject, addTextObject, getTextColor } from "#ui/text";
|
||||
import { UiHandler } from "#ui/ui-handler";
|
||||
import { addWindow } from "#ui/ui-theme";
|
||||
import { formatFancyLargeNumber, formatLargeNumber, formatMoney, getPlayTimeString } from "#utils/common";
|
||||
import { toCamelCase } from "#utils/strings";
|
||||
|
@ -8,9 +8,9 @@ import { UiMode } from "#enums/ui-mode";
|
||||
import * as Modifier from "#modifiers/modifier";
|
||||
import type { PokemonData } from "#system/pokemon-data";
|
||||
import type { SessionSaveData } from "#types/save-data";
|
||||
import type { OptionSelectConfig } from "#ui/handlers/abstract-option-select-ui-handler";
|
||||
import { MessageUiHandler } from "#ui/handlers/message-ui-handler";
|
||||
import { RunDisplayMode } from "#ui/handlers/run-info-ui-handler";
|
||||
import type { OptionSelectConfig } from "#ui/abstract-option-select-ui-handler";
|
||||
import { MessageUiHandler } from "#ui/message-ui-handler";
|
||||
import { RunDisplayMode } from "#ui/run-info-ui-handler";
|
||||
import { addTextObject } from "#ui/text";
|
||||
import { addWindow } from "#ui/ui-theme";
|
||||
import { fixedInt, formatLargeNumber, getPlayTimeString, isNullOrUndefined } from "#utils/common";
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { TextStyle } from "#enums/text-style";
|
||||
import type { UiMode } from "#enums/ui-mode";
|
||||
import type { ModalConfig } from "#ui/handlers/modal-ui-handler";
|
||||
import { ModalUiHandler } from "#ui/handlers/modal-ui-handler";
|
||||
import type { ModalConfig } from "#ui/modal-ui-handler";
|
||||
import { ModalUiHandler } from "#ui/modal-ui-handler";
|
||||
import { addTextObject } from "#ui/text";
|
||||
|
||||
export class SessionReloadModalUiHandler extends ModalUiHandler {
|
||||
|
@ -50,24 +50,17 @@ import { RibbonData } from "#system/ribbons/ribbon-data";
|
||||
import { SettingKeyboard } from "#system/settings-keyboard";
|
||||
import type { DexEntry } from "#types/dex-data";
|
||||
import type { DexAttrProps, StarterAttributes, StarterDataEntry, StarterMoveset } from "#types/save-data";
|
||||
import {
|
||||
DropDown,
|
||||
DropDownLabel,
|
||||
DropDownOption,
|
||||
DropDownState,
|
||||
DropDownType,
|
||||
SortCriteria,
|
||||
} from "#ui/containers/dropdown";
|
||||
import { FilterBar } from "#ui/containers/filter-bar";
|
||||
import { MoveInfoOverlay } from "#ui/containers/move-info-overlay";
|
||||
import { ScrollBar } from "#ui/containers/scroll-bar";
|
||||
import { StarterContainer } from "#ui/containers/starter-container";
|
||||
import { StatsContainer } from "#ui/containers/stats-container";
|
||||
import type { OptionSelectItem } from "#ui/handlers/abstract-option-select-ui-handler";
|
||||
import { MessageUiHandler } from "#ui/handlers/message-ui-handler";
|
||||
import type { OptionSelectItem } from "#ui/abstract-option-select-ui-handler";
|
||||
import { DropDown, DropDownLabel, DropDownOption, DropDownState, DropDownType, SortCriteria } from "#ui/dropdown";
|
||||
import { FilterBar } from "#ui/filter-bar";
|
||||
import { MessageUiHandler } from "#ui/message-ui-handler";
|
||||
import { MoveInfoOverlay } from "#ui/move-info-overlay";
|
||||
import { PokemonIconAnimHelper, PokemonIconAnimMode } from "#ui/pokemon-icon-anim-helper";
|
||||
import { ScrollBar } from "#ui/scroll-bar";
|
||||
import { StarterContainer } from "#ui/starter-container";
|
||||
import { StatsContainer } from "#ui/stats-container";
|
||||
import { addBBCodeTextObject, addTextObject, getTextColor } from "#ui/text";
|
||||
import { addWindow } from "#ui/ui-theme";
|
||||
import { PokemonIconAnimHelper, PokemonIconAnimMode } from "#ui/utils/pokemon-icon-anim-helper";
|
||||
import { applyChallenges, checkStarterValidForChallenge } from "#utils/challenge-utils";
|
||||
import {
|
||||
BooleanHolder,
|
||||
|
@ -25,8 +25,8 @@ import type { PokemonMove } from "#moves/pokemon-move";
|
||||
import type { Variant } from "#sprites/variant";
|
||||
import { getVariantTint } from "#sprites/variant";
|
||||
import { achvs } from "#system/achv";
|
||||
import { UiHandler } from "#ui/handlers/ui-handler";
|
||||
import { addBBCodeTextObject, addTextObject, getBBCodeFrag, getTextColor } from "#ui/text";
|
||||
import { UiHandler } from "#ui/ui-handler";
|
||||
import {
|
||||
fixedInt,
|
||||
formatStat,
|
||||
|
@ -7,7 +7,7 @@ import { UiMode } from "#enums/ui-mode";
|
||||
import type { Pokemon } from "#field/pokemon";
|
||||
import type { ModifierBar } from "#modifiers/modifier";
|
||||
import { getMoveTargets } from "#moves/move-utils";
|
||||
import { UiHandler } from "#ui/handlers/ui-handler";
|
||||
import { UiHandler } from "#ui/ui-handler";
|
||||
import { fixedInt, isNullOrUndefined } from "#utils/common";
|
||||
|
||||
export type TargetSelectCallback = (targets: BattlerIndex[]) => void;
|
||||
|
@ -1,9 +1,9 @@
|
||||
import { UiMode } from "#enums/ui-mode";
|
||||
import type { PlayerPokemon } from "#field/pokemon";
|
||||
import type { OptionSelectItem } from "#ui/handlers/abstract-option-select-ui-handler";
|
||||
import type { InputFieldConfig } from "#ui/handlers/form-modal-ui-handler";
|
||||
import { FormModalUiHandler } from "#ui/handlers/form-modal-ui-handler";
|
||||
import type { ModalConfig } from "#ui/handlers/modal-ui-handler";
|
||||
import type { OptionSelectItem } from "#ui/abstract-option-select-ui-handler";
|
||||
import type { InputFieldConfig } from "#ui/form-modal-ui-handler";
|
||||
import { FormModalUiHandler } from "#ui/form-modal-ui-handler";
|
||||
import type { ModalConfig } from "#ui/modal-ui-handler";
|
||||
import { isNullOrUndefined } from "#utils/common";
|
||||
import i18next from "i18next";
|
||||
|
||||
|
@ -2,8 +2,8 @@ import { updateUserInfo } from "#app/account";
|
||||
import { globalScene } from "#app/global-scene";
|
||||
import { TextStyle } from "#enums/text-style";
|
||||
import type { UiMode } from "#enums/ui-mode";
|
||||
import type { ModalConfig } from "#ui/handlers/modal-ui-handler";
|
||||
import { ModalUiHandler } from "#ui/handlers/modal-ui-handler";
|
||||
import type { ModalConfig } from "#ui/modal-ui-handler";
|
||||
import { ModalUiHandler } from "#ui/modal-ui-handler";
|
||||
import { addTextObject } from "#ui/text";
|
||||
import { sessionIdKey } from "#utils/common";
|
||||
import { removeCookie } from "#utils/cookies";
|
||||
|
@ -5,10 +5,10 @@ import type { Device } from "#enums/devices";
|
||||
import { TextStyle } from "#enums/text-style";
|
||||
import type { UiMode } from "#enums/ui-mode";
|
||||
import { getIconWithSettingName } from "#inputs/config-handler";
|
||||
import { ScrollBar } from "#ui/containers/scroll-bar";
|
||||
import { UiHandler } from "#ui/handlers/ui-handler";
|
||||
import { NavigationManager, NavigationMenu } from "#ui/navigation-menu";
|
||||
import { ScrollBar } from "#ui/scroll-bar";
|
||||
import { addTextObject, getTextColor } from "#ui/text";
|
||||
import { UiHandler } from "#ui/ui-handler";
|
||||
import { addWindow } from "#ui/ui-theme";
|
||||
import { toCamelCase } from "#utils/strings";
|
||||
import i18next from "i18next";
|
||||
|
@ -6,9 +6,9 @@ import type { SettingType } from "#system/settings";
|
||||
import { Setting, SettingKeys } from "#system/settings";
|
||||
import type { AnyFn } from "#types/type-helpers";
|
||||
import type { InputsIcons } from "#ui/abstract-control-settings-ui-handler";
|
||||
import { ScrollBar } from "#ui/containers/scroll-bar";
|
||||
import { MessageUiHandler } from "#ui/handlers/message-ui-handler";
|
||||
import { MessageUiHandler } from "#ui/message-ui-handler";
|
||||
import { NavigationManager, NavigationMenu } from "#ui/navigation-menu";
|
||||
import { ScrollBar } from "#ui/scroll-bar";
|
||||
import { addTextObject, getTextColor } from "#ui/text";
|
||||
import { addWindow } from "#ui/ui-theme";
|
||||
import i18next from "i18next";
|
||||
|
@ -3,7 +3,7 @@ import { Device } from "#enums/devices";
|
||||
import { TextStyle } from "#enums/text-style";
|
||||
import type { UiMode } from "#enums/ui-mode";
|
||||
import { getIconWithSettingName, getKeyWithKeycode } from "#inputs/config-handler";
|
||||
import { AbstractBindingUiHandler } from "#ui/handlers/abstract-binding-ui-handler";
|
||||
import { AbstractBindingUiHandler } from "#ui/abstract-binding-ui-handler";
|
||||
import { addTextObject } from "#ui/text";
|
||||
import i18next from "i18next";
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user