diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml new file mode 100644 index 00000000000..35a31f6b4d1 --- /dev/null +++ b/.github/workflows/create-release.yml @@ -0,0 +1,73 @@ +name: Create Release Branch +on: + workflow_dispatch: + inputs: + versionName: + description: "Name of version (i.e. 1.9.0)" + type: string + required: true + confirmVersion: + type: string + required: true + description: "Confirm version name" + +# explicitly specify the necessary scopes +permissions: + pull-requests: write + actions: write + contents: write + +jobs: + create-release: + if: github.repository == 'pagefaultgames/pokerogue' && (vars.BETA_DEPLOY_BRANCH == '' || ! startsWith(vars.BETA_DEPLOY_BRANCH, 'release')) + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed for github cli commands + runs-on: ubuntu-latest + steps: + - name: Validate provided version + # Ensure version matches confirmation and conforms to expected pattern. + run: | + if [[ "${{ github.event.inputs.versionName }}" != "${{ github.event.inputs.confirmVersion }}" ]]; then + echo "Version name does not match confirmation. Exiting." + exit 1 + fi + if [[ ! "${{ github.event.inputs.versionName }}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then + echo "Version name must follow the format X.Y.Z where X, Y, and Z are all numbers. Exiting..." + exit 1 + fi + shell: bash + - name: Check out code + uses: actions/checkout@v4 + with: + submodules: "recursive" + # Always base off of beta branch, regardless of the branch the workflow was triggered from. + ref: beta + - 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 + 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 }}" + - name: Push new branch + run: git push origin release + # The repository variable is used by the deploy-beta workflow to determine whether to deploy from beta or release. + - name: Set repository variable + run: GITHUB_TOKEN="${{ secrets.RW_VARS_PAT }}" gh variable set BETA_DEPLOY_BRANCH --body "release" + - name: Create pull request to main + run: | + gh pr create --base main \ + --head release \ + --title "Release v${{ github.event.inputs.versionName }} to main" \ + --body "This PR is for the release of v${{ github.event.inputs.versionName }}, and was created automatically by the GitHub Actions workflow invoked by ${{ github.actor }}" \ + --draft + - name: Create pull request to beta + run: | + gh pr create --base beta \ + --head release \ + --title "Release v${{ github.event.inputs.versionName }} to beta" \ + --body "This PR is for the release of v${{ github.event.inputs.versionName }}, and was created automatically by the GitHub Actions workflow invoked by ${{ github.actor }}" \ + --draft diff --git a/.github/workflows/deploy-beta.yml b/.github/workflows/deploy-beta.yml index 8b0e33a18c4..90b3008c8e9 100644 --- a/.github/workflows/deploy-beta.yml +++ b/.github/workflows/deploy-beta.yml @@ -4,18 +4,23 @@ on: push: branches: - beta + - release + workflow_run: + types: completed + workflows: ["Post Release Deleted"] jobs: deploy: - if: github.repository == 'pagefaultgames/pokerogue' + if: github.repository == 'pagefaultgames/pokerogue' && github.ref_name == ${{ vars.BETA_DEPLOY_BRANCH || 'beta' }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: - submodules: 'recursive' + submodules: "recursive" + ref: ${{ vars.BETA_DEPLOY_BRANCH || 'beta'}} - uses: actions/setup-node@v4 with: - node-version-file: '.nvmrc' + node-version-file: ".nvmrc" - name: Install dependencies run: npm ci - name: Build @@ -30,5 +35,5 @@ jobs: chmod 600 ~/.ssh/* ssh-keyscan -H ${{ secrets.BETA_SSH_HOST }} >> ~/.ssh/known_hosts - name: Deploy build on server - run: | - rsync --del --no-times --checksum -vrm dist/* ${{ secrets.BETA_SSH_USER }}@${{ secrets.BETA_SSH_HOST }}:${{ secrets.BETA_DESTINATION_DIR }} \ No newline at end of file + run: | + rsync --del --no-times --checksum -vrm dist/* ${{ secrets.BETA_SSH_USER }}@${{ secrets.BETA_SSH_HOST }}:${{ secrets.BETA_DESTINATION_DIR }} diff --git a/.github/workflows/post-release-deleted.yml b/.github/workflows/post-release-deleted.yml new file mode 100644 index 00000000000..65447e7826b --- /dev/null +++ b/.github/workflows/post-release-deleted.yml @@ -0,0 +1,12 @@ +name: Post Release Deleted +on: + delete: + +jobs: + # Set the BETA_DEPLOY_BRANCH variable to beta when a release branch is deleted + update-release-var: + if: github.repository == 'pagefaultgames/pokerogue' && github.event.ref_type == 'branch' && github.event.ref == 'release' + runs-on: ubuntu-latest + steps: + - name: Set BETA_DEPLOY_BRANCH to beta + run: GITHUB_TOKEN="${{ secrets.RW_VARS_PAT }}" gh variable set BETA_DEPLOY_BRANCH --body "beta" --repo "pagefaultgames/pokerogue" \ No newline at end of file diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index ccc8604ff7e..d9db8401f8e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -7,6 +7,7 @@ on: branches: - main # Trigger on push events to the main branch - beta # Trigger on push events to the beta branch + - release # Trigger on push events to the release branch # go upvote https://github.com/actions/runner/issues/1182 and yell at microsoft until they fix this or ditch yml for workflows paths: # src and test files @@ -32,6 +33,7 @@ on: branches: - main # Trigger on pull request events targeting the main branch - beta # Trigger on pull request events targeting the beta branch + - release # Trigger on pull request events targeting the release branch paths: # go upvote https://github.com/actions/runner/issues/1182 and yell at microsoft because until then we have to duplicate this # src and test files - "src/**" diff --git a/package-lock.json b/package-lock.json index 07fed79969e..f9280ad594b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "pokemon-rogue-battle", - "version": "1.8.4", + "version": "1.9.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "pokemon-rogue-battle", - "version": "1.8.4", + "version": "1.9.0", "hasInstallScript": true, "dependencies": { "@material/material-color-utilities": "^0.2.7", diff --git a/package.json b/package.json index 938d362f263..b9ccb324969 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "pokemon-rogue-battle", "private": true, - "version": "1.8.5", + "version": "1.9.0", "type": "module", "scripts": { "start": "vite", diff --git a/public/images/pokemon/icons/variant/4/417_2.png b/public/images/pokemon/icons/variant/4/417_2.png new file mode 100644 index 00000000000..e1bd9e52bb0 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/417_2.png differ diff --git a/public/images/pokemon/icons/variant/4/417_3.png b/public/images/pokemon/icons/variant/4/417_3.png new file mode 100644 index 00000000000..4f9d1936f78 Binary files /dev/null and b/public/images/pokemon/icons/variant/4/417_3.png differ diff --git a/public/images/pokemon/icons/variant/7/746-school_1.png b/public/images/pokemon/icons/variant/7/746-school_1.png deleted file mode 100644 index a7a2854bea0..00000000000 Binary files a/public/images/pokemon/icons/variant/7/746-school_1.png and /dev/null differ diff --git a/public/images/pokemon/icons/variant/7/746-school_3.png b/public/images/pokemon/icons/variant/7/746-school_3.png new file mode 100644 index 00000000000..94d16db5c42 Binary files /dev/null and b/public/images/pokemon/icons/variant/7/746-school_3.png differ diff --git a/public/images/pokemon/icons/variant/7/746_1.png b/public/images/pokemon/icons/variant/7/746_1.png deleted file mode 100644 index d4897e0acf3..00000000000 Binary files a/public/images/pokemon/icons/variant/7/746_1.png and /dev/null differ diff --git a/public/images/pokemon/icons/variant/7/746_2.png b/public/images/pokemon/icons/variant/7/746_2.png index 8746a45310d..d4897e0acf3 100644 Binary files a/public/images/pokemon/icons/variant/7/746_2.png and b/public/images/pokemon/icons/variant/7/746_2.png differ diff --git a/public/images/pokemon/icons/variant/7/746_3.png b/public/images/pokemon/icons/variant/7/746_3.png new file mode 100644 index 00000000000..8746a45310d Binary files /dev/null and b/public/images/pokemon/icons/variant/7/746_3.png differ diff --git a/public/images/pokemon/icons/variant/8/840_2.png b/public/images/pokemon/icons/variant/8/840_2.png new file mode 100644 index 00000000000..796057e93fb Binary files /dev/null and b/public/images/pokemon/icons/variant/8/840_2.png differ diff --git a/public/images/pokemon/icons/variant/8/840_3.png b/public/images/pokemon/icons/variant/8/840_3.png new file mode 100644 index 00000000000..de8206c7fd7 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/840_3.png differ diff --git a/public/images/pokemon/icons/variant/8/841-gigantamax_2.png b/public/images/pokemon/icons/variant/8/841-gigantamax_2.png new file mode 100644 index 00000000000..aaed8081eec Binary files /dev/null and b/public/images/pokemon/icons/variant/8/841-gigantamax_2.png differ diff --git a/public/images/pokemon/icons/variant/8/841-gigantamax_3.png b/public/images/pokemon/icons/variant/8/841-gigantamax_3.png new file mode 100644 index 00000000000..3ae323c8677 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/841-gigantamax_3.png differ diff --git a/public/images/pokemon/icons/variant/8/841_2.png b/public/images/pokemon/icons/variant/8/841_2.png new file mode 100644 index 00000000000..d1a57120993 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/841_2.png differ diff --git a/public/images/pokemon/icons/variant/8/841_3.png b/public/images/pokemon/icons/variant/8/841_3.png new file mode 100644 index 00000000000..5eaf8ea1c57 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/841_3.png differ diff --git a/public/images/pokemon/icons/variant/8/842-gigantamax_2.png b/public/images/pokemon/icons/variant/8/842-gigantamax_2.png new file mode 100644 index 00000000000..aaed8081eec Binary files /dev/null and b/public/images/pokemon/icons/variant/8/842-gigantamax_2.png differ diff --git a/public/images/pokemon/icons/variant/8/842-gigantamax_3.png b/public/images/pokemon/icons/variant/8/842-gigantamax_3.png new file mode 100644 index 00000000000..3ae323c8677 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/842-gigantamax_3.png differ diff --git a/public/images/pokemon/icons/variant/8/842_2.png b/public/images/pokemon/icons/variant/8/842_2.png new file mode 100644 index 00000000000..87de609f819 Binary files /dev/null and b/public/images/pokemon/icons/variant/8/842_2.png differ diff --git a/public/images/pokemon/icons/variant/8/842_3.png b/public/images/pokemon/icons/variant/8/842_3.png new file mode 100644 index 00000000000..15dfe7ea02c Binary files /dev/null and b/public/images/pokemon/icons/variant/8/842_3.png differ diff --git a/public/images/pokemon/icons/variant/8/871_1.png b/public/images/pokemon/icons/variant/8/871_1.png deleted file mode 100644 index ff77c60cea2..00000000000 Binary files a/public/images/pokemon/icons/variant/8/871_1.png and /dev/null differ diff --git a/public/images/pokemon/icons/variant/8/871_2.png b/public/images/pokemon/icons/variant/8/871_2.png index bfefb010219..719ee1eb3a9 100644 Binary files a/public/images/pokemon/icons/variant/8/871_2.png and b/public/images/pokemon/icons/variant/8/871_2.png differ diff --git a/public/images/pokemon/icons/variant/8/871_3.png b/public/images/pokemon/icons/variant/8/871_3.png new file mode 100644 index 00000000000..0d8227b722a Binary files /dev/null and b/public/images/pokemon/icons/variant/8/871_3.png differ diff --git a/public/images/pokemon/icons/variant/9/1011_2.png b/public/images/pokemon/icons/variant/9/1011_2.png new file mode 100644 index 00000000000..01abc1a8e65 Binary files /dev/null and b/public/images/pokemon/icons/variant/9/1011_2.png differ diff --git a/public/images/pokemon/icons/variant/9/1011_3.png b/public/images/pokemon/icons/variant/9/1011_3.png new file mode 100644 index 00000000000..fa5e3e35135 Binary files /dev/null and b/public/images/pokemon/icons/variant/9/1011_3.png differ diff --git a/public/images/pokemon/icons/variant/9/1019_2.png b/public/images/pokemon/icons/variant/9/1019_2.png new file mode 100644 index 00000000000..671ae3f6552 Binary files /dev/null and b/public/images/pokemon/icons/variant/9/1019_2.png differ diff --git a/public/images/pokemon/icons/variant/9/1019_3.png b/public/images/pokemon/icons/variant/9/1019_3.png new file mode 100644 index 00000000000..0569b3e84b6 Binary files /dev/null and b/public/images/pokemon/icons/variant/9/1019_3.png differ diff --git a/public/images/pokemon_icons_4v.json b/public/images/pokemon_icons_4v.json index bbaca92c7c7..ffc36e945c4 100644 --- a/public/images/pokemon_icons_4v.json +++ b/public/images/pokemon_icons_4v.json @@ -1312,7 +1312,7 @@ } }, { - "filename": "418_2", + "filename": "417_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -1332,6 +1332,48 @@ "h": 30 } }, + { + "filename": "417_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 120, + "w": 40, + "h": 30 + } + }, + { + "filename": "418_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 480, + "y": 120, + "w": 40, + "h": 30 + } + }, { "filename": "418_3", "rotated": false, @@ -1347,8 +1389,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 120, + "x": 0, + "y": 150, "w": 40, "h": 30 } @@ -1368,8 +1410,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 120, + "x": 40, + "y": 150, "w": 40, "h": 30 } @@ -1389,7 +1431,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 80, "y": 150, "w": 40, "h": 30 @@ -1410,7 +1452,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 120, "y": 150, "w": 40, "h": 30 @@ -1431,7 +1473,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 150, "w": 40, "h": 30 @@ -1452,7 +1494,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 150, "w": 40, "h": 30 @@ -1473,7 +1515,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 150, "w": 40, "h": 30 @@ -1494,7 +1536,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 150, "w": 40, "h": 30 @@ -1515,7 +1557,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 150, "w": 40, "h": 30 @@ -1536,7 +1578,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 150, "w": 40, "h": 30 @@ -1557,7 +1599,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 150, "w": 40, "h": 30 @@ -1578,7 +1620,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 440, "y": 150, "w": 40, "h": 30 @@ -1599,7 +1641,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 480, "y": 150, "w": 40, "h": 30 @@ -1620,8 +1662,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 150, + "x": 0, + "y": 180, "w": 40, "h": 30 } @@ -1641,8 +1683,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 150, + "x": 40, + "y": 180, "w": 40, "h": 30 } @@ -1662,7 +1704,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 80, "y": 180, "w": 40, "h": 30 @@ -1683,7 +1725,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 120, "y": 180, "w": 40, "h": 30 @@ -1704,7 +1746,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 180, "w": 40, "h": 30 @@ -1725,7 +1767,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 180, "w": 40, "h": 30 @@ -1746,7 +1788,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 180, "w": 40, "h": 30 @@ -1767,7 +1809,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 180, "w": 40, "h": 30 @@ -1788,7 +1830,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 180, "w": 40, "h": 30 @@ -1809,7 +1851,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 180, "w": 40, "h": 30 @@ -1830,7 +1872,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 180, "w": 40, "h": 30 @@ -1851,7 +1893,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 440, "y": 180, "w": 40, "h": 30 @@ -1872,7 +1914,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 480, "y": 180, "w": 40, "h": 30 @@ -1893,8 +1935,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 180, + "x": 0, + "y": 210, "w": 40, "h": 30 } @@ -1914,8 +1956,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 180, + "x": 40, + "y": 210, "w": 40, "h": 30 } @@ -1935,7 +1977,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 80, "y": 210, "w": 40, "h": 30 @@ -1956,7 +1998,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 120, "y": 210, "w": 40, "h": 30 @@ -1977,7 +2019,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 210, "w": 40, "h": 30 @@ -1998,7 +2040,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 210, "w": 40, "h": 30 @@ -2019,7 +2061,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 210, "w": 40, "h": 30 @@ -2040,7 +2082,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 210, "w": 40, "h": 30 @@ -2061,7 +2103,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 210, "w": 40, "h": 30 @@ -2082,7 +2124,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 210, "w": 40, "h": 30 @@ -2103,7 +2145,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 210, "w": 40, "h": 30 @@ -2124,7 +2166,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 440, "y": 210, "w": 40, "h": 30 @@ -2145,7 +2187,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 480, "y": 210, "w": 40, "h": 30 @@ -2166,8 +2208,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 210, + "x": 0, + "y": 240, "w": 40, "h": 30 } @@ -2187,8 +2229,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 210, + "x": 40, + "y": 240, "w": 40, "h": 30 } @@ -2208,7 +2250,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 80, "y": 240, "w": 40, "h": 30 @@ -2229,7 +2271,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 120, "y": 240, "w": 40, "h": 30 @@ -2250,7 +2292,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 240, "w": 40, "h": 30 @@ -2271,7 +2313,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 240, "w": 40, "h": 30 @@ -2292,7 +2334,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 240, "w": 40, "h": 30 @@ -2313,7 +2355,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 240, "w": 40, "h": 30 @@ -2334,7 +2376,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 240, "w": 40, "h": 30 @@ -2355,7 +2397,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 240, "w": 40, "h": 30 @@ -2376,7 +2418,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 240, "w": 40, "h": 30 @@ -2397,7 +2439,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 440, "y": 240, "w": 40, "h": 30 @@ -2418,7 +2460,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 480, "y": 240, "w": 40, "h": 30 @@ -2439,8 +2481,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 240, + "x": 0, + "y": 270, "w": 40, "h": 30 } @@ -2460,8 +2502,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 240, + "x": 40, + "y": 270, "w": 40, "h": 30 } @@ -2481,7 +2523,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 80, "y": 270, "w": 40, "h": 30 @@ -2502,7 +2544,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 120, "y": 270, "w": 40, "h": 30 @@ -2523,7 +2565,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 270, "w": 40, "h": 30 @@ -2544,7 +2586,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 270, "w": 40, "h": 30 @@ -2565,7 +2607,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 270, "w": 40, "h": 30 @@ -2586,7 +2628,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 270, "w": 40, "h": 30 @@ -2607,7 +2649,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 270, "w": 40, "h": 30 @@ -2628,7 +2670,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 270, "w": 40, "h": 30 @@ -2649,7 +2691,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 270, "w": 40, "h": 30 @@ -2670,7 +2712,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 440, "y": 270, "w": 40, "h": 30 @@ -2691,7 +2733,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 480, "y": 270, "w": 40, "h": 30 @@ -2712,8 +2754,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 270, + "x": 0, + "y": 300, "w": 40, "h": 30 } @@ -2733,8 +2775,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 270, + "x": 40, + "y": 300, "w": 40, "h": 30 } @@ -2754,7 +2796,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 80, "y": 300, "w": 40, "h": 30 @@ -2775,7 +2817,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 120, "y": 300, "w": 40, "h": 30 @@ -2796,7 +2838,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 300, "w": 40, "h": 30 @@ -2817,7 +2859,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 300, "w": 40, "h": 30 @@ -2838,7 +2880,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 300, "w": 40, "h": 30 @@ -2859,7 +2901,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 300, "w": 40, "h": 30 @@ -2880,7 +2922,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 300, "w": 40, "h": 30 @@ -2901,7 +2943,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 300, "w": 40, "h": 30 @@ -2922,7 +2964,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 300, "w": 40, "h": 30 @@ -2943,7 +2985,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 440, "y": 300, "w": 40, "h": 30 @@ -2964,7 +3006,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 480, "y": 300, "w": 40, "h": 30 @@ -2985,8 +3027,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 300, + "x": 0, + "y": 330, "w": 40, "h": 30 } @@ -3006,8 +3048,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 300, + "x": 40, + "y": 330, "w": 40, "h": 30 } @@ -3027,7 +3069,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 80, "y": 330, "w": 40, "h": 30 @@ -3048,7 +3090,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 120, "y": 330, "w": 40, "h": 30 @@ -3069,7 +3111,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 330, "w": 40, "h": 30 @@ -3090,7 +3132,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 330, "w": 40, "h": 30 @@ -3111,7 +3153,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 330, "w": 40, "h": 30 @@ -3132,7 +3174,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 330, "w": 40, "h": 30 @@ -3153,7 +3195,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 330, "w": 40, "h": 30 @@ -3174,7 +3216,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 330, "w": 40, "h": 30 @@ -3195,7 +3237,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 330, "w": 40, "h": 30 @@ -3216,7 +3258,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 440, "y": 330, "w": 40, "h": 30 @@ -3237,7 +3279,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 480, "y": 330, "w": 40, "h": 30 @@ -3258,8 +3300,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 330, + "x": 0, + "y": 360, "w": 40, "h": 30 } @@ -3279,8 +3321,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 330, + "x": 40, + "y": 360, "w": 40, "h": 30 } @@ -3300,7 +3342,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 80, "y": 360, "w": 40, "h": 30 @@ -3321,7 +3363,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 120, "y": 360, "w": 40, "h": 30 @@ -3342,7 +3384,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 360, "w": 40, "h": 30 @@ -3363,7 +3405,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 360, "w": 40, "h": 30 @@ -3384,7 +3426,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 360, "w": 40, "h": 30 @@ -3405,7 +3447,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 360, "w": 40, "h": 30 @@ -3426,7 +3468,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 360, "w": 40, "h": 30 @@ -3447,7 +3489,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 360, "w": 40, "h": 30 @@ -3468,7 +3510,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 360, "w": 40, "h": 30 @@ -3489,7 +3531,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 440, "y": 360, "w": 40, "h": 30 @@ -3510,7 +3552,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 480, "y": 360, "w": 40, "h": 30 @@ -3531,8 +3573,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 360, + "x": 0, + "y": 390, "w": 40, "h": 30 } @@ -3552,8 +3594,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 360, + "x": 40, + "y": 390, "w": 40, "h": 30 } @@ -3573,7 +3615,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 80, "y": 390, "w": 40, "h": 30 @@ -3594,7 +3636,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 120, "y": 390, "w": 40, "h": 30 @@ -3615,7 +3657,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 390, "w": 40, "h": 30 @@ -3636,7 +3678,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 390, "w": 40, "h": 30 @@ -3657,7 +3699,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 390, "w": 40, "h": 30 @@ -3678,7 +3720,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 390, "w": 40, "h": 30 @@ -3699,7 +3741,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 390, "w": 40, "h": 30 @@ -3720,7 +3762,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 390, "w": 40, "h": 30 @@ -3741,7 +3783,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 390, "w": 40, "h": 30 @@ -3762,7 +3804,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 440, "y": 390, "w": 40, "h": 30 @@ -3783,7 +3825,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 480, "y": 390, "w": 40, "h": 30 @@ -3804,8 +3846,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 390, + "x": 0, + "y": 420, "w": 40, "h": 30 } @@ -3825,8 +3867,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 390, + "x": 40, + "y": 420, "w": 40, "h": 30 } @@ -3846,7 +3888,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 80, "y": 420, "w": 40, "h": 30 @@ -3867,7 +3909,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 120, "y": 420, "w": 40, "h": 30 @@ -3888,7 +3930,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 420, "w": 40, "h": 30 @@ -3909,7 +3951,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 420, "w": 40, "h": 30 @@ -3930,7 +3972,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 420, "w": 40, "h": 30 @@ -3951,7 +3993,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 420, "w": 40, "h": 30 @@ -3972,7 +4014,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 420, "w": 40, "h": 30 @@ -3993,7 +4035,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 420, "w": 40, "h": 30 @@ -4014,7 +4056,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 420, "w": 40, "h": 30 @@ -4035,7 +4077,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 440, "y": 420, "w": 40, "h": 30 @@ -4056,7 +4098,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 480, "y": 420, "w": 40, "h": 30 @@ -4077,8 +4119,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 420, + "x": 0, + "y": 450, "w": 40, "h": 30 } @@ -4098,8 +4140,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 420, + "x": 40, + "y": 450, "w": 40, "h": 30 } @@ -4119,7 +4161,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 80, "y": 450, "w": 40, "h": 30 @@ -4140,7 +4182,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 120, "y": 450, "w": 40, "h": 30 @@ -4161,7 +4203,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 450, "w": 40, "h": 30 @@ -4182,7 +4224,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 450, "w": 40, "h": 30 @@ -4203,7 +4245,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 450, "w": 40, "h": 30 @@ -4224,7 +4266,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 450, "w": 40, "h": 30 @@ -4245,7 +4287,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 450, "w": 40, "h": 30 @@ -4266,7 +4308,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 450, "w": 40, "h": 30 @@ -4287,7 +4329,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 450, "w": 40, "h": 30 @@ -4308,7 +4350,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 440, "y": 450, "w": 40, "h": 30 @@ -4329,7 +4371,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 480, "y": 450, "w": 40, "h": 30 @@ -4350,8 +4392,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 450, + "x": 0, + "y": 480, "w": 40, "h": 30 } @@ -4371,8 +4413,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 450, + "x": 40, + "y": 480, "w": 40, "h": 30 } @@ -4392,7 +4434,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 80, "y": 480, "w": 40, "h": 30 @@ -4413,7 +4455,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 120, "y": 480, "w": 40, "h": 30 @@ -4434,7 +4476,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 160, "y": 480, "w": 40, "h": 30 @@ -4455,7 +4497,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 200, "y": 480, "w": 40, "h": 30 @@ -4476,7 +4518,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 240, "y": 480, "w": 40, "h": 30 @@ -4497,7 +4539,7 @@ "h": 30 }, "frame": { - "x": 200, + "x": 280, "y": 480, "w": 40, "h": 30 @@ -4518,7 +4560,7 @@ "h": 30 }, "frame": { - "x": 240, + "x": 320, "y": 480, "w": 40, "h": 30 @@ -4539,7 +4581,7 @@ "h": 30 }, "frame": { - "x": 280, + "x": 360, "y": 480, "w": 40, "h": 30 @@ -4560,7 +4602,7 @@ "h": 30 }, "frame": { - "x": 320, + "x": 400, "y": 480, "w": 40, "h": 30 @@ -4581,7 +4623,7 @@ "h": 30 }, "frame": { - "x": 360, + "x": 440, "y": 480, "w": 40, "h": 30 @@ -4602,7 +4644,7 @@ "h": 30 }, "frame": { - "x": 400, + "x": 480, "y": 480, "w": 40, "h": 30 @@ -4622,48 +4664,6 @@ "w": 40, "h": 30 }, - "frame": { - "x": 440, - "y": 480, - "w": 40, - "h": 30 - } - }, - { - "filename": "489_2", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 480, - "y": 480, - "w": 40, - "h": 30 - } - }, - { - "filename": "489_3", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, "frame": { "x": 0, "y": 510, @@ -4672,7 +4672,7 @@ } }, { - "filename": "490_1", + "filename": "489_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4693,7 +4693,7 @@ } }, { - "filename": "490_2", + "filename": "489_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4714,7 +4714,7 @@ } }, { - "filename": "490_3", + "filename": "490_1", "rotated": false, "trimmed": false, "sourceSize": { @@ -4735,7 +4735,7 @@ } }, { - "filename": "491_2", + "filename": "490_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4756,7 +4756,7 @@ } }, { - "filename": "491_3", + "filename": "490_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4777,7 +4777,7 @@ } }, { - "filename": "492-land_2", + "filename": "491_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4798,7 +4798,7 @@ } }, { - "filename": "492-land_3", + "filename": "491_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4819,7 +4819,7 @@ } }, { - "filename": "492-sky_2", + "filename": "492-land_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4840,7 +4840,7 @@ } }, { - "filename": "492-sky_3", + "filename": "492-land_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4859,6 +4859,48 @@ "w": 40, "h": 30 } + }, + { + "filename": "492-sky_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 400, + "y": 510, + "w": 40, + "h": 30 + } + }, + { + "filename": "492-sky_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 440, + "y": 510, + "w": 40, + "h": 30 + } } ] } @@ -4866,6 +4908,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:52236a80fa87dc64d12684ac85cf8440:2809a2ce37dd2c24fc872d083bf5a2aa:ebc3f8ec5b2480b298192d752b6e57dc$" + "smartupdate": "$TexturePacker:SmartUpdate:00a4e5499c11f3abdf9f56423bbf4561:6f365ccd1246c9b5ae27e0e440695926:ebc3f8ec5b2480b298192d752b6e57dc$" } } diff --git a/public/images/pokemon_icons_4v.png b/public/images/pokemon_icons_4v.png index 43938ed5095..972bff8b777 100644 Binary files a/public/images/pokemon_icons_4v.png and b/public/images/pokemon_icons_4v.png differ diff --git a/public/images/pokemon_icons_7v.json b/public/images/pokemon_icons_7v.json index d82cc4e3210..6a353fffe94 100644 --- a/public/images/pokemon_icons_7v.json +++ b/public/images/pokemon_icons_7v.json @@ -304,7 +304,7 @@ } }, { - "filename": "746-school_1", + "filename": "746-school_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -325,7 +325,7 @@ } }, { - "filename": "746-school_2", + "filename": "746-school_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -346,7 +346,7 @@ } }, { - "filename": "746_1", + "filename": "746_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -367,7 +367,7 @@ } }, { - "filename": "746_2", + "filename": "746_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -3312,6 +3312,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:57eaade41c16d492ffda5339ea142c4d:b96a0f88bd707a9967af73e7bdf13031:d5975df27e1e94206a68aa1fd3c2c8d0$" + "smartupdate": "$TexturePacker:SmartUpdate:0780b00fda53c3fbd0b6e554e89a6818:b96a0f88bd707a9967af73e7bdf13031:d5975df27e1e94206a68aa1fd3c2c8d0$" } } diff --git a/public/images/pokemon_icons_8v.json b/public/images/pokemon_icons_8v.json index 0693e76e9d1..4b1877878a5 100644 --- a/public/images/pokemon_icons_8v.json +++ b/public/images/pokemon_icons_8v.json @@ -514,7 +514,7 @@ } }, { - "filename": "850_2", + "filename": "840_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -535,7 +535,7 @@ } }, { - "filename": "850_3", + "filename": "840_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -556,7 +556,7 @@ } }, { - "filename": "851-gigantamax", + "filename": "841-gigantamax_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -576,6 +576,216 @@ "h": 30 } }, + { + "filename": "842-gigantamax_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 0, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "841-gigantamax_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "842-gigantamax_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "841_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "841_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "842_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "842_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "850_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "850_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 60, + "w": 40, + "h": 30 + } + }, + { + "filename": "851-gigantamax", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 60, + "w": 40, + "h": 30 + } + }, { "filename": "851-gigantamax_2", "rotated": false, @@ -591,7 +801,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 360, "y": 60, "w": 40, "h": 30 @@ -612,7 +822,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 400, "y": 60, "w": 40, "h": 30 @@ -633,7 +843,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 440, "y": 60, "w": 40, "h": 30 @@ -654,7 +864,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 480, "y": 60, "w": 40, "h": 30 @@ -675,8 +885,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 60, + "x": 0, + "y": 90, "w": 40, "h": 30 } @@ -696,8 +906,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 60, + "x": 40, + "y": 90, "w": 40, "h": 30 } @@ -717,8 +927,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 60, + "x": 80, + "y": 90, "w": 40, "h": 30 } @@ -738,8 +948,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 60, + "x": 120, + "y": 90, "w": 40, "h": 30 } @@ -759,8 +969,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 60, + "x": 160, + "y": 90, "w": 40, "h": 30 } @@ -780,8 +990,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 60, + "x": 200, + "y": 90, "w": 40, "h": 30 } @@ -801,8 +1011,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 60, + "x": 240, + "y": 90, "w": 40, "h": 30 } @@ -822,8 +1032,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 60, + "x": 280, + "y": 90, "w": 40, "h": 30 } @@ -843,7 +1053,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 320, "y": 90, "w": 40, "h": 30 @@ -864,7 +1074,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 360, "y": 90, "w": 40, "h": 30 @@ -885,7 +1095,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 400, "y": 90, "w": 40, "h": 30 @@ -906,7 +1116,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 440, "y": 90, "w": 40, "h": 30 @@ -927,7 +1137,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 480, "y": 90, "w": 40, "h": 30 @@ -948,8 +1158,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 90, + "x": 0, + "y": 120, "w": 40, "h": 30 } @@ -969,8 +1179,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 90, + "x": 40, + "y": 120, "w": 40, "h": 30 } @@ -990,8 +1200,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 90, + "x": 80, + "y": 120, "w": 40, "h": 30 } @@ -1011,8 +1221,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 90, + "x": 120, + "y": 120, "w": 40, "h": 30 } @@ -1032,8 +1242,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 90, + "x": 160, + "y": 120, "w": 40, "h": 30 } @@ -1053,8 +1263,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 90, + "x": 200, + "y": 120, "w": 40, "h": 30 } @@ -1074,8 +1284,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 90, + "x": 240, + "y": 120, "w": 40, "h": 30 } @@ -1095,8 +1305,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 90, + "x": 280, + "y": 120, "w": 40, "h": 30 } @@ -1116,7 +1326,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 320, "y": 120, "w": 40, "h": 30 @@ -1137,7 +1347,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 360, "y": 120, "w": 40, "h": 30 @@ -1158,7 +1368,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 400, "y": 120, "w": 40, "h": 30 @@ -1179,7 +1389,7 @@ "h": 30 }, "frame": { - "x": 120, + "x": 440, "y": 120, "w": 40, "h": 30 @@ -1200,7 +1410,7 @@ "h": 30 }, "frame": { - "x": 160, + "x": 480, "y": 120, "w": 40, "h": 30 @@ -1221,8 +1431,50 @@ "h": 30 }, "frame": { - "x": 200, - "y": 120, + "x": 0, + "y": 150, + "w": 40, + "h": 30 + } + }, + { + "filename": "871_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 40, + "y": 150, + "w": 40, + "h": 30 + } + }, + { + "filename": "871_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 150, "w": 40, "h": 30 } @@ -1242,8 +1494,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 120, + "x": 120, + "y": 150, "w": 40, "h": 30 } @@ -1263,8 +1515,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 120, + "x": 160, + "y": 150, "w": 40, "h": 30 } @@ -1284,8 +1536,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 120, + "x": 200, + "y": 150, "w": 40, "h": 30 } @@ -1305,8 +1557,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 120, + "x": 240, + "y": 150, "w": 40, "h": 30 } @@ -1326,8 +1578,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 120, + "x": 280, + "y": 150, "w": 40, "h": 30 } @@ -1347,8 +1599,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 120, + "x": 320, + "y": 150, "w": 40, "h": 30 } @@ -1368,8 +1620,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 120, + "x": 360, + "y": 150, "w": 40, "h": 30 } @@ -1389,7 +1641,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 400, "y": 150, "w": 40, "h": 30 @@ -1410,7 +1662,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 440, "y": 150, "w": 40, "h": 30 @@ -1431,7 +1683,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 480, "y": 150, "w": 40, "h": 30 @@ -1452,8 +1704,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 150, + "x": 0, + "y": 180, "w": 40, "h": 30 } @@ -1473,8 +1725,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 150, + "x": 40, + "y": 180, "w": 40, "h": 30 } @@ -1494,8 +1746,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 150, + "x": 80, + "y": 180, "w": 40, "h": 30 } @@ -1515,8 +1767,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 150, + "x": 120, + "y": 180, "w": 40, "h": 30 } @@ -1536,8 +1788,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 150, + "x": 160, + "y": 180, "w": 40, "h": 30 } @@ -1557,8 +1809,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 150, + "x": 200, + "y": 180, "w": 40, "h": 30 } @@ -1578,8 +1830,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 150, + "x": 240, + "y": 180, "w": 40, "h": 30 } @@ -1599,8 +1851,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 150, + "x": 280, + "y": 180, "w": 40, "h": 30 } @@ -1620,8 +1872,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 150, + "x": 320, + "y": 180, "w": 40, "h": 30 } @@ -1641,8 +1893,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 150, + "x": 360, + "y": 180, "w": 40, "h": 30 } @@ -1662,7 +1914,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 400, "y": 180, "w": 40, "h": 30 @@ -1683,7 +1935,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 440, "y": 180, "w": 40, "h": 30 @@ -1704,7 +1956,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 480, "y": 180, "w": 40, "h": 30 @@ -1725,8 +1977,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 180, + "x": 0, + "y": 210, "w": 40, "h": 30 } @@ -1746,8 +1998,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 180, + "x": 40, + "y": 210, "w": 40, "h": 30 } @@ -1767,8 +2019,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 180, + "x": 80, + "y": 210, "w": 40, "h": 30 } @@ -1788,8 +2040,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 180, + "x": 120, + "y": 210, "w": 40, "h": 30 } @@ -1809,8 +2061,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 180, + "x": 160, + "y": 210, "w": 40, "h": 30 } @@ -1830,8 +2082,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 180, + "x": 200, + "y": 210, "w": 40, "h": 30 } @@ -1851,8 +2103,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 180, + "x": 240, + "y": 210, "w": 40, "h": 30 } @@ -1872,8 +2124,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 180, + "x": 280, + "y": 210, "w": 40, "h": 30 } @@ -1893,8 +2145,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 180, + "x": 320, + "y": 210, "w": 40, "h": 30 } @@ -1914,8 +2166,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 180, + "x": 360, + "y": 210, "w": 40, "h": 30 } @@ -1935,7 +2187,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 400, "y": 210, "w": 40, "h": 30 @@ -1956,7 +2208,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 440, "y": 210, "w": 40, "h": 30 @@ -1977,7 +2229,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 480, "y": 210, "w": 40, "h": 30 @@ -1998,8 +2250,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 210, + "x": 0, + "y": 240, "w": 40, "h": 30 } @@ -2019,8 +2271,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 210, + "x": 40, + "y": 240, "w": 40, "h": 30 } @@ -2040,8 +2292,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 210, + "x": 80, + "y": 240, "w": 40, "h": 30 } @@ -2061,8 +2313,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 210, + "x": 120, + "y": 240, "w": 40, "h": 30 } @@ -2082,8 +2334,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 210, + "x": 160, + "y": 240, "w": 40, "h": 30 } @@ -2103,8 +2355,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 210, + "x": 200, + "y": 240, "w": 40, "h": 30 } @@ -2124,8 +2376,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 210, + "x": 240, + "y": 240, "w": 40, "h": 30 } @@ -2145,8 +2397,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 210, + "x": 280, + "y": 240, "w": 40, "h": 30 } @@ -2166,8 +2418,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 210, + "x": 320, + "y": 240, "w": 40, "h": 30 } @@ -2187,8 +2439,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 210, + "x": 360, + "y": 240, "w": 40, "h": 30 } @@ -2208,7 +2460,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 400, "y": 240, "w": 40, "h": 30 @@ -2229,7 +2481,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 440, "y": 240, "w": 40, "h": 30 @@ -2250,7 +2502,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 480, "y": 240, "w": 40, "h": 30 @@ -2271,8 +2523,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 240, + "x": 0, + "y": 270, "w": 40, "h": 30 } @@ -2292,8 +2544,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 240, + "x": 40, + "y": 270, "w": 40, "h": 30 } @@ -2313,8 +2565,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 240, + "x": 80, + "y": 270, "w": 40, "h": 30 } @@ -2334,8 +2586,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 240, + "x": 120, + "y": 270, "w": 40, "h": 30 } @@ -2355,8 +2607,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 240, + "x": 160, + "y": 270, "w": 40, "h": 30 } @@ -2376,8 +2628,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 240, + "x": 200, + "y": 270, "w": 40, "h": 30 } @@ -2397,8 +2649,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 240, + "x": 240, + "y": 270, "w": 40, "h": 30 } @@ -2418,8 +2670,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 240, + "x": 280, + "y": 270, "w": 40, "h": 30 } @@ -2439,8 +2691,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 240, + "x": 320, + "y": 270, "w": 40, "h": 30 } @@ -2460,8 +2712,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 240, + "x": 360, + "y": 270, "w": 40, "h": 30 } @@ -2481,7 +2733,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 400, "y": 270, "w": 40, "h": 30 @@ -2502,7 +2754,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 440, "y": 270, "w": 40, "h": 30 @@ -2523,7 +2775,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 480, "y": 270, "w": 40, "h": 30 @@ -2544,8 +2796,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 270, + "x": 0, + "y": 300, "w": 40, "h": 30 } @@ -2565,8 +2817,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 270, + "x": 40, + "y": 300, "w": 40, "h": 30 } @@ -2586,8 +2838,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 270, + "x": 80, + "y": 300, "w": 40, "h": 30 } @@ -2607,8 +2859,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 270, + "x": 120, + "y": 300, "w": 40, "h": 30 } @@ -2628,8 +2880,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 270, + "x": 160, + "y": 300, "w": 40, "h": 30 } @@ -2649,8 +2901,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 270, + "x": 200, + "y": 300, "w": 40, "h": 30 } @@ -2670,8 +2922,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 270, + "x": 240, + "y": 300, "w": 40, "h": 30 } @@ -2691,8 +2943,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 270, + "x": 280, + "y": 300, "w": 40, "h": 30 } @@ -2712,8 +2964,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 270, + "x": 320, + "y": 300, "w": 40, "h": 30 } @@ -2733,8 +2985,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 270, + "x": 360, + "y": 300, "w": 40, "h": 30 } @@ -2754,7 +3006,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 400, "y": 300, "w": 40, "h": 30 @@ -2775,7 +3027,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 440, "y": 300, "w": 40, "h": 30 @@ -2796,7 +3048,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 480, "y": 300, "w": 40, "h": 30 @@ -2817,8 +3069,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 300, + "x": 0, + "y": 330, "w": 40, "h": 30 } @@ -2838,8 +3090,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 300, + "x": 40, + "y": 330, "w": 40, "h": 30 } @@ -2859,8 +3111,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 300, + "x": 80, + "y": 330, "w": 40, "h": 30 } @@ -2880,8 +3132,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 300, + "x": 120, + "y": 330, "w": 40, "h": 30 } @@ -2901,8 +3153,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 300, + "x": 160, + "y": 330, "w": 40, "h": 30 } @@ -2922,8 +3174,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 300, + "x": 200, + "y": 330, "w": 40, "h": 30 } @@ -2943,8 +3195,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 300, + "x": 240, + "y": 330, "w": 40, "h": 30 } @@ -2964,8 +3216,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 300, + "x": 280, + "y": 330, "w": 40, "h": 30 } @@ -2985,8 +3237,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 300, + "x": 320, + "y": 330, "w": 40, "h": 30 } @@ -3006,8 +3258,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 300, + "x": 360, + "y": 330, "w": 40, "h": 30 } @@ -3027,7 +3279,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 400, "y": 330, "w": 40, "h": 30 @@ -3048,7 +3300,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 440, "y": 330, "w": 40, "h": 30 @@ -3069,7 +3321,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 480, "y": 330, "w": 40, "h": 30 @@ -3090,8 +3342,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 330, + "x": 0, + "y": 360, "w": 40, "h": 30 } @@ -3111,8 +3363,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 330, + "x": 40, + "y": 360, "w": 40, "h": 30 } @@ -3132,8 +3384,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 330, + "x": 80, + "y": 360, "w": 40, "h": 30 } @@ -3153,8 +3405,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 330, + "x": 120, + "y": 360, "w": 40, "h": 30 } @@ -3174,8 +3426,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 330, + "x": 160, + "y": 360, "w": 40, "h": 30 } @@ -3195,8 +3447,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 330, + "x": 200, + "y": 360, "w": 40, "h": 30 } @@ -3216,8 +3468,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 330, + "x": 240, + "y": 360, "w": 40, "h": 30 } @@ -3237,8 +3489,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 330, + "x": 280, + "y": 360, "w": 40, "h": 30 } @@ -3258,8 +3510,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 330, + "x": 320, + "y": 360, "w": 40, "h": 30 } @@ -3279,8 +3531,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 330, + "x": 360, + "y": 360, "w": 40, "h": 30 } @@ -3300,7 +3552,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 400, "y": 360, "w": 40, "h": 30 @@ -3321,7 +3573,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 440, "y": 360, "w": 40, "h": 30 @@ -3342,7 +3594,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 480, "y": 360, "w": 40, "h": 30 @@ -3363,8 +3615,8 @@ "h": 30 }, "frame": { - "x": 120, - "y": 360, + "x": 0, + "y": 390, "w": 40, "h": 30 } @@ -3384,8 +3636,8 @@ "h": 30 }, "frame": { - "x": 160, - "y": 360, + "x": 40, + "y": 390, "w": 40, "h": 30 } @@ -3405,8 +3657,8 @@ "h": 30 }, "frame": { - "x": 200, - "y": 360, + "x": 80, + "y": 390, "w": 40, "h": 30 } @@ -3426,8 +3678,8 @@ "h": 30 }, "frame": { - "x": 240, - "y": 360, + "x": 120, + "y": 390, "w": 40, "h": 30 } @@ -3447,8 +3699,8 @@ "h": 30 }, "frame": { - "x": 280, - "y": 360, + "x": 160, + "y": 390, "w": 40, "h": 30 } @@ -3468,8 +3720,8 @@ "h": 30 }, "frame": { - "x": 320, - "y": 360, + "x": 200, + "y": 390, "w": 40, "h": 30 } @@ -3489,8 +3741,8 @@ "h": 30 }, "frame": { - "x": 360, - "y": 360, + "x": 240, + "y": 390, "w": 40, "h": 30 } @@ -3510,8 +3762,8 @@ "h": 30 }, "frame": { - "x": 400, - "y": 360, + "x": 280, + "y": 390, "w": 40, "h": 30 } @@ -3531,8 +3783,8 @@ "h": 30 }, "frame": { - "x": 440, - "y": 360, + "x": 320, + "y": 390, "w": 40, "h": 30 } @@ -3552,8 +3804,8 @@ "h": 30 }, "frame": { - "x": 480, - "y": 360, + "x": 360, + "y": 390, "w": 40, "h": 30 } @@ -3573,7 +3825,7 @@ "h": 30 }, "frame": { - "x": 0, + "x": 400, "y": 390, "w": 40, "h": 30 @@ -3594,7 +3846,7 @@ "h": 30 }, "frame": { - "x": 40, + "x": 440, "y": 390, "w": 40, "h": 30 @@ -3615,7 +3867,7 @@ "h": 30 }, "frame": { - "x": 80, + "x": 480, "y": 390, "w": 40, "h": 30 @@ -3635,216 +3887,6 @@ "w": 40, "h": 30 }, - "frame": { - "x": 120, - "y": 390, - "w": 40, - "h": 30 - } - }, - { - "filename": "4562_2", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 160, - "y": 390, - "w": 40, - "h": 30 - } - }, - { - "filename": "4562_3", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 200, - "y": 390, - "w": 40, - "h": 30 - } - }, - { - "filename": "6100_2", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 240, - "y": 390, - "w": 40, - "h": 30 - } - }, - { - "filename": "6100_3", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 280, - "y": 390, - "w": 40, - "h": 30 - } - }, - { - "filename": "6101_2", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 320, - "y": 390, - "w": 40, - "h": 30 - } - }, - { - "filename": "6101_3", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 360, - "y": 390, - "w": 40, - "h": 30 - } - }, - { - "filename": "6215_2", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 400, - "y": 390, - "w": 40, - "h": 30 - } - }, - { - "filename": "6215_3", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 440, - "y": 390, - "w": 40, - "h": 30 - } - }, - { - "filename": "6503_2", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, - "frame": { - "x": 480, - "y": 390, - "w": 40, - "h": 30 - } - }, - { - "filename": "6503_3", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 40, - "h": 30 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 40, - "h": 30 - }, "frame": { "x": 0, "y": 420, @@ -3853,7 +3895,7 @@ } }, { - "filename": "6549_2", + "filename": "4562_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -3874,7 +3916,7 @@ } }, { - "filename": "6549_3", + "filename": "4562_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -3895,7 +3937,7 @@ } }, { - "filename": "6570_2", + "filename": "6100_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -3916,7 +3958,7 @@ } }, { - "filename": "6570_3", + "filename": "6100_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -3937,7 +3979,7 @@ } }, { - "filename": "6571_2", + "filename": "6101_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -3958,7 +4000,7 @@ } }, { - "filename": "6571_3", + "filename": "6101_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -3979,7 +4021,7 @@ } }, { - "filename": "6705_2", + "filename": "6215_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4000,7 +4042,7 @@ } }, { - "filename": "6705_3", + "filename": "6215_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4021,7 +4063,7 @@ } }, { - "filename": "6706_2", + "filename": "6503_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4042,7 +4084,7 @@ } }, { - "filename": "6706_3", + "filename": "6503_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4063,7 +4105,7 @@ } }, { - "filename": "6713_2", + "filename": "6549_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -4084,7 +4126,7 @@ } }, { - "filename": "6713_3", + "filename": "6549_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -4105,45 +4147,213 @@ } }, { - "filename": "871_1", + "filename": "6570_2", "rotated": false, "trimmed": false, "sourceSize": { - "w": 43, - "h": 43 + "w": 40, + "h": 30 }, "spriteSourceSize": { "x": 0, "y": 0, - "w": 43, - "h": 43 + "w": 40, + "h": 30 }, "frame": { "x": 0, "y": 450, - "w": 43, - "h": 43 + "w": 40, + "h": 30 } }, { - "filename": "871_2", + "filename": "6570_3", "rotated": false, "trimmed": false, "sourceSize": { - "w": 43, - "h": 43 + "w": 40, + "h": 30 }, "spriteSourceSize": { "x": 0, "y": 0, - "w": 43, - "h": 43 + "w": 40, + "h": 30 }, "frame": { - "x": 43, + "x": 40, "y": 450, - "w": 43, - "h": 43 + "w": 40, + "h": 30 + } + }, + { + "filename": "6571_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 450, + "w": 40, + "h": 30 + } + }, + { + "filename": "6571_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 450, + "w": 40, + "h": 30 + } + }, + { + "filename": "6705_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 450, + "w": 40, + "h": 30 + } + }, + { + "filename": "6705_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 450, + "w": 40, + "h": 30 + } + }, + { + "filename": "6706_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 240, + "y": 450, + "w": 40, + "h": 30 + } + }, + { + "filename": "6706_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 280, + "y": 450, + "w": 40, + "h": 30 + } + }, + { + "filename": "6713_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 320, + "y": 450, + "w": 40, + "h": 30 + } + }, + { + "filename": "6713_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 360, + "y": 450, + "w": 40, + "h": 30 } } ] @@ -4152,6 +4362,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:b19669ded7d4ac74c9b66946a18a8ddb:63ad6fc80832ef3907fc171ae5297b3e:ec5f05e7f30cd98f74db0c2326109fd3$" + "smartupdate": "$TexturePacker:SmartUpdate:8408a38565cd946fb1dcfa1e942bfa70:5d4e77c515d77c2e94d454fb7c52d9fc:ec5f05e7f30cd98f74db0c2326109fd3$" } } diff --git a/public/images/pokemon_icons_8v.png b/public/images/pokemon_icons_8v.png index 1027406c9f1..4017b0945d6 100644 Binary files a/public/images/pokemon_icons_8v.png and b/public/images/pokemon_icons_8v.png differ diff --git a/public/images/pokemon_icons_9v.json b/public/images/pokemon_icons_9v.json index 57159a3fbfb..4b7a7ba4572 100644 --- a/public/images/pokemon_icons_9v.json +++ b/public/images/pokemon_icons_9v.json @@ -3013,7 +3013,7 @@ } }, { - "filename": "1012-counterfeit_2", + "filename": "1011_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -3034,7 +3034,7 @@ } }, { - "filename": "1012-counterfeit_3", + "filename": "1011_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -3055,7 +3055,7 @@ } }, { - "filename": "1013-unremarkable_2", + "filename": "1012-counterfeit_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -3076,7 +3076,7 @@ } }, { - "filename": "1013-unremarkable_3", + "filename": "1012-counterfeit_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -3097,7 +3097,7 @@ } }, { - "filename": "1018_2", + "filename": "1013-unremarkable_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -3118,7 +3118,7 @@ } }, { - "filename": "1018_3", + "filename": "1013-unremarkable_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -3139,7 +3139,7 @@ } }, { - "filename": "1022_2", + "filename": "1018_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -3160,7 +3160,7 @@ } }, { - "filename": "1022_3", + "filename": "1018_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -3181,7 +3181,7 @@ } }, { - "filename": "1023_2", + "filename": "1019_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -3202,7 +3202,7 @@ } }, { - "filename": "1023_3", + "filename": "1019_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -3223,7 +3223,7 @@ } }, { - "filename": "8901_1", + "filename": "1022_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -3244,7 +3244,7 @@ } }, { - "filename": "8901_2", + "filename": "1022_3", "rotated": false, "trimmed": false, "sourceSize": { @@ -3265,7 +3265,7 @@ } }, { - "filename": "8901_3", + "filename": "1023_2", "rotated": false, "trimmed": false, "sourceSize": { @@ -3284,6 +3284,90 @@ "w": 40, "h": 30 } + }, + { + "filename": "1023_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 80, + "y": 420, + "w": 40, + "h": 30 + } + }, + { + "filename": "8901_1", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 120, + "y": 420, + "w": 40, + "h": 30 + } + }, + { + "filename": "8901_2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 160, + "y": 420, + "w": 40, + "h": 30 + } + }, + { + "filename": "8901_3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 40, + "h": 30 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 40, + "h": 30 + }, + "frame": { + "x": 200, + "y": 420, + "w": 40, + "h": 30 + } } ] } @@ -3291,6 +3375,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:c01add1e11aabd2f8931110a67a9222b:e7531bea9b5e1bef44def5b357c81630:3ec5c0bc286c296cfb7fa30a8b06f3da$" + "smartupdate": "$TexturePacker:SmartUpdate:a78ab8261d4cd63caee19962a0e01d8a:cb77bcbd2cc296577c3f2ba84b4c50f2:3ec5c0bc286c296cfb7fa30a8b06f3da$" } } diff --git a/public/images/pokemon_icons_9v.png b/public/images/pokemon_icons_9v.png index f3530abe569..3636c3059d8 100644 Binary files a/public/images/pokemon_icons_9v.png and b/public/images/pokemon_icons_9v.png differ diff --git a/public/locales b/public/locales index 833dc40ec74..a7036a07875 160000 --- a/public/locales +++ b/public/locales @@ -1 +1 @@ -Subproject commit 833dc40ec7409031fcea147ccbc45ec9c0ba0213 +Subproject commit a7036a07875615674ea898d0fe3b182a1080af38 diff --git a/src/data/abilities/ability.ts b/src/data/abilities/ability.ts index 6bdf299b5c2..55540dfa1f1 100644 --- a/src/data/abilities/ability.ts +++ b/src/data/abilities/ability.ts @@ -6907,6 +6907,8 @@ export function initAbilities() { .attr(IllusionBreakAbAttr) // The Pokemon loses its illusion when damaged by a move .attr(PostDefendIllusionBreakAbAttr, true) + // Disable Illusion in fusions + .attr(NoFusionAbilityAbAttr) // Illusion is available again after a battle .conditionalAttr((pokemon) => pokemon.isAllowedInBattle(), IllusionPostBattleAbAttr, false) .uncopiable() diff --git a/src/data/balance/egg-moves.ts b/src/data/balance/egg-moves.ts index 47898e9e885..289ac60bcc5 100644 --- a/src/data/balance/egg-moves.ts +++ b/src/data/balance/egg-moves.ts @@ -66,7 +66,7 @@ export const speciesEggMoves = { [Species.PORYGON]: [ Moves.THUNDERCLAP, Moves.AURA_SPHERE, Moves.FLAMETHROWER, Moves.TECHNO_BLAST ], [Species.OMANYTE]: [ Moves.FREEZE_DRY, Moves.GIGA_DRAIN, Moves.POWER_GEM, Moves.STEAM_ERUPTION ], [Species.KABUTO]: [ Moves.CEASELESS_EDGE, Moves.HIGH_HORSEPOWER, Moves.CRABHAMMER, Moves.MIGHTY_CLEAVE ], - [Species.AERODACTYL]: [ Moves.FLOATY_FALL, Moves.CLOSE_COMBAT, Moves.STONE_AXE, Moves.SWORDS_DANCE ], + [Species.AERODACTYL]: [ Moves.FLOATY_FALL, Moves.HIGH_HORSEPOWER, Moves.STONE_AXE, Moves.SWORDS_DANCE ], [Species.ARTICUNO]: [ Moves.EARTH_POWER, Moves.CALM_MIND, Moves.AURORA_VEIL, Moves.AEROBLAST ], [Species.ZAPDOS]: [ Moves.BLEAKWIND_STORM, Moves.CALM_MIND, Moves.SANDSEAR_STORM, Moves.ELECTRO_SHOT ], [Species.MOLTRES]: [ Moves.EARTH_POWER, Moves.CALM_MIND, Moves.AEROBLAST, Moves.TORCH_SONG ], @@ -360,7 +360,7 @@ export const speciesEggMoves = { [Species.CLAUNCHER]: [ Moves.SHELL_SMASH, Moves.ARMOR_CANNON, Moves.ENERGY_BALL, Moves.ORIGIN_PULSE ], [Species.HELIOPTILE]: [ Moves.WEATHER_BALL, Moves.HYDRO_STEAM, Moves.EARTH_POWER, Moves.BOOMBURST ], [Species.TYRUNT]: [ Moves.DRAGON_HAMMER, Moves.FLARE_BLITZ, Moves.VOLT_TACKLE, Moves.SHIFT_GEAR ], - [Species.AMAURA]: [ Moves.RECOVER, Moves.WRING_OUT, Moves.POWER_GEM, Moves.GEOMANCY ], + [Species.AMAURA]: [ Moves.RECOVER, Moves.TERA_STARSTORM, Moves.POWER_GEM, Moves.GEOMANCY ], [Species.HAWLUCHA]: [ Moves.TRIPLE_AXEL, Moves.HIGH_HORSEPOWER, Moves.FLOATY_FALL, Moves.WICKED_BLOW ], [Species.DEDENNE]: [ Moves.BOOMBURST, Moves.FAKE_OUT, Moves.NASTY_PLOT, Moves.REVIVAL_BLESSING ], [Species.CARBINK]: [ Moves.BODY_PRESS, Moves.SHORE_UP, Moves.SPARKLY_SWIRL, Moves.DIAMOND_STORM ], @@ -436,7 +436,7 @@ export const speciesEggMoves = { [Species.ALOLA_RATTATA]: [ Moves.FALSE_SURRENDER, Moves.PSYCHIC_FANGS, Moves.COIL, Moves.EXTREME_SPEED ], [Species.ALOLA_SANDSHREW]: [ Moves.SPIKY_SHIELD, Moves.LIQUIDATION, Moves.SHIFT_GEAR, Moves.GLACIAL_LANCE ], [Species.ALOLA_VULPIX]: [ Moves.MOONBLAST, Moves.GLARE, Moves.MYSTICAL_FIRE, Moves.REVIVAL_BLESSING ], - [Species.ALOLA_DIGLETT]: [ Moves.THOUSAND_WAVES, Moves.SWORDS_DANCE, Moves.TRIPLE_DIVE, Moves.MOUNTAIN_GALE ], + [Species.ALOLA_DIGLETT]: [ Moves.THOUSAND_WAVES, Moves.SWORDS_DANCE, Moves.TRIPLE_DIVE, Moves.PYRO_BALL ], [Species.ALOLA_MEOWTH]: [ Moves.BADDY_BAD, Moves.BUZZY_BUZZ, Moves.PARTING_SHOT, Moves.MAKE_IT_RAIN ], [Species.ALOLA_GEODUDE]: [ Moves.THOUSAND_WAVES, Moves.BULK_UP, Moves.STONE_AXE, Moves.EXTREME_SPEED ], [Species.ALOLA_GRIMER]: [ Moves.SUCKER_PUNCH, Moves.BARB_BARRAGE, Moves.RECOVER, Moves.SURGING_STRIKES ], diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 408893cea66..62d1eff7ca3 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -3482,7 +3482,8 @@ export class CutHpStatStageBoostAttr extends StatStageChangeAttr { /** * Attribute implementing the stat boosting effect of {@link https://bulbapedia.bulbagarden.net/wiki/Order_Up_(move) | Order Up}. * If the user has a Pokemon with {@link https://bulbapedia.bulbagarden.net/wiki/Commander_(Ability) | Commander} in their mouth, - * one of the user's stats are increased by 1 stage, depending on the "commanding" Pokemon's form. + * one of the user's stats are increased by 1 stage, depending on the "commanding" Pokemon's form. This effect does not respect + * effect chance, but Order Up itself may be boosted by Sheer Force. */ export class OrderUpStatBoostAttr extends MoveEffectAttr { constructor() { @@ -11024,7 +11025,7 @@ export function initMoves() { .makesContact(false), new AttackMove(Moves.LUMINA_CRASH, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 80, 100, 10, 100, 0, 9) .attr(StatStageChangeAttr, [ Stat.SPDEF ], -2), - new AttackMove(Moves.ORDER_UP, PokemonType.DRAGON, MoveCategory.PHYSICAL, 80, 100, 10, -1, 0, 9) + new AttackMove(Moves.ORDER_UP, PokemonType.DRAGON, MoveCategory.PHYSICAL, 80, 100, 10, 100, 0, 9) .attr(OrderUpStatBoostAttr) .makesContact(false), new AttackMove(Moves.JET_PUNCH, PokemonType.WATER, MoveCategory.PHYSICAL, 60, 100, 15, -1, 1, 9) diff --git a/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts b/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts index bab0c44db7d..25798de3b4a 100644 --- a/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts @@ -88,7 +88,7 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = MysteryEncounterBui const r = randSeedInt(SHINY_MAGIKARP_WEIGHT); - const validEventEncounters = timedEventManager + let validEventEncounters = timedEventManager .getEventEncounters() .filter( s => @@ -116,18 +116,44 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = MysteryEncounterBui // If you roll 1%, give shiny Magikarp with random variant species = getPokemonSpecies(Species.MAGIKARP); pokemon = new PlayerPokemon(species, 5, 2, undefined, undefined, true); - } else if ( + } + else if ( (validEventEncounters.length > 0 && (r <= EVENT_THRESHOLD || (isNullOrUndefined(species.abilityHidden) || species.abilityHidden === Abilities.NONE))) ) { - // If you roll 20%, give event encounter with 3 extra shiny rolls and its HA, if it has one - const enc = randSeedItem(validEventEncounters); - species = getPokemonSpecies(enc.species); - pokemon = new PlayerPokemon(species, 5, species.abilityHidden === Abilities.NONE ? undefined : 2, enc.formIndex); - pokemon.trySetShinySeed(); - pokemon.trySetShinySeed(); - pokemon.trySetShinySeed(); - } else { + tries = 0; + do { + // If you roll 20%, give event encounter with 3 extra shiny rolls and its HA, if it has one + const enc = randSeedItem(validEventEncounters); + species = getPokemonSpecies(enc.species); + pokemon = new PlayerPokemon(species, 5, species.abilityHidden === Abilities.NONE ? undefined : 2, enc.formIndex); + pokemon.trySetShinySeed(); + pokemon.trySetShinySeed(); + pokemon.trySetShinySeed(); + if (pokemon.shiny || pokemon.abilityIndex === 2) { + break; + } + tries++; + } while (tries < 6); + if (!pokemon.shiny && pokemon.abilityIndex !== 2) { + // If, after 6 tries, you STILL somehow don't have an HA or shiny mon, pick from only the event mons that have an HA. + if (validEventEncounters.some(s => !!getPokemonSpecies(s.species).abilityHidden)) { + validEventEncounters.filter(s => !!getPokemonSpecies(s.species).abilityHidden); + const enc = randSeedItem(validEventEncounters); + species = getPokemonSpecies(enc.species); + pokemon = new PlayerPokemon(species, 5, 2, enc.formIndex); + pokemon.trySetShinySeed(); + pokemon.trySetShinySeed(); + pokemon.trySetShinySeed(); + } + else { + // If there's, and this would never happen, no eligible event encounters with a hidden ability, just do Magikarp + species = getPokemonSpecies(Species.MAGIKARP); + pokemon = new PlayerPokemon(species, 5, 2, undefined, undefined, true); + } + } + } + else { pokemon = new PlayerPokemon(species, 5, 2, species.formIndex); } pokemon.generateAndPopulateMoveset(); diff --git a/src/system/pokemon-data.ts b/src/system/pokemon-data.ts index 7e71dffde5e..ef1f30830f0 100644 --- a/src/system/pokemon-data.ts +++ b/src/system/pokemon-data.ts @@ -4,7 +4,7 @@ import type { Gender } from "../data/gender"; import { Nature } from "#enums/nature"; import { PokeballType } from "#enums/pokeball"; import { getPokemonSpecies, getPokemonSpeciesForm } from "../data/pokemon-species"; -import type { Status } from "../data/status-effect"; +import { Status } from "../data/status-effect"; import Pokemon, { EnemyPokemon, PokemonBattleData, PokemonMove, PokemonSummonData } from "../field/pokemon"; import { TrainerSlot } from "#enums/trainer-slot"; import type { Variant } from "#app/sprites/variant"; @@ -105,7 +105,9 @@ export default class PokemonData { // TODO: Can't we move some of this verification stuff to an upgrade script? this.nature = source.nature ?? Nature.HARDY; this.moveset = source.moveset.map((m: any) => PokemonMove.loadMove(m)); - this.status = source.status ?? null; + this.status = source.status + ? new Status(source.status.effect, source.status.toxicTurnCount, source.status.sleepTurnsRemaining) + : null; this.friendship = source.friendship ?? getPokemonSpecies(this.species).baseFriendship; this.metLevel = source.metLevel || 5; this.metBiome = source.metBiome ?? -1; diff --git a/src/timed-event-manager.ts b/src/timed-event-manager.ts index 3f5e0393ff7..951d98aefec 100644 --- a/src/timed-event-manager.ts +++ b/src/timed-event-manager.ts @@ -340,7 +340,6 @@ const timedEvents: TimedEvent[] = [ { species: Species.DEERLING, formIndex: 0 }, // Spring Deerling { species: Species.CLAUNCHER }, { species: Species.WISHIWASHI }, - { species: Species.MUDBRAY }, { species: Species.DRAMPA }, { species: Species.JANGMO_O }, { species: Species.APPLIN }, @@ -351,7 +350,7 @@ const timedEvents: TimedEvent[] = [ { wave: 8, type: "CATCHING_CHARM" }, { wave: 25, type: "SHINY_CHARM" }, ], - } + }, ]; export class TimedEventManager { diff --git a/test/moves/order_up.test.ts b/test/moves/order_up.test.ts index 701d0489c25..b5df5bfba41 100644 --- a/test/moves/order_up.test.ts +++ b/test/moves/order_up.test.ts @@ -65,4 +65,23 @@ describe("Moves - Order Up", () => { affectedStats.forEach(st => expect(dondozo.getStatStage(st)).toBe(st === stat ? 3 : 2)); }, ); + + it("should be boosted by Sheer Force while still applying a stat boost", async () => { + game.override.passiveAbility(Abilities.SHEER_FORCE).starterForms({ [Species.TATSUGIRI]: 0 }); + + await game.classicMode.startBattle([Species.TATSUGIRI, Species.DONDOZO]); + + const [tatsugiri, dondozo] = game.scene.getPlayerField(); + + expect(game.scene.triggerPokemonBattleAnim).toHaveBeenLastCalledWith(tatsugiri, PokemonAnimType.COMMANDER_APPLY); + expect(dondozo.getTag(BattlerTagType.COMMANDED)).toBeDefined(); + + game.move.select(Moves.ORDER_UP, 1, BattlerIndex.ENEMY); + expect(game.scene.currentBattle.turnCommands[0]?.skip).toBeTruthy(); + + await game.phaseInterceptor.to("BerryPhase", false); + + expect(dondozo.waveData.abilitiesApplied.has(Abilities.SHEER_FORCE)).toBeTruthy(); + expect(dondozo.getStatStage(Stat.ATK)).toBe(3); + }); });