From f2a042c3f0924b95f83d1978376dbda6290c5b5a Mon Sep 17 00:00:00 2001
From: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
Date: Fri, 20 Sep 2024 20:17:44 -0500
Subject: [PATCH] [Enhancement] Add Team Star as potential evil team (#4019)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* Add Team Star (WIP)
Still missing dialogue for all new trainer types, team compositions will need refining, and Starmobile graphics still do not exist yet.
* Add dialogue for all Team Star trainers
Dialogue put together courtesy of @Blitz425
* Add additional Macro Grunt dialogue lines
As suggested to be included by @Blitz425
* Add dialogue entries in dialogue.ts
Forgot them with my last commit, whoops
* Add back Team Star trainer types
Latest merge of beta into this PR deleted them for some reason
* Update Team Star boss team compositions
Bunch up Eeveelutions more in first fight, move random Rotom form to first fight. Remove Espeon, Umbreon, and Rotom from second fight, add legendary beasts and paradox beasts in their place, remove Zacian chance from second fight.
Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
* fix missing semicolon
* Guarantee Sylveon is always Terastallized
* Guarantee Starmobiles on admin's teams
Also resizing the Starmobiles by 1.5 like Gigantamax Pokémon (it is still just regular Revavroom visually for now).
* Adjust trainer pools for Grunts and Admins
* Add new custom sprites for Starmobiles
This adds front and shiny front sprites made by Kieran. Party icons and back sprites are still placeholders for now.
* Minor pool adjustments
Eevee moved to Uncommon on grunts, Varoom replaced with Hisui Qwilfish for Atticus, and Heracross replaced with Pawmi for Eri.
* Remove Leon's Zamazenta, rename Team Star Boss
As to not have overlap between the champion and Star boss teams.
Also doubled the weights of the Starmobile forms.
* Force movesets for Starmobiles
Also fix accidentally giving Mela a Venusaur instead of a Revavroom. (it was just a testing thing, I swear)
* Correct movesets
Didn't realize copied movesets were desired, ech
---------
Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
---
public/audio/bgm/battle_star_admin.mp3 | Bin 0 -> 4484826 bytes
public/audio/bgm/battle_star_boss.mp3 | Bin 0 -> 4080079 bytes
public/audio/bgm/battle_star_grunt.mp3 | Bin 0 -> 5418592 bytes
.../images/pokemon/966-caph-starmobile.json | 19 +
public/images/pokemon/966-caph-starmobile.png | Bin 0 -> 2645 bytes
.../images/pokemon/966-navi-starmobile.json | 19 +
public/images/pokemon/966-navi-starmobile.png | Bin 0 -> 2516 bytes
.../pokemon/966-ruchbah-starmobile.json | 19 +
.../images/pokemon/966-ruchbah-starmobile.png | Bin 0 -> 2542 bytes
.../pokemon/966-schedar-starmobile.json | 19 +
.../images/pokemon/966-schedar-starmobile.png | Bin 0 -> 2522 bytes
.../images/pokemon/966-segin-starmobile.json | 19 +
.../images/pokemon/966-segin-starmobile.png | Bin 0 -> 2459 bytes
.../pokemon/back/966-caph-starmobile.json | 41 +
.../pokemon/back/966-caph-starmobile.png | Bin 0 -> 1009 bytes
.../pokemon/back/966-navi-starmobile.json | 41 +
.../pokemon/back/966-navi-starmobile.png | Bin 0 -> 1009 bytes
.../pokemon/back/966-ruchbah-starmobile.json | 41 +
.../pokemon/back/966-ruchbah-starmobile.png | Bin 0 -> 1009 bytes
.../pokemon/back/966-schedar-starmobile.json | 41 +
.../pokemon/back/966-schedar-starmobile.png | Bin 0 -> 1009 bytes
.../pokemon/back/966-segin-starmobile.json | 41 +
.../pokemon/back/966-segin-starmobile.png | Bin 0 -> 1009 bytes
.../back/shiny/966-caph-starmobile.json | 41 +
.../back/shiny/966-caph-starmobile.png | Bin 0 -> 1010 bytes
.../back/shiny/966-navi-starmobile.json | 41 +
.../back/shiny/966-navi-starmobile.png | Bin 0 -> 1010 bytes
.../back/shiny/966-ruchbah-starmobile.json | 41 +
.../back/shiny/966-ruchbah-starmobile.png | Bin 0 -> 1010 bytes
.../back/shiny/966-schedar-starmobile.json | 41 +
.../back/shiny/966-schedar-starmobile.png | Bin 0 -> 1010 bytes
.../back/shiny/966-segin-starmobile.json | 41 +
.../back/shiny/966-segin-starmobile.png | Bin 0 -> 1010 bytes
.../pokemon/icons/9/966-caph-starmobile.png | Bin 0 -> 473 bytes
.../pokemon/icons/9/966-navi-starmobile.png | Bin 0 -> 473 bytes
.../icons/9/966-ruchbah-starmobile.png | Bin 0 -> 473 bytes
.../icons/9/966-schedar-starmobile.png | Bin 0 -> 473 bytes
.../pokemon/icons/9/966-segin-starmobile.png | Bin 0 -> 473 bytes
.../pokemon/icons/9/966s-caph-starmobile.png | Bin 0 -> 478 bytes
.../pokemon/icons/9/966s-navi-starmobile.png | Bin 0 -> 478 bytes
.../icons/9/966s-ruchbah-starmobile.png | Bin 0 -> 478 bytes
.../icons/9/966s-schedar-starmobile.png | Bin 0 -> 478 bytes
.../pokemon/icons/9/966s-segin-starmobile.png | Bin 0 -> 478 bytes
.../pokemon/shiny/966-caph-starmobile.json | 19 +
.../pokemon/shiny/966-caph-starmobile.png | Bin 0 -> 2711 bytes
.../pokemon/shiny/966-navi-starmobile.json | 19 +
.../pokemon/shiny/966-navi-starmobile.png | Bin 0 -> 2586 bytes
.../pokemon/shiny/966-ruchbah-starmobile.json | 19 +
.../pokemon/shiny/966-ruchbah-starmobile.png | Bin 0 -> 2601 bytes
.../pokemon/shiny/966-schedar-starmobile.json | 19 +
.../pokemon/shiny/966-schedar-starmobile.png | Bin 0 -> 2581 bytes
.../pokemon/shiny/966-segin-starmobile.json | 19 +
.../pokemon/shiny/966-segin-starmobile.png | Bin 0 -> 2537 bytes
public/images/pokemon_icons_9.json | 6914 +++++++++--------
public/images/pokemon_icons_9.png | Bin 52493 -> 54840 bytes
public/images/trainer/atticus.json | 41 +
public/images/trainer/atticus.png | Bin 0 -> 741 bytes
public/images/trainer/eri.json | 41 +
public/images/trainer/eri.png | Bin 0 -> 946 bytes
public/images/trainer/giacomo.json | 41 +
public/images/trainer/giacomo.png | Bin 0 -> 1027 bytes
public/images/trainer/mela.json | 41 +
public/images/trainer/mela.png | Bin 0 -> 1152 bytes
public/images/trainer/ortega.json | 41 +
public/images/trainer/ortega.png | Bin 0 -> 937 bytes
public/images/trainer/penny.json | 41 +
public/images/trainer/penny.png | Bin 0 -> 955 bytes
public/images/trainer/star_grunt_f.json | 41 +
public/images/trainer/star_grunt_f.png | Bin 0 -> 756 bytes
public/images/trainer/star_grunt_m.json | 41 +
public/images/trainer/star_grunt_m.png | Bin 0 -> 803 bytes
src/battle-scene.ts | 6 +
src/battle.ts | 16 +-
src/data/dialogue.ts | 90 +
src/data/pokemon-level-moves.ts | 102 +
src/data/pokemon-species.ts | 9 +-
src/data/trainer-config.ts | 132 +-
src/enums/trainer-type.ts | 8 +
src/field/pokemon.ts | 2 +-
src/locales/en/bgm-name.json | 3 +
src/locales/en/dialogue.json | 97 +-
src/locales/en/trainer-classes.json | 5 +-
src/locales/en/trainer-names.json | 6 +
src/locales/en/trainer-titles.json | 2 +
84 files changed, 4953 insertions(+), 3367 deletions(-)
create mode 100644 public/audio/bgm/battle_star_admin.mp3
create mode 100644 public/audio/bgm/battle_star_boss.mp3
create mode 100644 public/audio/bgm/battle_star_grunt.mp3
create mode 100644 public/images/pokemon/966-caph-starmobile.json
create mode 100644 public/images/pokemon/966-caph-starmobile.png
create mode 100644 public/images/pokemon/966-navi-starmobile.json
create mode 100644 public/images/pokemon/966-navi-starmobile.png
create mode 100644 public/images/pokemon/966-ruchbah-starmobile.json
create mode 100644 public/images/pokemon/966-ruchbah-starmobile.png
create mode 100644 public/images/pokemon/966-schedar-starmobile.json
create mode 100644 public/images/pokemon/966-schedar-starmobile.png
create mode 100644 public/images/pokemon/966-segin-starmobile.json
create mode 100644 public/images/pokemon/966-segin-starmobile.png
create mode 100644 public/images/pokemon/back/966-caph-starmobile.json
create mode 100644 public/images/pokemon/back/966-caph-starmobile.png
create mode 100644 public/images/pokemon/back/966-navi-starmobile.json
create mode 100644 public/images/pokemon/back/966-navi-starmobile.png
create mode 100644 public/images/pokemon/back/966-ruchbah-starmobile.json
create mode 100644 public/images/pokemon/back/966-ruchbah-starmobile.png
create mode 100644 public/images/pokemon/back/966-schedar-starmobile.json
create mode 100644 public/images/pokemon/back/966-schedar-starmobile.png
create mode 100644 public/images/pokemon/back/966-segin-starmobile.json
create mode 100644 public/images/pokemon/back/966-segin-starmobile.png
create mode 100644 public/images/pokemon/back/shiny/966-caph-starmobile.json
create mode 100644 public/images/pokemon/back/shiny/966-caph-starmobile.png
create mode 100644 public/images/pokemon/back/shiny/966-navi-starmobile.json
create mode 100644 public/images/pokemon/back/shiny/966-navi-starmobile.png
create mode 100644 public/images/pokemon/back/shiny/966-ruchbah-starmobile.json
create mode 100644 public/images/pokemon/back/shiny/966-ruchbah-starmobile.png
create mode 100644 public/images/pokemon/back/shiny/966-schedar-starmobile.json
create mode 100644 public/images/pokemon/back/shiny/966-schedar-starmobile.png
create mode 100644 public/images/pokemon/back/shiny/966-segin-starmobile.json
create mode 100644 public/images/pokemon/back/shiny/966-segin-starmobile.png
create mode 100644 public/images/pokemon/icons/9/966-caph-starmobile.png
create mode 100644 public/images/pokemon/icons/9/966-navi-starmobile.png
create mode 100644 public/images/pokemon/icons/9/966-ruchbah-starmobile.png
create mode 100644 public/images/pokemon/icons/9/966-schedar-starmobile.png
create mode 100644 public/images/pokemon/icons/9/966-segin-starmobile.png
create mode 100644 public/images/pokemon/icons/9/966s-caph-starmobile.png
create mode 100644 public/images/pokemon/icons/9/966s-navi-starmobile.png
create mode 100644 public/images/pokemon/icons/9/966s-ruchbah-starmobile.png
create mode 100644 public/images/pokemon/icons/9/966s-schedar-starmobile.png
create mode 100644 public/images/pokemon/icons/9/966s-segin-starmobile.png
create mode 100644 public/images/pokemon/shiny/966-caph-starmobile.json
create mode 100644 public/images/pokemon/shiny/966-caph-starmobile.png
create mode 100644 public/images/pokemon/shiny/966-navi-starmobile.json
create mode 100644 public/images/pokemon/shiny/966-navi-starmobile.png
create mode 100644 public/images/pokemon/shiny/966-ruchbah-starmobile.json
create mode 100644 public/images/pokemon/shiny/966-ruchbah-starmobile.png
create mode 100644 public/images/pokemon/shiny/966-schedar-starmobile.json
create mode 100644 public/images/pokemon/shiny/966-schedar-starmobile.png
create mode 100644 public/images/pokemon/shiny/966-segin-starmobile.json
create mode 100644 public/images/pokemon/shiny/966-segin-starmobile.png
create mode 100644 public/images/trainer/atticus.json
create mode 100644 public/images/trainer/atticus.png
create mode 100644 public/images/trainer/eri.json
create mode 100644 public/images/trainer/eri.png
create mode 100644 public/images/trainer/giacomo.json
create mode 100644 public/images/trainer/giacomo.png
create mode 100644 public/images/trainer/mela.json
create mode 100644 public/images/trainer/mela.png
create mode 100644 public/images/trainer/ortega.json
create mode 100644 public/images/trainer/ortega.png
create mode 100644 public/images/trainer/penny.json
create mode 100644 public/images/trainer/penny.png
create mode 100644 public/images/trainer/star_grunt_f.json
create mode 100644 public/images/trainer/star_grunt_f.png
create mode 100644 public/images/trainer/star_grunt_m.json
create mode 100644 public/images/trainer/star_grunt_m.png
diff --git a/public/audio/bgm/battle_star_admin.mp3 b/public/audio/bgm/battle_star_admin.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..461a9a2b26235a902fd8a6dbc0c7283c6404860e
GIT binary patch
literal 4484826
zcmdqI^;cU@)IOTvE
(^r^{54K
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