From 60d19c9a2c96e2e7235878edfa930a5e49291b06 Mon Sep 17 00:00:00 2001 From: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> Date: Wed, 7 Aug 2024 16:31:02 +0200 Subject: [PATCH] [Feature] Unique Evil Team Admins (#3384) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Hardcoded Pokemon should have proper names * Add evil admin placeholder images * Add admin names to locale files * Add evil team admin dialogue * current things. * rename * team galactic wants to be special * Revert debug changes * Added Trainer Names and Titles * [Hotfix] Fix interactions of some moves not changing types (#3183) * [Hotfix] Fix wild spawns not having their HA (#3190) * Add evil admin placeholder images * Add admin names to locale files * Add evil team admin dialogue * Added new sprites * Make simple admin trainer pools * Add Korean localization * Revert this * [Feature] Named Evil Team Admins * Dateien removed * Revert override * French only needs one pair of evil team bosses :) * Some things Temp Mentioned in the PR * Removed NoDuplicates again...Because it only works on the speciality pool.... Also reordered the second admin wave. So we guarantee it is never the same one * German dialogue * Offset * Jรถrdis just better * Credit for the artists (see https://www.deviantart.com/icejkai/art/Magma-Admin-Courtney-Trainer-Sprite-544510574) * Order * Added tsdoc and named it more clear * Fixed formatting and made it a void function * Changed offset to number and updated tsdoch * Improve readability * Removed extra lines * Fix this * Revert override * colress gets his own pool because @blitzy wants it (and i agree) * Added Rood (some plasma sage guy) * has voucher is not false by default. So only it will be set true for evil team leaders, gym leaders, elite 4 and champions * Apply suggestions from code review Co-authored-by: Lugiad' Co-authored-by: returntoice * Added the localization also to japanese * Update src/locales/ko/trainers.ts Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com> * CA * Removed Colress * Colress Last Stand --------- Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com> Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> Co-authored-by: Lugiad' Co-authored-by: returntoice Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com> --- README.md | 1 + public/images/trainer/aqua_admin_f.json | 41 - .../{aqua_admin_m.json => archer.json} | 4 +- .../{rocket_admin_m.png => archer.png} | Bin .../{rocket_admin_m.json => ariana.json} | 2 +- .../{rocket_admin_f.png => ariana.png} | Bin .../{magma_admin_f.json => bryony.json} | 4 +- .../trainer/{flare_admin_f.png => bryony.png} | Bin public/images/trainer/courtney.json | 41 + public/images/trainer/courtney.png | Bin 0 -> 1508 bytes public/images/trainer/flare_admin_m.json | 41 - public/images/trainer/galactic_admin_f.json | 41 - public/images/trainer/galactic_admin_m.json | 41 - .../{flare_admin_f.json => jupiter.json} | 4 +- public/images/trainer/jupiter.png | Bin 0 -> 657 bytes public/images/trainer/magma_admin_f.png | Bin 847 -> 0 bytes public/images/trainer/magma_admin_m.json | 41 - public/images/trainer/mars.json | 41 + .../{galactic_admin_f.png => mars.png} | Bin public/images/trainer/matt.json | 41 + .../trainer/{aqua_admin_m.png => matt.png} | Bin public/images/trainer/petrel.json | 41 + public/images/trainer/petrel.png | Bin 0 -> 728 bytes public/images/trainer/plasma_sage.json | 2120 ----------------- public/images/trainer/plasma_sage.png | Bin 5075 -> 0 bytes public/images/trainer/proton.json | 41 + public/images/trainer/proton.png | Bin 0 -> 670 bytes public/images/trainer/rocket_admin_f.json | 41 - public/images/trainer/saturn.json | 41 + .../{galactic_admin_m.png => saturn.png} | Bin public/images/trainer/shelly.json | 41 + .../trainer/{aqua_admin_f.png => shelly.png} | Bin public/images/trainer/tabitha.json | 41 + .../{magma_admin_m.png => tabitha.png} | Bin public/images/trainer/xerosic.json | 41 + .../{flare_admin_m.png => xerosic.png} | Bin src/battle.ts | 24 +- src/data/dialogue.ts | 196 +- src/data/trainer-config.ts | 749 +++--- src/enums/trainer-type.ts | 430 ++-- src/field/trainer.ts | 4 +- src/locales/ca-ES/dialogue.ts | 275 ++- src/locales/ca-ES/trainers.ts | 42 +- src/locales/de/dialogue.ts | 289 ++- src/locales/de/trainers.ts | 42 +- src/locales/en/dialogue.ts | 271 ++- src/locales/en/trainers.ts | 42 +- src/locales/es/dialogue.ts | 197 ++ src/locales/es/trainers.ts | 53 +- src/locales/fr/dialogue.ts | 269 ++- src/locales/fr/trainers.ts | 43 +- src/locales/it/dialogue.ts | 269 ++- src/locales/it/trainers.ts | 52 +- src/locales/ja/dialogue.ts | 275 ++- src/locales/ja/trainers.ts | 44 +- src/locales/ko/dialogue.ts | 269 ++- src/locales/ko/trainers.ts | 44 +- src/locales/pt_BR/dialogue.ts | 197 ++ src/locales/pt_BR/trainers.ts | 42 +- src/locales/zh_CN/dialogue.ts | 269 ++- src/locales/zh_CN/trainers.ts | 41 +- src/locales/zh_TW/dialogue.ts | 269 ++- src/locales/zh_TW/trainers.ts | 53 +- src/system/voucher.ts | 2 +- 64 files changed, 3757 insertions(+), 3745 deletions(-) delete mode 100644 public/images/trainer/aqua_admin_f.json rename public/images/trainer/{aqua_admin_m.json => archer.json} (95%) rename public/images/trainer/{rocket_admin_m.png => archer.png} (100%) rename public/images/trainer/{rocket_admin_m.json => ariana.json} (95%) rename public/images/trainer/{rocket_admin_f.png => ariana.png} (100%) rename public/images/trainer/{magma_admin_f.json => bryony.json} (95%) rename public/images/trainer/{flare_admin_f.png => bryony.png} (100%) create mode 100644 public/images/trainer/courtney.json create mode 100644 public/images/trainer/courtney.png delete mode 100644 public/images/trainer/flare_admin_m.json delete mode 100644 public/images/trainer/galactic_admin_f.json delete mode 100644 public/images/trainer/galactic_admin_m.json rename public/images/trainer/{flare_admin_f.json => jupiter.json} (95%) create mode 100644 public/images/trainer/jupiter.png delete mode 100644 public/images/trainer/magma_admin_f.png delete mode 100644 public/images/trainer/magma_admin_m.json create mode 100644 public/images/trainer/mars.json rename public/images/trainer/{galactic_admin_f.png => mars.png} (100%) create mode 100644 public/images/trainer/matt.json rename public/images/trainer/{aqua_admin_m.png => matt.png} (100%) create mode 100644 public/images/trainer/petrel.json create mode 100644 public/images/trainer/petrel.png delete mode 100644 public/images/trainer/plasma_sage.json delete mode 100644 public/images/trainer/plasma_sage.png create mode 100644 public/images/trainer/proton.json create mode 100644 public/images/trainer/proton.png delete mode 100644 public/images/trainer/rocket_admin_f.json create mode 100644 public/images/trainer/saturn.json rename public/images/trainer/{galactic_admin_m.png => saturn.png} (100%) create mode 100644 public/images/trainer/shelly.json rename public/images/trainer/{aqua_admin_f.png => shelly.png} (100%) create mode 100644 public/images/trainer/tabitha.json rename public/images/trainer/{magma_admin_m.png => tabitha.png} (100%) create mode 100644 public/images/trainer/xerosic.json rename public/images/trainer/{flare_admin_m.png => xerosic.png} (100%) diff --git a/README.md b/README.md index ade4adc2c59..77246fa4402 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,7 @@ Check out [Github Issues](https://github.com/pagefaultgames/pokerogue/issues) to - kyledove - Brumirage - pkmn_realidea (Paid Commissions) + - IceJkai ### ๐ŸŽจ Trainer Portraits - pkmn_realidea (Paid Commissions) diff --git a/public/images/trainer/aqua_admin_f.json b/public/images/trainer/aqua_admin_f.json deleted file mode 100644 index 35e6e43edc3..00000000000 --- a/public/images/trainer/aqua_admin_f.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "textures": [ - { - "image": "aqua_admin_f.png", - "format": "RGBA8888", - "size": { - "w": 80, - "h": 80 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 80, - "h": 80 - }, - "frame": { - "x": 0, - "y": 0, - "w": 80, - "h": 80 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:efd07ff3ed1e610150a4b8ca18974343:d9b85b9eb11182e9e4669e2bd8b08694:72b7b50231708a9486d5f315824e4df1$" - } -} diff --git a/public/images/trainer/aqua_admin_m.json b/public/images/trainer/archer.json similarity index 95% rename from public/images/trainer/aqua_admin_m.json rename to public/images/trainer/archer.json index f52412623cc..892a137d61c 100644 --- a/public/images/trainer/aqua_admin_m.json +++ b/public/images/trainer/archer.json @@ -1,7 +1,7 @@ { "textures": [ { - "image": "aqua_admin_m.png", + "image": "archer.png", "format": "RGBA8888", "size": { "w": 80, @@ -38,4 +38,4 @@ "version": "3.0", "smartupdate": "$TexturePacker:SmartUpdate:831f5748dad92911b10a1cb358ee2dae:a3bf81bbaa3b49cad5e0e549cf94563b:bb6befc9383c9c08837183ae2a7a80c1$" } -} \ No newline at end of file +} diff --git a/public/images/trainer/rocket_admin_m.png b/public/images/trainer/archer.png similarity index 100% rename from public/images/trainer/rocket_admin_m.png rename to public/images/trainer/archer.png diff --git a/public/images/trainer/rocket_admin_m.json b/public/images/trainer/ariana.json similarity index 95% rename from public/images/trainer/rocket_admin_m.json rename to public/images/trainer/ariana.json index a1ad82dd9a2..d7d24afed6e 100644 --- a/public/images/trainer/rocket_admin_m.json +++ b/public/images/trainer/ariana.json @@ -1,7 +1,7 @@ { "textures": [ { - "image": "rocket_admin_m.png", + "image": "ariana.png", "format": "RGBA8888", "size": { "w": 80, diff --git a/public/images/trainer/rocket_admin_f.png b/public/images/trainer/ariana.png similarity index 100% rename from public/images/trainer/rocket_admin_f.png rename to public/images/trainer/ariana.png diff --git a/public/images/trainer/magma_admin_f.json b/public/images/trainer/bryony.json similarity index 95% rename from public/images/trainer/magma_admin_f.json rename to public/images/trainer/bryony.json index 95e00803df4..7d939fff58f 100644 --- a/public/images/trainer/magma_admin_f.json +++ b/public/images/trainer/bryony.json @@ -1,7 +1,7 @@ { "textures": [ { - "image": "magma_admin_f.png", + "image": "bryony.png", "format": "RGBA8888", "size": { "w": 80, @@ -38,4 +38,4 @@ "version": "3.0", "smartupdate": "$TexturePacker:SmartUpdate:831f5748dad92911b10a1cb358ee2dae:a3bf81bbaa3b49cad5e0e549cf94563b:bb6befc9383c9c08837183ae2a7a80c1$" } -} \ No newline at end of file +} diff --git a/public/images/trainer/flare_admin_f.png b/public/images/trainer/bryony.png similarity index 100% rename from public/images/trainer/flare_admin_f.png rename to public/images/trainer/bryony.png diff --git a/public/images/trainer/courtney.json b/public/images/trainer/courtney.json new file mode 100644 index 00000000000..de55e91eb85 --- /dev/null +++ b/public/images/trainer/courtney.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "courtney.png", + "format": "RGBA8888", + "size": { + "w": 52, + "h": 80 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 52, + "h": 80 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 52, + "h": 80 + }, + "frame": { + "x": 0, + "y": 0, + "w": 52, + "h": 80 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:831f5748dad92911b10a1cb358ee2dae:a3bf81bbaa3b49cad5e0e549cf94563b:bb6befc9383c9c08837183ae2a7a80c1$" + } +} diff --git a/public/images/trainer/courtney.png b/public/images/trainer/courtney.png new file mode 100644 index 0000000000000000000000000000000000000000..991e7ac006f416414404789ac4e889141b058506 GIT binary patch literal 1508 zcmV{b*2000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPBlF#s}z7bD+YMIV~GZojShF z&h1*SlJ>o6b6Pea`*mXqS(}0Yv-k0K!4ClpL%x{}F1-Odv%XoH0$>JWcJIb+!T-$* zlLZK;bcC~ZoHxhK>=;na6^NwF(BC-_eZm~29T*HyRR;rV7MScn^b-_#e7H9?0)_K+ARKoB zr^Z^D3RPw4YnxTLhAgWAfc_;?;^7G5Zi=u=9kVFk= z_tVW0lviomvL_qR3#;pe8TFX<4RhX?Hw@1Pr7Fz=k`2f}-oNr;@#eXAO2a8@GXsce z1Hb^0cV-324rESKn<*e__?)9q^TK2SGH1+j1tLjWJC4V4P7`Ia01;XSLAU{<;RRGG zh^#=UV@@+d#h}PJDPfWV*{FnrKzSf$q`6=k18L!Cd4r)AAcgeRK<|LaDI`IhkEw(* zHUcVSYM8l!%o)w>9)@e^OTcig{Q$iK(nMGlLO`i9sF@3DE*PH(HN(fQweZt|vo}Br zRu7e7MeT)==_xL;!KuN-P*d|zb(UoMpfgF-@F6xSM94#g-7HW(EV)nP zJ~SAFu|6_wMGTAX5_RG5z+V zAdafyOf!H{Xbt@&AvZ5jY$oapQ{BhHk)k)rppX*CgJ@x@ucmw`HYr|{1H}f87?4)z z8d^=uqNG4|psWM2Y{Gjt_NwH<0O{J0wfW^0v!-*U)_}a@w8d5>ngF%(CCTSo+tK#5 zvuD#ktPO?ChEQV)*?CMIYj5(LRupP;YYphy-i>x1)KTqi<w!ZqWAF)5&-%tOrHq>E?fKtqZf>UWB6f$-E z_R9L{(XpzOVkFECboHO5a)0pPe)#j~ei?dfcKqu0Zh4$6{Bnn!O$T&-#4Odn+2L=Y z;k&t3Mmb&8u6k*r6TIF7>Fksj`z*6ysor(BUdz4l((-73@Z`5}?zPuTOSSc)IQ{YN zop9-g1N(&sjc?XgxaqqDoqAi}Nx8JrsX{wvE|=>3`o~}CZrYVPW~tT5rjS+FL&s~c zNveu&DHXx=iz*$mRUvXu>J{;1FqTX7V^{q~)WZOjB9UeVs`{!o29u-zB<(}D9v+Mx zU;g=KxPEl>zw78b$wxP~9DOKAiKE{qkazS;$GUae&O%P1a8~=0hMBHPu+-UWAgXB; zs;Z{BHYH4QAP*J$h}K`%dmxdrDeLN?I{7F#rGn{RYsA00001 zbW%=J06^y0W&i*J4@pEpRCwCV(?O0ZF%W~{kkFG(rQN>&ZJ$+nd%ucX-kNm0L9%RuDvwoEWzS1!sVcQyP$ihB z(*n-LdO(P20+;LnJ7!H#oCBPLwN6m(fqhWoscPk@0u5f_0@bt(%!xHKd79Xy9kr1x zmROHD<;{7xMAk}9fi6)b1ezvN5x6PP;z6y4Hm^Nk6A1<$55x^dfDUlr(J;aVatr`t z3_@*#MEn9t2iW@pJ7`(R-tQY-5e|@G-1i+3bbvBQEzE(1Ah`{Kkpu6Xi#?De$Z_9e z3?{z^F5nFo1IY3lBuMUf%z+E+lE{efLFT{&Ltb7V8=yF%B$yXtf%pmp*)FVsePl$6 z_-Z1a&nM4Izzgia_c!x7p3jcDyq+QxYh`4Gk38sh_ zSk+l2engUIJ+I}dAhj#OtG3oI@-t5hE_rWIo=UK_vwb>HM;EfZ!Ok<|`nFvERWA<_ z(9wMV9^3~}UkJ&qh3jDarx?I$^EzE#VWd~()n);EkBA$pvUtE>e`80C2>QI72rnqg zFDBTXAmxp5+r;2dHZZ~qrUMEF3MLH|TQ2v|Wzgdgmq_uD3t=-me@ rjG={edg?EO1rb3OWAt+WMkD|L6%sG6qL9*v00000NkvXXu0mjfNFOIX literal 0 HcmV?d00001 diff --git a/public/images/trainer/magma_admin_f.png b/public/images/trainer/magma_admin_f.png deleted file mode 100644 index 979fe6ae83738ea7c680d15006b2199a56529fbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 847 zcmV-V1F-ywP)^j`@E{2+?9q~^>| zegX|MSJPNTUS34%kPze4(>TEpF3-3khTs6#&@hHx8>0m^{ewq+%W!n%0C zWnIa*<9L66Z@G9-z#)Rr9>0}4juu2%d|(5T_T<`mW)*#2!y>I|$_;~o#BLC#&GUfI z0X0Bs`%et>zQ29#pbBDp^j~lDyldLFM$M$6c?KTvgC;7d;-DgY9{K`u2kptQ&*<0% zA`*X#O7?E=MxA_%N+ze*Aa;?uQ$)@=IUBM`ymf_0Oh`FpYznwUi74I{V;WQ51TGLE z1QVb#D>!oWiD4<5Y098D893dd3uF@O339@%h*Oj;Il!=reK$xMa^sW}tCwA(NOyvw zAQNrbB{D5bfD)hrQUpx&bS2~hf{2xkuoWF0Vz3fNWW)k)Xc~+j5y@VM6-`W&dKE+~ z6B{OCg-_9O9f5igF;1B7XDGtD__iJOCKWYBRF5cly-nRy3`<7~u>&-Zq=+zpNyPw{ z$0U!UdWJs}+&vS&6%Lc?c!q>>8!^nwDuN3Dk`EGjLS#V7k0<9(sNgB$15e(Uh;z!w z3TCFeh~~K@GYlKks3a@si_MCaJHdv%pfa4s3v>r328(+BB$V{Crmq2>Qn@A81@}rI zY-(uwy&7l|nj-cUy#ns21okFZ1m^-)>Pmkv6jeYB1-yoCa8{&&A^P`ZvBpooxxk0Lq12AYQdeboHt Z`2!llB*-I|PaFUM002ovPDHLkV1fX3YV`mB diff --git a/public/images/trainer/magma_admin_m.json b/public/images/trainer/magma_admin_m.json deleted file mode 100644 index 977e911eb69..00000000000 --- a/public/images/trainer/magma_admin_m.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "textures": [ - { - "image": "magma_admin_m.png", - "format": "RGBA8888", - "size": { - "w": 80, - "h": 80 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 80, - "h": 80 - }, - "frame": { - "x": 0, - "y": 0, - "w": 80, - "h": 80 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:f63ad48affc076f60fae78992c96a2bf:80928b32710abcb28c07c6fc5a425d99:3b961d8852b62aaf24ceb2030c036515$" - } -} diff --git a/public/images/trainer/mars.json b/public/images/trainer/mars.json new file mode 100644 index 00000000000..0f2dcded0c3 --- /dev/null +++ b/public/images/trainer/mars.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "mars.png", + "format": "RGBA8888", + "size": { + "w": 80, + "h": 80 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 80, + "h": 80 + }, + "frame": { + "x": 0, + "y": 0, + "w": 80, + "h": 80 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:831f5748dad92911b10a1cb358ee2dae:a3bf81bbaa3b49cad5e0e549cf94563b:bb6befc9383c9c08837183ae2a7a80c1$" + } +} diff --git a/public/images/trainer/galactic_admin_f.png b/public/images/trainer/mars.png similarity index 100% rename from public/images/trainer/galactic_admin_f.png rename to public/images/trainer/mars.png diff --git a/public/images/trainer/matt.json b/public/images/trainer/matt.json new file mode 100644 index 00000000000..b749e740d00 --- /dev/null +++ b/public/images/trainer/matt.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "matt.png", + "format": "RGBA8888", + "size": { + "w": 80, + "h": 80 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 80, + "h": 80 + }, + "frame": { + "x": 0, + "y": 0, + "w": 80, + "h": 80 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:831f5748dad92911b10a1cb358ee2dae:a3bf81bbaa3b49cad5e0e549cf94563b:bb6befc9383c9c08837183ae2a7a80c1$" + } +} diff --git a/public/images/trainer/aqua_admin_m.png b/public/images/trainer/matt.png similarity index 100% rename from public/images/trainer/aqua_admin_m.png rename to public/images/trainer/matt.png diff --git a/public/images/trainer/petrel.json b/public/images/trainer/petrel.json new file mode 100644 index 00000000000..182a402cae4 --- /dev/null +++ b/public/images/trainer/petrel.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "petrel.png", + "format": "RGBA8888", + "size": { + "w": 80, + "h": 80 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 80, + "h": 80 + }, + "frame": { + "x": 0, + "y": 0, + "w": 80, + "h": 80 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:831f5748dad92911b10a1cb358ee2dae:a3bf81bbaa3b49cad5e0e549cf94563b:bb6befc9383c9c08837183ae2a7a80c1$" + } +} diff --git a/public/images/trainer/petrel.png b/public/images/trainer/petrel.png new file mode 100644 index 0000000000000000000000000000000000000000..d4043735316d1373011700877f69da15e83f8dfd GIT binary patch literal 728 zcmV;}0w?{6P)q77h0asqVC1&DI zDimB?+(Q>q^XszI^E?B<<>I*gS_tk7=D}+P!Hk^~_dNp4nFH6H2?i`=gq&g*y@0N+ z5d{kXaW$|k5J2Wh(Q7GtDN8NnL}p1*#kFk9QU%35Rg!a{qB2k`hbR-3aZgAbD$kDQ z&4AiK1@H+fCJrnFTf$0do(jf61;z64icgf=#;})g=%YtaQ~((irFjWb+>#DD)JcqZ z?F~hFANh8=I5yBhp;lZxo(ldSgo?;bH>|ii1NMdY#9pB?<}oOP#)6i!{t8sHfp;0O z%=gxx9Y2B(Go=4b-SdgS0lYv$Y7dGs0%ium;ZOr13N@oh@4v+c!lXbvuni6}O#`Vm z&`jYSa)^nFj(SXuU{BR}anP8gQ8B;84^Y!+Gyr{rRRCv4JQ1xWS--F%#wOg-moW9{dn6 z2_hbRdm(3rh`Nzp2_`502p|}wHw$`ZPXUH0Pz}QJ4R*g~49kjuG)Fq`xkGJAszX)b+%& literal 0 HcmV?d00001 diff --git a/public/images/trainer/plasma_sage.json b/public/images/trainer/plasma_sage.json deleted file mode 100644 index 05e75141ec0..00000000000 --- a/public/images/trainer/plasma_sage.json +++ /dev/null @@ -1,2120 +0,0 @@ -{ - "textures": [ - { - "image": "plasma_sage.png", - "format": "RGBA8888", - "size": { - "w": 250, - "h": 250 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 11, - "y": 1, - "w": 56, - "h": 79 - }, - "frame": { - "x": 1, - "y": 1, - "w": 56, - "h": 79 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 11, - "y": 1, - "w": 56, - "h": 79 - }, - "frame": { - "x": 1, - "y": 1, - "w": 56, - "h": 79 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 11, - "y": 1, - "w": 56, - "h": 79 - }, - "frame": { - "x": 1, - "y": 1, - "w": 56, - "h": 79 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 11, - "y": 1, - "w": 56, - "h": 79 - }, - "frame": { - "x": 1, - "y": 1, - "w": 56, - "h": 79 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 13, - "y": 2, - "w": 55, - "h": 78 - }, - "frame": { - "x": 1, - "y": 82, - "w": 55, - "h": 78 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 14, - "y": 2, - "w": 54, - "h": 78 - }, - "frame": { - "x": 59, - "y": 1, - "w": 54, - "h": 78 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 14, - "y": 2, - "w": 54, - "h": 78 - }, - "frame": { - "x": 59, - "y": 1, - "w": 54, - "h": 78 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 16, - "y": 3, - "w": 53, - "h": 77 - }, - "frame": { - "x": 1, - "y": 162, - "w": 53, - "h": 77 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 16, - "y": 4, - "w": 53, - "h": 76 - }, - "frame": { - "x": 115, - "y": 1, - "w": 53, - "h": 76 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 16, - "y": 4, - "w": 53, - "h": 76 - }, - "frame": { - "x": 115, - "y": 1, - "w": 53, - "h": 76 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 16, - "y": 4, - "w": 53, - "h": 76 - }, - "frame": { - "x": 115, - "y": 1, - "w": 53, - "h": 76 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 16, - "y": 4, - "w": 53, - "h": 76 - }, - "frame": { - "x": 115, - "y": 1, - "w": 53, - "h": 76 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 16, - "y": 4, - "w": 53, - "h": 76 - }, - "frame": { - "x": 115, - "y": 1, - "w": 53, - "h": 76 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 16, - "y": 4, - "w": 53, - "h": 76 - }, - "frame": { - "x": 115, - "y": 1, - "w": 53, - "h": 76 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 16, - "y": 4, - "w": 53, - "h": 76 - }, - "frame": { - "x": 115, - "y": 1, - "w": 53, - "h": 76 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 20, - "y": 3, - "w": 49, - "h": 77 - }, - "frame": { - "x": 170, - "y": 1, - "w": 49, - "h": 77 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 20, - "y": 2, - "w": 47, - "h": 78 - }, - "frame": { - "x": 58, - "y": 82, - "w": 47, - "h": 78 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 56, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 56, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 0, - "w": 46, - "h": 80 - }, - "frame": { - "x": 107, - "y": 81, - "w": 46, - "h": 80 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 0, - "w": 46, - "h": 80 - }, - "frame": { - "x": 104, - "y": 163, - "w": 46, - "h": 80 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 0, - "w": 46, - "h": 80 - }, - "frame": { - "x": 155, - "y": 80, - "w": 46, - "h": 80 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 0, - "w": 46, - "h": 80 - }, - "frame": { - "x": 155, - "y": 80, - "w": 46, - "h": 80 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 0, - "w": 46, - "h": 80 - }, - "frame": { - "x": 155, - "y": 80, - "w": 46, - "h": 80 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 0, - "w": 46, - "h": 80 - }, - "frame": { - "x": 155, - "y": 80, - "w": 46, - "h": 80 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 0, - "w": 46, - "h": 80 - }, - "frame": { - "x": 155, - "y": 80, - "w": 46, - "h": 80 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 0, - "w": 46, - "h": 80 - }, - "frame": { - "x": 155, - "y": 80, - "w": 46, - "h": 80 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 0, - "w": 46, - "h": 80 - }, - "frame": { - "x": 155, - "y": 80, - "w": 46, - "h": 80 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 0, - "w": 46, - "h": 80 - }, - "frame": { - "x": 155, - "y": 80, - "w": 46, - "h": 80 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 0, - "w": 46, - "h": 80 - }, - "frame": { - "x": 155, - "y": 80, - "w": 46, - "h": 80 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 0, - "w": 46, - "h": 80 - }, - "frame": { - "x": 155, - "y": 80, - "w": 46, - "h": 80 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 0, - "w": 46, - "h": 80 - }, - "frame": { - "x": 155, - "y": 80, - "w": 46, - "h": 80 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 0, - "w": 46, - "h": 80 - }, - "frame": { - "x": 155, - "y": 80, - "w": 46, - "h": 80 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 0, - "w": 46, - "h": 80 - }, - "frame": { - "x": 203, - "y": 80, - "w": 46, - "h": 80 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 0, - "w": 46, - "h": 80 - }, - "frame": { - "x": 203, - "y": 80, - "w": 46, - "h": 80 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 0, - "w": 46, - "h": 80 - }, - "frame": { - "x": 152, - "y": 163, - "w": 46, - "h": 80 - } - }, - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0058.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0059.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0060.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0061.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0062.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0063.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0064.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0065.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0066.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0067.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0068.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0069.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0070.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0071.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0072.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0073.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0074.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0075.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0076.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0077.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0078.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0079.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0080.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0081.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0082.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0083.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0084.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0085.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0086.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0087.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0088.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0089.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0090.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0091.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0092.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0093.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0094.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0095.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0096.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0097.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0098.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0099.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - }, - { - "filename": "0100.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 21, - "y": 1, - "w": 46, - "h": 79 - }, - "frame": { - "x": 200, - "y": 162, - "w": 46, - "h": 79 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:98df2be457c75de554b8ce6c2f5ff582:93e2cb242dc211e2485f87e4db93af88:0c38bc008e5ede7b6331c02b8220846f$" - } -} \ No newline at end of file diff --git a/public/images/trainer/plasma_sage.png b/public/images/trainer/plasma_sage.png deleted file mode 100644 index 6c866562989a99bbba8b844b7d17f3e5be6128de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5075 zcmXX~cRX9)8#Ze;c5SJ>XNkQ+t48fj?LCUdtWrCuReOYrEv-#$@8|vJoWTPY?Ah@Y}U)vNPPp>CAG5$IzgP_3& zDPsfkyZDG7tgsGYVPR=uFn;KPZSliZ5A1830E59A5+IYNrjwJatJRTvt8edpV$sJ7 z2!l-x%?LEm3m*7{BJjQqgn)pG;d&Ah6vJ2u2pCj!wKdJdmv&)PIaMO`iK6W9tqN4H zuGS<1H0gf1=?3iHV?Q1pnG2jzp%~B@9NP#uTLvsUbvkBKm=B#VEh|X8uebtkGrJMx zNvRudzJ)s6`YFLsmvGW@FDKo{m1f2Lx)5p-Wdog*iPbAydl?e#^;7JcabXjXz~$!^ z34;Hv07Z}96cuM+K;Zei*Gym=V!39cDX@v^uQxWvw)4|X(SOnwEK9JHorPGtfq*f^ zp=;ti*~es{zD$t@|A(f2y6(eTwRiyfSw+URk7J~nY`yctcYc@&fJDx9*DRx-WQC({ zKTy9q0&Nd_v*^qW)&u@-Io1sTFTeSSAZ`NT?o~E6U0#GQ#A#jsQ2O~tpZtz`~_t0Z?m_t6|K zuYUqDOr>Ia;r^Py(Qzlhe`qNvw9}xR9zAx{7{B~uwll?_w?rxP(}{Y~U$k9q>4%aU z>Ts%Dk|X{i9b0hSKf#_vp<3B^8efHn*FRcsQ`(E&nlg_{OSgZ3%%ypi-)8Od&es_@ zCg&Oc&Q!adbd;6|60sXXEzjX@#CxsW+3x@HRlVx1SG$w&g{~b6>Sc#6Id$i* zAlM#cgh%fd(R7~Z*Y@k~kIl*!O&7H6I@vV39oOeRj*3T*g**}ncioRNJ8j(N2{m^Z zmyj8Vz>2utSb*5&UYfSFs&q2-=umZWxSywJdwegV(#+}G%&mWj8+47pemfic?<#$GW8h(lVvRWyWS|20n1cKW_*qG2)u6tiG-6!DpIi z$HJ#x138|4wfDk8tzuxOPzqXzg=%?0l3IqpOW8hNl;(|ek+}k$GN>3aJzBXH9lg7u z60BV0NfhPl=IaZ_EKG3TM9&vdPHLe>;R2#1&GFQh!Y*55+YmwdXAz?%3E>5PdyKy= zo4J6%duunc;Ud2p7P3c8?}ZbTOI;koCQ1e#)KG2Vy1RKqLxFWmP?n%WU-9Av#P-!W zV{(6!m`8BgRjNCgyT~~0C*EM`1ODF;VRA*Reo?T(!w>~bA(_Zs-4GN2g<&^WvLw&z zj-^7JuNolybSpoXLOi2%fp>*e7?!}xIv@I853n-|MTWE1wVqYhN*nm;UL0XhVO%M{ zr5#kVQ)rLp0q&j@v(HX93W6?OG6krUIF{JNAJE@v#TAuUR2E#*ofO&L}xFcPkvV*NN|n3J~S}DI5Nm4O4}A% zxF3HP^J6fs;1{|l7_B0>Zjd3D@ zeWJfz-5!CY&a9!N(q{g)@=N5(A!e6xO}HVF14cl%x z71?srX<9v&q zc6*Clw@9{xy{SBdKg^BLrNCcQ<@LY&+^R{9Me5Iso7Sx9^+*Dql9{GHu#unszGNX@ z`CN|Rj*I?$lVcjl>_#Dp9Ry`oqbKji%4wVUy?P=t^JMr!BGPhzL`vVcyQ-VFEJR(^ z%%0~}!?&&!P6LlxK_h`-C60$yz9M4pRRaE8YJJtrf8off`f7*JlFKE|r={UNLgd~3 z2iRRnrB`1bN5JQ^eYpEGtSoX(+O3r`3!p_+w$tIzS0e9)Bw8IEys>q+*1GEuLuvb% z=5pKfS3Mu%#d!Y{A1?_L=R_r(aovCj7Rtacm7}r>z?15{tScOx-%n z80a(T!CBiKOQ|3?L~_(Uzx`}jDa1JW^;y8p8#N*2CjoX)(>uQKWuGRVWzg!1%AL5l z9Su@gaYG*Oqn60hH5ECc_`g8p_6%fxw6|m{iu@mgiDYsqFzj%6|E)%7Igz0_7kA~Q zYgcbX=;B>XJP^|QEYe%kb&kYS%v6XSfN#axCv^MKG%9p@$=s}v|3K@oo?V*8%&FdH zyf~#eZeAoyZuW8xM&>@O8CpnWfRe5aMn34g+S2fCZ}>^s>aomR+zIzn7zdcg)JH7k zKT=nmEGBGtu-xO2HTtxA5>?_R!{J6IGCfxj((vaEtOHm9T&i=vnCo-rBwK`2%E~SE z)2xNsdp{s;y#@EvJxnCN-l>l0fj{)M`0(-Z@l@umx!b;xXA9>gr2k5W;<2x{UA9Y~ ze&+TS&P9Q)#^PJQ-Bz}at;yG%_bRi?>LAYb_t07l%;H4EnCWx-_NN z#qT(g78hR)T~XVxW4#>>(#Tr1m~KlN+K8FcwSvBUbbu8iQ=?{|qn@*?*1gl3$I+ls zwHsP(Q8(P#_xRDm)2X|RG0e3p!4rfxK7{GCYt2(SwBp(e^g71fddRq^S6TK0>=XAG zL6Q=EP_IGKPgng8hxr=w5)==y{@PXu+cQ5RXAO-=%Dabe4d1DA_ietdPcD~sq?$P| z-b$w*U*fOPj8-0RRsvdp5Tx#bK+xVkTNz{GZ7K~BMMNqo4 zn@pG4nvV=he+-MP6%*OZ?aAApY?dg9L{`gq?;y;rb|G6>|7U=43D0uPRM%SjgLU)u zk;0Gh3j^OnNNq$55Tx$PCey{Ydx`S>0T8KEgz4tna*Wlo>0ZA+lMyE{dT`q1fIw|*@nQZ3EJ}&5sOL@Pw zEF^aR*nN4|(wH1Z&gLl`?}bWZ3iAZ9<`b_3kZ!g*?>>BHH*veTuwz|-#4!GkgQ!6< z`+dW}x$ZF8+G8vf@KO-1COpnc>S|FZ)JOzR@qU4cAI;S&1Kw zX|lL>QLI4&d2FRGImgoF3k)EFDLEohl|Pm3CBW!rBJv$PNX&(+gE6eeG6w0sYed!N zbT;%^!QN$+)OGL8Tq!JKmz5Rkx-UZYU28v zIpfRHtO7we>iSzFJMjPI0wtTH9`}ehqz-H-BAFU71k(%M`fJ79WzECI8(Vr3iL!MS;b#C;`uPy>|u10P(2U9 z_jYYdykYMz@da3(In&-Wy<#uJ0T;L!>Tf+v6Ue|Du%K zc$|{a`}L&d8Z%Di+kAY!zG*eIIP46$l>3Yzs=+%tWvu=8a}<=c&=Ev^dkd&5}?xE<*!0LT-?oZ{=bQmenyq+nxPjY_w0V2Y{5l@tR|261Ki(w1TIcHd5NWVn`! zxFVv`YS&W2~0S$Wg`Z4Y-+ZnNQxZ$Je|(s+--Ul0 z@cgrx+dG0zho(HXEw-$hyGRs!vK7Mc{*Vs4^dF(@uYeJ`p7YTJ;!KQ@elE`qVs-J( zOY&EuR={c);%-1Lf;hW*;zHk1P5zZ)#CphreM*T{{8&g0zvZv`9Fsr?)(`(-4D_Eq zZ-X*?zCDS5(iORFf?xCC8&&e+CgY1a`xAT|eP!+1+@3~A(P72ND15JzT$7?XStn0s z=-OV3Vww^00001 zbW%=J06^y0W&i*J97#k$RCwC$*GIavIt+wi+@d2cef!_-HG&hGlP!<#^Vf{@y2vp7 z%P}4q$SL9s@}w6M#&~)q9gzpOL{UctlmbyCxByErhKS)|WlgtOZ?#qc-$Y7Dg7tR0 z-&c%aUCD+aHZxG^a-puGSvSaiBj+uZI}~dq{bEZKD^@QvcE3+FFhMr4)_W^g=F{o% zxYssoBcWGhuJ_YCpIWHfywte?=F2Jac%4_w8cOEcK3&S?1%T9n^z)i!S=TF0i;p_?B8b;aYrr%c#VGD#}HqGHcwXUYGk+_dI6QtR!=&B39Whl9+c;}09{WN zgG+&jiljZ~sbaq1CZa72@Ei|u2xzOfvSUD&#mv}?`T)?DWnl_1k_V&UChjU(kZB;O z&p^oSu{eT80*sEZgQZZ4Tc)ByEGi{5qgd+s0M>%3m^ICW$-_&LGBwA{VLvBXl89?* zZ&QgWPwr2#NFEF_z+vLb;bXz~4L$Eg4i)ntFcx$shU_zX@um?KL)pDok)$^sRCsTq zr+;w68&eT^fQRWE=;APd$av4sRB~W!4j)buBtCB3p1_!6eW0$kW_bd)SqpvOn&)k~ zM!LZG#kn5KEHTeIL2Kc7T({8SjR!y7kpDLr+kG$Qz4740c(6lM;|7Drb9@jbqvJNw zcNGnO53Vukd(eL0lJ6@Z>91nsyYYYnm`M!w?U)1eA9|oUa#PuW{r~^~07*qoM6N<$ Eg1sv%4*&oF literal 0 HcmV?d00001 diff --git a/public/images/trainer/rocket_admin_f.json b/public/images/trainer/rocket_admin_f.json deleted file mode 100644 index 7c154785ba3..00000000000 --- a/public/images/trainer/rocket_admin_f.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "textures": [ - { - "image": "rocket_admin_f.png", - "format": "RGBA8888", - "size": { - "w": 80, - "h": 80 - }, - "scale": 1, - "frames": [ - { - "filename": "0001.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 80, - "h": 80 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 80, - "h": 80 - }, - "frame": { - "x": 0, - "y": 0, - "w": 80, - "h": 80 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:831f5748dad92911b10a1cb358ee2dae:a3bf81bbaa3b49cad5e0e549cf94563b:bb6befc9383c9c08837183ae2a7a80c1$" - } -} \ No newline at end of file diff --git a/public/images/trainer/saturn.json b/public/images/trainer/saturn.json new file mode 100644 index 00000000000..29fad6324c9 --- /dev/null +++ b/public/images/trainer/saturn.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "saturn.png", + "format": "RGBA8888", + "size": { + "w": 80, + "h": 80 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 80, + "h": 80 + }, + "frame": { + "x": 0, + "y": 0, + "w": 80, + "h": 80 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:831f5748dad92911b10a1cb358ee2dae:a3bf81bbaa3b49cad5e0e549cf94563b:bb6befc9383c9c08837183ae2a7a80c1$" + } +} diff --git a/public/images/trainer/galactic_admin_m.png b/public/images/trainer/saturn.png similarity index 100% rename from public/images/trainer/galactic_admin_m.png rename to public/images/trainer/saturn.png diff --git a/public/images/trainer/shelly.json b/public/images/trainer/shelly.json new file mode 100644 index 00000000000..7761779864a --- /dev/null +++ b/public/images/trainer/shelly.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "shelly.png", + "format": "RGBA8888", + "size": { + "w": 80, + "h": 80 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 80, + "h": 80 + }, + "frame": { + "x": 0, + "y": 0, + "w": 80, + "h": 80 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:831f5748dad92911b10a1cb358ee2dae:a3bf81bbaa3b49cad5e0e549cf94563b:bb6befc9383c9c08837183ae2a7a80c1$" + } +} diff --git a/public/images/trainer/aqua_admin_f.png b/public/images/trainer/shelly.png similarity index 100% rename from public/images/trainer/aqua_admin_f.png rename to public/images/trainer/shelly.png diff --git a/public/images/trainer/tabitha.json b/public/images/trainer/tabitha.json new file mode 100644 index 00000000000..8360f33bffe --- /dev/null +++ b/public/images/trainer/tabitha.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "tabitha.png", + "format": "RGBA8888", + "size": { + "w": 80, + "h": 80 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 80, + "h": 80 + }, + "frame": { + "x": 0, + "y": 0, + "w": 80, + "h": 80 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:831f5748dad92911b10a1cb358ee2dae:a3bf81bbaa3b49cad5e0e549cf94563b:bb6befc9383c9c08837183ae2a7a80c1$" + } +} diff --git a/public/images/trainer/magma_admin_m.png b/public/images/trainer/tabitha.png similarity index 100% rename from public/images/trainer/magma_admin_m.png rename to public/images/trainer/tabitha.png diff --git a/public/images/trainer/xerosic.json b/public/images/trainer/xerosic.json new file mode 100644 index 00000000000..fd9604637ac --- /dev/null +++ b/public/images/trainer/xerosic.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "xerosic.png", + "format": "RGBA8888", + "size": { + "w": 80, + "h": 80 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 80, + "h": 80 + }, + "frame": { + "x": 0, + "y": 0, + "w": 80, + "h": 80 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:831f5748dad92911b10a1cb358ee2dae:a3bf81bbaa3b49cad5e0e549cf94563b:bb6befc9383c9c08837183ae2a7a80c1$" + } +} diff --git a/public/images/trainer/flare_admin_m.png b/public/images/trainer/xerosic.png similarity index 100% rename from public/images/trainer/flare_admin_m.png rename to public/images/trainer/xerosic.png diff --git a/src/battle.ts b/src/battle.ts index e8a1323fc4c..8a1309938f7 100644 --- a/src/battle.ts +++ b/src/battle.ts @@ -425,22 +425,28 @@ export class FixedBattleConfig { } } + /** * Helper function to generate a random trainer for evil team trainers and the elite 4/champion * @param trainerPool The TrainerType or list of TrainerTypes that can possibly be generated * @param randomGender whether or not to randomly (50%) generate a female trainer (for use with evil team grunts) + * @param seedOffset the seed offset to use for the random generation of the trainer * @returns the generated trainer */ -function getRandomTrainerFunc(trainerPool: (TrainerType | TrainerType[])[], randomGender: boolean = false): GetTrainerFunc { +function getRandomTrainerFunc(trainerPool: (TrainerType | TrainerType[])[], randomGender: boolean = false, seedOffset: number = 0): GetTrainerFunc { return (scene: BattleScene) => { const rand = Utils.randSeedInt(trainerPool.length); const trainerTypes: TrainerType[] = []; - for (const trainerPoolEntry of trainerPool) { - const trainerType = Array.isArray(trainerPoolEntry) - ? Utils.randSeedItem(trainerPoolEntry) - : trainerPoolEntry; - trainerTypes.push(trainerType); - } + + scene.executeWithSeedOffset(() => { + for (const trainerPoolEntry of trainerPool) { + const trainerType = Array.isArray(trainerPoolEntry) + ? Utils.randSeedItem(trainerPoolEntry) + : trainerPoolEntry; + trainerTypes.push(trainerType); + } + }, seedOffset); + let trainerGender = TrainerVariant.DEFAULT; if (randomGender) { trainerGender = (Utils.randInt(2) === 0) ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT; @@ -486,13 +492,13 @@ export const classicFixedBattles: FixedBattleConfigs = { [64]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(35) .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT ], true)), [66]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(35) - .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_ADMIN, TrainerType.MAGMA_ADMIN, TrainerType.AQUA_ADMIN, TrainerType.GALACTIC_ADMIN, TrainerType.PLASMA_SAGE, TrainerType.FLARE_ADMIN ], true)), + .setGetTrainerFunc(getRandomTrainerFunc([[ TrainerType.ARCHER, TrainerType.ARIANA, TrainerType.PROTON, TrainerType.PETREL ], [ TrainerType.TABITHA, TrainerType.COURTNEY ], [ TrainerType.MATT, TrainerType.SHELLY ], [ TrainerType.JUPITER, TrainerType.MARS, TrainerType.SATURN ], [ TrainerType.ZINZOLIN, TrainerType.ROOD ], [ TrainerType.XEROSIC, TrainerType.BRYONY ] ], true)), [95]: new FixedBattleConfig().setBattleType(BattleType.TRAINER) .setGetTrainerFunc(scene => new Trainer(scene, TrainerType.RIVAL_4, scene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT)), [112]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(35) .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT ], true)), [114]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(35) - .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_ADMIN, TrainerType.MAGMA_ADMIN, TrainerType.AQUA_ADMIN, TrainerType.GALACTIC_ADMIN, TrainerType.PLASMA_SAGE, TrainerType.FLARE_ADMIN ], true)), + .setGetTrainerFunc(getRandomTrainerFunc([[ TrainerType.ARCHER, TrainerType.ARIANA, TrainerType.PROTON, TrainerType.PETREL ], [ TrainerType.TABITHA, TrainerType.COURTNEY ], [ TrainerType.MATT, TrainerType.SHELLY ], [ TrainerType.JUPITER, TrainerType.MARS, TrainerType.SATURN ], [ TrainerType.ZINZOLIN, TrainerType.ROOD ], [ TrainerType.XEROSIC, TrainerType.BRYONY ] ], true,1)), [115]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(35) .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_BOSS_GIOVANNI_1, TrainerType.MAXIE, TrainerType.ARCHIE, TrainerType.CYRUS, TrainerType.GHETSIS, TrainerType.LYSANDRE ])), [145]: new FixedBattleConfig().setBattleType(BattleType.TRAINER) diff --git a/src/data/dialogue.ts b/src/data/dialogue.ts index 4386515c953..8a595855a30 100644 --- a/src/data/dialogue.ts +++ b/src/data/dialogue.ts @@ -459,17 +459,59 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { ] } ], - [TrainerType.ROCKET_ADMIN]: [ + [TrainerType.ARCHER]: [ { encounter: [ - "dialogue:rocket_admin.encounter.1", - "dialogue:rocket_admin.encounter.2", - "dialogue:rocket_admin.encounter.3", + "dialogue:archer.encounter.1", + "dialogue:archer.encounter.2", + "dialogue:archer.encounter.3", ], victory: [ - "dialogue:rocket_admin.victory.1", - "dialogue:rocket_admin.victory.2", - "dialogue:rocket_admin.victory.3", + "dialogue:archer.victory.1", + "dialogue:archer.victory.2", + "dialogue:archer.victory.3", + ] + } + ], + [TrainerType.ARIANA]: [ + { + encounter: [ + "dialogue:ariana.encounter.1", + "dialogue:ariana.encounter.2", + "dialogue:ariana.encounter.3", + ], + victory: [ + "dialogue:ariana.victory.1", + "dialogue:ariana.victory.2", + "dialogue:ariana.victory.3", + ] + } + ], + [TrainerType.PROTON]: [ + { + encounter: [ + "dialogue:proton.encounter.1", + "dialogue:proton.encounter.2", + "dialogue:proton.encounter.3", + ], + victory: [ + "dialogue:proton.victory.1", + "dialogue:proton.victory.2", + "dialogue:proton.victory.3", + ] + } + ], + [TrainerType.PETREL]: [ + { + encounter: [ + "dialogue:petrel.encounter.1", + "dialogue:petrel.encounter.2", + "dialogue:petrel.encounter.3", + ], + victory: [ + "dialogue:petrel.victory.1", + "dialogue:petrel.victory.2", + "dialogue:petrel.victory.3", ] } ], @@ -483,17 +525,31 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { ] } ], - [TrainerType.MAGMA_ADMIN]: [ + [TrainerType.TABITHA]: [ { encounter: [ - "dialogue:magma_admin.encounter.1", - "dialogue:magma_admin.encounter.2", - "dialogue:magma_admin.encounter.3", + "dialogue:tabitha.encounter.1", + "dialogue:tabitha.encounter.2", + "dialogue:tabitha.encounter.3", ], victory: [ - "dialogue:magma_admin.victory.1", - "dialogue:magma_admin.victory.2", - "dialogue:magma_admin.victory.3", + "dialogue:tabitha.victory.1", + "dialogue:tabitha.victory.2", + "dialogue:tabitha.victory.3", + ] + } + ], + [TrainerType.COURTNEY]: [ + { + encounter: [ + "dialogue:courtney.encounter.1", + "dialogue:courtney.encounter.2", + "dialogue:courtney.encounter.3", + ], + victory: [ + "dialogue:courtney.victory.1", + "dialogue:courtney.victory.2", + "dialogue:courtney.victory.3", ] } ], @@ -507,17 +563,31 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { ] } ], - [TrainerType.AQUA_ADMIN]: [ + [TrainerType.MATT]: [ { encounter: [ - "dialogue:aqua_admin.encounter.1", - "dialogue:aqua_admin.encounter.2", - "dialogue:aqua_admin.encounter.3", + "dialogue:matt.encounter.1", + "dialogue:matt.encounter.2", + "dialogue:matt.encounter.3", ], victory: [ - "dialogue:aqua_admin.victory.1", - "dialogue:aqua_admin.victory.2", - "dialogue:aqua_admin.victory.3", + "dialogue:matt.victory.1", + "dialogue:matt.victory.2", + "dialogue:matt.victory.3", + ] + } + ], + [TrainerType.SHELLY]: [ + { + encounter: [ + "dialogue:shelly.encounter.1", + "dialogue:shelly.encounter.2", + "dialogue:shelly.encounter.3", + ], + victory: [ + "dialogue:shelly.victory.1", + "dialogue:shelly.victory.2", + "dialogue:shelly.victory.3", ] } ], @@ -531,17 +601,45 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { ] } ], - [TrainerType.GALACTIC_ADMIN]: [ + [TrainerType.JUPITER]: [ { encounter: [ - "dialogue:galactic_admin.encounter.1", - "dialogue:galactic_admin.encounter.2", - "dialogue:galactic_admin.encounter.3", + "dialogue:jupiter.encounter.1", + "dialogue:jupiter.encounter.2", + "dialogue:jupiter.encounter.3", ], victory: [ - "dialogue:galactic_admin.victory.1", - "dialogue:galactic_admin.victory.2", - "dialogue:galactic_admin.victory.3", + "dialogue:jupiter.victory.1", + "dialogue:jupiter.victory.2", + "dialogue:jupiter.victory.3", + ] + } + ], + [TrainerType.MARS]: [ + { + encounter: [ + "dialogue:mars.encounter.1", + "dialogue:mars.encounter.2", + "dialogue:mars.encounter.3", + ], + victory: [ + "dialogue:mars.victory.1", + "dialogue:mars.victory.2", + "dialogue:mars.victory.3", + ] + } + ], + [TrainerType.SATURN]: [ + { + encounter: [ + "dialogue:saturn.encounter.1", + "dialogue:saturn.encounter.2", + "dialogue:saturn.encounter.3", + ], + victory: [ + "dialogue:saturn.victory.1", + "dialogue:saturn.victory.2", + "dialogue:saturn.victory.3", ] } ], @@ -555,17 +653,17 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { ] } ], - [TrainerType.PLASMA_SAGE]: [ + [TrainerType.ZINZOLIN]: [ { encounter: [ - "dialogue:plasma_sage.encounter.1", - "dialogue:plasma_sage.encounter.2", - "dialogue:plasma_sage.encounter.3", + "dialogue:zinzolin.encounter.1", + "dialogue:zinzolin.encounter.2", + "dialogue:zinzolin.encounter.3", ], victory: [ - "dialogue:plasma_sage.victory.1", - "dialogue:plasma_sage.victory.2", - "dialogue:plasma_sage.victory.3", + "dialogue:zinzolin.victory.1", + "dialogue:zinzolin.victory.2", + "dialogue:zinzolin.victory.3", ] } ], @@ -579,17 +677,31 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { ] } ], - [TrainerType.FLARE_ADMIN]: [ + [TrainerType.BRYONY]: [ { encounter: [ - "dialogue:flare_admin.encounter.1", - "dialogue:flare_admin.encounter.2", - "dialogue:flare_admin.encounter.3", + "dialogue:bryony.encounter.1", + "dialogue:bryony.encounter.2", + "dialogue:bryony.encounter.3", ], victory: [ - "dialogue:flare_admin.victory.1", - "dialogue:flare_admin.victory.2", - "dialogue:flare_admin.victory.3", + "dialogue:bryony.victory.1", + "dialogue:bryony.victory.2", + "dialogue:bryony.victory.3", + ] + } + ], + [TrainerType.XEROSIC]: [ + { + encounter: [ + "dialogue:xerosic.encounter.1", + "dialogue:xerosic.encounter.2", + "dialogue:xerosic.encounter.3", + ], + victory: [ + "dialogue:xerosic.victory.1", + "dialogue:xerosic.victory.2", + "dialogue:xerosic.victory.3", ] } ], diff --git a/src/data/trainer-config.ts b/src/data/trainer-config.ts index 8d61463f316..87d1901eb01 100644 --- a/src/data/trainer-config.ts +++ b/src/data/trainer-config.ts @@ -12,27 +12,27 @@ import {PersistentModifier} from "../modifier/modifier"; import {TrainerVariant} from "../field/trainer"; import {getIsInitialized, initI18n} from "#app/plugins/i18n"; import i18next from "i18next"; -import { Moves } from "#enums/moves"; -import { PartyMemberStrength } from "#enums/party-member-strength"; -import { Species } from "#enums/species"; -import { TrainerType } from "#enums/trainer-type"; +import {Moves} from "#enums/moves"; +import {PartyMemberStrength} from "#enums/party-member-strength"; +import {Species} from "#enums/species"; +import {TrainerType} from "#enums/trainer-type"; export enum TrainerPoolTier { - COMMON, - UNCOMMON, - RARE, - SUPER_RARE, - ULTRA_RARE + COMMON, + UNCOMMON, + RARE, + SUPER_RARE, + ULTRA_RARE } export interface TrainerTierPools { - [key: integer]: Species[] + [key: integer]: Species[] } export enum TrainerSlot { - NONE, - TRAINER, - TRAINER_PARTNER + NONE, + TRAINER, + TRAINER_PARTNER } export class TrainerPartyTemplate { @@ -168,7 +168,7 @@ type PartyMemberFunc = (scene: BattleScene, level: integer, strength: PartyMembe type GenModifiersFunc = (party: EnemyPokemon[]) => PersistentModifier[]; export interface PartyMemberFuncs { - [key: integer]: PartyMemberFunc + [key: integer]: PartyMemberFunc } export class TrainerConfig { @@ -201,6 +201,7 @@ export class TrainerConfig { public speciesPools: TrainerTierPools; public speciesFilter: PokemonSpeciesFilter; public specialtyTypes: Type[] = []; + public hasVoucher: boolean = false; public encounterMessages: string[] = []; public victoryMessages: string[] = []; @@ -228,7 +229,7 @@ export class TrainerConfig { return TrainerType[this.getDerivedType()].toString().toLowerCase(); } - getSpriteKey(female?: boolean,isDouble: boolean = false): string { + getSpriteKey(female?: boolean, isDouble: boolean = false): string { let ret = this.getKey(); if (this.hasGenders) { ret += `_${female ? "f" : "m"}`; @@ -257,6 +258,14 @@ export class TrainerConfig { return this; } + /** + * Sets if a boss trainer will have a voucher or not. + * @param hasVoucher - If the boss trainer will have a voucher. + */ + setHasVoucher(hasVoucher: boolean): void { + this.hasVoucher = hasVoucher; + } + setTitle(title: string): TrainerConfig { // First check if i18n is initialized if (!getIsInitialized()) { @@ -275,10 +284,10 @@ export class TrainerConfig { /** - * Returns the derived trainer type for a given trainer type. - * @param trainerTypeToDeriveFrom - The trainer type to derive from. (If null, the this.trainerType property will be used.) - * @returns {TrainerType} - The derived trainer type. - */ + * Returns the derived trainer type for a given trainer type. + * @param trainerTypeToDeriveFrom - The trainer type to derive from. (If null, the this.trainerType property will be used.) + * @returns {TrainerType} - The derived trainer type. + */ getDerivedType(trainerTypeToDeriveFrom: TrainerType = null): TrainerType { let trainerType = trainerTypeToDeriveFrom ? trainerTypeToDeriveFrom : this.trainerType; switch (trainerType) { @@ -335,11 +344,11 @@ export class TrainerConfig { } /** - * Sets the configuration for trainers with genders, including the female name and encounter background music (BGM). - * @param {string} [nameFemale] - The name of the female trainer. If 'Ivy', a localized name will be assigned. - * @param {TrainerType | string} [femaleEncounterBgm] - The encounter BGM for the female trainer, which can be a TrainerType or a string. - * @returns {TrainerConfig} - The updated TrainerConfig instance. - **/ + * Sets the configuration for trainers with genders, including the female name and encounter background music (BGM). + * @param {string} [nameFemale] - The name of the female trainer. If 'Ivy', a localized name will be assigned. + * @param {TrainerType | string} [femaleEncounterBgm] - The encounter BGM for the female trainer, which can be a TrainerType or a string. + * @returns {TrainerConfig} - The updated TrainerConfig instance. + **/ setHasGenders(nameFemale?: string, femaleEncounterBgm?: TrainerType | string): TrainerConfig { // If the female name is 'Ivy' (the rival), assign a localized name. if (nameFemale === "Ivy") { @@ -372,11 +381,11 @@ export class TrainerConfig { } /** - * Sets the configuration for trainers with double battles, including the name of the double trainer and the encounter BGM. - * @param nameDouble - The name of the double trainer (e.g., "Ace Duo" for Trainer Class Doubles or "red_blue_double" for NAMED trainer doubles). - * @param doubleEncounterBgm - The encounter BGM for the double trainer, which can be a TrainerType or a string. - * @returns {TrainerConfig} - The updated TrainerConfig instance. - */ + * Sets the configuration for trainers with double battles, including the name of the double trainer and the encounter BGM. + * @param nameDouble - The name of the double trainer (e.g., "Ace Duo" for Trainer Class Doubles or "red_blue_double" for NAMED trainer doubles). + * @param doubleEncounterBgm - The encounter BGM for the double trainer, which can be a TrainerType or a string. + * @returns {TrainerConfig} - The updated TrainerConfig instance. + */ setHasDouble(nameDouble: string, doubleEncounterBgm?: TrainerType | string): TrainerConfig { this.hasDouble = true; this.nameDouble = nameDouble; @@ -387,10 +396,10 @@ export class TrainerConfig { } /** - * Sets the trainer type for double battles. - * @param trainerTypeDouble - The TrainerType of the partner in a double battle. - * @returns {TrainerConfig} - The updated TrainerConfig instance. - */ + * Sets the trainer type for double battles. + * @param trainerTypeDouble - The TrainerType of the partner in a double battle. + * @returns {TrainerConfig} - The updated TrainerConfig instance. + */ setDoubleTrainerType(trainerTypeDouble: TrainerType): TrainerConfig { this.trainerTypeDouble = trainerTypeDouble; this.setDoubleMessages(this.nameDouble); @@ -398,9 +407,9 @@ export class TrainerConfig { } /** - * Sets the encounter and victory messages for double trainers. - * @param nameDouble - The name of the pair (e.g. "red_blue_double"). - */ + * Sets the encounter and victory messages for double trainers. + * @param nameDouble - The name of the pair (e.g. "red_blue_double"). + */ setDoubleMessages(nameDouble: string) { // Check if there is double battle dialogue for this trainer if (doubleBattleDialogue[nameDouble]) { @@ -412,10 +421,10 @@ export class TrainerConfig { } /** - * Sets the title for double trainers - * @param titleDouble - the key for the title in the i18n file. (e.g., "champion_double"). - * @returns {TrainerConfig} - The updated TrainerConfig instance. - */ + * Sets the title for double trainers + * @param titleDouble - the key for the title in the i18n file. (e.g., "champion_double"). + * @returns {TrainerConfig} - The updated TrainerConfig instance. + */ setDoubleTitle(titleDouble: string): TrainerConfig { // First check if i18n is initialized if (!getIsInitialized()) { @@ -527,6 +536,95 @@ export class TrainerConfig { return this; } + /** + * Returns the pool of species for an evil team admin + * @param team - The evil team the admin belongs to. + * @returns {TrainerTierPools} + */ + speciesPoolPerEvilTeamAdmin(team): TrainerTierPools { + team = team.toLowerCase(); + switch (team) { + case "rocket": { + return { + [TrainerPoolTier.COMMON]: [Species.RATTATA, Species.KOFFING, Species.EKANS, Species.GYARADOS, Species.TAUROS, Species.SCYTHER, Species.CUBONE, Species.GROWLITHE, Species.MURKROW, Species.GASTLY, Species.EXEGGCUTE, Species.VOLTORB], + [TrainerPoolTier.UNCOMMON]: [Species.PORYGON, Species.ALOLA_RATTATA, Species.ALOLA_SANDSHREW, Species.ALOLA_MEOWTH, Species.ALOLA_GRIMER, Species.ALOLA_GEODUDE], + [TrainerPoolTier.RARE]: [Species.DRATINI, Species.LARVITAR] + }; + } + case "magma": { + return { + [TrainerPoolTier.COMMON]: [Species.NUMEL, Species.POOCHYENA, Species.SLUGMA, Species.SOLROCK, Species.HIPPOPOTAS, Species.SANDACONDA, Species.PHANPY, Species.SWINUB, Species.GLIGAR], + [TrainerPoolTier.UNCOMMON]: [Species.TRAPINCH, Species.HEATMOR], + [TrainerPoolTier.RARE]: [Species.TURTONATOR, Species.CHARCADET] + }; + } + case "aqua": { + return { + [TrainerPoolTier.COMMON]: [Species.CARVANHA, Species.CORPHISH, Species.ZIGZAGOON, Species.CLAMPERL, Species.CHINCHOU, Species.WOOPER, Species.WINGULL, Species.TENTACOOL, Species.QWILFISH], + [TrainerPoolTier.UNCOMMON]: [Species.MANTINE, Species.BASCULEGION, Species.REMORAID, Species.ARROKUDA], + [TrainerPoolTier.RARE]: [Species.DONDOZO] + }; + } + case "galactic": { + return { + [TrainerPoolTier.COMMON]: [Species.GLAMEOW, Species.STUNKY, Species.BRONZOR, Species.CARNIVINE, Species.GROWLITHE, Species.QWILFISH, Species.SNEASEL], + [TrainerPoolTier.UNCOMMON]: [Species.HISUI_GROWLITHE, Species.HISUI_QWILFISH, Species.HISUI_SNEASEL], + [TrainerPoolTier.RARE]: [Species.HISUI_ZORUA, Species.HISUI_SLIGGOO] + }; + } + case "plasma": { + return { + [TrainerPoolTier.COMMON]: [Species.SCRAFTY, Species.LILLIPUP, Species.PURRLOIN, Species.FRILLISH, Species.VENIPEDE, Species.GOLETT, Species.TIMBURR, Species.DARUMAKA, Species.AMOONGUSS], + [TrainerPoolTier.UNCOMMON]: [Species.PAWNIARD, Species.VULLABY, Species.ZORUA, Species.DRILBUR, Species.KLINK], + [TrainerPoolTier.RARE]: [Species.DRUDDIGON, Species.BOUFFALANT, Species.AXEW, Species.DEINO, Species.DURANT] + }; + } + case "flare": { + return { + [TrainerPoolTier.COMMON]: [Species.FLETCHLING, Species.LITLEO, Species.INKAY, Species.HELIOPTILE, Species.ELECTRIKE, Species.SKRELP, Species.GULPIN, Species.PURRLOIN, Species.POOCHYENA, Species.SCATTERBUG], + [TrainerPoolTier.UNCOMMON]: [Species.LITWICK, Species.SNEASEL, Species.PANCHAM, Species.PAWNIARD], + [TrainerPoolTier.RARE]: [Species.NOIVERN, Species.DRUDDIGON] + }; + } + } + } + + /** + * Initializes the trainer configuration for an evil team admin. + * @param title - The title of the evil team admin. + * @param poolName - The evil team the admin belongs to. + * @param {Species | Species[]} signatureSpecies - The signature species for the evil team leader. + * @returns {TrainerConfig} - The updated TrainerConfig instance. + * **/ + initForEvilTeamAdmin(title: string, poolName: string, signatureSpecies: (Species | Species[])[],): TrainerConfig { + if (!getIsInitialized()) { + initI18n(); + } + this.setPartyTemplates(trainerPartyTemplates.RIVAL_5); + + // Set the species pools for the evil team admin. + this.speciesPools = this.speciesPoolPerEvilTeamAdmin(poolName); + + signatureSpecies.forEach((speciesPool, s) => { + if (!Array.isArray(speciesPool)) { + speciesPool = [speciesPool]; + } + this.setPartyMemberFunc(-(s + 1), getRandomPartyMemberFunc(speciesPool)); + }); + + const nameForCall = this.name.toLowerCase().replace(/\s/g, "_"); + this.name = i18next.t(`trainerNames:${nameForCall}`); + this.setHasVoucher(false); + this.setTitle(title); + this.setMoneyMultiplier(1.5); + this.setBoss(); + this.setStaticParty(); + this.setBattleBgm("battle_plasma_boss"); + this.setVictoryBgm("victory_team_plasma"); + + return this; + } + /** * Initializes the trainer configuration for an evil team leader. Temporarily hardcoding evil leader teams though. * @param {Species | Species[]} signatureSpecies - The signature species for the evil team leader. @@ -559,6 +657,7 @@ export class TrainerConfig { this.setMoneyMultiplier(2.5); this.setBoss(); this.setStaticParty(); + this.setHasVoucher(true); this.setBattleBgm("battle_plasma_boss"); this.setVictoryBgm("victory_team_plasma"); @@ -566,13 +665,13 @@ export class TrainerConfig { } /** - * Initializes the trainer configuration for a Gym Leader. - * @param {Species | Species[]} signatureSpecies - The signature species for the Gym Leader. - * @param {Type[]} specialtyTypes - The specialty types for the Gym Leader. - * @param isMale - Whether the Gym Leader is Male or Not (for localization of the title). - * @returns {TrainerConfig} - The updated TrainerConfig instance. - * **/ - initForGymLeader(signatureSpecies: (Species | Species[])[],isMale:boolean, ...specialtyTypes: Type[]): TrainerConfig { + * Initializes the trainer configuration for a Gym Leader. + * @param {Species | Species[]} signatureSpecies - The signature species for the Gym Leader. + * @param {Type[]} specialtyTypes - The specialty types for the Gym Leader. + * @param isMale - Whether the Gym Leader is Male or Not (for localization of the title). + * @returns {TrainerConfig} - The updated TrainerConfig instance. + * **/ + initForGymLeader(signatureSpecies: (Species | Species[])[], isMale: boolean, ...specialtyTypes: Type[]): TrainerConfig { // Check if the internationalization (i18n) system is initialized. if (!getIsInitialized()) { initI18n(); @@ -611,6 +710,7 @@ export class TrainerConfig { this.setMoneyMultiplier(2.5); this.setBoss(); this.setStaticParty(); + this.setHasVoucher(true); this.setBattleBgm("battle_unova_gym"); this.setVictoryBgm("victory_gym"); this.setGenModifiersFunc(party => { @@ -622,13 +722,13 @@ export class TrainerConfig { } /** - * Initializes the trainer configuration for an Elite Four member. - * @param {Species | Species[]} signatureSpecies - The signature species for the Elite Four member. - * @param {Type[]} specialtyTypes - The specialty types for the Elite Four member. - * @param isMale - Whether the Elite Four Member is Male or Female (for localization of the title). - * @returns {TrainerConfig} - The updated TrainerConfig instance. - **/ - initForEliteFour(signatureSpecies: (Species | Species[])[],isMale: boolean, ...specialtyTypes: Type[]): TrainerConfig { + * Initializes the trainer configuration for an Elite Four member. + * @param {Species | Species[]} signatureSpecies - The signature species for the Elite Four member. + * @param {Type[]} specialtyTypes - The specialty types for the Elite Four member. + * @param isMale - Whether the Elite Four Member is Male or Female (for localization of the title). + * @returns {TrainerConfig} - The updated TrainerConfig instance. + **/ + initForEliteFour(signatureSpecies: (Species | Species[])[], isMale: boolean, ...specialtyTypes: Type[]): TrainerConfig { // Check if the internationalization (i18n) system is initialized. if (!getIsInitialized()) { initI18n(); @@ -669,6 +769,7 @@ export class TrainerConfig { this.setMoneyMultiplier(3.25); this.setBoss(); this.setStaticParty(); + this.setHasVoucher(true); this.setBattleBgm("battle_unova_elite"); this.setVictoryBgm("victory_gym"); this.setGenModifiersFunc(party => getRandomTeraModifiers(party, 2, specialtyTypes.length ? specialtyTypes : null)); @@ -677,11 +778,11 @@ export class TrainerConfig { } /** - * Initializes the trainer configuration for a Champion. - * @param {Species | Species[]} signatureSpecies - The signature species for the Champion. - * @param isMale - Whether the Champion is Male or Female (for localization of the title). - * @returns {TrainerConfig} - The updated TrainerConfig instance. - **/ + * Initializes the trainer configuration for a Champion. + * @param {Species | Species[]} signatureSpecies - The signature species for the Champion. + * @param isMale - Whether the Champion is Male or Female (for localization of the title). + * @returns {TrainerConfig} - The updated TrainerConfig instance. + **/ initForChampion(signatureSpecies: (Species | Species[])[], isMale: boolean): TrainerConfig { // Check if the internationalization (i18n) system is initialized. if (!getIsInitialized()) { @@ -719,6 +820,7 @@ export class TrainerConfig { this.setMoneyMultiplier(10); this.setBoss(); this.setStaticParty(); + this.setHasVoucher(true); this.setBattleBgm("battle_champion_alder"); this.setVictoryBgm("victory_champion"); this.setGenModifiersFunc(party => getRandomTeraModifiers(party, 3)); @@ -727,11 +829,11 @@ export class TrainerConfig { } /** - * Retrieves the title for the trainer based on the provided trainer slot and variant. - * @param {TrainerSlot} trainerSlot - The slot to determine which title to use. Defaults to TrainerSlot.NONE. - * @param {TrainerVariant} variant - The variant of the trainer to determine the specific title. - * @returns {string} - The title of the trainer. - **/ + * Retrieves the title for the trainer based on the provided trainer slot and variant. + * @param {TrainerSlot} trainerSlot - The slot to determine which title to use. Defaults to TrainerSlot.NONE. + * @param {TrainerVariant} variant - The variant of the trainer to determine the specific title. + * @returns {string} - The title of the trainer. + **/ getTitle(trainerSlot: TrainerSlot = TrainerSlot.NONE, variant: TrainerVariant): string { const ret = this.name; @@ -756,11 +858,11 @@ export class TrainerConfig { } // Check if the female version exists in the i18n file if (i18next.exists(`trainerClasses:${this.name.toLowerCase()}`)) { - // If it does, return + // If it does, return return ret + "_female"; } else { - // If it doesn't, we do not do anything and go to the normal return - // This is to prevent the game from displaying an error if a female version of the trainer does not exist in the localization + // If it doesn't, we do not do anything and go to the normal return + // This is to prevent the game from displaying an error if a female version of the trainer does not exist in the localization } } } @@ -772,7 +874,7 @@ export class TrainerConfig { return new Promise(resolve => { const isDouble = variant === TrainerVariant.DOUBLE; const trainerKey = this.getSpriteKey(variant === TrainerVariant.FEMALE, false); - const partnerTrainerKey = this.getSpriteKey(true,true); + const partnerTrainerKey = this.getSpriteKey(true, true); scene.loadAtlas(trainerKey, "trainer"); if (isDouble) { scene.loadAtlas(partnerTrainerKey, "trainer"); @@ -782,9 +884,19 @@ export class TrainerConfig { // Ignore warnings for missing frames, because there will be a lot console.warn = () => { }; - const frameNames = scene.anims.generateFrameNames(trainerKey, {zeroPad: 4,suffix: ".png",start: 1,end: 128}); + const frameNames = scene.anims.generateFrameNames(trainerKey, { + zeroPad: 4, + suffix: ".png", + start: 1, + end: 128 + }); const partnerFrameNames = isDouble - ? scene.anims.generateFrameNames(partnerTrainerKey, {zeroPad: 4,suffix: ".png",start: 1,end: 128}) + ? scene.anims.generateFrameNames(partnerTrainerKey, { + zeroPad: 4, + suffix: ".png", + start: 1, + end: 128 + }) : null; console.warn = originalWarn; if (!(scene.anims.exists(trainerKey))) { @@ -815,7 +927,7 @@ export class TrainerConfig { let t = 0; interface TrainerConfigs { - [key: integer]: TrainerConfig + [key: integer]: TrainerConfig } /** @@ -877,7 +989,7 @@ function getRandomTeraModifiers(party: EnemyPokemon[], count: integer, types?: T } type SignatureSpecies = { - [key in string]: (Species | Species[])[]; + [key in string]: (Species | Species[])[]; }; /* @@ -991,7 +1103,7 @@ export const signatureSpecies: SignatureSpecies = { MARNIE_ELITE: [Species.MORPEKO, Species.LIEPARD, [Species.TOXICROAK, Species.SCRAFTY], Species.GRIMMSNARL], NESSA_ELITE: [Species.GOLISOPOD, [Species.PELIPPER, Species.QUAGSIRE], Species.TOXAPEX, Species.DREDNAW], BEA_ELITE: [Species.HAWLUCHA, [Species.GRAPPLOCT, Species.SIRFETCHD], Species.FALINKS, Species.MACHAMP], - ALLISTER_ELITE:[Species.DUSKNOIR, [Species.POLTEAGEIST, Species.RUNERIGUS], Species.CURSOLA, Species.GENGAR], + ALLISTER_ELITE: [Species.DUSKNOIR, [Species.POLTEAGEIST, Species.RUNERIGUS], Species.CURSOLA, Species.GENGAR], RAIHAN_ELITE: [Species.GOODRA, [Species.TORKOAL, Species.TURTONATOR], Species.FLYGON, Species.ARCHALUDON], RIKA: [Species.WHISCASH, [Species.DONPHAN, Species.DUGTRIO], Species.CAMERUPT, Species.CLODSIRE], POPPY: [Species.COPPERAJAH, Species.BRONZONG, Species.CORVIKNIGHT, Species.TINKATON], @@ -1182,17 +1294,15 @@ export const trainerConfigs: TrainerConfigs = { ), [TrainerType.ROCKET_GRUNT]: new TrainerConfig(++t).setHasGenders("Rocket Grunt Female").setHasDouble("Rocket Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_rocket_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [ Species.WEEDLE, Species.RATTATA, Species.EKANS, Species.SANDSHREW, Species.ZUBAT, Species.GEODUDE, Species.KOFFING, Species.GRIMER, Species.ODDISH], - [TrainerPoolTier.UNCOMMON]: [ Species.GYARADOS, Species.TAUROS, Species.SCYTHER, Species.CUBONE, Species.GROWLITHE, Species.MURKROW, Species.GASTLY, Species.EXEGGCUTE, Species.VOLTORB], + [TrainerPoolTier.COMMON]: [Species.WEEDLE, Species.RATTATA, Species.EKANS, Species.SANDSHREW, Species.ZUBAT, Species.GEODUDE, Species.KOFFING, Species.GRIMER, Species.ODDISH], + [TrainerPoolTier.UNCOMMON]: [Species.GYARADOS, Species.TAUROS, Species.SCYTHER, Species.CUBONE, Species.GROWLITHE, Species.MURKROW, Species.GASTLY, Species.EXEGGCUTE, Species.VOLTORB], [TrainerPoolTier.RARE]: [Species.PORYGON, Species.ALOLA_RATTATA, Species.ALOLA_SANDSHREW, Species.ALOLA_MEOWTH, Species.ALOLA_GRIMER, Species.ALOLA_GEODUDE], [TrainerPoolTier.SUPER_RARE]: [Species.DRATINI, Species.LARVITAR] }), - [TrainerType.ROCKET_ADMIN]: new TrainerConfig(++t).setHasGenders().setMoneyMultiplier(1.5).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_rocket_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [ Species.RATTATA, Species.KOFFING, Species.EKANS, Species.GYARADOS, Species.TAUROS, Species.SCYTHER, Species.CUBONE, Species.GROWLITHE, Species.MURKROW, Species.GASTLY, Species.EXEGGCUTE, Species.VOLTORB], - [TrainerPoolTier.UNCOMMON]: [Species.PORYGON, Species.ALOLA_RATTATA, Species.ALOLA_SANDSHREW, Species.ALOLA_MEOWTH, Species.ALOLA_GRIMER, Species.ALOLA_GEODUDE], - [TrainerPoolTier.RARE]: [Species.DRATINI, Species.LARVITAR] - }), + [TrainerType.ARCHER]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("rocket_admin", "rocket", [Species.HOUNDOOM]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_rocket_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.ARIANA]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("rocket_admin_female", "rocket", [Species.ARBOK]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_rocket_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.PROTON]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("rocket_admin", "rocket", [Species.CROBAT]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_rocket_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.PETREL]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("rocket_admin", "rocket", [Species.WEEZING]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_rocket_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), [TrainerType.MAGMA_GRUNT]: new TrainerConfig(++t).setHasGenders("Magma Grunt Female").setHasDouble("Magma Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [Species.SLUGMA, Species.POOCHYENA, Species.NUMEL, Species.ZIGZAGOON, Species.DIGLETT, Species.MAGBY, Species.TORKOAL, Species.BALTOY, Species.BARBOACH], @@ -1200,182 +1310,165 @@ export const trainerConfigs: TrainerConfigs = { [TrainerPoolTier.RARE]: [Species.TRAPINCH, Species.HEATMOR], [TrainerPoolTier.SUPER_RARE]: [Species.TURTONATOR, Species.CHARCADET] }), - [TrainerType.MAGMA_ADMIN]: new TrainerConfig(++t).setHasGenders().setMoneyMultiplier(1.5).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [ Species.NUMEL, Species.POOCHYENA, Species.SLUGMA, Species.SOLROCK, Species.HIPPOPOTAS, Species.SANDACONDA, Species.PHANPY, Species.SWINUB, Species.GLIGAR], - [TrainerPoolTier.UNCOMMON]: [Species.TRAPINCH, Species.HEATMOR], - [TrainerPoolTier.RARE]: [Species.TURTONATOR, Species.CHARCADET] - }), + [TrainerType.TABITHA]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("magma_admin", "magma", [Species.CAMERUPT]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.COURTNEY]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("magma_admin_female", "magma", [Species.CAMERUPT]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), [TrainerType.AQUA_GRUNT]: new TrainerConfig(++t).setHasGenders("Aqua Grunt Female").setHasDouble("Aqua Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [ Species.CARVANHA, Species.WAILMER, Species.ZIGZAGOON, Species.LOTAD, Species.CORPHISH, Species.SPHEAL ], - [TrainerPoolTier.UNCOMMON]: [Species.CLAMPERL, Species.CHINCHOU, Species.WOOPER, Species.WINGULL, Species.TENTACOOL, Species.QWILFISH ], + [TrainerPoolTier.COMMON]: [Species.CARVANHA, Species.WAILMER, Species.ZIGZAGOON, Species.LOTAD, Species.CORPHISH, Species.SPHEAL], + [TrainerPoolTier.UNCOMMON]: [Species.CLAMPERL, Species.CHINCHOU, Species.WOOPER, Species.WINGULL, Species.TENTACOOL, Species.QWILFISH], [TrainerPoolTier.RARE]: [Species.MANTINE, Species.BASCULEGION, Species.REMORAID, Species.ARROKUDA], [TrainerPoolTier.SUPER_RARE]: [Species.DONDOZO] }), - [TrainerType.AQUA_ADMIN]: new TrainerConfig(++t).setHasGenders().setMoneyMultiplier(1.5).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [ Species.CARVANHA, Species.CORPHISH, Species.ZIGZAGOON, Species.CLAMPERL, Species.CHINCHOU, Species.WOOPER, Species.WINGULL, Species.TENTACOOL, Species.QWILFISH ], - [TrainerPoolTier.UNCOMMON]: [Species.MANTINE, Species.BASCULEGION, Species.REMORAID, Species.ARROKUDA], - [TrainerPoolTier.RARE]: [Species.DONDOZO] - }), + [TrainerType.MATT]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("aqua_admin", "aqua", [Species.SHARPEDO]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.SHELLY]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("aqua_admin_female", "aqua", [Species.SHARPEDO]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), [TrainerType.GALACTIC_GRUNT]: new TrainerConfig(++t).setHasGenders("Galactic Grunt Female").setHasDouble("Galactic Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_galactic_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [ Species.GLAMEOW, Species.STUNKY, Species.CROAGUNK, Species.SHINX, Species.WURMPLE, Species.BRONZOR, Species.DRIFLOON, Species.BURMY], - [TrainerPoolTier.UNCOMMON]: [ Species.CARNIVINE, Species.GROWLITHE, Species.QWILFISH, Species.SNEASEL ], + [TrainerPoolTier.COMMON]: [Species.GLAMEOW, Species.STUNKY, Species.CROAGUNK, Species.SHINX, Species.WURMPLE, Species.BRONZOR, Species.DRIFLOON, Species.BURMY], + [TrainerPoolTier.UNCOMMON]: [Species.CARNIVINE, Species.GROWLITHE, Species.QWILFISH, Species.SNEASEL], [TrainerPoolTier.RARE]: [Species.HISUI_GROWLITHE, Species.HISUI_QWILFISH, Species.HISUI_SNEASEL], [TrainerPoolTier.SUPER_RARE]: [Species.HISUI_ZORUA, Species.HISUI_SLIGGOO] }), - [TrainerType.GALACTIC_ADMIN]: new TrainerConfig(++t).setHasGenders().setMoneyMultiplier(1.5).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_galactic_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [ Species.GLAMEOW, Species.STUNKY, Species.BRONZOR, Species.CARNIVINE, Species.GROWLITHE, Species.QWILFISH, Species.SNEASEL ], - [TrainerPoolTier.UNCOMMON]: [Species.HISUI_GROWLITHE, Species.HISUI_QWILFISH, Species.HISUI_SNEASEL], - [TrainerPoolTier.RARE]: [Species.HISUI_ZORUA, Species.HISUI_SLIGGOO] - }), + + [TrainerType.JUPITER]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("galactic_commander_female", "galactic", [Species.SKUNTANK]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_galactic_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.MARS]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("galactic_commander_female", "galactic", [Species.PURUGLY]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_galactic_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.SATURN]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("galactic_commander", "galactic", [Species.TOXICROAK]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_galactic_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), [TrainerType.PLASMA_GRUNT]: new TrainerConfig(++t).setHasGenders("Plasma Grunt Female").setHasDouble("Plasma Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_plasma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [ Species.PATRAT, Species.LILLIPUP, Species.PURRLOIN, Species.SCRAFTY, Species.WOOBAT, Species.VANILLITE, Species.SANDILE, Species.TRUBBISH], - [TrainerPoolTier.UNCOMMON]: [ Species.FRILLISH, Species.VENIPEDE, Species.GOLETT, Species.TIMBURR, Species.DARUMAKA, Species.AMOONGUSS], + [TrainerPoolTier.COMMON]: [Species.PATRAT, Species.LILLIPUP, Species.PURRLOIN, Species.SCRAFTY, Species.WOOBAT, Species.VANILLITE, Species.SANDILE, Species.TRUBBISH], + [TrainerPoolTier.UNCOMMON]: [Species.FRILLISH, Species.VENIPEDE, Species.GOLETT, Species.TIMBURR, Species.DARUMAKA, Species.AMOONGUSS], [TrainerPoolTier.RARE]: [Species.PAWNIARD, Species.VULLABY, Species.ZORUA, Species.DRILBUR, Species.KLINK], [TrainerPoolTier.SUPER_RARE]: [Species.DRUDDIGON, Species.BOUFFALANT, Species.AXEW, Species.DEINO, Species.DURANT] }), - [TrainerType.PLASMA_SAGE]: new TrainerConfig(++t).setMoneyMultiplier(1.5).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_plasma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [ Species.SCRAFTY, Species.LILLIPUP, Species.PURRLOIN, Species.FRILLISH, Species.VENIPEDE, Species.GOLETT, Species.TIMBURR, Species.DARUMAKA, Species.AMOONGUSS], - [TrainerPoolTier.UNCOMMON]: [Species.PAWNIARD, Species.VULLABY, Species.ZORUA, Species.DRILBUR, Species.KLINK], - [TrainerPoolTier.RARE]: [Species.DRUDDIGON, Species.BOUFFALANT, Species.AXEW, Species.DEINO, Species.DURANT] - }), + [TrainerType.ZINZOLIN]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("plasma_sage", "plasma", [Species.CRYOGONAL]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_plasma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.ROOD]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("plasma_sage", "plasma", [Species.SWOOBAT]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_plasma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.FLARE_GRUNT]: new TrainerConfig(++t).setHasGenders("Flare Grunt Female").setHasDouble("Flare Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_flare_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [ Species.FLETCHLING, Species.LITLEO, Species.PONYTA, Species.INKAY, Species.HOUNDOUR, Species.SKORUPI, Species.SCRAFTY, Species.CROAGUNK], + [TrainerPoolTier.COMMON]: [Species.FLETCHLING, Species.LITLEO, Species.PONYTA, Species.INKAY, Species.HOUNDOUR, Species.SKORUPI, Species.SCRAFTY, Species.CROAGUNK], [TrainerPoolTier.UNCOMMON]: [Species.HELIOPTILE, Species.ELECTRIKE, Species.SKRELP, Species.GULPIN, Species.PURRLOIN, Species.POOCHYENA, Species.SCATTERBUG], [TrainerPoolTier.RARE]: [Species.LITWICK, Species.SNEASEL, Species.PANCHAM, Species.PAWNIARD], [TrainerPoolTier.SUPER_RARE]: [Species.NOIVERN, Species.DRUDDIGON] }), - [TrainerType.FLARE_ADMIN]: new TrainerConfig(++t).setHasGenders().setMoneyMultiplier(1.5).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_flare_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)) - .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [ Species.FLETCHLING, Species.LITLEO, Species.INKAY, Species.HELIOPTILE, Species.ELECTRIKE, Species.SKRELP, Species.GULPIN, Species.PURRLOIN, Species.POOCHYENA, Species.SCATTERBUG], - [TrainerPoolTier.UNCOMMON]: [Species.LITWICK, Species.SNEASEL, Species.PANCHAM, Species.PAWNIARD], - [TrainerPoolTier.RARE]: [Species.NOIVERN, Species.DRUDDIGON] - }), - [TrainerType.BROCK]: new TrainerConfig((t = TrainerType.BROCK)).initForGymLeader(signatureSpecies["BROCK"],true, Type.ROCK).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), - [TrainerType.MISTY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MISTY"],false, Type.WATER).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), - [TrainerType.LT_SURGE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["LT_SURGE"],true, Type.ELECTRIC).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), - [TrainerType.ERIKA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ERIKA"],false, Type.GRASS).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), - [TrainerType.JANINE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["JANINE"],false, Type.POISON).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), - [TrainerType.SABRINA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["SABRINA"],false, Type.PSYCHIC).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), - [TrainerType.BLAINE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BLAINE"],true, Type.FIRE).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), - [TrainerType.GIOVANNI]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GIOVANNI"],true, Type.DARK).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), - [TrainerType.FALKNER]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["FALKNER"],true, Type.FLYING).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), - [TrainerType.BUGSY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BUGSY"],true, Type.BUG).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), - [TrainerType.WHITNEY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["WHITNEY"],false, Type.NORMAL).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), - [TrainerType.MORTY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MORTY"],true, Type.GHOST).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), - [TrainerType.CHUCK]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CHUCK"],true, Type.FIGHTING).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), - [TrainerType.JASMINE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["JASMINE"],false, Type.STEEL).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), - [TrainerType.PRYCE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["PRYCE"],true, Type.ICE).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), - [TrainerType.CLAIR]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CLAIR"],false, Type.DRAGON).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), - [TrainerType.ROXANNE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ROXANNE"],false, Type.ROCK).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), - [TrainerType.BRAWLY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BRAWLY"],true, Type.FIGHTING).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), - [TrainerType.WATTSON]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["WATTSON"],true, Type.ELECTRIC).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), - [TrainerType.FLANNERY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["FLANNERY"],false, Type.FIRE).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), - [TrainerType.NORMAN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["NORMAN"],true, Type.NORMAL).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), - [TrainerType.WINONA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["WINONA"],false, Type.FLYING).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), - [TrainerType.TATE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["TATE"],true, Type.PSYCHIC).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym").setHasDouble("tate_liza_double").setDoubleTrainerType(TrainerType.LIZA).setDoubleTitle("gym_leader_double"), - [TrainerType.LIZA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["LIZA"],false, Type.PSYCHIC).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym").setHasDouble("liza_tate_double").setDoubleTrainerType(TrainerType.TATE).setDoubleTitle("gym_leader_double"), - [TrainerType.JUAN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["JUAN"],true, Type.WATER).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), - [TrainerType.ROARK]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ROARK"],true, Type.ROCK).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), - [TrainerType.GARDENIA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GARDENIA"],false, Type.GRASS).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), - [TrainerType.MAYLENE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MAYLENE"],false, Type.FIGHTING).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), - [TrainerType.CRASHER_WAKE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CRASHER_WAKE"],true, Type.WATER).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), - [TrainerType.FANTINA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["FANTINA"],false, Type.GHOST).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), - [TrainerType.BYRON]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BYRON"],true, Type.STEEL).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), - [TrainerType.CANDICE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CANDICE"],false, Type.ICE).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), - [TrainerType.VOLKNER]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["VOLKNER"],true, Type.ELECTRIC).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), - [TrainerType.CILAN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CILAN"],true, Type.GRASS).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.CHILI]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CHILI"],true, Type.FIRE).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.CRESS]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CRESS"],true, Type.WATER).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.CHEREN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CHEREN"],true, Type.NORMAL).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.LENORA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["LENORA"],false, Type.NORMAL).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.ROXIE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ROXIE"],false, Type.POISON).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.BURGH]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BURGH"],true, Type.BUG).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.ELESA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ELESA"],false, Type.ELECTRIC).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.CLAY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CLAY"],true, Type.GROUND).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.SKYLA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["SKYLA"],false, Type.FLYING).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.BRYCEN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BRYCEN"],true, Type.ICE).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.DRAYDEN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["DRAYDEN"],true, Type.DRAGON).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.MARLON]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MARLON"],true, Type.WATER).setMixedBattleBgm("battle_unova_gym"), - [TrainerType.VIOLA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["VIOLA"],false, Type.BUG).setMixedBattleBgm("battle_kalos_gym"), - [TrainerType.GRANT]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GRANT"],true, Type.ROCK).setMixedBattleBgm("battle_kalos_gym"), - [TrainerType.KORRINA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["KORRINA"],false, Type.FIGHTING).setMixedBattleBgm("battle_kalos_gym"), - [TrainerType.RAMOS]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["RAMOS"],true, Type.GRASS).setMixedBattleBgm("battle_kalos_gym"), - [TrainerType.CLEMONT]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CLEMONT"],true, Type.ELECTRIC).setMixedBattleBgm("battle_kalos_gym"), - [TrainerType.VALERIE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["VALERIE"],false, Type.FAIRY).setMixedBattleBgm("battle_kalos_gym"), - [TrainerType.OLYMPIA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["OLYMPIA"],false, Type.PSYCHIC).setMixedBattleBgm("battle_kalos_gym"), - [TrainerType.WULFRIC]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["WULFRIC"],true, Type.ICE).setMixedBattleBgm("battle_kalos_gym"), - [TrainerType.MILO]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MILO"],true, Type.GRASS).setMixedBattleBgm("battle_galar_gym"), - [TrainerType.NESSA]: new TrainerConfig(++t).setName("Nessa").initForGymLeader(signatureSpecies["NESSA"],false, Type.WATER).setMixedBattleBgm("battle_galar_gym"), - [TrainerType.KABU]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["KABU"],true, Type.FIRE).setMixedBattleBgm("battle_galar_gym"), - [TrainerType.BEA]: new TrainerConfig(++t).setName("Bea").initForGymLeader(signatureSpecies["BEA"],false, Type.FIGHTING).setMixedBattleBgm("battle_galar_gym"), - [TrainerType.ALLISTER]: new TrainerConfig(++t).setName("Allister").initForGymLeader(signatureSpecies["ALLISTER"],true, Type.GHOST).setMixedBattleBgm("battle_galar_gym"), - [TrainerType.OPAL]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["OPAL"],false, Type.FAIRY).setMixedBattleBgm("battle_galar_gym"), - [TrainerType.BEDE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BEDE"],true, Type.FAIRY).setMixedBattleBgm("battle_galar_gym"), - [TrainerType.GORDIE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GORDIE"],true, Type.ROCK).setMixedBattleBgm("battle_galar_gym"), - [TrainerType.MELONY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MELONY"],false, Type.ICE).setMixedBattleBgm("battle_galar_gym"), - [TrainerType.PIERS]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["PIERS"],true, Type.DARK).setHasDouble("piers_marnie_double").setDoubleTrainerType(TrainerType.MARNIE).setDoubleTitle("gym_leader_double").setMixedBattleBgm("battle_galar_gym"), - [TrainerType.MARNIE]: new TrainerConfig(++t).setName("Marnie").initForGymLeader(signatureSpecies["MARNIE"],false, Type.DARK).setHasDouble("marnie_piers_double").setDoubleTrainerType(TrainerType.PIERS).setDoubleTitle("gym_leader_double").setMixedBattleBgm("battle_galar_gym"), - [TrainerType.RAIHAN]: new TrainerConfig(++t).setName("Raihan").initForGymLeader(signatureSpecies["RAIHAN"],true, Type.DRAGON).setMixedBattleBgm("battle_galar_gym"), - [TrainerType.KATY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["KATY"],false, Type.BUG).setMixedBattleBgm("battle_paldea_gym"), - [TrainerType.BRASSIUS]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BRASSIUS"],true, Type.GRASS).setMixedBattleBgm("battle_paldea_gym"), - [TrainerType.IONO]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["IONO"],false, Type.ELECTRIC).setMixedBattleBgm("battle_paldea_gym"), - [TrainerType.KOFU]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["KOFU"],true, Type.WATER).setMixedBattleBgm("battle_paldea_gym"), - [TrainerType.LARRY]: new TrainerConfig(++t).setName("Larry").initForGymLeader(signatureSpecies["LARRY"],true, Type.NORMAL).setMixedBattleBgm("battle_paldea_gym"), - [TrainerType.RYME]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["RYME"],false, Type.GHOST).setMixedBattleBgm("battle_paldea_gym"), - [TrainerType.TULIP]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["TULIP"],false, Type.PSYCHIC).setMixedBattleBgm("battle_paldea_gym"), - [TrainerType.GRUSHA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GRUSHA"],true, Type.ICE).setMixedBattleBgm("battle_paldea_gym"), + [TrainerType.BRYONY]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("flare_admin_female", "flare", [Species.LIEPARD]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_flare_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.XEROSIC]: new TrainerConfig(++t).setMoneyMultiplier(1.5).initForEvilTeamAdmin("flare_admin", "flare", [Species.MALAMAR]).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_flare_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene)), + [TrainerType.BROCK]: new TrainerConfig((t = TrainerType.BROCK)).initForGymLeader(signatureSpecies["BROCK"], true, Type.ROCK).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), + [TrainerType.MISTY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MISTY"], false, Type.WATER).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), + [TrainerType.LT_SURGE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["LT_SURGE"], true, Type.ELECTRIC).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), + [TrainerType.ERIKA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ERIKA"], false, Type.GRASS).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), + [TrainerType.JANINE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["JANINE"], false, Type.POISON).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), + [TrainerType.SABRINA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["SABRINA"], false, Type.PSYCHIC).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), + [TrainerType.BLAINE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BLAINE"], true, Type.FIRE).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), + [TrainerType.GIOVANNI]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GIOVANNI"], true, Type.DARK).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), + [TrainerType.FALKNER]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["FALKNER"], true, Type.FLYING).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), + [TrainerType.BUGSY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BUGSY"], true, Type.BUG).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), + [TrainerType.WHITNEY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["WHITNEY"], false, Type.NORMAL).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), + [TrainerType.MORTY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MORTY"], true, Type.GHOST).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), + [TrainerType.CHUCK]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CHUCK"], true, Type.FIGHTING).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), + [TrainerType.JASMINE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["JASMINE"], false, Type.STEEL).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), + [TrainerType.PRYCE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["PRYCE"], true, Type.ICE).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), + [TrainerType.CLAIR]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CLAIR"], false, Type.DRAGON).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), + [TrainerType.ROXANNE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ROXANNE"], false, Type.ROCK).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), + [TrainerType.BRAWLY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BRAWLY"], true, Type.FIGHTING).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), + [TrainerType.WATTSON]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["WATTSON"], true, Type.ELECTRIC).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), + [TrainerType.FLANNERY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["FLANNERY"], false, Type.FIRE).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), + [TrainerType.NORMAN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["NORMAN"], true, Type.NORMAL).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), + [TrainerType.WINONA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["WINONA"], false, Type.FLYING).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), + [TrainerType.TATE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["TATE"], true, Type.PSYCHIC).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym").setHasDouble("tate_liza_double").setDoubleTrainerType(TrainerType.LIZA).setDoubleTitle("gym_leader_double"), + [TrainerType.LIZA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["LIZA"], false, Type.PSYCHIC).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym").setHasDouble("liza_tate_double").setDoubleTrainerType(TrainerType.TATE).setDoubleTitle("gym_leader_double"), + [TrainerType.JUAN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["JUAN"], true, Type.WATER).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"), + [TrainerType.ROARK]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ROARK"], true, Type.ROCK).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), + [TrainerType.GARDENIA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GARDENIA"], false, Type.GRASS).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), + [TrainerType.MAYLENE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MAYLENE"], false, Type.FIGHTING).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), + [TrainerType.CRASHER_WAKE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CRASHER_WAKE"], true, Type.WATER).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), + [TrainerType.FANTINA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["FANTINA"], false, Type.GHOST).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), + [TrainerType.BYRON]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BYRON"], true, Type.STEEL).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), + [TrainerType.CANDICE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CANDICE"], false, Type.ICE).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), + [TrainerType.VOLKNER]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["VOLKNER"], true, Type.ELECTRIC).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), + [TrainerType.CILAN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CILAN"], true, Type.GRASS).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.CHILI]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CHILI"], true, Type.FIRE).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.CRESS]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CRESS"], true, Type.WATER).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.CHEREN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CHEREN"], true, Type.NORMAL).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.LENORA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["LENORA"], false, Type.NORMAL).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.ROXIE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ROXIE"], false, Type.POISON).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.BURGH]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BURGH"], true, Type.BUG).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.ELESA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ELESA"], false, Type.ELECTRIC).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.CLAY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CLAY"], true, Type.GROUND).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.SKYLA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["SKYLA"], false, Type.FLYING).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.BRYCEN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BRYCEN"], true, Type.ICE).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.DRAYDEN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["DRAYDEN"], true, Type.DRAGON).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.MARLON]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MARLON"], true, Type.WATER).setMixedBattleBgm("battle_unova_gym"), + [TrainerType.VIOLA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["VIOLA"], false, Type.BUG).setMixedBattleBgm("battle_kalos_gym"), + [TrainerType.GRANT]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GRANT"], true, Type.ROCK).setMixedBattleBgm("battle_kalos_gym"), + [TrainerType.KORRINA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["KORRINA"], false, Type.FIGHTING).setMixedBattleBgm("battle_kalos_gym"), + [TrainerType.RAMOS]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["RAMOS"], true, Type.GRASS).setMixedBattleBgm("battle_kalos_gym"), + [TrainerType.CLEMONT]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CLEMONT"], true, Type.ELECTRIC).setMixedBattleBgm("battle_kalos_gym"), + [TrainerType.VALERIE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["VALERIE"], false, Type.FAIRY).setMixedBattleBgm("battle_kalos_gym"), + [TrainerType.OLYMPIA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["OLYMPIA"], false, Type.PSYCHIC).setMixedBattleBgm("battle_kalos_gym"), + [TrainerType.WULFRIC]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["WULFRIC"], true, Type.ICE).setMixedBattleBgm("battle_kalos_gym"), + [TrainerType.MILO]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MILO"], true, Type.GRASS).setMixedBattleBgm("battle_galar_gym"), + [TrainerType.NESSA]: new TrainerConfig(++t).setName("Nessa").initForGymLeader(signatureSpecies["NESSA"], false, Type.WATER).setMixedBattleBgm("battle_galar_gym"), + [TrainerType.KABU]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["KABU"], true, Type.FIRE).setMixedBattleBgm("battle_galar_gym"), + [TrainerType.BEA]: new TrainerConfig(++t).setName("Bea").initForGymLeader(signatureSpecies["BEA"], false, Type.FIGHTING).setMixedBattleBgm("battle_galar_gym"), + [TrainerType.ALLISTER]: new TrainerConfig(++t).setName("Allister").initForGymLeader(signatureSpecies["ALLISTER"], true, Type.GHOST).setMixedBattleBgm("battle_galar_gym"), + [TrainerType.OPAL]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["OPAL"], false, Type.FAIRY).setMixedBattleBgm("battle_galar_gym"), + [TrainerType.BEDE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BEDE"], true, Type.FAIRY).setMixedBattleBgm("battle_galar_gym"), + [TrainerType.GORDIE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GORDIE"], true, Type.ROCK).setMixedBattleBgm("battle_galar_gym"), + [TrainerType.MELONY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MELONY"], false, Type.ICE).setMixedBattleBgm("battle_galar_gym"), + [TrainerType.PIERS]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["PIERS"], true, Type.DARK).setHasDouble("piers_marnie_double").setDoubleTrainerType(TrainerType.MARNIE).setDoubleTitle("gym_leader_double").setMixedBattleBgm("battle_galar_gym"), + [TrainerType.MARNIE]: new TrainerConfig(++t).setName("Marnie").initForGymLeader(signatureSpecies["MARNIE"], false, Type.DARK).setHasDouble("marnie_piers_double").setDoubleTrainerType(TrainerType.PIERS).setDoubleTitle("gym_leader_double").setMixedBattleBgm("battle_galar_gym"), + [TrainerType.RAIHAN]: new TrainerConfig(++t).setName("Raihan").initForGymLeader(signatureSpecies["RAIHAN"], true, Type.DRAGON).setMixedBattleBgm("battle_galar_gym"), + [TrainerType.KATY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["KATY"], false, Type.BUG).setMixedBattleBgm("battle_paldea_gym"), + [TrainerType.BRASSIUS]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BRASSIUS"], true, Type.GRASS).setMixedBattleBgm("battle_paldea_gym"), + [TrainerType.IONO]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["IONO"], false, Type.ELECTRIC).setMixedBattleBgm("battle_paldea_gym"), + [TrainerType.KOFU]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["KOFU"], true, Type.WATER).setMixedBattleBgm("battle_paldea_gym"), + [TrainerType.LARRY]: new TrainerConfig(++t).setName("Larry").initForGymLeader(signatureSpecies["LARRY"], true, Type.NORMAL).setMixedBattleBgm("battle_paldea_gym"), + [TrainerType.RYME]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["RYME"], false, Type.GHOST).setMixedBattleBgm("battle_paldea_gym"), + [TrainerType.TULIP]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["TULIP"], false, Type.PSYCHIC).setMixedBattleBgm("battle_paldea_gym"), + [TrainerType.GRUSHA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GRUSHA"], true, Type.ICE).setMixedBattleBgm("battle_paldea_gym"), - [TrainerType.LORELEI]: new TrainerConfig((t = TrainerType.LORELEI)).initForEliteFour(signatureSpecies["LORELEI"],false, Type.ICE).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), + [TrainerType.LORELEI]: new TrainerConfig((t = TrainerType.LORELEI)).initForEliteFour(signatureSpecies["LORELEI"], false, Type.ICE).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), [TrainerType.BRUNO]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["BRUNO"], true, Type.FIGHTING).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), - [TrainerType.AGATHA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["AGATHA"], false,Type.GHOST).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), - [TrainerType.LANCE]: new TrainerConfig(++t).setName("Lance").initForEliteFour(signatureSpecies["LANCE"],true, Type.DRAGON).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), - [TrainerType.WILL]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["WILL"],true, Type.PSYCHIC).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), + [TrainerType.AGATHA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["AGATHA"], false, Type.GHOST).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), + [TrainerType.LANCE]: new TrainerConfig(++t).setName("Lance").initForEliteFour(signatureSpecies["LANCE"], true, Type.DRAGON).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"), + [TrainerType.WILL]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["WILL"], true, Type.PSYCHIC).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), [TrainerType.KOGA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["KOGA"], true, Type.POISON).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), - [TrainerType.KAREN]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["KAREN"],false, Type.DARK).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), - [TrainerType.SIDNEY]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["SIDNEY"],true, Type.DARK).setMixedBattleBgm("battle_hoenn_elite"), - [TrainerType.PHOEBE]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["PHOEBE"],false, Type.GHOST).setMixedBattleBgm("battle_hoenn_elite"), - [TrainerType.GLACIA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["GLACIA"],false, Type.ICE).setMixedBattleBgm("battle_hoenn_elite"), - [TrainerType.DRAKE]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["DRAKE"],true, Type.DRAGON).setMixedBattleBgm("battle_hoenn_elite"), - [TrainerType.AARON]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["AARON"],true, Type.BUG).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), - [TrainerType.BERTHA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["BERTHA"],false, Type.GROUND).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), - [TrainerType.FLINT]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["FLINT"],true, Type.FIRE).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), - [TrainerType.LUCIAN]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["LUCIAN"], true,Type.PSYCHIC).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), - [TrainerType.SHAUNTAL]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["SHAUNTAL"],false, Type.GHOST).setMixedBattleBgm("battle_unova_elite"), - [TrainerType.MARSHAL]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["MARSHAL"],true, Type.FIGHTING).setMixedBattleBgm("battle_unova_elite"), - [TrainerType.GRIMSLEY]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["GRIMSLEY"],true, Type.DARK).setMixedBattleBgm("battle_unova_elite"), - [TrainerType.CAITLIN]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["CAITLIN"],false, Type.PSYCHIC).setMixedBattleBgm("battle_unova_elite"), - [TrainerType.MALVA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["MALVA"], false,Type.FIRE).setMixedBattleBgm("battle_kalos_elite"), - [TrainerType.SIEBOLD]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["SIEBOLD"], true,Type.WATER).setMixedBattleBgm("battle_kalos_elite"), - [TrainerType.WIKSTROM]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["WIKSTROM"],true, Type.STEEL).setMixedBattleBgm("battle_kalos_elite"), - [TrainerType.DRASNA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["DRASNA"],false, Type.DRAGON).setMixedBattleBgm("battle_kalos_elite"), - [TrainerType.HALA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["HALA"],true, Type.FIGHTING).setMixedBattleBgm("battle_alola_elite"), - [TrainerType.MOLAYNE]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["MOLAYNE"],true, Type.STEEL).setMixedBattleBgm("battle_alola_elite"), - [TrainerType.OLIVIA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["OLIVIA"],false, Type.ROCK).setMixedBattleBgm("battle_alola_elite"), - [TrainerType.ACEROLA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["ACEROLA"],false, Type.GHOST).setMixedBattleBgm("battle_alola_elite"), - [TrainerType.KAHILI]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["KAHILI"],false, Type.FLYING).setMixedBattleBgm("battle_alola_elite"), - [TrainerType.MARNIE_ELITE]: new TrainerConfig(++t).setName("Marnie").initForEliteFour(signatureSpecies["MARNIE_ELITE"],false, Type.DARK).setMixedBattleBgm("battle_galar_elite"), - [TrainerType.NESSA_ELITE]: new TrainerConfig(++t).setName("Nessa").initForEliteFour(signatureSpecies["NESSA_ELITE"],false, Type.WATER).setMixedBattleBgm("battle_galar_elite"), - [TrainerType.BEA_ELITE]: new TrainerConfig(++t).setName("Bea").initForEliteFour(signatureSpecies["BEA_ELITE"],false, Type.FIGHTING).setMixedBattleBgm("battle_galar_elite"), - [TrainerType.ALLISTER_ELITE]: new TrainerConfig(++t).setName("Allister").initForEliteFour(signatureSpecies["ALLISTER_ELITE"],true, Type.GHOST).setMixedBattleBgm("battle_galar_elite"), - [TrainerType.RAIHAN_ELITE]: new TrainerConfig(++t).setName("Raihan").initForEliteFour(signatureSpecies["RAIHAN_ELITE"],true, Type.DRAGON).setMixedBattleBgm("battle_galar_elite"), - [TrainerType.RIKA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["RIKA"],false, Type.GROUND).setMixedBattleBgm("battle_paldea_elite"), - [TrainerType.POPPY]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["POPPY"],false, Type.STEEL).setMixedBattleBgm("battle_paldea_elite"), - [TrainerType.LARRY_ELITE]: new TrainerConfig(++t).setName("Larry").initForEliteFour(signatureSpecies["LARRY_ELITE"],true, Type.NORMAL, Type.FLYING).setMixedBattleBgm("battle_paldea_elite"), - [TrainerType.HASSEL]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["HASSEL"],true, Type.DRAGON).setMixedBattleBgm("battle_paldea_elite"), - [TrainerType.CRISPIN]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["CRISPIN"],true, Type.FIRE).setMixedBattleBgm("battle_bb_elite"), - [TrainerType.AMARYS]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["AMARYS"],false, Type.STEEL).setMixedBattleBgm("battle_bb_elite"), - [TrainerType.LACEY]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["LACEY"],false, Type.FAIRY).setMixedBattleBgm("battle_bb_elite"), - [TrainerType.DRAYTON]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["DRAYTON"],true, Type.DRAGON).setMixedBattleBgm("battle_bb_elite"), + [TrainerType.KAREN]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["KAREN"], false, Type.DARK).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"), + [TrainerType.SIDNEY]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["SIDNEY"], true, Type.DARK).setMixedBattleBgm("battle_hoenn_elite"), + [TrainerType.PHOEBE]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["PHOEBE"], false, Type.GHOST).setMixedBattleBgm("battle_hoenn_elite"), + [TrainerType.GLACIA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["GLACIA"], false, Type.ICE).setMixedBattleBgm("battle_hoenn_elite"), + [TrainerType.DRAKE]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["DRAKE"], true, Type.DRAGON).setMixedBattleBgm("battle_hoenn_elite"), + [TrainerType.AARON]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["AARON"], true, Type.BUG).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), + [TrainerType.BERTHA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["BERTHA"], false, Type.GROUND).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), + [TrainerType.FLINT]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["FLINT"], true, Type.FIRE).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), + [TrainerType.LUCIAN]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["LUCIAN"], true, Type.PSYCHIC).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"), + [TrainerType.SHAUNTAL]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["SHAUNTAL"], false, Type.GHOST).setMixedBattleBgm("battle_unova_elite"), + [TrainerType.MARSHAL]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["MARSHAL"], true, Type.FIGHTING).setMixedBattleBgm("battle_unova_elite"), + [TrainerType.GRIMSLEY]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["GRIMSLEY"], true, Type.DARK).setMixedBattleBgm("battle_unova_elite"), + [TrainerType.CAITLIN]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["CAITLIN"], false, Type.PSYCHIC).setMixedBattleBgm("battle_unova_elite"), + [TrainerType.MALVA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["MALVA"], false, Type.FIRE).setMixedBattleBgm("battle_kalos_elite"), + [TrainerType.SIEBOLD]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["SIEBOLD"], true, Type.WATER).setMixedBattleBgm("battle_kalos_elite"), + [TrainerType.WIKSTROM]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["WIKSTROM"], true, Type.STEEL).setMixedBattleBgm("battle_kalos_elite"), + [TrainerType.DRASNA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["DRASNA"], false, Type.DRAGON).setMixedBattleBgm("battle_kalos_elite"), + [TrainerType.HALA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["HALA"], true, Type.FIGHTING).setMixedBattleBgm("battle_alola_elite"), + [TrainerType.MOLAYNE]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["MOLAYNE"], true, Type.STEEL).setMixedBattleBgm("battle_alola_elite"), + [TrainerType.OLIVIA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["OLIVIA"], false, Type.ROCK).setMixedBattleBgm("battle_alola_elite"), + [TrainerType.ACEROLA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["ACEROLA"], false, Type.GHOST).setMixedBattleBgm("battle_alola_elite"), + [TrainerType.KAHILI]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["KAHILI"], false, Type.FLYING).setMixedBattleBgm("battle_alola_elite"), + [TrainerType.MARNIE_ELITE]: new TrainerConfig(++t).setName("Marnie").initForEliteFour(signatureSpecies["MARNIE_ELITE"], false, Type.DARK).setMixedBattleBgm("battle_galar_elite"), + [TrainerType.NESSA_ELITE]: new TrainerConfig(++t).setName("Nessa").initForEliteFour(signatureSpecies["NESSA_ELITE"], false, Type.WATER).setMixedBattleBgm("battle_galar_elite"), + [TrainerType.BEA_ELITE]: new TrainerConfig(++t).setName("Bea").initForEliteFour(signatureSpecies["BEA_ELITE"], false, Type.FIGHTING).setMixedBattleBgm("battle_galar_elite"), + [TrainerType.ALLISTER_ELITE]: new TrainerConfig(++t).setName("Allister").initForEliteFour(signatureSpecies["ALLISTER_ELITE"], true, Type.GHOST).setMixedBattleBgm("battle_galar_elite"), + [TrainerType.RAIHAN_ELITE]: new TrainerConfig(++t).setName("Raihan").initForEliteFour(signatureSpecies["RAIHAN_ELITE"], true, Type.DRAGON).setMixedBattleBgm("battle_galar_elite"), + [TrainerType.RIKA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["RIKA"], false, Type.GROUND).setMixedBattleBgm("battle_paldea_elite"), + [TrainerType.POPPY]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["POPPY"], false, Type.STEEL).setMixedBattleBgm("battle_paldea_elite"), + [TrainerType.LARRY_ELITE]: new TrainerConfig(++t).setName("Larry").initForEliteFour(signatureSpecies["LARRY_ELITE"], true, Type.NORMAL, Type.FLYING).setMixedBattleBgm("battle_paldea_elite"), + [TrainerType.HASSEL]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["HASSEL"], true, Type.DRAGON).setMixedBattleBgm("battle_paldea_elite"), + [TrainerType.CRISPIN]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["CRISPIN"], true, Type.FIRE).setMixedBattleBgm("battle_bb_elite"), + [TrainerType.AMARYS]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["AMARYS"], false, Type.STEEL).setMixedBattleBgm("battle_bb_elite"), + [TrainerType.LACEY]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["LACEY"], false, Type.FAIRY).setMixedBattleBgm("battle_bb_elite"), + [TrainerType.DRAYTON]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["DRAYTON"], true, Type.DRAGON).setMixedBattleBgm("battle_bb_elite"), - [TrainerType.BLUE]: new TrainerConfig((t = TrainerType.BLUE)).initForChampion(signatureSpecies["BLUE"],true).setBattleBgm("battle_kanto_champion").setMixedBattleBgm("battle_kanto_champion").setHasDouble("blue_red_double").setDoubleTrainerType(TrainerType.RED).setDoubleTitle("champion_double") + [TrainerType.BLUE]: new TrainerConfig((t = TrainerType.BLUE)).initForChampion(signatureSpecies["BLUE"], true).setBattleBgm("battle_kanto_champion").setMixedBattleBgm("battle_kanto_champion").setHasDouble("blue_red_double").setDoubleTrainerType(TrainerType.RED).setDoubleTitle("champion_double") .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.ALAKAZAM], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); })) @@ -1384,7 +1477,7 @@ export const trainerConfigs: TrainerConfigs = { p.generateAndPopulateMoveset(); p.generateName(); })), - [TrainerType.RED]: new TrainerConfig(++t).initForChampion(signatureSpecies["RED"],true).setBattleBgm("battle_johto_champion").setMixedBattleBgm("battle_johto_champion").setHasDouble("red_blue_double").setDoubleTrainerType(TrainerType.BLUE).setDoubleTitle("champion_double") + [TrainerType.RED]: new TrainerConfig(++t).initForChampion(signatureSpecies["RED"], true).setBattleBgm("battle_johto_champion").setMixedBattleBgm("battle_johto_champion").setHasDouble("red_blue_double").setDoubleTrainerType(TrainerType.BLUE).setDoubleTitle("champion_double") .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.PIKACHU], TrainerSlot.TRAINER, true, p => { p.formIndex = 8; p.generateAndPopulateMoveset(); @@ -1395,7 +1488,7 @@ export const trainerConfigs: TrainerConfigs = { p.generateAndPopulateMoveset(); p.generateName(); })), - [TrainerType.LANCE_CHAMPION]: new TrainerConfig(++t).setName("Lance").initForChampion(signatureSpecies["LANCE_CHAMPION"],true).setBattleBgm("battle_johto_champion").setMixedBattleBgm("battle_johto_champion") + [TrainerType.LANCE_CHAMPION]: new TrainerConfig(++t).setName("Lance").initForChampion(signatureSpecies["LANCE_CHAMPION"], true).setBattleBgm("battle_johto_champion").setMixedBattleBgm("battle_johto_champion") .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.AERODACTYL], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); })) @@ -1404,7 +1497,7 @@ export const trainerConfigs: TrainerConfigs = { p.generateAndPopulateMoveset(); p.generateName(); })), - [TrainerType.STEVEN]: new TrainerConfig(++t).initForChampion(signatureSpecies["STEVEN"],true).setBattleBgm("battle_hoenn_champion_g5").setMixedBattleBgm("battle_hoenn_champion_g6").setHasDouble("steven_wallace_double").setDoubleTrainerType(TrainerType.WALLACE).setDoubleTitle("champion_double") + [TrainerType.STEVEN]: new TrainerConfig(++t).initForChampion(signatureSpecies["STEVEN"], true).setBattleBgm("battle_hoenn_champion_g5").setMixedBattleBgm("battle_hoenn_champion_g6").setHasDouble("steven_wallace_double").setDoubleTrainerType(TrainerType.WALLACE).setDoubleTitle("champion_double") .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SKARMORY], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); })) @@ -1413,7 +1506,7 @@ export const trainerConfigs: TrainerConfigs = { p.generateAndPopulateMoveset(); p.generateName(); })), - [TrainerType.WALLACE]: new TrainerConfig(++t).initForChampion(signatureSpecies["WALLACE"],true).setBattleBgm("battle_hoenn_champion_g5").setMixedBattleBgm("battle_hoenn_champion_g6").setHasDouble("wallace_steven_double").setDoubleTrainerType(TrainerType.STEVEN).setDoubleTitle("champion_double") + [TrainerType.WALLACE]: new TrainerConfig(++t).initForChampion(signatureSpecies["WALLACE"], true).setBattleBgm("battle_hoenn_champion_g5").setMixedBattleBgm("battle_hoenn_champion_g6").setHasDouble("wallace_steven_double").setDoubleTrainerType(TrainerType.STEVEN).setDoubleTitle("champion_double") .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.PELIPPER], TrainerSlot.TRAINER, true, p => { p.abilityIndex = 1; // Drizzle p.generateAndPopulateMoveset(); @@ -1422,7 +1515,7 @@ export const trainerConfigs: TrainerConfigs = { p.formIndex = 1; p.generateAndPopulateMoveset(); })), - [TrainerType.CYNTHIA]: new TrainerConfig(++t).initForChampion(signatureSpecies["CYNTHIA"],false).setBattleBgm("battle_sinnoh_champion").setMixedBattleBgm("battle_sinnoh_champion") + [TrainerType.CYNTHIA]: new TrainerConfig(++t).initForChampion(signatureSpecies["CYNTHIA"], false).setBattleBgm("battle_sinnoh_champion").setMixedBattleBgm("battle_sinnoh_champion") .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SPIRITOMB], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); })) @@ -1431,11 +1524,11 @@ export const trainerConfigs: TrainerConfigs = { p.generateAndPopulateMoveset(); p.generateName(); })), - [TrainerType.ALDER]: new TrainerConfig(++t).initForChampion(signatureSpecies["ALDER"],true).setHasDouble("alder_iris_double").setDoubleTrainerType(TrainerType.IRIS).setDoubleTitle("champion_double").setBattleBgm("battle_champion_alder").setMixedBattleBgm("battle_champion_alder") + [TrainerType.ALDER]: new TrainerConfig(++t).initForChampion(signatureSpecies["ALDER"], true).setHasDouble("alder_iris_double").setDoubleTrainerType(TrainerType.IRIS).setDoubleTitle("champion_double").setBattleBgm("battle_champion_alder").setMixedBattleBgm("battle_champion_alder") .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.BOUFFALANT, Species.BRAVIARY], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); })), - [TrainerType.IRIS]: new TrainerConfig(++t).initForChampion(signatureSpecies["IRIS"],false).setBattleBgm("battle_champion_iris").setMixedBattleBgm("battle_champion_iris").setHasDouble("iris_alder_double").setDoubleTrainerType(TrainerType.ALDER).setDoubleTitle("champion_double") + [TrainerType.IRIS]: new TrainerConfig(++t).initForChampion(signatureSpecies["IRIS"], false).setBattleBgm("battle_champion_iris").setMixedBattleBgm("battle_champion_iris").setHasDouble("iris_alder_double").setDoubleTrainerType(TrainerType.ALDER).setDoubleTitle("champion_double") .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.DRUDDIGON], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); })) @@ -1444,7 +1537,7 @@ export const trainerConfigs: TrainerConfigs = { p.generateAndPopulateMoveset(); p.generateName(); })), - [TrainerType.DIANTHA]: new TrainerConfig(++t).initForChampion(signatureSpecies["DIANTHA"],false).setMixedBattleBgm("battle_kalos_champion") + [TrainerType.DIANTHA]: new TrainerConfig(++t).initForChampion(signatureSpecies["DIANTHA"], false).setMixedBattleBgm("battle_kalos_champion") .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.GOURGEIST], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); })) @@ -1453,11 +1546,11 @@ export const trainerConfigs: TrainerConfigs = { p.generateAndPopulateMoveset(); p.generateName(); })), - [TrainerType.HAU]: new TrainerConfig(++t).initForChampion(signatureSpecies["HAU"],true).setMixedBattleBgm("battle_alola_champion") + [TrainerType.HAU]: new TrainerConfig(++t).initForChampion(signatureSpecies["HAU"], true).setMixedBattleBgm("battle_alola_champion") .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.ALOLA_RAICHU], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); })), - [TrainerType.LEON]: new TrainerConfig(++t).initForChampion(signatureSpecies["LEON"],true).setMixedBattleBgm("battle_galar_champion") + [TrainerType.LEON]: new TrainerConfig(++t).initForChampion(signatureSpecies["LEON"], true).setMixedBattleBgm("battle_galar_champion") .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.RILLABOOM, Species.CINDERACE, Species.INTELEON], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); })) @@ -1466,16 +1559,16 @@ export const trainerConfigs: TrainerConfigs = { p.generateAndPopulateMoveset(); p.generateName(); })), - [TrainerType.GEETA]: new TrainerConfig(++t).initForChampion(signatureSpecies["GEETA"],false).setMixedBattleBgm("battle_champion_geeta") + [TrainerType.GEETA]: new TrainerConfig(++t).initForChampion(signatureSpecies["GEETA"], false).setMixedBattleBgm("battle_champion_geeta") .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.GLIMMORA], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); })), - [TrainerType.NEMONA]: new TrainerConfig(++t).initForChampion(signatureSpecies["NEMONA"],false).setMixedBattleBgm("battle_champion_nemona") + [TrainerType.NEMONA]: new TrainerConfig(++t).initForChampion(signatureSpecies["NEMONA"], false).setMixedBattleBgm("battle_champion_nemona") .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.LYCANROC], TrainerSlot.TRAINER, true, p => { p.formIndex = 0; // Midday form p.generateAndPopulateMoveset(); })), - [TrainerType.KIERAN]: new TrainerConfig(++t).initForChampion(signatureSpecies["KIERAN"],true).setMixedBattleBgm("battle_champion_kieran") + [TrainerType.KIERAN]: new TrainerConfig(++t).initForChampion(signatureSpecies["KIERAN"], true).setMixedBattleBgm("battle_champion_kieran") .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.POLIWRATH, Species.POLITOED], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); })), @@ -1546,13 +1639,13 @@ export const trainerConfigs: TrainerConfigs = { return [modifierTypes.TERA_SHARD().generateType(null, [starter.species.type1]).withIdFromFunc(modifierTypes.TERA_SHARD).newModifier(starter) as PersistentModifier]; }), - [TrainerType.ROCKET_BOSS_GIOVANNI_1]: new TrainerConfig(t = TrainerType.ROCKET_BOSS_GIOVANNI_1).setName("Giovanni").initForEvilTeamLeader("Rocket Boss",[]).setMixedBattleBgm("battle_rocket_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.PERSIAN , Species.ALOLA_PERSIAN])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.NIDOKING , Species.NIDOQUEEN ])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.RHYPERIOR ])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.DUGTRIO, Species.ALOLA_DUGTRIO ])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.MAROWAK , Species.ALOLA_MAROWAK])) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.KANGASKHAN ], TrainerSlot.TRAINER, true, p => { + [TrainerType.ROCKET_BOSS_GIOVANNI_1]: new TrainerConfig(t = TrainerType.ROCKET_BOSS_GIOVANNI_1).setName("Giovanni").initForEvilTeamLeader("Rocket Boss", []).setMixedBattleBgm("battle_rocket_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.PERSIAN, Species.ALOLA_PERSIAN])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.NIDOKING, Species.NIDOQUEEN])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.RHYPERIOR])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.DUGTRIO, Species.ALOLA_DUGTRIO])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.MAROWAK, Species.ALOLA_MAROWAK])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.KANGASKHAN], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -1560,208 +1653,208 @@ export const trainerConfigs: TrainerConfigs = { p.generateName(); })), [TrainerType.ROCKET_BOSS_GIOVANNI_2]: new TrainerConfig(++t).setName("Giovanni").initForEvilTeamLeader("Rocket Boss", [], true).setMixedBattleBgm("battle_rocket_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.TYRANITAR , Species.IRON_THORNS], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.TYRANITAR, Species.IRON_THORNS], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; })) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.HIPPOWDON ])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.EXCADRILL ])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.KANGASKHAN ], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.HIPPOWDON])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.EXCADRILL])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.KANGASKHAN], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; p.formIndex = 1; p.generateName(); })) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.GASTRODON])) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.MEWTWO ], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.GASTRODON])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.MEWTWO], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; })), - [TrainerType.MAXIE]: new TrainerConfig(++t).setName("Maxie").initForEvilTeamLeader("Magma Boss",[]).setMixedBattleBgm("battle_aqua_magma_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.MIGHTYENA ])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.CROBAT, Species.GLISCOR ])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.WEEZING, Species.GALAR_WEEZING ])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.MAGMORTAR, Species.TORKOAL ])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.FLYGON])) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.CAMERUPT ], TrainerSlot.TRAINER, true, p => { + [TrainerType.MAXIE]: new TrainerConfig(++t).setName("Maxie").initForEvilTeamLeader("Magma Boss", []).setMixedBattleBgm("battle_aqua_magma_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.MIGHTYENA])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.CROBAT, Species.GLISCOR])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.WEEZING, Species.GALAR_WEEZING])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.MAGMORTAR, Species.TORKOAL])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.FLYGON])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.CAMERUPT], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; p.formIndex = 1; p.generateName(); })), - [TrainerType.MAXIE_2]: new TrainerConfig(++t).setName("Maxie").initForEvilTeamLeader("Magma Boss",[], true).setMixedBattleBgm("battle_aqua_magma_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.SOLROCK, Species.TYPHLOSION ], TrainerSlot.TRAINER, true, p => { + [TrainerType.MAXIE_2]: new TrainerConfig(++t).setName("Maxie").initForEvilTeamLeader("Magma Boss", [], true).setMixedBattleBgm("battle_aqua_magma_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SOLROCK, Species.TYPHLOSION], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; })) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.TORKOAL, Species.NINETALES ], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.TORKOAL, Species.NINETALES], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.abilityIndex = 2; // DROUGHT })) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.SHIFTRY, Species.SCOVILLAIN ], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.SHIFTRY, Species.SCOVILLAIN], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.abilityIndex = 0; // Chlorophyll })) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.GREAT_TUSK ])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.CAMERUPT ], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GREAT_TUSK])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.CAMERUPT], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; p.formIndex = 1; p.generateName(); })) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.GROUDON ], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.GROUDON], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; })), - [TrainerType.ARCHIE]: new TrainerConfig(++t).setName("Archie").initForEvilTeamLeader("Aqua Boss",[]).setMixedBattleBgm("battle_aqua_magma_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.LINOONE ])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.CROBAT, Species.PELIPPER ])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.MUK, Species.ALOLA_MUK ])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.TENTACRUEL ])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.RELICANTH, Species.WAILORD ])) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.SHARPEDO ], TrainerSlot.TRAINER, true, p => { + [TrainerType.ARCHIE]: new TrainerConfig(++t).setName("Archie").initForEvilTeamLeader("Aqua Boss", []).setMixedBattleBgm("battle_aqua_magma_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.LINOONE])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.CROBAT, Species.PELIPPER])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.MUK, Species.ALOLA_MUK])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.TENTACRUEL])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.RELICANTH, Species.WAILORD])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.SHARPEDO], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; p.formIndex = 1; p.generateName(); })), - [TrainerType.ARCHIE_2]: new TrainerConfig(++t).setName("Archie").initForEvilTeamLeader("Aqua Boss",[], true).setMixedBattleBgm("battle_aqua_magma_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.KINGDRA, Species.LUDICOLO ], TrainerSlot.TRAINER, true, p => { + [TrainerType.ARCHIE_2]: new TrainerConfig(++t).setName("Archie").initForEvilTeamLeader("Aqua Boss", [], true).setMixedBattleBgm("battle_aqua_magma_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.KINGDRA, Species.LUDICOLO], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; })) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.POLITOED, Species.PELIPPER ], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.POLITOED, Species.PELIPPER], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.abilityIndex = 2; // Drizzle })) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.BEARTIC, Species.ARMALDO ], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.BEARTIC, Species.ARMALDO], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.abilityIndex = 2; // Swift Swim })) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.HUNTAIL, Species.GOREBYSS ], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.HUNTAIL, Species.GOREBYSS], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.abilityIndex = 0; // Swift Swim })) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.SHARPEDO ], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.SHARPEDO], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; p.formIndex = 1; p.generateName(); })) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.KYOGRE ], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.KYOGRE], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; })), - [TrainerType.CYRUS]: new TrainerConfig(++t).setName("Cyrus").initForEvilTeamLeader("Galactic Boss",[]).setMixedBattleBgm("battle_galactic_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.GYARADOS, Species.BASCULEGION ])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.HONCHKROW, Species.HISUI_BRAVIARY ])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.CROBAT, Species.OVERQWIL ])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.AZELF, Species.UXIE, Species.MESPRIT ])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.HOUNDOOM ], TrainerSlot.TRAINER, true, p => { + [TrainerType.CYRUS]: new TrainerConfig(++t).setName("Cyrus").initForEvilTeamLeader("Galactic Boss", []).setMixedBattleBgm("battle_galactic_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.GYARADOS, Species.BASCULEGION])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.HONCHKROW, Species.HISUI_BRAVIARY])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.CROBAT, Species.OVERQWIL])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.AZELF, Species.UXIE, Species.MESPRIT])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.HOUNDOOM], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; p.formIndex = 1; p.generateName(); })) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.WEAVILE ], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.WEAVILE], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; })), - [TrainerType.CYRUS_2]: new TrainerConfig(++t).setName("Cyrus").initForEvilTeamLeader("Galactic Boss",[], true).setMixedBattleBgm("battle_galactic_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.AZELF, Species.UXIE, Species.MESPRIT ], TrainerSlot.TRAINER, true, p => { + [TrainerType.CYRUS_2]: new TrainerConfig(++t).setName("Cyrus").initForEvilTeamLeader("Galactic Boss", [], true).setMixedBattleBgm("battle_galactic_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.AZELF, Species.UXIE, Species.MESPRIT], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); })) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.ELECTRODE, Species.HISUI_ELECTRODE ])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.SALAMENCE, Species.ROARING_MOON ])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.HOUNDOOM ], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.ELECTRODE, Species.HISUI_ELECTRODE])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.SALAMENCE, Species.ROARING_MOON])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.HOUNDOOM], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; p.formIndex = 1; p.generateName(); })) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.WEAVILE ], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.WEAVILE], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; })) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.DARKRAI ], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.DARKRAI], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; })), - [TrainerType.GHETSIS]: new TrainerConfig(++t).setName("Ghetsis").initForEvilTeamLeader("Plasma Boss",[]).setMixedBattleBgm("battle_plasma_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.COFAGRIGUS, Species.RUNERIGUS ])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.BOUFFALANT ])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.SEISMITOAD, Species.CARRACOSTA ])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.EELEKTROSS, Species.GALVANTULA ])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.VOLCARONA ])) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.HYDREIGON ], TrainerSlot.TRAINER, true, p => { + [TrainerType.GHETSIS]: new TrainerConfig(++t).setName("Ghetsis").initForEvilTeamLeader("Plasma Boss", []).setMixedBattleBgm("battle_plasma_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.COFAGRIGUS, Species.RUNERIGUS])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.BOUFFALANT])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.SEISMITOAD, Species.CARRACOSTA])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.EELEKTROSS, Species.GALVANTULA])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.VOLCARONA])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.HYDREIGON], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; })), - [TrainerType.GHETSIS_2]: new TrainerConfig(++t).setName("Ghetsis").initForEvilTeamLeader("Plasma Boss",[], true).setMixedBattleBgm("battle_plasma_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.SLITHER_WING, Species.IRON_MOTH ], TrainerSlot.TRAINER, true, p => { + [TrainerType.GHETSIS_2]: new TrainerConfig(++t).setName("Ghetsis").initForEvilTeamLeader("Plasma Boss", [], true).setMixedBattleBgm("battle_plasma_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SLITHER_WING, Species.IRON_MOTH], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; })) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.DURANT ])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.DARMANITAN, Species.GALAR_DARMANITAN ])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.KINGAMBIT ])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.HYDREIGON, Species.IRON_JUGULIS ], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.DURANT])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.DARMANITAN, Species.GALAR_DARMANITAN])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.KINGAMBIT])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.HYDREIGON, Species.IRON_JUGULIS], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; })) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.KYUREM ], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.KYUREM], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; })), - [TrainerType.LYSANDRE]: new TrainerConfig(++t).setName("Lysandre").initForEvilTeamLeader("Flare Boss",[]).setMixedBattleBgm("battle_flare_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.MIENSHAO ])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.HONCHKROW, Species.TALONFLAME ])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.PYROAR ])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.MILOTIC ])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.HELIOLISK ])) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.GYARADOS ], TrainerSlot.TRAINER, true, p => { + [TrainerType.LYSANDRE]: new TrainerConfig(++t).setName("Lysandre").initForEvilTeamLeader("Flare Boss", []).setMixedBattleBgm("battle_flare_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.MIENSHAO])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.HONCHKROW, Species.TALONFLAME])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.PYROAR])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.MILOTIC])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.HELIOLISK])) + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.GYARADOS], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; p.formIndex = 1; p.generateName(); })), - [TrainerType.LYSANDRE_2]: new TrainerConfig(++t).setName("Lysandre").initForEvilTeamLeader("Flare Boss",[], true).setMixedBattleBgm("battle_flare_boss").setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.SCREAM_TAIL, Species.FLUTTER_MANE ], TrainerSlot.TRAINER, true, p => { + [TrainerType.LYSANDRE_2]: new TrainerConfig(++t).setName("Lysandre").initForEvilTeamLeader("Flare Boss", [], true).setMixedBattleBgm("battle_flare_boss").setVictoryBgm("victory_team_plasma") + .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SCREAM_TAIL, Species.FLUTTER_MANE], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; })) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.GHOLDENGO, Species.AEGISLASH ])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.PYROAR ])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.GOODRA, Species.HISUI_GOODRA ])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.GYARADOS ], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.GHOLDENGO, Species.AEGISLASH])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.PYROAR])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GOODRA, Species.HISUI_GOODRA])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.GYARADOS], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; p.formIndex = 1; p.generateName(); })) - .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.YVELTAL ], TrainerSlot.TRAINER, true, p => { + .setPartyMemberFunc(5, getRandomPartyMemberFunc([Species.YVELTAL], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; diff --git a/src/enums/trainer-type.ts b/src/enums/trainer-type.ts index db0bf3a8d64..1d4d9579ee3 100644 --- a/src/enums/trainer-type.ts +++ b/src/enums/trainer-type.ts @@ -1,215 +1,223 @@ - export enum TrainerType { - UNKNOWN, + UNKNOWN, - ACE_TRAINER, - ARTIST, - BACKERS, - BACKPACKER, - BAKER, - BEAUTY, - BIKER, - BLACK_BELT, - BREEDER, - CLERK, - CYCLIST, - DANCER, - DEPOT_AGENT, - DOCTOR, - FIREBREATHER, - FISHERMAN, - GUITARIST, - HARLEQUIN, - HIKER, - HOOLIGANS, - HOOPSTER, - INFIELDER, - JANITOR, - LINEBACKER, - MAID, - MUSICIAN, - HEX_MANIAC, - NURSERY_AIDE, - OFFICER, - PARASOL_LADY, - PILOT, - POKEFAN, - PRESCHOOLER, - PSYCHIC, - RANGER, - RICH, - RICH_KID, - ROUGHNECK, - SAILOR, - SCIENTIST, - SMASHER, - SNOW_WORKER, - STRIKER, - SCHOOL_KID, - SWIMMER, - TWINS, - VETERAN, - WAITER, - WORKER, - YOUNGSTER, - ROCKET_GRUNT, - ROCKET_ADMIN, - MAGMA_GRUNT, - MAGMA_ADMIN, - AQUA_GRUNT, - AQUA_ADMIN, - GALACTIC_GRUNT, - GALACTIC_ADMIN, - PLASMA_GRUNT, - PLASMA_SAGE, - FLARE_GRUNT, - FLARE_ADMIN, - ROCKET_BOSS_GIOVANNI_1, - ROCKET_BOSS_GIOVANNI_2, - MAXIE, - MAXIE_2, - ARCHIE, - ARCHIE_2, - CYRUS, - CYRUS_2, - GHETSIS, - GHETSIS_2, - LYSANDRE, - LYSANDRE_2, + ACE_TRAINER, + ARTIST, + BACKERS, + BACKPACKER, + BAKER, + BEAUTY, + BIKER, + BLACK_BELT, + BREEDER, + CLERK, + CYCLIST, + DANCER, + DEPOT_AGENT, + DOCTOR, + FIREBREATHER, + FISHERMAN, + GUITARIST, + HARLEQUIN, + HIKER, + HOOLIGANS, + HOOPSTER, + INFIELDER, + JANITOR, + LINEBACKER, + MAID, + MUSICIAN, + HEX_MANIAC, + NURSERY_AIDE, + OFFICER, + PARASOL_LADY, + PILOT, + POKEFAN, + PRESCHOOLER, + PSYCHIC, + RANGER, + RICH, + RICH_KID, + ROUGHNECK, + SAILOR, + SCIENTIST, + SMASHER, + SNOW_WORKER, + STRIKER, + SCHOOL_KID, + SWIMMER, + TWINS, + VETERAN, + WAITER, + WORKER, + YOUNGSTER, + ROCKET_GRUNT, + ARCHER, + ARIANA, + PROTON, + PETREL, + MAGMA_GRUNT, + TABITHA, + COURTNEY, + AQUA_GRUNT, + MATT, + SHELLY, + GALACTIC_GRUNT, + JUPITER, + MARS, + SATURN, + PLASMA_GRUNT, + ZINZOLIN, + ROOD, + FLARE_GRUNT, + BRYONY, + XEROSIC, + ROCKET_BOSS_GIOVANNI_1, + ROCKET_BOSS_GIOVANNI_2, + MAXIE, + MAXIE_2, + ARCHIE, + ARCHIE_2, + CYRUS, + CYRUS_2, + GHETSIS, + GHETSIS_2, + LYSANDRE, + LYSANDRE_2, - BROCK = 200, - MISTY, - LT_SURGE, - ERIKA, - JANINE, - SABRINA, - BLAINE, - GIOVANNI, - FALKNER, - BUGSY, - WHITNEY, - MORTY, - CHUCK, - JASMINE, - PRYCE, - CLAIR, - ROXANNE, - BRAWLY, - WATTSON, - FLANNERY, - NORMAN, - WINONA, - TATE, - LIZA, - JUAN, - ROARK, - GARDENIA, - MAYLENE, - CRASHER_WAKE, - FANTINA, - BYRON, - CANDICE, - VOLKNER, - CILAN, - CHILI, - CRESS, - CHEREN, - LENORA, - ROXIE, - BURGH, - ELESA, - CLAY, - SKYLA, - BRYCEN, - DRAYDEN, - MARLON, - VIOLA, - GRANT, - KORRINA, - RAMOS, - CLEMONT, - VALERIE, - OLYMPIA, - WULFRIC, - MILO, - NESSA, - KABU, - BEA, - ALLISTER, - OPAL, - BEDE, - GORDIE, - MELONY, - PIERS, - MARNIE, - RAIHAN, - KATY, - BRASSIUS, - IONO, - KOFU, - LARRY, - RYME, - TULIP, - GRUSHA, - LORELEI = 300, - BRUNO, - AGATHA, - LANCE, - WILL, - KOGA, - KAREN, - SIDNEY, - PHOEBE, - GLACIA, - DRAKE, - AARON, - BERTHA, - FLINT, - LUCIAN, - SHAUNTAL, - MARSHAL, - GRIMSLEY, - CAITLIN, - MALVA, - SIEBOLD, - WIKSTROM, - DRASNA, - HALA, - MOLAYNE, - OLIVIA, - ACEROLA, - KAHILI, - MARNIE_ELITE, - NESSA_ELITE, - BEA_ELITE, - ALLISTER_ELITE, - RAIHAN_ELITE, - RIKA, - POPPY, - LARRY_ELITE, - HASSEL, - CRISPIN, - AMARYS, - LACEY, - DRAYTON, - BLUE = 350, - RED, - LANCE_CHAMPION, - STEVEN, - WALLACE, - CYNTHIA, - ALDER, - IRIS, - DIANTHA, - HAU, - LEON, - GEETA, - NEMONA, - KIERAN, - RIVAL = 375, - RIVAL_2, - RIVAL_3, - RIVAL_4, - RIVAL_5, - RIVAL_6 + BROCK = 200, + MISTY, + LT_SURGE, + ERIKA, + JANINE, + SABRINA, + BLAINE, + GIOVANNI, + FALKNER, + BUGSY, + WHITNEY, + MORTY, + CHUCK, + JASMINE, + PRYCE, + CLAIR, + ROXANNE, + BRAWLY, + WATTSON, + FLANNERY, + NORMAN, + WINONA, + TATE, + LIZA, + JUAN, + ROARK, + GARDENIA, + MAYLENE, + CRASHER_WAKE, + FANTINA, + BYRON, + CANDICE, + VOLKNER, + CILAN, + CHILI, + CRESS, + CHEREN, + LENORA, + ROXIE, + BURGH, + ELESA, + CLAY, + SKYLA, + BRYCEN, + DRAYDEN, + MARLON, + VIOLA, + GRANT, + KORRINA, + RAMOS, + CLEMONT, + VALERIE, + OLYMPIA, + WULFRIC, + MILO, + NESSA, + KABU, + BEA, + ALLISTER, + OPAL, + BEDE, + GORDIE, + MELONY, + PIERS, + MARNIE, + RAIHAN, + KATY, + BRASSIUS, + IONO, + KOFU, + LARRY, + RYME, + TULIP, + GRUSHA, + LORELEI = 300, + BRUNO, + AGATHA, + LANCE, + WILL, + KOGA, + KAREN, + SIDNEY, + PHOEBE, + GLACIA, + DRAKE, + AARON, + BERTHA, + FLINT, + LUCIAN, + SHAUNTAL, + MARSHAL, + GRIMSLEY, + CAITLIN, + MALVA, + SIEBOLD, + WIKSTROM, + DRASNA, + HALA, + MOLAYNE, + OLIVIA, + ACEROLA, + KAHILI, + MARNIE_ELITE, + NESSA_ELITE, + BEA_ELITE, + ALLISTER_ELITE, + RAIHAN_ELITE, + RIKA, + POPPY, + LARRY_ELITE, + HASSEL, + CRISPIN, + AMARYS, + LACEY, + DRAYTON, + BLUE = 350, + RED, + LANCE_CHAMPION, + STEVEN, + WALLACE, + CYNTHIA, + ALDER, + IRIS, + DIANTHA, + HAU, + LEON, + GEETA, + NEMONA, + KIERAN, + RIVAL = 375, + RIVAL_2, + RIVAL_3, + RIVAL_4, + RIVAL_5, + RIVAL_6 } diff --git a/src/field/trainer.ts b/src/field/trainer.ts index 107dfbe6831..470e8d2267f 100644 --- a/src/field/trainer.ts +++ b/src/field/trainer.ts @@ -121,7 +121,7 @@ export default class Trainer extends Phaser.GameObjects.Container { // Determine the title to include based on the configuration and includeTitle flag. let title = includeTitle && this.config.title ? this.config.title : null; - const evilTeamTitles = ["grunt", "admin", "sage"]; + const evilTeamTitles = ["grunt"]; if (this.name === "" && evilTeamTitles.some(t => name.toLocaleLowerCase().includes(t))) { // This is a evil team grunt so we localize it by only using the "name" as the title title = i18next.t(`trainerClasses:${name.toLowerCase().replace(/\s/g, "_")}`); @@ -165,6 +165,8 @@ export default class Trainer extends Phaser.GameObjects.Container { name = i18next.t(`trainerNames:${this.config.nameDouble.toLowerCase().replace(/\s/g, "_")}`); } + console.log(title ? `${title} ${name}` : name); + // Return the formatted name, including the title if it is set. return title ? `${title} ${name}` : name; } diff --git a/src/locales/ca-ES/dialogue.ts b/src/locales/ca-ES/dialogue.ts index 44693c38aa1..64e4028a912 100644 --- a/src/locales/ca-ES/dialogue.ts +++ b/src/locales/ca-ES/dialogue.ts @@ -383,6 +383,204 @@ export const PGMdialogue: DialogueTranslationEntries = { 3: "I think it's me that's seasick..." }, }, + + "archer": { + "encounter": { + 1: "Before you go any further, let's see how you far against us, Team Rocket!", + 2: "I have received reports that your skills are not insignificant. Let's see if they are true.", + 3: "I am Archer, an Admin of Team Rocket. And I do not go easy on enemies of our organization." + }, + "victory": { + 1: "What a blunder!", + 2: "With my current skills, I was not up to the task after all.", + 3: "F-forgive me, Giovanni... For me to be defeated by a mere trainer..." + }, + }, + "ariana": { + "encounter": { + 1: `Hold it right there! We can't someone on the loose." + $It's harmful to Team Rocket's pride, you see.`, + 2: `I don't know or care if what I'm doing is right or wrong... + $I just put my faith in Giovanni and do as I am told`, + 3: "Your trip ends here. I'm going to take you down!" + }, + "victory": { + 1: `Tch, you really are strong. It's too bad. + $If you were to join Team Rocket, you could become an Executive.`, + 2: "I... I'm shattered...", + 3: "Aaaieeeee! This can't be happening! I fought hard, but I still lostโ€ฆ" + }, + }, + "proton": { + "encounter": { + 1: "What do you want? If you interrupt our work, don't expect any mercy!", + 2: `What do we have here? I am often labeled as the scariest and cruelest guy in Team Rocketโ€ฆ + $I strongly urge you not to interfere with our business!`, + 3: "I am Proton, an Admin of Team Rocket. I am here to put an end to your meddling!" + }, + "victory": { + 1: "The fortress came down!", + 2: "You may have won this timeโ€ฆ But all you did was make Team Rocket's wrath growโ€ฆ", + 3: "I am defeatedโ€ฆ But I will not forget this!" + }, + }, + + "petrel": { + "encounter": { + 1: `Muhahaha, we've been waiting for you. Me? You don't know who I am? It is me, Giovanni. + $The majestic Giovanni himself! Wahahaha! โ€ฆHuh? I don't sound anything like Giovanni? + $I don't even look like Giovanni? How come? I've worked so hard to mimic him!`, + 2: "I am Petrel, an Admin of Team Rocket. I will not allow you to interfere with our plans!", + 3: "Rocket Executive Petrel will deal with this intruder!" + }, + "victory": { + 1: "OK, OK. I'll tell you where he is.", + 2: "Iโ€ฆ I couldn't do a thingโ€ฆ Giovanni, please forgive meโ€ฆ", + 3: "No, I can't let this affect me. I have to inform the othersโ€ฆ" + }, + }, + "tabitha": { + "encounter": { + 1: "Hehehe! So you've come all the way here! But you're too late!", + 2: `Hehehe... Got here already, did you? We underestimated you! But this is it! + $I'm a cut above the Grunts you've seen so far. I'm not stalling for time. + $I'm going to pulverize you!`, + 3: "I'm going to give you a little taste of pain! Resign yourself to it!" + }, + "victory": { + 1: `Hehehe! You might have beaten me, but you don't stand a chance against the Boss! + $If you get lost now, you won't have to face a sound whipping!`, + 2: "Hehehe... So, I lost, too...", + 3: "Ahya! How could this be? For an Admin like me to lose to some random trainer..." + }, + }, + "courtney": { + "encounter": { + 1: "The thing...The thing that you hold...That is what... That's what we of Team Magma seek...", + 2: "... Well then...Deleting...", + 3: "...Ha. ...Analyzing... ...Hahโ™ช" + }, + "victory": { + 1: "... ...Change...the world.", + 2: `As anticipated. Unanticipated. You. Target lock...completed. + $Commencing...experiment. You. Forever. Aha... โ™ช`, + 3: "...Again? That's unanticipated. ...I knew it. You...are interesting! ...Haha. โ™ช" + }, + }, + "shelly": { + "encounter": { + 1: `Ahahahaha! You're going to meddle in Team Aqua's affairs? + $You're either absolutely fearless, simply ignorant, or both! + $You're so cute, you're disgusting! I'll put you down`, + 2: "What's this? Who's this spoiled brat?", + 3: "Cool your jets. Be patient. I'll crush you shortly." + }, + "victory": { + 1: `Ahahahaha! We got meddled with unexpectedly! We're out of options. + $We'll have to pull out. But this isn't the last you'll see of Team Aqua! + $We have other plans! Don't you forget it!`, + 2: "Ahhh?! Did I go too easy on you?!", + 3: `Uh. Are you telling me you've upped your game even more during the fight? + $You're a brat with a bright futureโ€ฆ My Pokรฉmon and I don't have any strength left to fightโ€ฆ + $Go onโ€ฆ Go and be destroyed by Archie.` + }, + }, + "matt": { + "encounter": { + 1: "Hoohahaha! What, you got a screw loose or something? Look at you, little Makuhita person!", + 2: "Oho! You! You're that funny kid!", + 3: "What are you doing here? Did you follow us?" + }, + "victory": { + 1: "All right then, until the Boss has time for you, I'll be your opponent!", + 2: `I can feel it! I can feel it, all right! The strength coming offa you! + $More! I still want more! But looks like we're outta time...`, + 3: "That was fun! I knew you'd show me a good time! I look forward to facing you again someday!" + }, + }, + "mars": { + "encounter": { + 1: "I'm Mars, one of Team Galactic's top Commanders.", + 2: "Team Galactic's vision for the future is unwavering. Opposition will be crushed without mercy!", + 3: "Feeling nervous? You should be!" + }, + "victory": { + 1: "This can't be happening! How did I lose?!", + 2: "You have some skill, I'll give you that.", + 3: "Defeated... This was a costly mistake." + } + }, + "jupiter": { + "encounter": { + 1: "Jupiter, Commander of Team Galactic, at your service.", + 2: "Resistance is futile. Team Galactic will prevail!", + 3: "You're trembling... scared already?" + }, + "victory": { + 1: "No way... I lost?!", + 2: "Impressive, you've got guts!", + 3: "Losing like this... How embarrassing." + } + }, + "saturn": { + "encounter": { + 1: "I am Saturn, Commander of Team Galactic.", + 2: "Our mission is absolute. Any hindrance will be obliterated!", + 3: "Is that fear I see in your eyes?" + }, + "victory": { + 1: "Impossible... Defeated by you?!", + 2: "You have proven yourself a worthy adversary.", + 3: "Bestowed in defeat... This is unacceptable." + }}, + "zinzolin": { + "encounter": { + 1: "You could become a threat to Team Plasma, so we will eliminate you here and now!", + 2: "Oh, for crying out loud... I didn't expect to have to battle in this freezing cold!", + 3: "You're an impressive Trainer to have made it this far. But it ends here." + }, + "victory": { + 1: "Ghetsis... I have failed you...", + 2: "It's bitter cold. I'm shivering. I'm suffering. Yet, I still stand victorious.", + 3: "Hmph. You're a smarter Trainer than I expected, but not smart enough." + } + }, + "rood": { + "encounter": { + 1: "You are a threat to Team Plasma. We cannot let you walk away from here and now!", + 2: "Oh, this icy wind... I never thought I'd have to fight here!", + 3: "You are a remarkable Trainer to have made it this far. But this is where it ends." + }, + "victory": { + 1: "Ghetsis... I have failed my mission...", + 2: "The cold is piercing. I'm shivering. I'm suffering. Yet, I have triumphed.", + 3: "Hm. You are a talented Trainer, but unfortunately not talented enough." + } + }, + "xerosic": { + "encounter": { + 1: "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!", + 2: "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.", + 3: "I've been waiting for you! I need to do a little research on you! Come, let us begin!" + }, + "victory": { + 1: "Ah, you're quite strong. Oh yesโ€”very strong, indeed.", + 2: "Ding-ding-ding! You did it! To the victor go the spoils!", + 3: "Wonderful! Amazing! You have tremendous skill and bravery!" + } + }, + "bryony": { + "encounter": { + 1: "I am Bryony, and it would be my pleasure to battle you. Show me what you've got.", + 2: "Impressive... You're more powerful than you appear. Let's see the true extent of your energy.", + 3: "I've anticipated your arrival. It's time for a little test. Shall we begin?" + }, + "victory": { + 1: "You're quite strong. Oh yesโ€”very strong, indeed.", + 2: "Ding-ding-ding! You've done well. Victory is yours.", + 3: "Wonderful! Remarkable! Your skill and bravery are commendable." + } + }, "rocket_grunt": { "encounter": { 1: "Prepare for trouble!" @@ -391,18 +589,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Team Rocket blasting off again!" }, }, - "rocket_admin": { - "encounter": { - 1: "Oh? You managed to get this far? You must be quite the trainer.", - 2: "That's quite enough of you playing hero, kid.", - 3: "I'll show you how scary an angry adult can be!" - }, - "victory": { - 1: "No! Forgive me Giovanni!", - 2: "How could this be?", - 3: "Urgh... You were too strong..." - }, - }, "magma_grunt": { "encounter": { 1: " If you get in the way of Team Magma, donโ€™t expect any mercy!" @@ -411,18 +597,7 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Huh? I lost?!" }, }, - "magma_admin": { - "encounter": { - 1: "Hehehe! So you've come all the way here! But you're too late!", - 2: "You're going to meddle in Team Magma's affairs? You're so cute you're disgusting! I'll put you down kiddy!", - 3: "I'm going to give you a little taste of pain! Resign yourself to it!" - }, - "victory": { - 1: "Hehehe... So I lost...", - 2: "You're disgustingly strong!", - 3: "Ahahaha! Ouch!" - }, - }, + "aqua_grunt": { "encounter": { 1: "No one who crosses Team Aqua gets any mercy, not even kids!" @@ -431,18 +606,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "You're kidding me!" }, }, - "aqua_admin": { - "encounter": { - 1: "I'm a cut above the grunts you've seen so far. I'm going to puvlerize you!", - 2: "Hahn? What's this? Who's this spoiled brat?", - 3: "What are you doing here? Did you follow us?" - }, - "victory": { - 1: "So I lost too...", - 2: "Ahhh?! Did I go too easy on you?!", - 3: "Wh-what was that?" - }, - }, "galactic_grunt": { "encounter": { 1: "Don't mess with Team Galactic!" @@ -451,18 +614,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Shut down..." }, }, - "galactic_admin": { - "encounter": { - 1: "I'm one of Team Galactic's Commanders.", - 2: "Anything that opposes Team Galactic must be crushed! Even the very thought of opposition will not be tolerated!", - 3: "What's the matter? Don't tell me you're shaking?" - }, - "victory": { - 1: "This can't be?! I lost?! You... you uppity brat!", - 2: "You, my friend, are tough!", - 3: "Losing to some child... Being careless cost me too much." - }, - }, "plasma_grunt": { "encounter": { 1: "We won't tolerate people who have different ideas!" @@ -471,18 +622,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Plasmaaaaaaaaa!" }, }, - "plasma_sage": { - "encounter": { - 1: "You could become a threat to Team Plasma, so we will eliminate you here!", - 2: "Oh, for crying out loud... I didn't expect to have to fight!", - 3: "You're an impressive Trainer to have made it this far." - }, - "victory": { - 1: "Ghetsis...", - 2: "It's bitter cold. I'm shivering. I'm suffering.", - 3: "Hmph. You're a smarter Trainer than I expected." - }, - }, "flare_grunt": { "encounter": { 1: "Fashion is most important to us!" @@ -491,18 +630,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "The future doesn't look bright for me." }, }, - "flare_admin": { - "encounter": { - 1: "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!", - 2: "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.", - 3: "I've been waiting for you! I need to do a little research on you! Come, let us begin!" - }, - "victory": { - 1: "You're quite strong. Oh yes-very strong, indeed.", - 2: "Ding-ding-ding! Yup, you did it! To the victor goes the spoils!", - 3: "Wonderful! Amazing! You have tremendous skill and bravery!" - }, - }, "rocket_boss_giovanni_1": { "encounter": { 1: "So! I must say, I am impressed you got here!" @@ -2605,7 +2732,7 @@ export const PGFbattleSpecDialogue: SimpleTranslationEntries = PGMbattleSpecDial // Dialogue that does not fit into any other category (e.g. tutorial messages, or the end of the game). For when the player character is male export const PGMmiscDialogue: SimpleTranslationEntries = { "ending": - `@c{smile}Oh? You won?@d{96} @c{smile_eclosed}I guess I should've known.\nBut, you're back now. + `@c{smile}Oh? You won?@d{96} @c{smile_eclosed}I guess I should've known.\nBut, you're back now. $@c{smile}It's over.@d{64} You ended the loop. $@c{serious_smile_fists}You fulfilled your dream too, didn't you?\nYou didn't lose even once. $@c{neutral}I'm the only one who'll remember what you did.@d{96}\nI guess that's okay, isn't it? @@ -2613,7 +2740,7 @@ export const PGMmiscDialogue: SimpleTranslationEntries = { $@c{smile_eclosed}Anyway, I've had about enough of this place, haven't you? Let's head home. $@c{serious_smile_fists}Maybe when we get back, we can have another battle?\nIf you're up to it.`, "ending_female": - `@c{shock}You're back?@d{32} Does that meanโ€ฆ@d{96} you won?!\n@c{smile_ehalf}I should have known you had it in you. + `@c{shock}You're back?@d{32} Does that meanโ€ฆ@d{96} you won?!\n@c{smile_ehalf}I should have known you had it in you. $@c{smile_eclosed}Of courseโ€ฆ I always had that feeling.\n@c{smile}It's over now, right? You ended the loop. $@c{smile_ehalf}You fulfilled your dream too, didn't you?\nYou didn't lose even once. $I'll be the only one to remember what you did.\n@c{angry_mopen}I'll try not to forget! diff --git a/src/locales/ca-ES/trainers.ts b/src/locales/ca-ES/trainers.ts index 00367865d14..a40fabaeacc 100644 --- a/src/locales/ca-ES/trainers.ts +++ b/src/locales/ca-ES/trainers.ts @@ -19,6 +19,19 @@ export const titles: SimpleTranslationEntries = { "galactic_boss": "Team Galactic Boss", "plasma_boss": "Team Plasma Boss", "flare_boss": "Team Flare Boss", + + "rocket_admin": "Team Rocket Admin", + "rocket_admin_female": "Team Rocket Admin", + "magma_admin": "Team Magma Admin", + "magma_admin_female": "Team Magma Admin", + "aqua_admin": "Team Aqua Admin", + "aqua_admin_female": "Team Aqua Admin", + "galactic_commander": "Team Galactic Commander", + "galactic_commander_female": "Team Galactic Commander", + "plasma_sage": "Team Plasma Sage", + "plasma_admin": "Team Plasma Admin", + "flare_admin": "Team Flare Admin", + "flare_admin_female": "Team Flare Admin", // Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc. } as const; @@ -128,32 +141,21 @@ export const trainerClasses: SimpleTranslationEntries = { "rocket_grunt": "Rocket Grunt", "rocket_grunts": "Rocket Grunts", "rocket_grunt_female": "Rocket Grunt", - "rocket_admin": "Rocket Admin", - "rocket_admin_female": "Rocket Admin", "magma_grunt": "Magma Grunt", "magma_grunt_female": "Magma Grunt", "magma_grunts": "Magma Grunts", - "magma_admin": "Magma Admin", - "magma_admin_female": "Magma Admin", "aqua_grunt": "Aqua Grunt", "aqua_grunt_female": "Aqua Grunt", "aqua_grunts": "Aqua Grunts", - "aqua_admin": "Aqua Admin", - "aqua_admin_female": "Aqua Admin", "galactic_grunt": "Galactic Grunt", "galactic_grunt_female": "Galactic Grunt", "galactic_grunts": "Galactic Grunts", - "galactic_admin": "Galactic Admin", - "galactic_admin_female": "Galactic Admin", "plasma_grunt": "Plasma Grunt", "plasma_grunt_female": "Plasma Grunt", "plasma_grunts": "Plasma Grunts", - "plasma_sage": "Plasma Sage", "flare_grunt": "Flare Grunt", "flare_grunt_female": "Flare Grunt", "flare_grunts": "Flare Grunts", - "flare_admin": "Flare Admin", - "flare_admin_female": "Flare Admin", } as const; // Names of special trainers like gym leaders, elite four, and the champion @@ -282,6 +284,24 @@ export const trainerNames: SimpleTranslationEntries = { "leon": "Leon", "rival": "Finn", "rival_female": "Ivy", + + // Evil Team Admins + "archer": "Archer", + "ariana": "Ariana", + "proton": "Proton", + "petrel": "Petrel", + "tabitha": "Tabitha", + "courtney": "Courtney", + "shelly": "Shelly", + "matt": "Matt", + "mars": "Mars", + "jupiter": "Jupiter", + "saturn": "Saturn", + "zinzolin": "Zinzolin", + "rood": "Rood", + "xerosic": "Xerosic", + "bryony": "Bryony", + "maxie": "Maxie", "archie": "Archie", "cyrus": "Cyrus", diff --git a/src/locales/de/dialogue.ts b/src/locales/de/dialogue.ts index 57fd9071463..09a887ef875 100644 --- a/src/locales/de/dialogue.ts +++ b/src/locales/de/dialogue.ts @@ -367,30 +367,212 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Ich werde fรผr das nรคchste Rennen tunen." }, }, - "rocket_grunt": { + "archer": { "encounter": { - 1: `Jetzt gibt es ร„rger!โ€ฆ - $und es kommt noch hรคrter! - $Wir wollen รผber die Erde regierenโ€ฆ - $und naja du kennst den Restโ€ฆ!` + 1: "Bevor du weitergehst, lass uns sehen, wie du dich gegen uns, Team Rocket, schlรคgst!", + 2: `Ich habe Berichte erhalten, dass deine Fรคhigkeiten nicht unbedeutend sind. + $Mal sehen, ob sie wahr sind.`, + 3: `Ich bin Atlas, ein Vorstand von Team Rocket. + $Und ich mache es den Feinden unserer Organisation nicht leicht.` }, "victory": { - 1: "Das war mal wieder ein Schuss in den Ofen!" - }, + 1: "Was fรผr ein Fehler!", + 2: "Mit meinen aktuellen Fรคhigkeiten war ich der Aufgabe doch nicht gewachsen.", + 3: "V-verzeih mir, Giovanni... Dass ich von einem einfachen Trainer besiegt wurde..." + } }, - "rocket_admin": { + "ariana": { "encounter": { - 1: "Oh? Du wagst es, dich Team Rocket zu widersetzen? Du wirst es bereuen.", - 2: "Du glaubst, du kannst uns aufhalten? Naiver Narr!", - 3: "Ich werde dir die wahre Macht von Team Rocket zeigen!" + 1: `Halt! Wir kรถnnen niemanden herumlaufen lassen. + $Es ist schรคdlich fรผr den Stolz von Team Rocket, verstehst du.`, + 2: `Ich weiรŸ nicht und es ist mir egal, ob das, was ich tue, richtig oder falsch ist... + $Ich vertraue einfach auf Giovanni und tue, was mir gesagt wird.`, + 3: "Dein Trip endet hier. Ich werde dich erledigen!" }, "victory": { - 1: "Nein! Verzeih mir, Giovanni!", - 2: "Wie konnte das geschehen?", - 3: "Urgh... Du warst zu stark..." - }, + 1: `Tch, du bist wirklich stark. Es ist schade. + $Wenn du Team Rocket beitreten wรผrdest, kรถnntest du ein Vorstand werden.`, + 2: "Ich... ich bin zerstรถrt...", + 3: "Aaaieeeee! Das kann nicht passieren! Ich habe hart gekรคmpft, aber trotzdem verloren..." + } + }, + "proton": { + "encounter": { + 1: "Was willst du? Wenn du unsere Arbeit unterbrichst, erwarte keine Gnade!", + 2: `Was haben wir hier? Ich werde oft als der gruseligste und grausamste Typ bei Team Rocket bezeichnetโ€ฆ + $Ich rate dir dringend, dich nicht in unsere Geschรคfte einzumischen!`, + 3: "Ich bin Proton, ein Admin von Team Rocket. Ich bin hier, um deinem Einmischen ein Ende zu setzen!" + }, + "victory": { + 1: "Die Festung ist gefallen! Alle Mann zurรผckziehen!", + 2: "Du hast diesmal gewonnenโ€ฆ Aber alles, was du getan hast, war, den Zorn von Team Rocket zu vergrรถรŸernโ€ฆ", + 3: "Ich bin besiegtโ€ฆ Aber ich werde das nicht vergessen!" + } + }, + "petrel": { + "encounter": { + 1: `Muhahaha, wir haben auf dich gewartet. Ich? Du weiรŸt nicht, wer ich bin? Ich bin Giovanni. + $Der majestรคtische Giovanni hรถchstpersรถnlich! Wahahaha! + $โ€ฆHuh? Ich klinge รผberhaupt nicht wie Giovanni? + $Ich sehe nicht einmal aus wie Giovanni? + $Wie kommt das? Ich habe so hart daran gearbeitet, ihn nachzuahmen!`, + 2: "Ich bin Lambda, ein Admin von Team Rocket. Ich werde nicht zulassen, dass du unsere Plรคne stรถrst!", + 3: "Rocket Vorstand Lambda wird sich um diesen Eindringling kรผmmern!" + }, + "victory": { + 1: "OK, OK. Ich sage dir, wo er ist.", + 2: "Ichโ€ฆ Ich konnte nichts tunโ€ฆ Giovanni, bitte vergib mirโ€ฆ", + 3: "Nein, ich kann das nicht auf mich sitzen lassen. Ich muss die anderen informierenโ€ฆ" + } + }, + "tabitha": { + "encounter": { + 1: "Hehehe! Du bist also bis hierher gekommen! Aber du bist zu spรคt!", + 2: `Hehehe... Schon hier, oder? Wir haben dich unterschรคtzt! Aber das war's! + $Ich bin eine Klasse รผber den Rรผpeln, die du bisher gesehen hast. Ich halte dich nicht hin. + $Ich werde dich zermalmen!`, + 3: "Ich werde dir eine kleine Kostprobe des Schmerzes geben! Ergebe dich!" + }, + "victory": { + 1: `Hehehe! Du hast mich vielleicht besiegt, aber du hast keine Chance gegen den Boss! + $Wenn du jetzt aufgibst, musst du dich keiner ordentlichen Tracht Prรผgel stellen!`, + 2: "Hehehe... Also habe ich auch verloren...", + 3: "Ahya! Wie konnte das passieren? Ein Vorstand wie ich von einem zufรคlligen Trainer besiegt..." + } + }, + "courtney": { + "encounter": { + 1: `Das Ding... Das Ding, das du hรคltst... Das ist es, was... + $Das ist es, wonach wir von Team Magma suchen...`, + 2: "... Nun dann... Auslรถschen...", + 3: `...?! Du... Hm... โ™ช Das trifft sich ausgezeichnet... โ™ช + $Dann hole ich mir eben zuerst deine Pokรฉmon... Her damit...` + }, + "victory": { + 1: "... ...ร„ndere... die Welt.", + 2: `Wie erwartet. Unerwartet. Du. Ziel erfasst... abgeschlossen. + $Beginne... Experiment. Du. Fรผr immer. Aha... โ™ช`, + 3: "...Schon wieder? Das war unerwartet. ...Ich wusste es. Du... bist interessant! ...Haha. โ™ช" + } + }, + "shelly": { + "encounter": { + 1: `Ahahahaha! Du wirst dich in die Angelegenheiten von Team Aqua einmischen? + $Du bist entweder absolut furchtlos, einfach unwissend oder beides! + $Du bist so sรผรŸ, dass es ekelhaft ist! Ich werde dich erledigen.`, + 2: "Was ist das? Wer ist dieser verwรถhnte Gรถr?", + 3: "Beruhige dich. Sei geduldig. Ich werde dich gleich zermalmen." + }, + "victory": { + 1: `Ahahahaha! Wir wurden unerwartet gestรถrt! Uns bleiben keine Optionen. + $Wir mรผssen uns zurรผckziehen. Aber das ist nicht das letzte Mal, dass du Team Aqua siehst! + $Wir haben andere Plรคne! Vergiss das nicht!`, + 2: "Ahhh?! War ich zu nachsichtig mit dir?!", + 3: `Uh. Willst du mir sagen, dass du wรคhrend des Kampfes noch besser geworden bist? + $Du bist ein Gรถr mit einer glรคnzenden Zukunftโ€ฆ + $Meine Pokรฉmon und ich haben keine Kraft mehr zu kรคmpfenโ€ฆ + $Geh weiterโ€ฆ Geh und werde von Adrian zerstรถrt.` + } + }, + "matt": { + "encounter": { + 1: `Hoohahaha! Was, hast du eine Schraube locker oder so? + $Sieh dich an, kleiner Makuhita-รคhnlicher Trainer!`, + 2: "Oho! Du! Du bist das lustige Kind!", + 3: "Was machst du hier? Bist du uns gefolgt?" + }, + "victory": { + 1: "Na gut, bis der Boss Zeit fรผr dich hat, werde ich dein Gegner sein!", + 2: `Ich kann es fรผhlen! Ich kann es spรผren, das ist klar! Die Stรคrke, die von dir ausgeht! + $Mehr! Ich will noch mehr! Aber es sieht so aus, als hรคtten wir keine Zeit mehr...`, + 3: `Das war SpaรŸ! Ich wusste, dass du mir eine gute Zeit bieten wรผrdest! + $Ich freue mich darauf, dich eines Tages wieder zu treffen!` + } + }, + "mars": { + "encounter": { + 1: "Ich bin Mars, eine der obersten Commander von Team Galaktik.", + 2: "Die Vision von Team Galaktik fรผr die Zukunft ist unbeirrt. Opposition wird gnadenlos zerschlagen!", + 3: "Fรผhlst du dich nervรถs? Das solltest du!" + }, + "victory": { + 1: "Das kann nicht passieren! Wie habe ich verloren?!", + 2: "Du hast etwas Kรถnnen, das muss ich zugeben.", + 3: "Besiegt... Das war ein teurer Fehler." + } + }, + "jupiter": { + "encounter": { + 1: "Jupiter, Commander von Team Galaktik, zu Diensten.", + 2: "Widerstand ist zwecklos. Team Galaktik wird siegen!", + 3: "Du zitterst... Schon Angst?" + }, + "victory": { + 1: "Unmรถglich... Ich habe verloren?!", + 2: "Beeindruckend, du hast Mut!", + 3: "So zu verlieren... Wie peinlich." + } + }, + "saturn": { + "encounter": { + 1: "Ich bin Saturn, Commander von Team Galaktik.", + 2: "Unsere Mission ist absolut. Jeder Widerstand wird vernichtet!", + 3: "Ist das Angst, die ich in deinen Augen sehe?" + }, + "victory": { + 1: "Unmรถglich... Von dir besiegt?!", + 2: "Du hast dich als wรผrdiger Gegner erwiesen.", + 3: "Besiegt in der Niederlage... Das ist inakzeptabel." + } + }, + "zinzolin": { + "encounter": { + 1: "Du kรถnntest eine Bedrohung fรผr Team Plasma werden, also werden wir dich hier und jetzt eliminieren!", + 2: "Oh, zum Heulen... Ich hatte nicht erwartet, in dieser eisigen Kรคlte kรคmpfen zu mรผssen!", + 3: "Du bist ein beeindruckender Trainer, dass du es so weit geschafft hast. Aber hier endet es." + }, + "victory": { + 1: "G-Cis... Ich habe versagt...", + 2: "Es ist bitterkalt. Ich zittere. Ich leide. Doch ich stehe immer noch siegreich da.", + 3: "Hm. Du bist ein klรผgerer Trainer, als ich erwartet habe, aber nicht klug genug." + } + }, + "rood": { + "encounter": { + 1: "Du bist eine Bedrohung fรผr Team Plasma. Wir kรถnnen dich hier und jetzt nicht laufen lassen!", + 2: "Oh, dieser eisige Wind... Ich hรคtte nie gedacht, dass ich hier kรคmpfen mรผsste!", + 3: "Du bist ein bemerkenswerter Trainer, dass du es bis hierher geschafft hast. Aber hier wird es enden." + }, + "victory": { + 1: "G-Cis... Ich habe meine Mission nicht erfรผllt...", + 2: "Die Kรคlte ist durchdringend. Ich zittere. Ich leide. Doch ich habe gesiegt.", + 3: "Hm. Du bist ein talentierter Trainer, aber leider nicht talentiert genug." + } + }, + "xerosic": { + "encounter": { + 1: "Ah ha ha! Es wรคre mir ein Vergnรผgen. Komm schon, kleiner Trainer! Zeig mir, was du drauf hast!", + 2: "Hm... Du bist mรคchtiger, als du aussiehst. Ich frage mich, wie viel Energie in dir steckt.", + 3: "Ich habe auf dich gewartet! Ich muss ein wenig Forschung an dir betreiben! Komm, lass uns beginnen!" + }, + "victory": { + 1: "Ah, du bist ziemlich stark. Oh jaโ€”sehr stark, in der Tat.", + 2: "Ding-ding-ding! Du hast es geschafft! Dem Sieger gebรผhrt die Beute!", + 3: "Wunderbar! Erstaunlich! Du hast enorme Fรคhigkeiten und Mut!" + } + }, + "bryony": { + "encounter": { + 1: "Ich bin Begonia, und es wรคre mir ein Vergnรผgen, gegen dich zu kรคmpfen. Zeig mir, was du drauf hast.", + 2: "Beeindruckend... Du bist mรคchtiger, als du aussiehst. Zeig mir das wahre AusmaรŸ deiner Energie.", + 3: "Ich habe deine Ankunft erwartet. Es ist Zeit fรผr einen kleinen Test. Sollen wir beginnen?" + }, + "victory": { + 1: "Du bist ziemlich stark. Oh jaโ€”sehr stark, in der Tat.", + 2: "Ding-ding-ding! Du hast dich gut geschlagen. Der Sieg gehรถrt dir.", + 3: "Wunderbar! Bemerkenswert! Deine Fรคhigkeiten und dein Mut sind lobenswert." + } }, - "firebreather": { "encounter": { 1: "Meine Flammen werden dich verschlingen!", @@ -415,6 +597,17 @@ export const PGMdialogue: DialogueTranslationEntries = { 3: "Ich glaube, ich bin der der seekrank ist..." }, }, + "rocket_grunt": { + "encounter": { + 1: `Jetzt gibt es ร„rger!โ€ฆ + $und es kommt noch hรคrter! + $Wir wollen รผber die Erde regierenโ€ฆ + $und naja du kennst den Restโ€ฆ!` + }, + "victory": { + 1: "Das war mal wieder ein Schuss in den Ofen!" + }, + }, "magma_grunt": { "encounter": { 1: "Keiner, der sich Team Magma in den Weg stellt, bekommt Gnade, nicht einmal Kinder!" @@ -423,20 +616,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Wie kann das sein? Ich bin Teil vom mรคchtigen Team Magma! Wir wollen doch nur die Welt verbessernโ€ฆ" }, }, - "magma_admin": { - "encounter": { - 1: `Hahaha! Du hast den ganzen weiten Weg auf dich genommen! Aber du bist zu spรคt! - $Unsere Mission ist schon fast abgeschlossen!`, - 2: `Du willst dich in Team Magmas Angelegenheiten einmischen? Du bist so sรผรŸ, dass es ekelhaft ist! - $Ich werde dich ein fรผr alle Mal erledigen!`, - 3: "Ich werde dir zeigen, was wahrer Schmerz ist! Mach dich bereit!", - }, - "victory": { - 1: "Hahaha! Ouch! Ich habe wohl verloren...", - 2: "Du bist ekelhaft stark!", - 3: "Da habe ich meine eigene Medizin zu schmecken bekommen!" - }, - }, "aqua_grunt": { "encounter": { 1: "Du willst dich also mit Team Aqua anlegen? Du traust dich ja wasโ€ฆ Dich werfe ich รผber Bord!", @@ -445,18 +624,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Vielleicht sollte ich wohl lieber selber รผber die Planke gehenโ€ฆ", }, }, - "aqua_admin": { - "encounter": { - 1: "Ich bin eine Stufe รผber den Rรผpeln, die du bisher gesehen hast. Ich werde dich pulverisieren!", - 2: "Hmmm? Wer ist das? Wer ist dieses verwรถhnte Gรถr?", - 3: "Was machst du hier? Bist du uns gefolgt? Dann mรผssen wir dich wohl loswerden!" - }, - "victory": { - 1: "Also habe ich auch verloren...", - 2: "Ahhh?! War ich zu nachsichtig mit dir?!", - 3: "W-was war das?" - }, - }, "galactic_grunt": { "encounter": { 1: "Team Galaktik wird die Welt in eine bessere Welt verwandeln! Und du wirst uns nicht aufhalten!" @@ -465,19 +632,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Zyrus wird uns fรผr diese Niederlage bestrafenโ€ฆ" }, }, - "galactic_admin": { - "encounter": { - 1: "Ich bin einer der Commander von Team Galaktik. Wir werden Zyrus' Traum verwirklichen!", - 2: `Alles, was sich Team Galaktik widersetzt, muss zerschlagen werden! - $Selbst der Gedanke an Widerstand wird nicht toleriert!`, - 3: "Was ist los? Sag mir nicht, dass du zitterst? Mach ich dir Angst? Gut so! Knie nieder!" - }, - "victory": { - 1: "Das kann nicht sein?! Ich habe verloren?! Du... du freches Gรถr!", - 2: "Du, mein Freund, bist stark! Aber widestand ist zwecklos! Team Galaktik wird siegen!", - 3: "Gegen ein Kind zu verlieren... Meine Unachtsamkeit wird mir nicht verziehen werden..." - }, - }, "plasma_grunt": { "encounter": { 1: "Pokรฉmon sollten frei sein! Team Plasma wird sie befreien!" @@ -486,19 +640,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Wie konnte ich verlieren? Ich dachte, ich wรผrde die Welt rettenโ€ฆ" }, }, - "plasma_sage": { - "encounter": { - 1: "Du kรถnntest eine Bedrohung fรผr Team Plasma werden, also werden wir dich hier eliminieren!", - 2: "Oh, ernsthaft... Ich hatte nicht erwartet, kรคmpfen zu mรผssen!", - 3: `Du bist ein beeindruckender Trainer, dass du es so weit geschafft hast. - $Als Weiser von Team Plasma werde ich dich besiegen!` - }, - "victory": { - 1: "G-Cis...", - 2: "Es ist bitterkalt. Ich zittere. Ich leide.", - 3: "Hm. Du bist ein klรผgerer Trainer, als ich erwartet hatte. Ich bin beeindruckt." - }, - }, "flare_grunt": { "encounter": { 1: `Ich bin ein Mitglied von Team Flare! Das sieht man mir doch an. Mein Stil ist unverkennbar! @@ -508,18 +649,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Stil ist wohl doch nicht allesโ€ฆ" }, }, - "flare_admin": { - "encounter": { - 1: "Ah ha ha! Es wรคre mir ein Vergnรผgen. Komm schon, kleiner Trainer! Zeig mir, was du drauf hast!", - 2: "Wir von Team Flare sind die einzigen, die die Schรถnheit der Welt wirklich schรคtzen!", - 3: "Ich habe auf dich gewartet! Lass mich ein wenig an dir forschen! Komm, lass uns beginnen!" - }, - "victory": { - 1: "Du bist ziemlich stark. Oh ja, sehr stark, in der Tat.", - 2: "Es scheint als hรคtte ich mich geirrtโ€ฆ Der Sieger steht fest.", - 3: "Wunderbar! Erstaunlich! Du hast enormes Geschick und dieser Mut!" - }, - }, "rocket_boss_giovanni_1": { "encounter": { 1: `Ich bin beeindruckt, du hast es bis hierher geschafft! diff --git a/src/locales/de/trainers.ts b/src/locales/de/trainers.ts index 5b156afd331..6bde37a4ea3 100644 --- a/src/locales/de/trainers.ts +++ b/src/locales/de/trainers.ts @@ -19,6 +19,19 @@ export const titles: SimpleTranslationEntries = { "galactic_boss": "Galaktik-Boss", "plasma_boss": "Weiser von Team Plasma", // This is on purpose, since "Ghetsis" is never mentioned as the boss of team plasma in the game but as "Weiser" "flare_boss": "Flare-Boss", + + "rocket_admin": "Team Rocket Vorstand", + "rocket_admin_female": "Team Rocket Vorstand", + "magma_admin": "Team Magma Vorstand", + "magma_admin_female": "Team Magma Vorstand", + "aqua_admin": "Team Aqua Vorstand", + "aqua_admin_female": "Team Aqua Vorstand", + "galactic_commander": "Team Galaktik Commander", + "galactic_commander_female": "Team Galaktik Commander", + "plasma_sage": "Weiser von Team Plasma", + "plasma_admin": "Team Plasma Vorstand", + "flare_admin": "Team Flare Vorstand", + "flare_admin_female": "Team Flare Vorstand", // Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc. } as const; @@ -128,32 +141,21 @@ export const trainerClasses: SimpleTranslationEntries = { "rocket_grunt": "Rรผpel von Team Rocket", "rocket_grunt_female": "Rรผpel von Team Rocket", "rocket_grunts": "Rรผpel von Team Rocket", - "rocket_admin": "Team Rocket Vorstand", - "rocket_admin_female": "Team Rocket Vorstand", "magma_grunt": "Rรผpel von Team Magma", "magma_grunt_female": "Rรผpel von Team Magma", "magma_grunts": "Rรผpel von Team Magma", - "magma_admin": "Team Magma Vorstand", - "magma_admin_female": "Team Magma Vorstand", "aqua_grunt": "Rรผpel von Team Aqua", "aqua_grunt_female": "Rรผpel von Team Aqua", "aqua_grunts": "Rรผpel von Team Aqua", - "aqua_admin": "Team Aqua Vorstand", - "aqua_admin_female": "Team Aqua Vorstand", "galactic_grunt": "Rรผpel von Team Galaktik", "galactic_grunt_female": "Rรผpel von Team Galaktik", "galactic_grunts": "Rรผpel von Team Galaktik", - "galactic_admin": "Team Galaktik Commander", - "galactic_admin_female": "Team Galaktik Commander", "plasma_grunt": "Rรผpel von Team Plasma", "plasma_grunt_female": "Rรผpel von Team Plasma", "plasma_grunts": "Rรผpel von Team Plasma", - "plasma_sage": "Weiser von Team Plasma", "flare_grunt": "Rรผpel von Team Flare", "flare_grunt_female": "Rรผpel von Team Flare", "flare_grunts": "Rรผpel von Team Flare", - "flare_admin": "Team Flare Vorstand", - "flare_admin_female": "Team Flare Vorstand", } as const; // Names of special trainers like gym leaders, elite four, and the champion @@ -282,6 +284,24 @@ export const trainerNames: SimpleTranslationEntries = { "leon": "Delion", "rival": "Finn", "rival_female": "Ivy", + + // Evil Team Admins + "archer": "Atlas", + "ariana": "Athena", + "proton": "Lance", + "petrel": "Lambda", + "tabitha": "Kalle", + "courtney": "Jรถrdis", + "shelly": "Kordula", + "matt": "Wolfgang", + "mars": "Mars", + "jupiter": "Jupiter", + "saturn": "Saturn", + "zinzolin": "Violaceus", + "rood": "Rubius", + "xerosic": "Xeros", + "bryony": "Begonia", + "maxie": "Marc", "archie": "Adrian", "cyrus": "Zyrus", diff --git a/src/locales/en/dialogue.ts b/src/locales/en/dialogue.ts index 44693c38aa1..95382eeb4e0 100644 --- a/src/locales/en/dialogue.ts +++ b/src/locales/en/dialogue.ts @@ -383,6 +383,204 @@ export const PGMdialogue: DialogueTranslationEntries = { 3: "I think it's me that's seasick..." }, }, + + "archer": { + "encounter": { + 1: "Before you go any further, let's see how you far against us, Team Rocket!", + 2: "I have received reports that your skills are not insignificant. Let's see if they are true.", + 3: "I am Archer, an Admin of Team Rocket. And I do not go easy on enemies of our organization." + }, + "victory": { + 1: "What a blunder!", + 2: "With my current skills, I was not up to the task after all.", + 3: "F-forgive me, Giovanni... For me to be defeated by a mere trainer..." + }, + }, + "ariana": { + "encounter": { + 1: `Hold it right there! We can't someone on the loose." + $It's harmful to Team Rocket's pride, you see.`, + 2: `I don't know or care if what I'm doing is right or wrong... + $I just put my faith in Giovanni and do as I am told`, + 3: "Your trip ends here. I'm going to take you down!" + }, + "victory": { + 1: `Tch, you really are strong. It's too bad. + $If you were to join Team Rocket, you could become an Executive.`, + 2: "I... I'm shattered...", + 3: "Aaaieeeee! This can't be happening! I fought hard, but I still lostโ€ฆ" + }, + }, + "proton": { + "encounter": { + 1: "What do you want? If you interrupt our work, don't expect any mercy!", + 2: `What do we have here? I am often labeled as the scariest and cruelest guy in Team Rocketโ€ฆ + $I strongly urge you not to interfere with our business!`, + 3: "I am Proton, an Admin of Team Rocket. I am here to put an end to your meddling!" + }, + "victory": { + 1: "The fortress came down!", + 2: "You may have won this timeโ€ฆ But all you did was make Team Rocket's wrath growโ€ฆ", + 3: "I am defeatedโ€ฆ But I will not forget this!" + }, + }, + + "petrel": { + "encounter": { + 1: `Muhahaha, we've been waiting for you. Me? You don't know who I am? It is me, Giovanni. + $The majestic Giovanni himself! Wahahaha! โ€ฆHuh? I don't sound anything like Giovanni? + $I don't even look like Giovanni? How come? I've worked so hard to mimic him!`, + 2: "I am Petrel, an Admin of Team Rocket. I will not allow you to interfere with our plans!", + 3: "Rocket Executive Petrel will deal with this intruder!" + }, + "victory": { + 1: "OK, OK. I'll tell you where he is.", + 2: "Iโ€ฆ I couldn't do a thingโ€ฆ Giovanni, please forgive meโ€ฆ", + 3: "No, I can't let this affect me. I have to inform the othersโ€ฆ" + }, + }, + "tabitha": { + "encounter": { + 1: "Hehehe! So you've come all the way here! But you're too late!", + 2: `Hehehe... Got here already, did you? We underestimated you! But this is it! + $I'm a cut above the Grunts you've seen so far. I'm not stalling for time. + $I'm going to pulverize you!`, + 3: "I'm going to give you a little taste of pain! Resign yourself to it!" + }, + "victory": { + 1: `Hehehe! You might have beaten me, but you don't stand a chance against the Boss! + $If you get lost now, you won't have to face a sound whipping!`, + 2: "Hehehe... So, I lost, too...", + 3: "Ahya! How could this be? For an Admin like me to lose to some random trainer..." + }, + }, + "courtney": { + "encounter": { + 1: "The thing...The thing that you hold...That is what... That's what we of Team Magma seek...", + 2: "... Well then...Deleting...", + 3: "...Ha. ...Analyzing... ...Hahโ™ช" + }, + "victory": { + 1: "... ...Change...the world.", + 2: `As anticipated. Unanticipated. You. Target lock...completed. + $Commencing...experiment. You. Forever. Aha... โ™ช`, + 3: "...Again? That's unanticipated. ...I knew it. You...are interesting! ...Haha. โ™ช" + }, + }, + "shelly": { + "encounter": { + 1: `Ahahahaha! You're going to meddle in Team Aqua's affairs? + $You're either absolutely fearless, simply ignorant, or both! + $You're so cute, you're disgusting! I'll put you down`, + 2: "What's this? Who's this spoiled brat?", + 3: "Cool your jets. Be patient. I'll crush you shortly." + }, + "victory": { + 1: `Ahahahaha! We got meddled with unexpectedly! We're out of options. + $We'll have to pull out. But this isn't the last you'll see of Team Aqua! + $We have other plans! Don't you forget it!`, + 2: "Ahhh?! Did I go too easy on you?!", + 3: `Uh. Are you telling me you've upped your game even more during the fight? + $You're a brat with a bright futureโ€ฆ My Pokรฉmon and I don't have any strength left to fightโ€ฆ + $Go onโ€ฆ Go and be destroyed by Archie.` + }, + }, + "matt": { + "encounter": { + 1: "Hoohahaha! What, you got a screw loose or something? Look at you, little Makuhita person!", + 2: "Oho! You! You're that funny kid!", + 3: "What are you doing here? Did you follow us?" + }, + "victory": { + 1: "All right then, until the Boss has time for you, I'll be your opponent!", + 2: `I can feel it! I can feel it, all right! The strength coming offa you! + $More! I still want more! But looks like we're outta time...`, + 3: "That was fun! I knew you'd show me a good time! I look forward to facing you again someday!" + }, + }, + "mars": { + "encounter": { + 1: "I'm Mars, one of Team Galactic's top Commanders.", + 2: "Team Galactic's vision for the future is unwavering. Opposition will be crushed without mercy!", + 3: "Feeling nervous? You should be!" + }, + "victory": { + 1: "This can't be happening! How did I lose?!", + 2: "You have some skill, I'll give you that.", + 3: "Defeated... This was a costly mistake." + } + }, + "jupiter": { + "encounter": { + 1: "Jupiter, Commander of Team Galactic, at your service.", + 2: "Resistance is futile. Team Galactic will prevail!", + 3: "You're trembling... scared already?" + }, + "victory": { + 1: "No way... I lost?!", + 2: "Impressive, you've got guts!", + 3: "Losing like this... How embarrassing." + } + }, + "saturn": { + "encounter": { + 1: "I am Saturn, Commander of Team Galactic.", + 2: "Our mission is absolute. Any hindrance will be obliterated!", + 3: "Is that fear I see in your eyes?" + }, + "victory": { + 1: "Impossible... Defeated by you?!", + 2: "You have proven yourself a worthy adversary.", + 3: "Bestowed in defeat... This is unacceptable." + }}, + "zinzolin": { + "encounter": { + 1: "You could become a threat to Team Plasma, so we will eliminate you here and now!", + 2: "Oh, for crying out loud... I didn't expect to have to battle in this freezing cold!", + 3: "You're an impressive Trainer to have made it this far. But it ends here." + }, + "victory": { + 1: "Ghetsis... I have failed you...", + 2: "It's bitter cold. I'm shivering. I'm suffering. Yet, I still stand victorious.", + 3: "Hmph. You're a smarter Trainer than I expected, but not smart enough." + } + }, + "rood": { + "encounter": { + 1: "You are a threat to Team Plasma. We cannot let you walk away from here and now!", + 2: "Oh, this icy wind... I never thought I'd have to fight here!", + 3: "You are a remarkable Trainer to have made it this far. But this is where it ends." + }, + "victory": { + 1: "Ghetsis... I have failed my mission...", + 2: "The cold is piercing. I'm shivering. I'm suffering. Yet, I have triumphed.", + 3: "Hm. You are a talented Trainer, but unfortunately not talented enough." + } + }, + "xerosic": { + "encounter": { + 1: "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!", + 2: "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.", + 3: "I've been waiting for you! I need to do a little research on you! Come, let us begin!" + }, + "victory": { + 1: "Ah, you're quite strong. Oh yesโ€”very strong, indeed.", + 2: "Ding-ding-ding! You did it! To the victor go the spoils!", + 3: "Wonderful! Amazing! You have tremendous skill and bravery!" + } + }, + "bryony": { + "encounter": { + 1: "I am Bryony, and it would be my pleasure to battle you. Show me what you've got.", + 2: "Impressive... You're more powerful than you appear. Let's see the true extent of your energy.", + 3: "I've anticipated your arrival. It's time for a little test. Shall we begin?" + }, + "victory": { + 1: "You're quite strong. Oh yesโ€”very strong, indeed.", + 2: "Ding-ding-ding! You've done well. Victory is yours.", + 3: "Wonderful! Remarkable! Your skill and bravery are commendable." + } + }, "rocket_grunt": { "encounter": { 1: "Prepare for trouble!" @@ -391,18 +589,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Team Rocket blasting off again!" }, }, - "rocket_admin": { - "encounter": { - 1: "Oh? You managed to get this far? You must be quite the trainer.", - 2: "That's quite enough of you playing hero, kid.", - 3: "I'll show you how scary an angry adult can be!" - }, - "victory": { - 1: "No! Forgive me Giovanni!", - 2: "How could this be?", - 3: "Urgh... You were too strong..." - }, - }, "magma_grunt": { "encounter": { 1: " If you get in the way of Team Magma, donโ€™t expect any mercy!" @@ -411,18 +597,7 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Huh? I lost?!" }, }, - "magma_admin": { - "encounter": { - 1: "Hehehe! So you've come all the way here! But you're too late!", - 2: "You're going to meddle in Team Magma's affairs? You're so cute you're disgusting! I'll put you down kiddy!", - 3: "I'm going to give you a little taste of pain! Resign yourself to it!" - }, - "victory": { - 1: "Hehehe... So I lost...", - 2: "You're disgustingly strong!", - 3: "Ahahaha! Ouch!" - }, - }, + "aqua_grunt": { "encounter": { 1: "No one who crosses Team Aqua gets any mercy, not even kids!" @@ -431,18 +606,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "You're kidding me!" }, }, - "aqua_admin": { - "encounter": { - 1: "I'm a cut above the grunts you've seen so far. I'm going to puvlerize you!", - 2: "Hahn? What's this? Who's this spoiled brat?", - 3: "What are you doing here? Did you follow us?" - }, - "victory": { - 1: "So I lost too...", - 2: "Ahhh?! Did I go too easy on you?!", - 3: "Wh-what was that?" - }, - }, "galactic_grunt": { "encounter": { 1: "Don't mess with Team Galactic!" @@ -451,18 +614,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Shut down..." }, }, - "galactic_admin": { - "encounter": { - 1: "I'm one of Team Galactic's Commanders.", - 2: "Anything that opposes Team Galactic must be crushed! Even the very thought of opposition will not be tolerated!", - 3: "What's the matter? Don't tell me you're shaking?" - }, - "victory": { - 1: "This can't be?! I lost?! You... you uppity brat!", - 2: "You, my friend, are tough!", - 3: "Losing to some child... Being careless cost me too much." - }, - }, "plasma_grunt": { "encounter": { 1: "We won't tolerate people who have different ideas!" @@ -471,18 +622,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Plasmaaaaaaaaa!" }, }, - "plasma_sage": { - "encounter": { - 1: "You could become a threat to Team Plasma, so we will eliminate you here!", - 2: "Oh, for crying out loud... I didn't expect to have to fight!", - 3: "You're an impressive Trainer to have made it this far." - }, - "victory": { - 1: "Ghetsis...", - 2: "It's bitter cold. I'm shivering. I'm suffering.", - 3: "Hmph. You're a smarter Trainer than I expected." - }, - }, "flare_grunt": { "encounter": { 1: "Fashion is most important to us!" @@ -491,18 +630,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "The future doesn't look bright for me." }, }, - "flare_admin": { - "encounter": { - 1: "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!", - 2: "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.", - 3: "I've been waiting for you! I need to do a little research on you! Come, let us begin!" - }, - "victory": { - 1: "You're quite strong. Oh yes-very strong, indeed.", - 2: "Ding-ding-ding! Yup, you did it! To the victor goes the spoils!", - 3: "Wonderful! Amazing! You have tremendous skill and bravery!" - }, - }, "rocket_boss_giovanni_1": { "encounter": { 1: "So! I must say, I am impressed you got here!" diff --git a/src/locales/en/trainers.ts b/src/locales/en/trainers.ts index 00367865d14..a40fabaeacc 100644 --- a/src/locales/en/trainers.ts +++ b/src/locales/en/trainers.ts @@ -19,6 +19,19 @@ export const titles: SimpleTranslationEntries = { "galactic_boss": "Team Galactic Boss", "plasma_boss": "Team Plasma Boss", "flare_boss": "Team Flare Boss", + + "rocket_admin": "Team Rocket Admin", + "rocket_admin_female": "Team Rocket Admin", + "magma_admin": "Team Magma Admin", + "magma_admin_female": "Team Magma Admin", + "aqua_admin": "Team Aqua Admin", + "aqua_admin_female": "Team Aqua Admin", + "galactic_commander": "Team Galactic Commander", + "galactic_commander_female": "Team Galactic Commander", + "plasma_sage": "Team Plasma Sage", + "plasma_admin": "Team Plasma Admin", + "flare_admin": "Team Flare Admin", + "flare_admin_female": "Team Flare Admin", // Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc. } as const; @@ -128,32 +141,21 @@ export const trainerClasses: SimpleTranslationEntries = { "rocket_grunt": "Rocket Grunt", "rocket_grunts": "Rocket Grunts", "rocket_grunt_female": "Rocket Grunt", - "rocket_admin": "Rocket Admin", - "rocket_admin_female": "Rocket Admin", "magma_grunt": "Magma Grunt", "magma_grunt_female": "Magma Grunt", "magma_grunts": "Magma Grunts", - "magma_admin": "Magma Admin", - "magma_admin_female": "Magma Admin", "aqua_grunt": "Aqua Grunt", "aqua_grunt_female": "Aqua Grunt", "aqua_grunts": "Aqua Grunts", - "aqua_admin": "Aqua Admin", - "aqua_admin_female": "Aqua Admin", "galactic_grunt": "Galactic Grunt", "galactic_grunt_female": "Galactic Grunt", "galactic_grunts": "Galactic Grunts", - "galactic_admin": "Galactic Admin", - "galactic_admin_female": "Galactic Admin", "plasma_grunt": "Plasma Grunt", "plasma_grunt_female": "Plasma Grunt", "plasma_grunts": "Plasma Grunts", - "plasma_sage": "Plasma Sage", "flare_grunt": "Flare Grunt", "flare_grunt_female": "Flare Grunt", "flare_grunts": "Flare Grunts", - "flare_admin": "Flare Admin", - "flare_admin_female": "Flare Admin", } as const; // Names of special trainers like gym leaders, elite four, and the champion @@ -282,6 +284,24 @@ export const trainerNames: SimpleTranslationEntries = { "leon": "Leon", "rival": "Finn", "rival_female": "Ivy", + + // Evil Team Admins + "archer": "Archer", + "ariana": "Ariana", + "proton": "Proton", + "petrel": "Petrel", + "tabitha": "Tabitha", + "courtney": "Courtney", + "shelly": "Shelly", + "matt": "Matt", + "mars": "Mars", + "jupiter": "Jupiter", + "saturn": "Saturn", + "zinzolin": "Zinzolin", + "rood": "Rood", + "xerosic": "Xerosic", + "bryony": "Bryony", + "maxie": "Maxie", "archie": "Archie", "cyrus": "Cyrus", diff --git a/src/locales/es/dialogue.ts b/src/locales/es/dialogue.ts index d19acc3ec0f..6908984b171 100644 --- a/src/locales/es/dialogue.ts +++ b/src/locales/es/dialogue.ts @@ -383,6 +383,203 @@ export const PGMdialogue: DialogueTranslationEntries = { 3: "Creo que soy yo quien estรก mareado..." }, }, + "archer": { + "encounter": { + 1: "Before you go any further, let's see how you far against us, Team Rocket!", + 2: "I have received reports that your skills are not insignificant. Let's see if they are true.", + 3: "I am Archer, an Admin of Team Rocket. And I do not go easy on enemies of our organization." + }, + "victory": { + 1: "What a blunder!", + 2: "With my current skills, I was not up to the task after all.", + 3: "F-forgive me, Giovanni... For me to be defeated by a mere trainer..." + }, + }, + "ariana": { + "encounter": { + 1: `Hold it right there! We can't someone on the loose." + $It's harmful to Team Rocket's pride, you see.`, + 2: `I don't know or care if what I'm doing is right or wrong... + $I just put my faith in Giovanni and do as I am told`, + 3: "Your trip ends here. I'm going to take you down!" + }, + "victory": { + 1: `Tch, you really are strong. It's too bad. + $If you were to join Team Rocket, you could become an Executive.`, + 2: "I... I'm shattered...", + 3: "Aaaieeeee! This can't be happening! I fought hard, but I still lostโ€ฆ" + }, + }, + "proton": { + "encounter": { + 1: "What do you want? If you interrupt our work, don't expect any mercy!", + 2: `What do we have here? I am often labeled as the scariest and cruelest guy in Team Rocketโ€ฆ + $I strongly urge you not to interfere with our business!`, + 3: "I am Proton, an Admin of Team Rocket. I am here to put an end to your meddling!" + }, + "victory": { + 1: "The fortress came down!", + 2: "You may have won this timeโ€ฆ But all you did was make Team Rocket's wrath growโ€ฆ", + 3: "I am defeatedโ€ฆ But I will not forget this!" + }, + }, + + "petrel": { + "encounter": { + 1: `Muhahaha, we've been waiting for you. Me? You don't know who I am? It is me, Giovanni. + $The majestic Giovanni himself! Wahahaha! โ€ฆHuh? I don't sound anything like Giovanni? + $I don't even look like Giovanni? How come? I've worked so hard to mimic him!`, + 2: "I am Petrel, an Admin of Team Rocket. I will not allow you to interfere with our plans!", + 3: "Rocket Executive Petrel will deal with this intruder!" + }, + "victory": { + 1: "OK, OK. I'll tell you where he is.", + 2: "Iโ€ฆ I couldn't do a thingโ€ฆ Giovanni, please forgive meโ€ฆ", + 3: "No, I can't let this affect me. I have to inform the othersโ€ฆ" + }, + }, + "tabitha": { + "encounter": { + 1: "Hehehe! So you've come all the way here! But you're too late!", + 2: `Hehehe... Got here already, did you? We underestimated you! But this is it! + $I'm a cut above the Grunts you've seen so far. I'm not stalling for time. + $I'm going to pulverize you!`, + 3: "I'm going to give you a little taste of pain! Resign yourself to it!" + }, + "victory": { + 1: `Hehehe! You might have beaten me, but you don't stand a chance against the Boss! + $If you get lost now, you won't have to face a sound whipping!`, + 2: "Hehehe... So, I lost, too...", + 3: "Ahya! How could this be? For an Admin like me to lose to some random trainer..." + }, + }, + "courtney": { + "encounter": { + 1: "The thing...The thing that you hold...That is what... That's what we of Team Magma seek...", + 2: "... Well then...Deleting...", + 3: "...Ha. ...Analyzing... ...Hahโ™ช" + }, + "victory": { + 1: "... ...Change...the world.", + 2: `As anticipated. Unanticipated. You. Target lock...completed. + $Commencing...experiment. You. Forever. Aha... โ™ช`, + 3: "...Again? That's unanticipated. ...I knew it. You...are interesting! ...Haha. โ™ช" + }, + }, + "shelly": { + "encounter": { + 1: `Ahahahaha! You're going to meddle in Team Aqua's affairs? + $You're either absolutely fearless, simply ignorant, or both! + $You're so cute, you're disgusting! I'll put you down`, + 2: "What's this? Who's this spoiled brat?", + 3: "Cool your jets. Be patient. I'll crush you shortly." + }, + "victory": { + 1: `Ahahahaha! We got meddled with unexpectedly! We're out of options. + $We'll have to pull out. But this isn't the last you'll see of Team Aqua! + $We have other plans! Don't you forget it!`, + 2: "Ahhh?! Did I go too easy on you?!", + 3: `Uh. Are you telling me you've upped your game even more during the fight? + $You're a brat with a bright futureโ€ฆ My Pokรฉmon and I don't have any strength left to fightโ€ฆ + $Go onโ€ฆ Go and be destroyed by Archie.` + }, + }, + "matt": { + "encounter": { + 1: "Hoohahaha! What, you got a screw loose or something? Look at you, little Makuhita person!", + 2: "Oho! You! You're that funny kid!", + 3: "What are you doing here? Did you follow us?" + }, + "victory": { + 1: "All right then, until the Boss has time for you, I'll be your opponent!", + 2: `I can feel it! I can feel it, all right! The strength coming offa you! + $More! I still want more! But looks like we're outta time...`, + 3: "That was fun! I knew you'd show me a good time! I look forward to facing you again someday!" + }, + }, + "mars": { + "encounter": { + 1: "I'm Mars, one of Team Galactic's top Commanders.", + 2: "Team Galactic's vision for the future is unwavering. Opposition will be crushed without mercy!", + 3: "Feeling nervous? You should be!" + }, + "victory": { + 1: "This can't be happening! How did I lose?!", + 2: "You have some skill, I'll give you that.", + 3: "Defeated... This was a costly mistake." + } + }, + "jupiter": { + "encounter": { + 1: "Jupiter, Commander of Team Galactic, at your service.", + 2: "Resistance is futile. Team Galactic will prevail!", + 3: "You're trembling... scared already?" + }, + "victory": { + 1: "No way... I lost?!", + 2: "Impressive, you've got guts!", + 3: "Losing like this... How embarrassing." + } + }, + "saturn": { + "encounter": { + 1: "I am Saturn, Commander of Team Galactic.", + 2: "Our mission is absolute. Any hindrance will be obliterated!", + 3: "Is that fear I see in your eyes?" + }, + "victory": { + 1: "Impossible... Defeated by you?!", + 2: "You have proven yourself a worthy adversary.", + 3: "Bestowed in defeat... This is unacceptable." + }}, + "zinzolin": { + "encounter": { + 1: "You could become a threat to Team Plasma, so we will eliminate you here and now!", + 2: "Oh, for crying out loud... I didn't expect to have to battle in this freezing cold!", + 3: "You're an impressive Trainer to have made it this far. But it ends here." + }, + "victory": { + 1: "Ghetsis... I have failed you...", + 2: "It's bitter cold. I'm shivering. I'm suffering. Yet, I still stand victorious.", + 3: "Hmph. You're a smarter Trainer than I expected, but not smart enough." + } + }, + "rood": { + "encounter": { + 1: "You are a threat to Team Plasma. We cannot let you walk away from here and now!", + 2: "Oh, this icy wind... I never thought I'd have to fight here!", + 3: "You are a remarkable Trainer to have made it this far. But this is where it ends." + }, + "victory": { + 1: "Ghetsis... I have failed my mission...", + 2: "The cold is piercing. I'm shivering. I'm suffering. Yet, I have triumphed.", + 3: "Hm. You are a talented Trainer, but unfortunately not talented enough." + } + }, + "xerosic": { + "encounter": { + 1: "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!", + 2: "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.", + 3: "I've been waiting for you! I need to do a little research on you! Come, let us begin!" + }, + "victory": { + 1: "Ah, you're quite strong. Oh yesโ€”very strong, indeed.", + 2: "Ding-ding-ding! You did it! To the victor go the spoils!", + 3: "Wonderful! Amazing! You have tremendous skill and bravery!" + } + }, + "bryony": { + "encounter": { + 1: "I am Bryony, and it would be my pleasure to battle you. Show me what you've got.", + 2: "Impressive... You're more powerful than you appear. Let's see the true extent of your energy.", + 3: "I've anticipated your arrival. It's time for a little test. Shall we begin?" + }, + "victory": { + 1: "You're quite strong. Oh yesโ€”very strong, indeed.", + 2: "Ding-ding-ding! You've done well. Victory is yours.", + 3: "Wonderful! Remarkable! Your skill and bravery are commendable." + } + }, "rocket_grunt": { "encounter": { 1: "ยกRรญndete ahora, o prepรกrate para luchar!" diff --git a/src/locales/es/trainers.ts b/src/locales/es/trainers.ts index f881fc04f94..32f966c6359 100644 --- a/src/locales/es/trainers.ts +++ b/src/locales/es/trainers.ts @@ -13,6 +13,25 @@ export const titles: SimpleTranslationEntries = { "rival": "Rival", "professor": "Profesor", "frontier_brain": "As del Frente Batalla", + "rocket_boss": "Team Rocket Boss", + "magma_boss": "Team Magma Boss", + "aqua_boss": "Team Aqua Boss", + "galactic_boss": "Team Galactic Boss", + "plasma_boss": "Team Plasma Boss", + "flare_boss": "Team Flare Boss", + + "rocket_admin": "Team Rocket Admin", + "rocket_admin_female": "Team Rocket Admin", + "magma_admin": "Team Magma Admin", + "magma_admin_female": "Team Magma Admin", + "aqua_admin": "Team Aqua Admin", + "aqua_admin_female": "Team Aqua Admin", + "galactic_commander": "Team Galactic Commander", + "galactic_commander_female": "Team Galactic Commander", + "plasma_sage": "Team Plasma Sage", + "plasma_admin": "Team Plasma Admin", + "flare_admin": "Team Flare Admin", + "flare_admin_female": "Team Flare Admin", // Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc. } as const; @@ -121,31 +140,21 @@ export const trainerClasses: SimpleTranslationEntries = { "rocket_grunt": "Rocket Grunt", "rocket_grunts": "Rocket Grunts", "rocket_grunt_female": "Rocket Grunt", - "rocket_admin": "Rocket Admin", - "rocket_admin_female": "Rocket Admin", "magma_grunt": "Magma Grunt", "magma_grunt_female": "Magma Grunt", "magma_grunts": "Magma Grunts", - "magma_admin": "Magma Admin", - "magma_admin_female": "Magma Admin", "aqua_grunt": "Aqua Grunt", "aqua_grunt_female": "Aqua Grunt", "aqua_grunts": "Aqua Grunts", - "aqua_admin": "Aqua Admin", - "aqua_admin_female": "Aqua Admin", "galactic_grunt": "Galactic Grunt", "galactic_grunt_female": "Galactic Grunt", "galactic_grunts": "Galactic Grunts", - "galactic_admin": "Galactic Admin", - "galactic_admin_female": "Galactic Admin", "plasma_grunt": "Plasma Grunt", "plasma_grunt_female": "Plasma Grunt", "plasma_grunts": "Plasma Grunts", "flare_grunt": "Flare Grunt", "flare_grunt_female": "Flare Grunt", "flare_grunts": "Flare Grunts", - "flare_admin": "Flare Admin", - "flare_admin_female": "Flare Admin", } as const; // Names of special trainers like gym leaders, elite four, and the champion @@ -275,6 +284,30 @@ export const trainerNames: SimpleTranslationEntries = { "rival": "Finn", "rival_female": "Ivy", + // Evil Team Admins + "archer": "Archer", + "ariana": "Ariana", + "proton": "Proton", + "petrel": "Petrel", + "tabitha": "Tabitha", + "courtney": "Courtney", + "shelly": "Shelly", + "matt": "Matt", + "mars": "Mars", + "jupiter": "Jupiter", + "saturn": "Saturn", + "zinzolin": "Zinzolin", + "rood": "Rood", + "xerosic": "Xerosic", + "bryony": "Bryony", + + "maxie": "Maxie", + "archie": "Archie", + "cyrus": "Cyrus", + "ghetsis": "Ghetsis", + "lysandre": "Lysandre", + + // Double Names "blue_red_double": "Azul y Rojo", "red_blue_double": "Rojo y Azul", diff --git a/src/locales/fr/dialogue.ts b/src/locales/fr/dialogue.ts index ac68aa6413b..ad70a01f210 100644 --- a/src/locales/fr/dialogue.ts +++ b/src/locales/fr/dialogue.ts @@ -2890,6 +2890,203 @@ export const PGFdialogue: DialogueTranslationEntries = { 3: "I think it's me that's seasick..." }, }, + "archer": { + "encounter": { + 1: "Before you go any further, let's see how you far against us, Team Rocket!", + 2: "I have received reports that your skills are not insignificant. Let's see if they are true.", + 3: "I am Archer, an Admin of Team Rocket. And I do not go easy on enemies of our organization." + }, + "victory": { + 1: "What a blunder!", + 2: "With my current skills, I was not up to the task after all.", + 3: "F-forgive me, Giovanni... For me to be defeated by a mere trainer..." + }, + }, + "ariana": { + "encounter": { + 1: `Hold it right there! We can't someone on the loose." + $It's harmful to Team Rocket's pride, you see.`, + 2: `I don't know or care if what I'm doing is right or wrong... + $I just put my faith in Giovanni and do as I am told`, + 3: "Your trip ends here. I'm going to take you down!" + }, + "victory": { + 1: `Tch, you really are strong. It's too bad. + $If you were to join Team Rocket, you could become an Executive.`, + 2: "I... I'm shattered...", + 3: "Aaaieeeee! This can't be happening! I fought hard, but I still lostโ€ฆ" + }, + }, + "proton": { + "encounter": { + 1: "What do you want? If you interrupt our work, don't expect any mercy!", + 2: `What do we have here? I am often labeled as the scariest and cruelest guy in Team Rocketโ€ฆ + $I strongly urge you not to interfere with our business!`, + 3: "I am Proton, an Admin of Team Rocket. I am here to put an end to your meddling!" + }, + "victory": { + 1: "The fortress came down!", + 2: "You may have won this timeโ€ฆ But all you did was make Team Rocket's wrath growโ€ฆ", + 3: "I am defeatedโ€ฆ But I will not forget this!" + }, + }, + + "petrel": { + "encounter": { + 1: `Muhahaha, we've been waiting for you. Me? You don't know who I am? It is me, Giovanni. + $The majestic Giovanni himself! Wahahaha! โ€ฆHuh? I don't sound anything like Giovanni? + $I don't even look like Giovanni? How come? I've worked so hard to mimic him!`, + 2: "I am Petrel, an Admin of Team Rocket. I will not allow you to interfere with our plans!", + 3: "Rocket Executive Petrel will deal with this intruder!" + }, + "victory": { + 1: "OK, OK. I'll tell you where he is.", + 2: "Iโ€ฆ I couldn't do a thingโ€ฆ Giovanni, please forgive meโ€ฆ", + 3: "No, I can't let this affect me. I have to inform the othersโ€ฆ" + }, + }, + "tabitha": { + "encounter": { + 1: "Hehehe! So you've come all the way here! But you're too late!", + 2: `Hehehe... Got here already, did you? We underestimated you! But this is it! + $I'm a cut above the Grunts you've seen so far. I'm not stalling for time. + $I'm going to pulverize you!`, + 3: "I'm going to give you a little taste of pain! Resign yourself to it!" + }, + "victory": { + 1: `Hehehe! You might have beaten me, but you don't stand a chance against the Boss! + $If you get lost now, you won't have to face a sound whipping!`, + 2: "Hehehe... So, I lost, too...", + 3: "Ahya! How could this be? For an Admin like me to lose to some random trainer..." + }, + }, + "courtney": { + "encounter": { + 1: "The thing...The thing that you hold...That is what... That's what we of Team Magma seek...", + 2: "... Well then...Deleting...", + 3: "...Ha. ...Analyzing... ...Hahโ™ช" + }, + "victory": { + 1: "... ...Change...the world.", + 2: `As anticipated. Unanticipated. You. Target lock...completed. + $Commencing...experiment. You. Forever. Aha... โ™ช`, + 3: "...Again? That's unanticipated. ...I knew it. You...are interesting! ...Haha. โ™ช" + }, + }, + "shelly": { + "encounter": { + 1: `Ahahahaha! You're going to meddle in Team Aqua's affairs? + $You're either absolutely fearless, simply ignorant, or both! + $You're so cute, you're disgusting! I'll put you down`, + 2: "What's this? Who's this spoiled brat?", + 3: "Cool your jets. Be patient. I'll crush you shortly." + }, + "victory": { + 1: `Ahahahaha! We got meddled with unexpectedly! We're out of options. + $We'll have to pull out. But this isn't the last you'll see of Team Aqua! + $We have other plans! Don't you forget it!`, + 2: "Ahhh?! Did I go too easy on you?!", + 3: `Uh. Are you telling me you've upped your game even more during the fight? + $You're a brat with a bright futureโ€ฆ My Pokรฉmon and I don't have any strength left to fightโ€ฆ + $Go onโ€ฆ Go and be destroyed by Archie.` + }, + }, + "matt": { + "encounter": { + 1: "Hoohahaha! What, you got a screw loose or something? Look at you, little Makuhita person!", + 2: "Oho! You! You're that funny kid!", + 3: "What are you doing here? Did you follow us?" + }, + "victory": { + 1: "All right then, until the Boss has time for you, I'll be your opponent!", + 2: `I can feel it! I can feel it, all right! The strength coming offa you! + $More! I still want more! But looks like we're outta time...`, + 3: "That was fun! I knew you'd show me a good time! I look forward to facing you again someday!" + }, + }, + "mars": { + "encounter": { + 1: "I'm Mars, one of Team Galactic's top Commanders.", + 2: "Team Galactic's vision for the future is unwavering. Opposition will be crushed without mercy!", + 3: "Feeling nervous? You should be!" + }, + "victory": { + 1: "This can't be happening! How did I lose?!", + 2: "You have some skill, I'll give you that.", + 3: "Defeated... This was a costly mistake." + } + }, + "jupiter": { + "encounter": { + 1: "Jupiter, Commander of Team Galactic, at your service.", + 2: "Resistance is futile. Team Galactic will prevail!", + 3: "You're trembling... scared already?" + }, + "victory": { + 1: "No way... I lost?!", + 2: "Impressive, you've got guts!", + 3: "Losing like this... How embarrassing." + } + }, + "saturn": { + "encounter": { + 1: "I am Saturn, Commander of Team Galactic.", + 2: "Our mission is absolute. Any hindrance will be obliterated!", + 3: "Is that fear I see in your eyes?" + }, + "victory": { + 1: "Impossible... Defeated by you?!", + 2: "You have proven yourself a worthy adversary.", + 3: "Bestowed in defeat... This is unacceptable." + }}, + "zinzolin": { + "encounter": { + 1: "You could become a threat to Team Plasma, so we will eliminate you here and now!", + 2: "Oh, for crying out loud... I didn't expect to have to battle in this freezing cold!", + 3: "You're an impressive Trainer to have made it this far. But it ends here." + }, + "victory": { + 1: "Ghetsis... I have failed you...", + 2: "It's bitter cold. I'm shivering. I'm suffering. Yet, I still stand victorious.", + 3: "Hmph. You're a smarter Trainer than I expected, but not smart enough." + } + }, + "rood": { + "encounter": { + 1: "You are a threat to Team Plasma. We cannot let you walk away from here and now!", + 2: "Oh, this icy wind... I never thought I'd have to fight here!", + 3: "You are a remarkable Trainer to have made it this far. But this is where it ends." + }, + "victory": { + 1: "Ghetsis... I have failed my mission...", + 2: "The cold is piercing. I'm shivering. I'm suffering. Yet, I have triumphed.", + 3: "Hm. You are a talented Trainer, but unfortunately not talented enough." + } + }, + "xerosic": { + "encounter": { + 1: "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!", + 2: "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.", + 3: "I've been waiting for you! I need to do a little research on you! Come, let us begin!" + }, + "victory": { + 1: "Ah, you're quite strong. Oh yesโ€”very strong, indeed.", + 2: "Ding-ding-ding! You did it! To the victor go the spoils!", + 3: "Wonderful! Amazing! You have tremendous skill and bravery!" + } + }, + "bryony": { + "encounter": { + 1: "I am Bryony, and it would be my pleasure to battle you. Show me what you've got.", + 2: "Impressive... You're more powerful than you appear. Let's see the true extent of your energy.", + 3: "I've anticipated your arrival. It's time for a little test. Shall we begin?" + }, + "victory": { + 1: "You're quite strong. Oh yesโ€”very strong, indeed.", + 2: "Ding-ding-ding! You've done well. Victory is yours.", + 3: "Wonderful! Remarkable! Your skill and bravery are commendable." + } + }, "rocket_grunt": { "encounter": { 1: "Nous sommes de retourย !" @@ -2898,18 +3095,6 @@ export const PGFdialogue: DialogueTranslationEntries = { 1: "Une fois de plus la Team Rocket sโ€™envole vers dโ€™autres cieuxย !" }, }, - "rocket_admin": { - "encounter": { - 1: "Oh? You managed to get this far? You must be quite the trainer.", - 2: "That's quite enough of you playing hero, kid.", - 3: "I'll show you how scary an angry adult can be!" - }, - "victory": { - 1: "No! Forgive me Giovanni!", - 2: "How could this be?", - 3: "Urgh... You were too strong..." - }, - }, "magma_grunt": { "encounter": { 1: "Nโ€™espรจre pas recevoir de la pitiรฉ si tu te mets sur le chemin de la Team Magmaย !" @@ -2918,18 +3103,6 @@ export const PGFdialogue: DialogueTranslationEntries = { 1: "Jeโ€ฆ?\nJโ€™ai perduย ?!" }, }, - "magma_admin": { - "encounter": { - 1: "Hehehe! So you've come all the way here! But you're too late!", - 2: "You're going to meddle in Team Magma's affairs? You're so cute you're disgusting! I'll put you down kiddy!", - 3: "I'm going to give you a little taste of pain! Resign yourself to it!" - }, - "victory": { - 1: "Hehehe... So I lost...", - 2: "You're disgustingly strong!", - 3: "Ahahaha! Ouch!" - }, - }, "aqua_grunt": { "encounter": { 1: "Aucune pitiรฉ si tu te mets sur le chemin de la Team Aqua, mรชme pour une gamineย !" @@ -2938,18 +3111,6 @@ export const PGFdialogue: DialogueTranslationEntries = { 1: "Comment รงaย ?" }, }, - "aqua_admin": { - "encounter": { - 1: "I'm a cut above the grunts you've seen so far. I'm going to puvlerize you!", - 2: "Hahn? What's this? Who's this spoiled brat?", - 3: "What are you doing here? Did you follow us?" - }, - "victory": { - 1: "So I lost too...", - 2: "Ahhh?! Did I go too easy on you?!", - 3: "Wh-what was that?" - }, - }, "galactic_grunt": { "encounter": { 1: "Ne te mets pas en travers de la Team Galaxieย !" @@ -2958,18 +3119,6 @@ export const PGFdialogue: DialogueTranslationEntries = { 1: "Dรฉsactivationโ€ฆ" }, }, - "galactic_admin": { - "encounter": { - 1: "I'm one of Team Galactic's Commanders.", - 2: "Anything that opposes Team Galactic must be crushed! Even the very thought of opposition will not be tolerated!", - 3: "What's the matter? Don't tell me you're shaking?" - }, - "victory": { - 1: "This can't be?! I lost?! You... you uppity brat!", - 2: "You, my friend, are tough!", - 3: "Losing to some child... Being careless cost me too much." - }, - }, "plasma_grunt": { "encounter": { 1: "Pas de quatiers ร  ceux qui ne suivent pas notre idรฉalย !" @@ -2978,18 +3127,6 @@ export const PGFdialogue: DialogueTranslationEntries = { 1: "Plasmaaaaaaaaaย !" }, }, - "plasma_sage": { - "encounter": { - 1: "You could become a threat to Team Plasma, so we will eliminate you here!", - 2: "Oh, for crying out loud... I didn't expect to have to fight!", - 3: "You're an impressive Trainer to have made it this far." - }, - "victory": { - 1: "Ghetsis...", - 2: "It's bitter cold. I'm shivering. I'm suffering.", - 3: "Hmph. You're a smarter Trainer than I expected." - }, - }, "flare_grunt": { "encounter": { 1: "Le style et le bon gout, il nโ€™y a que รงa qui compteย !" @@ -2998,18 +3135,6 @@ export const PGFdialogue: DialogueTranslationEntries = { 1: "Mon futur me semble guรจre radieux." }, }, - "flare_admin": { - "encounter": { - 1: "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!", - 2: "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.", - 3: "I've been waiting for you! I need to do a little research on you! Come, let us begin!" - }, - "victory": { - 1: "You're quite strong. Oh yes-very strong, indeed.", - 2: "Ding-ding-ding! Yup, you did it! To the victor goes the spoils!", - 3: "Wonderful! Amazing! You have tremendous skill and bravery!" - }, - }, "rocket_boss_giovanni_1": { "encounter": { 1: "Bien. Je dois admettre que je suis impressionnรฉ de te voir iciย !" diff --git a/src/locales/fr/trainers.ts b/src/locales/fr/trainers.ts index 84d49eba549..e52921a5546 100644 --- a/src/locales/fr/trainers.ts +++ b/src/locales/fr/trainers.ts @@ -19,6 +19,19 @@ export const titles: SimpleTranslationEntries = { "galactic_boss": "Leader de la Team Galaxie", "plasma_boss": "Leader de la Team Plasma", "flare_boss": "Leader de la Team Flare", + + "rocket_admin": "Admin Team Rocket", + "rocket_admin_female": "Admin Team Rocket", + "magma_admin": "Admin Team Magma", + "magma_admin_female": "Admin Team Magma", + "aqua_admin": "Admin Team Aqua", + "aqua_admin_female": "Admin Team Aqua", + "galactic_commander": "Admin Team Galaxie", + "galactic_commander_female": "Admin Team Galaxie", + "plasma_sage": "Sage Plasma", + "plasma_admin": "Admin Team Plasma", + "flare_admin": "Manager de la Team Flare", + "flare_admin_female": "Manageuse de la Team Flare", // Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc. } as const; @@ -128,32 +141,21 @@ export const trainerClasses: SimpleTranslationEntries = { "rocket_grunt": "Sbire de la Team Rocket", "rocket_grunt_female": "Sbire de la Team Rocket", "rocket_grunts": "Sbires de la Team Rocket", - "rocket_admin": "Rocket Admin", - "rocket_admin_female": "Rocket Admin", "magma_grunt": "Sbire de la Team Magma", "magma_grunt_female": "Sbire de la Team Magma", "magma_grunts": "Sbires de la Team Magma", - "magma_admin": "Magma Admin", - "magma_admin_female": "Magma Admin", "aqua_grunt": "Sbire de la Team Aqua", "aqua_grunt_female": "Sbire de la Team Aqua", "aqua_grunts": "Sbires de la Team Aqua", - "aqua_admin": "Aqua Admin", - "aqua_admin_female": "Aqua Admin", "galactic_grunt": "Sbire de la Team Galaxie", "galactic_grunt_female": "Sbire de la Team Galaxie", "galactic_grunts": "Sbires de la Team Galaxie", - "galactic_admin": "Galactic Admin", - "galactic_admin_female": "Galactic Admin", "plasma_grunt": "Sbire de la Team Plasma", "plasma_grunt_female": "Sbire de la Team Plasma", "plasma_grunts": "Sbires de la Team Plasma", - "plasma_sage": "Plasma Sage", "flare_grunt": "Sbire de la Team Flare", "flare_grunt_female": "Sbire de la Team Flare", "flare_grunts": "Sbires de la Team Flare", - "flare_admin": "Manager de la Team Flare", - "flare_admin_female": "Manageuse de la Team Flare", } as const; // Names of special trainers like gym leaders, elite four, and the champion @@ -288,6 +290,25 @@ export const trainerNames: SimpleTranslationEntries = { "ghetsis": "Ghetis", "lysandre": "Lysandre", + // Evil Team Admins + "archer": "Amos", + "ariana": "Ariane", + "proton": "Lance", + "petrel": "Lambda", + "tabitha": "Kelvin", + "courtney": "Courtney", + "shelly": "Sarah", + "matt": "Matthieu", + "mars": "Mars", + "jupiter": "Jupiter", + "saturn": "Saturne", + "zinzolin": "Lilien", + "rood": "Carmine", + "xerosic": "Xanthin", + "bryony": "Brasรฉnie", + + + // Double Names "blue_red_double": "Blue & Red", "red_blue_double": "Red & Blue", diff --git a/src/locales/it/dialogue.ts b/src/locales/it/dialogue.ts index 3861d530c01..d0c14dee824 100644 --- a/src/locales/it/dialogue.ts +++ b/src/locales/it/dialogue.ts @@ -383,6 +383,203 @@ export const PGMdialogue: DialogueTranslationEntries = { 3: "I think it's me that's seasick..." }, }, + "archer": { + "encounter": { + 1: "Before you go any further, let's see how you far against us, Team Rocket!", + 2: "I have received reports that your skills are not insignificant. Let's see if they are true.", + 3: "I am Archer, an Admin of Team Rocket. And I do not go easy on enemies of our organization." + }, + "victory": { + 1: "What a blunder!", + 2: "With my current skills, I was not up to the task after all.", + 3: "F-forgive me, Giovanni... For me to be defeated by a mere trainer..." + }, + }, + "ariana": { + "encounter": { + 1: `Hold it right there! We can't someone on the loose." + $It's harmful to Team Rocket's pride, you see.`, + 2: `I don't know or care if what I'm doing is right or wrong... + $I just put my faith in Giovanni and do as I am told`, + 3: "Your trip ends here. I'm going to take you down!" + }, + "victory": { + 1: `Tch, you really are strong. It's too bad. + $If you were to join Team Rocket, you could become an Executive.`, + 2: "I... I'm shattered...", + 3: "Aaaieeeee! This can't be happening! I fought hard, but I still lostโ€ฆ" + }, + }, + "proton": { + "encounter": { + 1: "What do you want? If you interrupt our work, don't expect any mercy!", + 2: `What do we have here? I am often labeled as the scariest and cruelest guy in Team Rocketโ€ฆ + $I strongly urge you not to interfere with our business!`, + 3: "I am Proton, an Admin of Team Rocket. I am here to put an end to your meddling!" + }, + "victory": { + 1: "The fortress came down!", + 2: "You may have won this timeโ€ฆ But all you did was make Team Rocket's wrath growโ€ฆ", + 3: "I am defeatedโ€ฆ But I will not forget this!" + }, + }, + + "petrel": { + "encounter": { + 1: `Muhahaha, we've been waiting for you. Me? You don't know who I am? It is me, Giovanni. + $The majestic Giovanni himself! Wahahaha! โ€ฆHuh? I don't sound anything like Giovanni? + $I don't even look like Giovanni? How come? I've worked so hard to mimic him!`, + 2: "I am Petrel, an Admin of Team Rocket. I will not allow you to interfere with our plans!", + 3: "Rocket Executive Petrel will deal with this intruder!" + }, + "victory": { + 1: "OK, OK. I'll tell you where he is.", + 2: "Iโ€ฆ I couldn't do a thingโ€ฆ Giovanni, please forgive meโ€ฆ", + 3: "No, I can't let this affect me. I have to inform the othersโ€ฆ" + }, + }, + "tabitha": { + "encounter": { + 1: "Hehehe! So you've come all the way here! But you're too late!", + 2: `Hehehe... Got here already, did you? We underestimated you! But this is it! + $I'm a cut above the Grunts you've seen so far. I'm not stalling for time. + $I'm going to pulverize you!`, + 3: "I'm going to give you a little taste of pain! Resign yourself to it!" + }, + "victory": { + 1: `Hehehe! You might have beaten me, but you don't stand a chance against the Boss! + $If you get lost now, you won't have to face a sound whipping!`, + 2: "Hehehe... So, I lost, too...", + 3: "Ahya! How could this be? For an Admin like me to lose to some random trainer..." + }, + }, + "courtney": { + "encounter": { + 1: "The thing...The thing that you hold...That is what... That's what we of Team Magma seek...", + 2: "... Well then...Deleting...", + 3: "...Ha. ...Analyzing... ...Hahโ™ช" + }, + "victory": { + 1: "... ...Change...the world.", + 2: `As anticipated. Unanticipated. You. Target lock...completed. + $Commencing...experiment. You. Forever. Aha... โ™ช`, + 3: "...Again? That's unanticipated. ...I knew it. You...are interesting! ...Haha. โ™ช" + }, + }, + "shelly": { + "encounter": { + 1: `Ahahahaha! You're going to meddle in Team Aqua's affairs? + $You're either absolutely fearless, simply ignorant, or both! + $You're so cute, you're disgusting! I'll put you down`, + 2: "What's this? Who's this spoiled brat?", + 3: "Cool your jets. Be patient. I'll crush you shortly." + }, + "victory": { + 1: `Ahahahaha! We got meddled with unexpectedly! We're out of options. + $We'll have to pull out. But this isn't the last you'll see of Team Aqua! + $We have other plans! Don't you forget it!`, + 2: "Ahhh?! Did I go too easy on you?!", + 3: `Uh. Are you telling me you've upped your game even more during the fight? + $You're a brat with a bright futureโ€ฆ My Pokรฉmon and I don't have any strength left to fightโ€ฆ + $Go onโ€ฆ Go and be destroyed by Archie.` + }, + }, + "matt": { + "encounter": { + 1: "Hoohahaha! What, you got a screw loose or something? Look at you, little Makuhita person!", + 2: "Oho! You! You're that funny kid!", + 3: "What are you doing here? Did you follow us?" + }, + "victory": { + 1: "All right then, until the Boss has time for you, I'll be your opponent!", + 2: `I can feel it! I can feel it, all right! The strength coming offa you! + $More! I still want more! But looks like we're outta time...`, + 3: "That was fun! I knew you'd show me a good time! I look forward to facing you again someday!" + }, + }, + "mars": { + "encounter": { + 1: "I'm Mars, one of Team Galactic's top Commanders.", + 2: "Team Galactic's vision for the future is unwavering. Opposition will be crushed without mercy!", + 3: "Feeling nervous? You should be!" + }, + "victory": { + 1: "This can't be happening! How did I lose?!", + 2: "You have some skill, I'll give you that.", + 3: "Defeated... This was a costly mistake." + } + }, + "jupiter": { + "encounter": { + 1: "Jupiter, Commander of Team Galactic, at your service.", + 2: "Resistance is futile. Team Galactic will prevail!", + 3: "You're trembling... scared already?" + }, + "victory": { + 1: "No way... I lost?!", + 2: "Impressive, you've got guts!", + 3: "Losing like this... How embarrassing." + } + }, + "saturn": { + "encounter": { + 1: "I am Saturn, Commander of Team Galactic.", + 2: "Our mission is absolute. Any hindrance will be obliterated!", + 3: "Is that fear I see in your eyes?" + }, + "victory": { + 1: "Impossible... Defeated by you?!", + 2: "You have proven yourself a worthy adversary.", + 3: "Bestowed in defeat... This is unacceptable." + }}, + "zinzolin": { + "encounter": { + 1: "You could become a threat to Team Plasma, so we will eliminate you here and now!", + 2: "Oh, for crying out loud... I didn't expect to have to battle in this freezing cold!", + 3: "You're an impressive Trainer to have made it this far. But it ends here." + }, + "victory": { + 1: "Ghetsis... I have failed you...", + 2: "It's bitter cold. I'm shivering. I'm suffering. Yet, I still stand victorious.", + 3: "Hmph. You're a smarter Trainer than I expected, but not smart enough." + } + }, + "rood": { + "encounter": { + 1: "You are a threat to Team Plasma. We cannot let you walk away from here and now!", + 2: "Oh, this icy wind... I never thought I'd have to fight here!", + 3: "You are a remarkable Trainer to have made it this far. But this is where it ends." + }, + "victory": { + 1: "Ghetsis... I have failed my mission...", + 2: "The cold is piercing. I'm shivering. I'm suffering. Yet, I have triumphed.", + 3: "Hm. You are a talented Trainer, but unfortunately not talented enough." + } + }, + "xerosic": { + "encounter": { + 1: "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!", + 2: "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.", + 3: "I've been waiting for you! I need to do a little research on you! Come, let us begin!" + }, + "victory": { + 1: "Ah, you're quite strong. Oh yesโ€”very strong, indeed.", + 2: "Ding-ding-ding! You did it! To the victor go the spoils!", + 3: "Wonderful! Amazing! You have tremendous skill and bravery!" + } + }, + "bryony": { + "encounter": { + 1: "I am Bryony, and it would be my pleasure to battle you. Show me what you've got.", + 2: "Impressive... You're more powerful than you appear. Let's see the true extent of your energy.", + 3: "I've anticipated your arrival. It's time for a little test. Shall we begin?" + }, + "victory": { + 1: "You're quite strong. Oh yesโ€”very strong, indeed.", + 2: "Ding-ding-ding! You've done well. Victory is yours.", + 3: "Wonderful! Remarkable! Your skill and bravery are commendable." + } + }, "rocket_grunt": { "encounter": { 1: "Prepare for trouble!" @@ -391,18 +588,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Team Rocket blasting off again!" }, }, - "rocket_admin": { - "encounter": { - 1: "Oh? You managed to get this far? You must be quite the trainer.", - 2: "That's quite enough of you playing hero, kid.", - 3: "I'll show you how scary an angry adult can be!" - }, - "victory": { - 1: "No! Forgive me Giovanni!", - 2: "How could this be?", - 3: "Urgh... You were too strong..." - }, - }, "magma_grunt": { "encounter": { 1: " If you get in the way of Team Magma, donโ€™t expect any mercy!" @@ -411,18 +596,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Huh? I lost?!" }, }, - "magma_admin": { - "encounter": { - 1: "Hehehe! So you've come all the way here! But you're too late!", - 2: "You're going to meddle in Team Magma's affairs? You're so cute you're disgusting! I'll put you down kiddy!", - 3: "I'm going to give you a little taste of pain! Resign yourself to it!" - }, - "victory": { - 1: "Hehehe... So I lost...", - 2: "You're disgustingly strong!", - 3: "Ahahaha! Ouch!" - }, - }, "aqua_grunt": { "encounter": { 1: "No one who crosses Team Aqua gets any mercy, not even kids!" @@ -431,18 +604,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "You're kidding me!" }, }, - "aqua_admin": { - "encounter": { - 1: "I'm a cut above the grunts you've seen so far. I'm going to puvlerize you!", - 2: "Hahn? What's this? Who's this spoiled brat?", - 3: "What are you doing here? Did you follow us?" - }, - "victory": { - 1: "So I lost too...", - 2: "Ahhh?! Did I go too easy on you?!", - 3: "Wh-what was that?" - }, - }, "galactic_grunt": { "encounter": { 1: "Don't mess with Team Galactic!" @@ -451,18 +612,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Shut down..." }, }, - "galactic_admin": { - "encounter": { - 1: "I'm one of Team Galactic's Commanders.", - 2: "Anything that opposes Team Galactic must be crushed! Even the very thought of opposition will not be tolerated!", - 3: "What's the matter? Don't tell me you're shaking?" - }, - "victory": { - 1: "This can't be?! I lost?! You... you uppity brat!", - 2: "You, my friend, are tough!", - 3: "Losing to some child... Being careless cost me too much." - }, - }, "plasma_grunt": { "encounter": { 1: "We won't tolerate people who have different ideas!" @@ -471,18 +620,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Plasmaaaaaaaaa!" }, }, - "plasma_sage": { - "encounter": { - 1: "You could become a threat to Team Plasma, so we will eliminate you here!", - 2: "Oh, for crying out loud... I didn't expect to have to fight!", - 3: "You're an impressive Trainer to have made it this far." - }, - "victory": { - 1: "Ghetsis...", - 2: "It's bitter cold. I'm shivering. I'm suffering.", - 3: "Hmph. You're a smarter Trainer than I expected." - }, - }, "flare_grunt": { "encounter": { 1: "Fashion is most important to us!" @@ -491,18 +628,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "The future doesn't look bright for me." }, }, - "flare_admin": { - "encounter": { - 1: "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!", - 2: "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.", - 3: "I've been waiting for you! I need to do a little research on you! Come, let us begin!" - }, - "victory": { - 1: "You're quite strong. Oh yes-very strong, indeed.", - 2: "Ding-ding-ding! Yup, you did it! To the victor goes the spoils!", - 3: "Wonderful! Amazing! You have tremendous skill and bravery!" - }, - }, "rocket_boss_giovanni_1": { "encounter": { 1: "So! I must say, I am impressed you got here!" diff --git a/src/locales/it/trainers.ts b/src/locales/it/trainers.ts index dde79d694ca..931d11ae216 100644 --- a/src/locales/it/trainers.ts +++ b/src/locales/it/trainers.ts @@ -13,6 +13,25 @@ export const titles: SimpleTranslationEntries = { "rival": "Rivale", "professor": "Professore", "frontier_brain": "Asso lotta", + "rocket_boss": "Team Rocket Boss", + "magma_boss": "Team Magma Boss", + "aqua_boss": "Team Aqua Boss", + "galactic_boss": "Team Galactic Boss", + "plasma_boss": "Team Plasma Boss", + "flare_boss": "Team Flare Boss", + + "rocket_admin": "Team Rocket Admin", + "rocket_admin_female": "Team Rocket Admin", + "magma_admin": "Team Magma Admin", + "magma_admin_female": "Team Magma Admin", + "aqua_admin": "Team Aqua Admin", + "aqua_admin_female": "Team Aqua Admin", + "galactic_commander": "Team Galactic Commander", + "galactic_commander_female": "Team Galactic Commander", + "plasma_sage": "Team Plasma Sage", + "plasma_admin": "Team Plasma Admin", + "flare_admin": "Team Flare Admin", + "flare_admin_female": "Team Flare Admin", // Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc. } as const; @@ -122,31 +141,22 @@ export const trainerClasses: SimpleTranslationEntries = { "rocket_grunt": "Recluta Team Rocket", "rocket_grunt_female": "Recluta Team Rocket", "rocket_grunts": "Reclute Team Rocket", - "rocket_admin": "Rocket Admin", - "rocket_admin_female": "Rocket Admin", "magma_grunt": "Recluta Team Magma", "magma_grunt_female": "Recluta Team Magma", "magma_grunts": "Reclute Team Magma", - "magma_admin": "Magma Admin", - "magma_admin_female": "Magma Admin", "aqua_grunt": "Recluta Team Idro", "aqua_grunt_female": "Recluta Team Idro", "aqua_grunts": "Recluta Team Idro", - "aqua_admin": "Aqua Admin", - "aqua_admin_female": "Aqua Admin", "galactic_grunt": "Recluta Team Galassia", "galactic_grunt_female": "Recluta Team Galassia", "galactic_grunts": "Reclute Team Galassia", - "galactic_admin": "Galactic Admin", - "galactic_admin_female": "Galactic Admin", "plasma_grunt": "Seguace Plasma", "plasma_grunt_female": "Seguace Plasma", "plasma_grunts": "Seguaci Plasma", "flare_grunt": "Recluta Team Flare", "flare_grunt_female": "Recluta Team Flare", "flare_grunts": "Reclute Team Flare", - "flare_admin": "Flare Admin", - "flare_admin_female": "Flare Admin", + } as const; // Names of special trainers like gym leaders, elite four, and the champion @@ -276,6 +286,28 @@ export const trainerNames: SimpleTranslationEntries = { "rival": "Finn", "rival_female": "Ivy", + // Evil Team Admins + "archer": "Archer", + "ariana": "Ariana", + "proton": "Proton", + "petrel": "Petrel", + "tabitha": "Tabitha", + "courtney": "Courtney", + "shelly": "Shelly", + "matt": "Matt", + "mars": "Mars", + "jupiter": "Jupiter", + "saturn": "Saturn", + "zinzolin": "Zinzolin", + "rood": "Rood", + "xerosic": "Xerosic", + "bryony": "Bryony", + + "maxie": "Maxie", + "archie": "Archie", + "cyrus": "Cyrus", + "ghetsis": "Ghetsis", + "lysandre": "Lysandre", // Double Names "blue_red_double": "Blu & Rosso", diff --git a/src/locales/ja/dialogue.ts b/src/locales/ja/dialogue.ts index 44693c38aa1..64e4028a912 100644 --- a/src/locales/ja/dialogue.ts +++ b/src/locales/ja/dialogue.ts @@ -383,6 +383,204 @@ export const PGMdialogue: DialogueTranslationEntries = { 3: "I think it's me that's seasick..." }, }, + + "archer": { + "encounter": { + 1: "Before you go any further, let's see how you far against us, Team Rocket!", + 2: "I have received reports that your skills are not insignificant. Let's see if they are true.", + 3: "I am Archer, an Admin of Team Rocket. And I do not go easy on enemies of our organization." + }, + "victory": { + 1: "What a blunder!", + 2: "With my current skills, I was not up to the task after all.", + 3: "F-forgive me, Giovanni... For me to be defeated by a mere trainer..." + }, + }, + "ariana": { + "encounter": { + 1: `Hold it right there! We can't someone on the loose." + $It's harmful to Team Rocket's pride, you see.`, + 2: `I don't know or care if what I'm doing is right or wrong... + $I just put my faith in Giovanni and do as I am told`, + 3: "Your trip ends here. I'm going to take you down!" + }, + "victory": { + 1: `Tch, you really are strong. It's too bad. + $If you were to join Team Rocket, you could become an Executive.`, + 2: "I... I'm shattered...", + 3: "Aaaieeeee! This can't be happening! I fought hard, but I still lostโ€ฆ" + }, + }, + "proton": { + "encounter": { + 1: "What do you want? If you interrupt our work, don't expect any mercy!", + 2: `What do we have here? I am often labeled as the scariest and cruelest guy in Team Rocketโ€ฆ + $I strongly urge you not to interfere with our business!`, + 3: "I am Proton, an Admin of Team Rocket. I am here to put an end to your meddling!" + }, + "victory": { + 1: "The fortress came down!", + 2: "You may have won this timeโ€ฆ But all you did was make Team Rocket's wrath growโ€ฆ", + 3: "I am defeatedโ€ฆ But I will not forget this!" + }, + }, + + "petrel": { + "encounter": { + 1: `Muhahaha, we've been waiting for you. Me? You don't know who I am? It is me, Giovanni. + $The majestic Giovanni himself! Wahahaha! โ€ฆHuh? I don't sound anything like Giovanni? + $I don't even look like Giovanni? How come? I've worked so hard to mimic him!`, + 2: "I am Petrel, an Admin of Team Rocket. I will not allow you to interfere with our plans!", + 3: "Rocket Executive Petrel will deal with this intruder!" + }, + "victory": { + 1: "OK, OK. I'll tell you where he is.", + 2: "Iโ€ฆ I couldn't do a thingโ€ฆ Giovanni, please forgive meโ€ฆ", + 3: "No, I can't let this affect me. I have to inform the othersโ€ฆ" + }, + }, + "tabitha": { + "encounter": { + 1: "Hehehe! So you've come all the way here! But you're too late!", + 2: `Hehehe... Got here already, did you? We underestimated you! But this is it! + $I'm a cut above the Grunts you've seen so far. I'm not stalling for time. + $I'm going to pulverize you!`, + 3: "I'm going to give you a little taste of pain! Resign yourself to it!" + }, + "victory": { + 1: `Hehehe! You might have beaten me, but you don't stand a chance against the Boss! + $If you get lost now, you won't have to face a sound whipping!`, + 2: "Hehehe... So, I lost, too...", + 3: "Ahya! How could this be? For an Admin like me to lose to some random trainer..." + }, + }, + "courtney": { + "encounter": { + 1: "The thing...The thing that you hold...That is what... That's what we of Team Magma seek...", + 2: "... Well then...Deleting...", + 3: "...Ha. ...Analyzing... ...Hahโ™ช" + }, + "victory": { + 1: "... ...Change...the world.", + 2: `As anticipated. Unanticipated. You. Target lock...completed. + $Commencing...experiment. You. Forever. Aha... โ™ช`, + 3: "...Again? That's unanticipated. ...I knew it. You...are interesting! ...Haha. โ™ช" + }, + }, + "shelly": { + "encounter": { + 1: `Ahahahaha! You're going to meddle in Team Aqua's affairs? + $You're either absolutely fearless, simply ignorant, or both! + $You're so cute, you're disgusting! I'll put you down`, + 2: "What's this? Who's this spoiled brat?", + 3: "Cool your jets. Be patient. I'll crush you shortly." + }, + "victory": { + 1: `Ahahahaha! We got meddled with unexpectedly! We're out of options. + $We'll have to pull out. But this isn't the last you'll see of Team Aqua! + $We have other plans! Don't you forget it!`, + 2: "Ahhh?! Did I go too easy on you?!", + 3: `Uh. Are you telling me you've upped your game even more during the fight? + $You're a brat with a bright futureโ€ฆ My Pokรฉmon and I don't have any strength left to fightโ€ฆ + $Go onโ€ฆ Go and be destroyed by Archie.` + }, + }, + "matt": { + "encounter": { + 1: "Hoohahaha! What, you got a screw loose or something? Look at you, little Makuhita person!", + 2: "Oho! You! You're that funny kid!", + 3: "What are you doing here? Did you follow us?" + }, + "victory": { + 1: "All right then, until the Boss has time for you, I'll be your opponent!", + 2: `I can feel it! I can feel it, all right! The strength coming offa you! + $More! I still want more! But looks like we're outta time...`, + 3: "That was fun! I knew you'd show me a good time! I look forward to facing you again someday!" + }, + }, + "mars": { + "encounter": { + 1: "I'm Mars, one of Team Galactic's top Commanders.", + 2: "Team Galactic's vision for the future is unwavering. Opposition will be crushed without mercy!", + 3: "Feeling nervous? You should be!" + }, + "victory": { + 1: "This can't be happening! How did I lose?!", + 2: "You have some skill, I'll give you that.", + 3: "Defeated... This was a costly mistake." + } + }, + "jupiter": { + "encounter": { + 1: "Jupiter, Commander of Team Galactic, at your service.", + 2: "Resistance is futile. Team Galactic will prevail!", + 3: "You're trembling... scared already?" + }, + "victory": { + 1: "No way... I lost?!", + 2: "Impressive, you've got guts!", + 3: "Losing like this... How embarrassing." + } + }, + "saturn": { + "encounter": { + 1: "I am Saturn, Commander of Team Galactic.", + 2: "Our mission is absolute. Any hindrance will be obliterated!", + 3: "Is that fear I see in your eyes?" + }, + "victory": { + 1: "Impossible... Defeated by you?!", + 2: "You have proven yourself a worthy adversary.", + 3: "Bestowed in defeat... This is unacceptable." + }}, + "zinzolin": { + "encounter": { + 1: "You could become a threat to Team Plasma, so we will eliminate you here and now!", + 2: "Oh, for crying out loud... I didn't expect to have to battle in this freezing cold!", + 3: "You're an impressive Trainer to have made it this far. But it ends here." + }, + "victory": { + 1: "Ghetsis... I have failed you...", + 2: "It's bitter cold. I'm shivering. I'm suffering. Yet, I still stand victorious.", + 3: "Hmph. You're a smarter Trainer than I expected, but not smart enough." + } + }, + "rood": { + "encounter": { + 1: "You are a threat to Team Plasma. We cannot let you walk away from here and now!", + 2: "Oh, this icy wind... I never thought I'd have to fight here!", + 3: "You are a remarkable Trainer to have made it this far. But this is where it ends." + }, + "victory": { + 1: "Ghetsis... I have failed my mission...", + 2: "The cold is piercing. I'm shivering. I'm suffering. Yet, I have triumphed.", + 3: "Hm. You are a talented Trainer, but unfortunately not talented enough." + } + }, + "xerosic": { + "encounter": { + 1: "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!", + 2: "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.", + 3: "I've been waiting for you! I need to do a little research on you! Come, let us begin!" + }, + "victory": { + 1: "Ah, you're quite strong. Oh yesโ€”very strong, indeed.", + 2: "Ding-ding-ding! You did it! To the victor go the spoils!", + 3: "Wonderful! Amazing! You have tremendous skill and bravery!" + } + }, + "bryony": { + "encounter": { + 1: "I am Bryony, and it would be my pleasure to battle you. Show me what you've got.", + 2: "Impressive... You're more powerful than you appear. Let's see the true extent of your energy.", + 3: "I've anticipated your arrival. It's time for a little test. Shall we begin?" + }, + "victory": { + 1: "You're quite strong. Oh yesโ€”very strong, indeed.", + 2: "Ding-ding-ding! You've done well. Victory is yours.", + 3: "Wonderful! Remarkable! Your skill and bravery are commendable." + } + }, "rocket_grunt": { "encounter": { 1: "Prepare for trouble!" @@ -391,18 +589,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Team Rocket blasting off again!" }, }, - "rocket_admin": { - "encounter": { - 1: "Oh? You managed to get this far? You must be quite the trainer.", - 2: "That's quite enough of you playing hero, kid.", - 3: "I'll show you how scary an angry adult can be!" - }, - "victory": { - 1: "No! Forgive me Giovanni!", - 2: "How could this be?", - 3: "Urgh... You were too strong..." - }, - }, "magma_grunt": { "encounter": { 1: " If you get in the way of Team Magma, donโ€™t expect any mercy!" @@ -411,18 +597,7 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Huh? I lost?!" }, }, - "magma_admin": { - "encounter": { - 1: "Hehehe! So you've come all the way here! But you're too late!", - 2: "You're going to meddle in Team Magma's affairs? You're so cute you're disgusting! I'll put you down kiddy!", - 3: "I'm going to give you a little taste of pain! Resign yourself to it!" - }, - "victory": { - 1: "Hehehe... So I lost...", - 2: "You're disgustingly strong!", - 3: "Ahahaha! Ouch!" - }, - }, + "aqua_grunt": { "encounter": { 1: "No one who crosses Team Aqua gets any mercy, not even kids!" @@ -431,18 +606,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "You're kidding me!" }, }, - "aqua_admin": { - "encounter": { - 1: "I'm a cut above the grunts you've seen so far. I'm going to puvlerize you!", - 2: "Hahn? What's this? Who's this spoiled brat?", - 3: "What are you doing here? Did you follow us?" - }, - "victory": { - 1: "So I lost too...", - 2: "Ahhh?! Did I go too easy on you?!", - 3: "Wh-what was that?" - }, - }, "galactic_grunt": { "encounter": { 1: "Don't mess with Team Galactic!" @@ -451,18 +614,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Shut down..." }, }, - "galactic_admin": { - "encounter": { - 1: "I'm one of Team Galactic's Commanders.", - 2: "Anything that opposes Team Galactic must be crushed! Even the very thought of opposition will not be tolerated!", - 3: "What's the matter? Don't tell me you're shaking?" - }, - "victory": { - 1: "This can't be?! I lost?! You... you uppity brat!", - 2: "You, my friend, are tough!", - 3: "Losing to some child... Being careless cost me too much." - }, - }, "plasma_grunt": { "encounter": { 1: "We won't tolerate people who have different ideas!" @@ -471,18 +622,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Plasmaaaaaaaaa!" }, }, - "plasma_sage": { - "encounter": { - 1: "You could become a threat to Team Plasma, so we will eliminate you here!", - 2: "Oh, for crying out loud... I didn't expect to have to fight!", - 3: "You're an impressive Trainer to have made it this far." - }, - "victory": { - 1: "Ghetsis...", - 2: "It's bitter cold. I'm shivering. I'm suffering.", - 3: "Hmph. You're a smarter Trainer than I expected." - }, - }, "flare_grunt": { "encounter": { 1: "Fashion is most important to us!" @@ -491,18 +630,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "The future doesn't look bright for me." }, }, - "flare_admin": { - "encounter": { - 1: "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!", - 2: "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.", - 3: "I've been waiting for you! I need to do a little research on you! Come, let us begin!" - }, - "victory": { - 1: "You're quite strong. Oh yes-very strong, indeed.", - 2: "Ding-ding-ding! Yup, you did it! To the victor goes the spoils!", - 3: "Wonderful! Amazing! You have tremendous skill and bravery!" - }, - }, "rocket_boss_giovanni_1": { "encounter": { 1: "So! I must say, I am impressed you got here!" @@ -2605,7 +2732,7 @@ export const PGFbattleSpecDialogue: SimpleTranslationEntries = PGMbattleSpecDial // Dialogue that does not fit into any other category (e.g. tutorial messages, or the end of the game). For when the player character is male export const PGMmiscDialogue: SimpleTranslationEntries = { "ending": - `@c{smile}Oh? You won?@d{96} @c{smile_eclosed}I guess I should've known.\nBut, you're back now. + `@c{smile}Oh? You won?@d{96} @c{smile_eclosed}I guess I should've known.\nBut, you're back now. $@c{smile}It's over.@d{64} You ended the loop. $@c{serious_smile_fists}You fulfilled your dream too, didn't you?\nYou didn't lose even once. $@c{neutral}I'm the only one who'll remember what you did.@d{96}\nI guess that's okay, isn't it? @@ -2613,7 +2740,7 @@ export const PGMmiscDialogue: SimpleTranslationEntries = { $@c{smile_eclosed}Anyway, I've had about enough of this place, haven't you? Let's head home. $@c{serious_smile_fists}Maybe when we get back, we can have another battle?\nIf you're up to it.`, "ending_female": - `@c{shock}You're back?@d{32} Does that meanโ€ฆ@d{96} you won?!\n@c{smile_ehalf}I should have known you had it in you. + `@c{shock}You're back?@d{32} Does that meanโ€ฆ@d{96} you won?!\n@c{smile_ehalf}I should have known you had it in you. $@c{smile_eclosed}Of courseโ€ฆ I always had that feeling.\n@c{smile}It's over now, right? You ended the loop. $@c{smile_ehalf}You fulfilled your dream too, didn't you?\nYou didn't lose even once. $I'll be the only one to remember what you did.\n@c{angry_mopen}I'll try not to forget! diff --git a/src/locales/ja/trainers.ts b/src/locales/ja/trainers.ts index 9b06f3bdf7f..a40fabaeacc 100644 --- a/src/locales/ja/trainers.ts +++ b/src/locales/ja/trainers.ts @@ -1,4 +1,4 @@ -import { SimpleTranslationEntries } from "#app/interfaces/locales"; +import {SimpleTranslationEntries} from "#app/interfaces/locales"; // Titles of special trainers like gym leaders, elite four, and the champion export const titles: SimpleTranslationEntries = { @@ -19,6 +19,19 @@ export const titles: SimpleTranslationEntries = { "galactic_boss": "Team Galactic Boss", "plasma_boss": "Team Plasma Boss", "flare_boss": "Team Flare Boss", + + "rocket_admin": "Team Rocket Admin", + "rocket_admin_female": "Team Rocket Admin", + "magma_admin": "Team Magma Admin", + "magma_admin_female": "Team Magma Admin", + "aqua_admin": "Team Aqua Admin", + "aqua_admin_female": "Team Aqua Admin", + "galactic_commander": "Team Galactic Commander", + "galactic_commander_female": "Team Galactic Commander", + "plasma_sage": "Team Plasma Sage", + "plasma_admin": "Team Plasma Admin", + "flare_admin": "Team Flare Admin", + "flare_admin_female": "Team Flare Admin", // Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc. } as const; @@ -128,32 +141,21 @@ export const trainerClasses: SimpleTranslationEntries = { "rocket_grunt": "Rocket Grunt", "rocket_grunts": "Rocket Grunts", "rocket_grunt_female": "Rocket Grunt", - "rocket_admin": "Rocket Admin", - "rocket_admin_female": "Rocket Admin", "magma_grunt": "Magma Grunt", "magma_grunt_female": "Magma Grunt", "magma_grunts": "Magma Grunts", - "magma_admin": "Magma Admin", - "magma_admin_female": "Magma Admin", "aqua_grunt": "Aqua Grunt", "aqua_grunt_female": "Aqua Grunt", "aqua_grunts": "Aqua Grunts", - "aqua_admin": "Aqua Admin", - "aqua_admin_female": "Aqua Admin", "galactic_grunt": "Galactic Grunt", "galactic_grunt_female": "Galactic Grunt", "galactic_grunts": "Galactic Grunts", - "galactic_admin": "Galactic Admin", - "galactic_admin_female": "Galactic Admin", "plasma_grunt": "Plasma Grunt", "plasma_grunt_female": "Plasma Grunt", "plasma_grunts": "Plasma Grunts", - "plasma_sage": "Plasma Sage", "flare_grunt": "Flare Grunt", "flare_grunt_female": "Flare Grunt", "flare_grunts": "Flare Grunts", - "flare_admin": "Flare Admin", - "flare_admin_female": "Flare Admin", } as const; // Names of special trainers like gym leaders, elite four, and the champion @@ -282,6 +284,24 @@ export const trainerNames: SimpleTranslationEntries = { "leon": "Leon", "rival": "Finn", "rival_female": "Ivy", + + // Evil Team Admins + "archer": "Archer", + "ariana": "Ariana", + "proton": "Proton", + "petrel": "Petrel", + "tabitha": "Tabitha", + "courtney": "Courtney", + "shelly": "Shelly", + "matt": "Matt", + "mars": "Mars", + "jupiter": "Jupiter", + "saturn": "Saturn", + "zinzolin": "Zinzolin", + "rood": "Rood", + "xerosic": "Xerosic", + "bryony": "Bryony", + "maxie": "Maxie", "archie": "Archie", "cyrus": "Cyrus", diff --git a/src/locales/ko/dialogue.ts b/src/locales/ko/dialogue.ts index 8e7f09ff373..e032ec14844 100644 --- a/src/locales/ko/dialogue.ts +++ b/src/locales/ko/dialogue.ts @@ -383,6 +383,203 @@ export const PGMdialogue: DialogueTranslationEntries = { 3: "๋‚ด๊ฐ€ ๋ฑƒ๋ฉ€๋ฏธ๊ฐ€ ๋‚˜๋Š” ๊ฒƒ ๊ฐ™๊ตฐโ€ฆ" }, }, + "archer": { + "encounter": { + 1: "๋” ๋‚˜์•„๊ฐ€๊ธฐ ์ „์— ์šฐ๋ฆฌ ๋กœ์ผ“๋‹จ๊ณผ ๋งž์„ค ๋งŒํ•œ์ง€ ํ•œ ๋ฒˆ ๋ด…์‹œ๋‹ค!", + 2: "๋‹น์‹ ์˜ ์‹ค๋ ฅ์ด ์˜ˆ์‚ฌ๋กญ์ง€ ์•Š๋‹ค๋Š” ์†Œ์‹์„ ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ •๋ง์ธ์ง€ ํ•œ ๋ฒˆ ๋ณด์ง€์š”.", + 3: "โ€ฆ์ €๋Š” ๋กœ์ผ“๋‹จ์˜ ๊ฐ„๋ถ€ ์•„ํด๋กœ. ์šฐ๋ฆฌ ์กฐ์ง์˜ ์ ์—๊ฒŒ๋Š” ๋ด ์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค!" + }, + "victory": { + 1: "โ€ฆ์ด๋Ÿฐ ์‹ค์ˆ˜๋ฅผ ํ•˜๋‹ค๋‹ˆ!", + 2: "์—ญ์‹œ ์ง€๊ธˆ์˜ ์ €๋Š” ๋ฌด๋ฆฌ์˜€๊ตฐ์š”โ€ฆ", + 3: "๋น„, ๋น„์ฃผ๊ธฐ๋‹˜, ์šฉ์„œํ•ด์ฃผ์‹ญ์‹œ์˜คโ€ฆ์ œ๊ฐ€ ์ผ๊ฐœ ํŠธ๋ ˆ์ด๋„ˆํ•œํ…Œ ๋‹นํ•˜๋‹ค๋‹ˆโ€ฆ" + }, + }, + "ariana": { + "encounter": { + 1: `๊ฑฐ๊ธฐ๊นŒ์ง€๋‹ค~!! ๋„ˆ ๊ฐ™์€ ๋†ˆ์„ ์–ธ์ œ๊นŒ์ง€๊ณ  ์„ค์น˜๊ฒŒ ๋‘์—ˆ๋‹ค๊ฐ€๋Š” + $๋กœ์ผ“๋‹จ์˜ ํ”„๋ผ์ด๋“œ๋Š” ์ƒ์ฒ˜ ์ž…๊ณ  ์ƒ์ฒ˜ ์ž…์–ด์„œ ์ƒ์ฒ˜ํˆฌ์„ฑ์ด๊ฐ€ ๋ผ ๋ฒ„๋ฆฐ๋‹ค๊ณ -!`, + 2: `๋‚ด๊ฐ€ ํ•˜๋Š” ์ผ์ด ์˜ณ์€์ง€ ๊ทธ๋ฅธ์ง€๋Š” ์ƒ๊ด€ ์—†์–ดโ€ฆ + $๊ทธ์ € ๋น„์ฃผ๊ธฐ๋‹˜์„ ๋ฏฟ๊ณ  ๋”ฐ๋ฅด๋Š” ๊ฒƒ ๋ฟ์ด๋‹ˆ๊นŒ-!`, + 3: "๋„ค ์—ฌ์ •์€ ์—ฌ๊ธฐ์„œ ๋์ด์•ผ. ๋‚ด๊ฐ€ ๋„ ์ด๊ธธ ํ…Œ๋‹ˆ๊นŒ-!" + }, + "victory": { + 1: `์–ด๋จธ, ๊ฐ•ํ•˜๊ตฐ. ์•ˆํƒ€๊น๋„ค. + $๋„ค๊ฐ€ ๋กœ์ผ“๋‹จ์— ์žˆ์—ˆ๋‹ค๋ฉด ๊ฐ„๋ถ€๊ฐ€ ๋  ์ˆ˜ ์žˆ์—ˆ์„ ํ…๋ฐ.`, + 2: "์‚ฌโ€ฆ์‚ฐ์‚ฐ์กฐ๊ฐ๋‚ฌ๋„คโ€ฆ", + 3: "์œผ์ด์ด์ด์ต! ์˜จ ํž˜์„ ๋‹คํ•ด์„œ ์‹ธ์› ๋Š”๋ฐโ€ฆ์ด๋ž˜๋„ ์ด๊ธธ ์ˆ˜ ์—†๋‹ค๋‹ˆ!" + }, + }, + "proton": { + "encounter": { + 1: "๋ญ์ฃ ? ์šฐ๋ฆฌ ์ผ์— ๋ผ์–ด๋“ ๋‹ค๋ฉด ์ž๋น„๋ฅผ ๋ฐ”๋ผ์ง€ ๋งˆ์‹ญ์‹œ์˜ค!", + 2: `๋ญ์ฃ ? ๋‚˜๋Š” ๋กœ์ผ“๋‹จ์—์„œ ์ œ์ผ ๋ƒ‰ํ˜นํ•˜๋‹ค๊ณ  ๋ถˆ๋ฆฌ๋Š” ๋‚จ์žโ€ฆ + $์šฐ๋ฆฌ ์ผ์„ ๋ฐฉํ•ดํ•˜๋„๋ก ๊ทธ๋ƒฅ ๋†”๋‘์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค!`, + 3: "๋‚˜๋Š” ๋กœ์ผ“๋‹จ์˜ ๊ฐ„๋ถ€ ๋žœ์Šค. ๋‹น์‹ ์˜ ์ฐธ๊ฒฌ๋„ ์—ฌ๊ธฐ๊นŒ์ง€์ž…๋‹ˆ๋‹ค!" + }, + "victory": { + 1: "์š”์ƒˆ๊ฐ€ ๋ฌด๋„ˆ์ ธ๋‚ด๋ ธ๋„ค์š”โ€ฆ", + 2: "๋‚˜ํ•œํ…Œ ์ด๊ธด ๊ฑด ๊ฒฐ๊ตญ ๋กœ์ผ“๋‹จ์˜ ๋ถ„๋…ธ๋ฅผ ๊ฐ•ํ•˜๊ฒŒ ํ–ˆ์„ ๋ฟ์ด์˜ˆ์š”โ€ฆ", + 3: "๋‚˜๋Š” ์กŒ์ง€๋งŒ, ๊ฒฐ์ฝ” ์ด ์ผ์„ ์žŠ์ง€ ์•Š์„ ๊ฒ๋‹ˆ๋‹ค!" + }, + }, + + "petrel": { + "encounter": { + 1: `ํ›„ํ›„ํ›—, ์ž˜ ์™”๊ตฌ๋‚˜. ์˜ค์ž‰? ๋‚ด๊ฐ€ ๋ˆ„๊ตฐ์ง€ ์•Œ์•„? ๋น„์ฃผ๊ธฐ์•ผ. + $๋น„์ฃผ๊ธฐ๋‹˜์ด๋ผ๊ณ , ์šฐ-ํ•˜ํ•˜! โ€ฆ์—ฅ? ์ „ํ˜€ ์•ˆ ๋‹ฎ์•˜๋‹ค๊ณ ? + $๋น„์ฃผ๊ธฐ๋‹˜์œผ๋กœ๋Š” ์•ˆ ๋ณด์ธ๋‹ค๊ณ ? ์ œ๊ธธ- ์—ด์‹ฌํžˆ ์—ฐ์Šตํ–ˆ๋Š”๋ฐ!`, + 2: "๋‚˜๋Š” ๋กœ์ผ“๋‹จ์˜ ๊ฐ„๋ถ€ ๋žŒ๋‹ค. ์šฐ๋ฆฌ ๊ณ„ํš์„ ๋ฐฉํ•ดํ•˜๋Š” ๊ฑด ์šฉ๋‚ฉํ•  ์ˆ˜ ์—†๋‹ค!", + 3: "์ด ๋กœ์ผ“๋‹จ ๊ฐ„๋ถ€ ๋žŒ๋‹ค๊ฐ€ ๋„ค๋†ˆ ๋ถˆ์ฒญ๊ฐ์„ ์ฒ˜๋ฆฌํ•ด ์ฃผ์ง€!" + }, + "victory": { + 1: "์กฐโ€ฆ์ข‹์•„. ๋น„์ฃผ๊ธฐ๋‹˜์ด ์–ด๋”” ๊ณ„์‹ ์ง€ ์•Œ๋ ค์ฃผ์ง€.", + 2: "ํฌ์œผ์œผโ€ฆ ์ด ๋‚ด๊ฐ€ ๋‹นํ•ด๋‚ผ ์ˆ˜ ์—†๋‹ค๋‹ˆโ€ฆ ๋น„์ฃผ๊ธฐ๋‹˜, ์šฉ์„œํ•ด์ฃผ์‹ญ์‹œ์˜คโ€ฆ", + 3: "์•ˆ๋ผ, ์ด๋Ÿฐ๋‹ค๊ณ  ๋‚˜ํ•œํ…Œ ์–ด์ฉ” ์ˆ˜๋Š” ์—†์–ด. ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์•Œ๋ ค์•ผ๊ฒ ์–ดโ€ฆ" + }, + }, + "tabitha": { + "encounter": { + 1: "์šฐํšจํšจํšจ! ๊ทธ๋ž˜ ๋‹น์‹  ์—ฌ๊ธฐ๊นŒ์ง€ ์™”๊ตฌ๋‚˜! ๊ทธ์น˜๋งŒ ๋Šฆ์—ˆ์–ด์š”!", + 2: `์šฐํšจํšจโ€ฆ ๋ฒŒ์จ ์—ฌ๊ธฐ๊นŒ์ง€ ์™”๋„ค์š”? ์šฐ๋ฆฌ๊ฐ€ ๋‹น์‹ ์„ ๊ณผ์†Œํ‰๊ฐ€ํ–ˆ์–ด์š”. ํ•˜์ง€๋งŒ ์ด์ œ ์‹œ์ž‘์ž…๋‹ˆ๋‹ค! + $์ด ํ˜ธ๊ฑธ๋‹˜์€ ์ด์ œ๊นŒ์ง€ ๋ณธ ์กฐ๋ฌด๋ž˜๊ธฐ๋“ค๊ณผ๋Š” ์ฐจ์›์ด ๋‹ค๋ฅด๋‹ต๋‹ˆ๋‹ค! ์šฐ๋ฌผ์ญˆ๋ฌผ ์‹œ๊ฐ„์„ ๋Œ์ง€ ์•Š์•„์š”. + $ํ™•์‹คํ•˜๊ฒŒ ๋ณด๋‚ด์ฃผ๋งˆ! ์šฐํšจํšจํšจํšจํšจํšจ!!`, + 3: "์—ฌ๊ธฐ์„œ ์–ด๋ฅธ์˜ ๋ฌด์„œ์›€์„ ์ œ๋Œ€๋กœ ์•Œ๋ ค์ฃผ์ง€! ๋ฐ›์•„๋ž-!" + }, + "victory": { + 1: `์šฐํšจํšจ! ์ด ํ˜ธ๊ฑธ์€ ์ด๊ฒผ์„์ง€ ๋ชฐ๋ผ๋„ ๋งˆ์ ๋‹˜ํ•œํ…Œ๋Š” ์•ˆ ๋  ๊ฒ๋‹ˆ๋‹ค! + $์ฐจ๋ผ๋ฆฌ ์—ฌ๊ธฐ์„œ ์กŒ๋‹ค๋ฉด ๋ฌด์ž๋น„ํ•œ ์ฑ„์ฐ์งˆ์€ ํ”ผํ–ˆ์„ํ…๋ฐ ๋ง์ด์ฃ !`, + 2: "์šฐํšจ~! ์ด์•ผ ์ด๊ฑด ์˜ˆ์ƒ ๋ฐ–์˜ ์ „๊ฐœ์ธ๋ฐ!?", + 3: "์šฐํšจ! ์–ด๋–ป๊ฒŒ?! ์ด ํ˜ธ๊ฑธ๋‹˜์ด ์ด๋Ÿฐ ์ผ๊ฐœ ํŠธ๋ ˆ์ด๋„ˆ์—๊ฒŒโ€ฆ" + }, + }, + "courtney": { + "encounter": { + 1: "โ€ฆ๊ทธ โ€ฆ๋„ค๊ฐ€ ๊ฐ€์ง„ โ€ฆ์šฐ๋ฆฌโ€ฆ๋งˆ๊ทธ๋งˆ๋‹จ์ด ์›ํ•˜๋Š” ๊ฒƒ", + 2: "โ€ฆโ€ฆโ€ฆโ€ฆ๊ทธ๋Ÿผ โ€ฆโ€ฆโ€ฆโ€ฆ์‚ญ์ œํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค", + 3: "โ€ฆโ€ฆ์• ๋„๋ผ์ด์ฆˆ โ€ฆโ€ฆํ•˜๊ณ  ์‹ถ์–ด โ€ฆโ€ฆ์•„ํ•˜ํ•˜ํ•˜โ™ช" + }, + "victory": { + 1: "โ€ฆโ€ฆ๋ฐ”๊ฟ”์ค˜ โ€ฆโ€ฆ์„ธ๊ณ„๋ฅผ", + 2: `โ€ฆโ€ฆโ€ฆ์˜ˆ์ƒ๋Œ€๋กœ โ€ฆโ€ฆโ€ฆ์˜ˆ์ƒ์™ธ โ€ฆโ€ฆโ€ฆ๋„ˆ โ€ฆโ€ฆโ€ฆโ€ฆํƒ€๊นƒ ๋ก โ€ฆโ€ฆโ€ฆํ–ˆ์œผ๋‹ˆ๊นŒ + $โ€ฆโ€ฆ์—‘์ŠคํŽ˜๋ฆฌ๋จผํŠธ โ€ฆโ€ฆํ•  ํ…Œ๋‹ˆ๊นŒ โ€ฆโ€ฆโ€ฆ๋„ˆ๋ฅผโ€ฆโ€ฆโ€ฆ๊ณ„์†โ€ฆโ€ฆโ€ฆ์•„ํ•ซโ€ฆโ™ช`, + 3: "โ€ฆโ€ฆ๋˜ โ€ฆโ€ฆ์˜ˆ์ƒ์™ธ โ€ฆโ€ฆโ€ฆโ€ฆ โ€ฆโ€ฆ์—ญ์‹œ โ€ฆโ€ฆ๋„ˆโ€ฆ์žฌ๋ฏธ์žˆ์–ดโ€ฆ! โ€ฆโ€ฆโ€ฆ์•„ํ•˜ํ•˜โ€ฆโ™ช" + }, + }, + "shelly": { + "encounter": { + 1: `์—ฅ? ์šฐ๋ฆฌ ์•„์ฟ ์•„๋‹จ์˜ ์ผ์— ๋ผ์–ด๋“ค๊ฒ ๋‹ค๊ณ ? + $โ€ฆ์ข‹์•„! ๊ธฐ๋ณธ์ ์ธ ์˜ˆ์˜๋„ ๋ชจ๋ฅด๋Š” ์• ์†ก์ดํ•œํ…Œ๋Š” ์ œ๋Œ€๋กœ ๊ทธ ๋ฒ„๋ฆ‡์„ ๊ณ ์ณ์ค˜์•ผ์ง€โ€ฆ + $๊ฒ๋จน๊ณ  ๋„๋ง์ณ๋„ ์šฉ์„œ ๋”ฐ์œ„ ์—†์„ ์ค„ ์•Œ์•„! ์šฐํ•˜ํ•˜ํ•˜!`, + 2: "์•„์•™? ๋ญ์•ผ? ์ด ๊ฑด๋ฐฉ์ง„ ๊ผฌ๋งน์ด๋Š”โ€ฆ", + 3: "์นจ์ฐฉํ•ด. ์กฐ๊ธ‰ํ•ด ํ•˜์ง€ ๋ง๋ผ๊ณ โ€ฆ ๊ธˆ๋ฐฉ ๋ฐ•์‚ด๋‚ด ์ค„ ํ…Œ๋‹ˆ๊นŒ." + }, + "victory": { + 1: `์•„์•„์•„์•„์•™!? ์˜ˆ์ƒ์น˜ ๋ชปํ•˜๊ฒŒ ๋ฐฉํ•ด๋ฐ›์•˜์ž–์•„! ์–ด์ฉ” ์ˆ˜ ์—†๋„ค. + $์—ฌ๊ธฐ์„  ๋ฌผ๋Ÿฌ๋‚˜์•ผ๊ฒ ๋„ค. ๊ทธ๋ ‡์ง€๋งŒ ๋„ค๊ฐ€ ์•„์ฟ ์•„๋‹จ์„ ๋งŒ๋‚˜๋Š” ๊ฒŒ ์ด๊ฒŒ ๋งˆ์ง€๋ง‰์€ ์•„๋‹ ๊ฑฐ์•ผ. + $์šฐ๋ฆฌ๋Š” ๋‹ค๋ฅธ ๊ณ„ํš๋„ ์žˆ๊ฑฐ๋“ ! ์žŠ์ง€ ๋งˆ!`, + 2: "ํฌ์œฝโ€ฆ!? ๋„ˆ๋ฌด ๋ด์คฌ๋‚˜โ€ฆ!", + 3: `โ€ฆ์œผ์œฝ โ€ฆ์‹ธ์šฐ๋ฉด์„œ ๋”์šฑ ์‹ค๋ ฅ์ด ์ข‹์•„์กŒ๋‹ค๊ณ โ€ฆ!? + $์žฅ๋ž˜๊ฐ€ ๋ฌด์„œ์›Œ์ง€๋Š” ์• ์†ก์ด๋„คโ€ฆ โ€ฆ๋‚˜์™€ ๋‚ด ํฌ์ผ“๋ชฌ๋“ค์€ ๋” ์ด์ƒ ์‹ธ์šธ ํž˜์ด ๋‚จ์•„ ์žˆ์ง€ ์•Š์•„. + $โ€ฆ๊ฐ€ โ€ฆ๊ฐ€์„œ ์•„๊ฐ•๋‹˜ํ•œํ…Œ ์•„์ฃผ ํ˜ผ์ญ์ด๋‚˜ ๋‚˜ ๋ฒ„๋ ค.` + }, + }, + "matt": { + "encounter": { + 1: "ํ›„ํ•˜ํ•˜ํ•˜ํ•˜ํ•˜! ๋ญ๋ผ ๋– ๋“ค๊ณ  ์žˆ๋Š” ๊ฑฐ์•ผ! ๋„ˆ ์ƒ๊ธด ๊ฒŒ ๋งˆํฌํƒ•์ด๋ž‘ ๋˜‘๊ฐ™๋„ค!", + 2: "์Œ์Œ! ๋„ค ๋…€์„์€! ์žฌ๋ฏธ์žˆ๋Š” ๋…€์„!", + 3: "๋ญ์•ผ?! ์šฐ๋ฆด ๋”ฐ๋ผ์˜จ ๊ฑฐ๋ƒ!" + }, + "victory": { + 1: "โ€ฆ๊ทธ๋ž˜์„œ ๋ง์ด์ง€, ๋ฆฌ๋”๋‹˜์ด ์‹œ๊ฐ„์ด ๋‚˜์‹ค ๋•Œ๊นŒ์ง„ ๋‚ด๊ฐ€ ์ƒ๋Œ€ํ•ด ์ฃผ๋งˆ!", + 2: `ํ™• ํ™• ๋Š๊ปด์ง€๋Š”๋ฐ! ๋„ค๋†ˆ๋“ค์˜ ๊ฐ•ํ•จ์ด ๋ง์ด์•ผ! + $์ œ๋Œ€๋กœ ๋ถ™์—ˆ๋‹ค๊ณ  ํ•˜๊ธฐ์—” ์กฐ๊ธˆ ๋ชจ์ž๋ผ์ง€๋งŒ ์ด์ œ ํƒ€์ž„์˜ค๋ฒ„ ๊ฐ™๋„คโ€ฆ`, + 3: "์žฌ๋ฐŒ๋Š”๋ฐ!! ์—ญ์‹œ ์žฌ๋ฏธ์žˆ์–ด! ๋„Œ! ๋˜ ๋ถ™๊ฒŒ ๋  ๋•Œ๋ฅผ ๊ธฐ๋Œ€ํ•˜๊ณ  ์žˆ๊ฒ ์–ด!" + }, + }, + "mars": { + "encounter": { + 1: "๋‚œ ๊ฐค๋Ÿญ์‹œ๋‹จ ๊ฐ„๋ถ€์ธ ๋งˆ์Šค! ๊ฐ•ํ•˜๊ณ  ์•„๋ฆ„๋‹ต์ง€!", + 2: "๊ฐค๋Ÿญ์‹œ๋‹จ์˜ ๋ฏธ๋ž˜์— ๋Œ€ํ•œ ๋น„์ „์€ ํ”๋“ค๋ฆผ ์—†์ง€. ๋ฐฉํ•ดํ•œ๋‹ค๋ฉด ๋ฌด์ž๋น„ํ•˜๊ฒŒ ์ง“๋ฐŸ์•„ ์ฃผ๋งˆ!", + 3: "๋‘๋ ต์ง€ ์•Š์•„? ๋„Œ ๊ทธ๋ž˜์•ผ๋งŒ ํ•  ๊ฑธ!" + }, + "victory": { + 1: "๊ฐค๋Ÿญ์‹œ๋‹จ์˜ ๊ฐ„๋ถ€๋กœ์„œโ€ฆ ์ด๋Ÿฐ ์ผ์€ ์žˆ์„ ์ˆ˜ ์—†์–ด!!", + 2: "๋„Œ ๋Šฅ๋ ฅ ์žˆ๊ตฌ๋‚˜. ๊ทธ๊ฑด ์ธ์ •ํ•˜์ง€.", + 3: "์•„-์ด๋Ÿฐ ์ด๋Ÿฐ! ์กŒ์ž–์•„!" + } + }, + "jupiter": { + "encounter": { + 1: "๋ฌด์Šจ ๋ณผ์ผ์ด๋ผ๋„? ์ข‹์•„! ๊ฐค๋Ÿญ์‹œ๋‹จ ๊ฐ„๋ถ€์ธ ๋‚˜ ์ฃผํ”ผํ„ฐ๊ฐ€ ์ƒ๋Œ€ํ•ด์ฃผ์ง€.", + 2: "๋ฐœ๋ฒ„๋‘ฅ์ณ ๋ด์•ผ ์†Œ์šฉ ์—†์–ด. ๊ฐค๋Ÿญ์‹œ๋‹จ์ด ์Šน๋ฆฌํ•  ๊ฑฐ๋‹ˆ๊นŒ!", + 3: "๋„ˆ ๋–จ๊ณ  ์žˆ๋„คโ€ฆ ๋ฌด์„œ์šด ๊ฑฐ์ง€?" + }, + "victory": { + 1: "์ผ๊ฐœ ํŠธ๋ ˆ์ด๋„ˆ์—๊ฒŒ ์ง€๋‹ค๋‹ˆ ๋ฐฉ์‹ฌ์ด๋ž€ ๋ฌด์„ญ๊ตฌ๋‚˜.", + 2: "๋‹ค์Œ์—๋Š” ๋‚ด๊ฐ€ ์šธ๋ ค ์ฃผ๊ณ  ๋ง๊ฒ ์–ด!", + 3: "ํฅ! ๊ฐ•ํ•˜๋„ค. ํ•˜์ง€๋งŒ ๋ณด์Šค๋Š” ๋‹นํ•  ์ˆ˜ ์—†์–ด" + } + }, + "saturn": { + "encounter": { + 1: "๋‚˜๋Š” ๊ฐค๋Ÿญ์‹œ๋‹จ์˜ ๊ฐ„๋ถ€ ์ƒˆํ„ด. ๋ชจ๋“  ๊ฒƒ์€ ๋ชจ๋‘๋ฅผ ์œ„ํ•ด ๊ทธ๋ฆฌ๊ณ  ๊ฐค๋Ÿญ์‹œ๋‹จ์„ ์œ„ํ•ด!", + 2: "๊ฐค๋Ÿญ์‹œ๋‹จ์„ ๋ฐฉํ•ดํ•œ๋‹ค๋ฉด ์ผ๋ง์˜ ๊ฐ€๋Šฅ์„ฑ๋„ ๋ชจ๋‘ ์ œ๊ฑฐํ•œ๋‹ค!", + 3: "์—ฌ๊ธฐ๊นŒ์ง€ ์™”์œผ๋‹ˆ ๊ฐค๋Ÿญ์‹œ๋‹จ ๋‚˜๋ฆ„์˜ ์ ‘๋Œ€๋ฅผ ํ•ด ์ฃผ์ง€." + }, + "victory": { + 1: "์ด๋Ÿด ์ˆ˜๊ฐ€โ€ฆ ๋„ˆํ•œํ…Œ ์กŒ๋‹ค๊ณ ?!", + 2: "โ€ฆ์—ญ์‹œ ๊ฐ•ํ•ด! ๊ฐค๋Ÿญ์‹œ๋‹จ์— ๋งž์„ค ๋งŒํ•˜๊ตฐ.", + 3: "๊ฐ•ํ•˜๋‹ค! ํ•˜์ง€๋งŒ ๋ถˆ์Œํ•˜๊ตฐ." + }}, + "zinzolin": { + "encounter": { + 1: "๋„ˆ๋Š” ํ”Œ๋ผ์Šค๋งˆ๋‹จ์—๊ฒŒ ์žˆ์–ด ๋ถˆ์•ˆ์š”์†Œ๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค. ์—ฌ๊ธฐ์„œ ์ œ๊ฑฐํ•˜๊ฒ ๋‹ค!", + 2: "์ด๋Ÿฐ ์ด๋Ÿฐโ€ฆ ๋‚ด๊ฐ€ ์ด๋Ÿฐ ๊ณณ์—์„œ ์‹ธ์›Œ์•ผ๋งŒ ํ•˜๋‹ค๋‹ˆ!", + 3: "์—ฌ๊ธฐ๊นŒ์ง€ ์˜ค๋‹ค๋‹ˆ ๋Œ€๋‹จํ•œ ํŠธ๋ ˆ์ด๋„ˆ๊ตฐ. ๊ทธ๋Ÿฌ๋‚˜ ์—ฌ๊ธฐ๊ฐ€ ๋์ด๋‹ค." + }, + "victory": { + 1: "๊ฒŒ์น˜์Šค๋‹˜โ€ฆ ์ œ๊ฐ€ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹คโ€ฆ", + 2: "๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ  ํž˜๋“ค๊ตฌ๋จผ. ๋‚˜๋Š” ๋–จ๊ณ  ์žˆ๋‹ค. ๊ดด๋กญ์ง€๋งŒ ์‚ด์•„ ์žˆ๋‹ค. ๊ทธ๊ฒƒ์ด์•ผ๋ง๋กœ ์‚ด์•„ ์žˆ๋‹ค๋Š” ์‹ค๊ฐ!", + 3: "ํ์Œ. ์˜์™ธ๋กœ ๋˜‘๋˜‘ํ•œ ํŠธ๋ ˆ์ด๋„ˆ๊ตฐ. ํ•˜์ง€๋งŒ ์ƒ๊ฐ๋งŒํผ์€ ์•„๋‹ˆ์•ผ." + } + }, + "rood": { + "encounter": { + 1: "๋„ˆ๋Š” ํ”Œ๋ผ์Šค๋งˆ๋‹จ์— ์œ„ํ˜‘์ด ๋˜๋Š”๊ตฌ๋‚˜. ๋„ˆ๋ผ๋Š” ํŠธ๋ ˆ์ด๋„ˆ๊ฐ€ ์–ด๋–ค ์ธ๋ฌผ์ธ์ง€ ์Šน๋ถ€๋กœ ์•Œ์•„๋ด์•ผ๊ฒ ๋‹ค.", + 2: "์˜คํ˜ธ! ์‹ธ๋Š˜ํ•˜๊ตฌ๋จผโ€ฆ ์ด๋Ÿฐ ๊ณณ์—์„œ ์‹ธ์šธ ์ค„์ด์•ผ!", + 3: "๋„ˆ๋Š” ์—ฌ๊ธฐ๊นŒ์ง€ ์˜จ ๊ฒƒ์œผ๋กœ ๋ณด๋‹ˆ ๋›ฐ์–ด๋‚œ ํŠธ๋ ˆ์ด๋„ˆ๊ตฌ๋‚˜. ๊ทธ๋ ‡๋‹ค๋งŒ ์ด์   ๋์ด๋‹ค." + }, + "victory": { + 1: "๊ฒŒ์น˜์Šค๋‹˜โ€ฆ ์ž„๋ฌด๋ฅผ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹คโ€ฆ", + 2: "๋‚˜๋Š” ๋–จ๊ณ  ์žˆ๋‹ค. ๋‚˜๋Š” ๊ดด๋กญ์ง€๋งŒ ์ด๊ฒจ๋ƒˆ๋‹ค.", + 3: "์Œโ€ฆ ๋„ˆ๋Š” ์žฌ๋Šฅ์ด ์žˆ๋Š” ํŠธ๋ ˆ์ด๋„ˆ๊ตฌ๋‚˜. ํ•˜์ง€๋งŒ ์ถฉ๋ถ„ํ•˜์ง€๋Š” ์•Š๋‹ค." + } + }, + "xerosic": { + "encounter": { + 1: "์˜ค์˜ค- ๋„ค ์†Œ๋ฌธ์€ ๋งŽ์ด ๋“ค์—ˆ๋‹ค. ์ž, ์ด๋ฆฌ ์™€ ๋ณด๊ฑฐ๋ผ!", + 2: "๋„ˆ ๊ฐ•ํ•˜๊ตฌ๋‚˜. ์—๋„ˆ์ง€๋ฅผ ์–ผ๋งˆ๋‚˜ ๊ฐ–๊ณ  ์žˆ์ง€?", + 3: "๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์—ˆ์–ด! ๋„ˆ๋ฅผ ์กฐ์‚ฌํ•˜๊ฒ ๋‹ค. ์ž ์‹œ์ž‘ํ•œ๋‹ค!" + }, + "victory": { + 1: "๊ฐ•ํ•˜๊ตฌ๋‚˜, ๋„ˆ๋Š”. ์‘, ์ •๋ง ๊ฐ•ํ•ด, ๋„ˆ๋Š”.", + 2: "๋ญฃ์ด๋ผ! ๋„Œ ๊ต‰์žฅํ•˜๊ตฐ! ๋„ˆ์˜ ํฌ์ผ“๋ชฌ๋„ ๋Œ€๋‹จํ•˜๊ตฐ!", + 3: "๊ต‰์žฅํ•˜๊ตฌ๋‚˜ ๋„ˆ! ์•„์ฃผ ๊ต‰์žฅํ•ด! ๋‚˜๋Š” ๋„ˆ๋ฅผ ์ธ์ •ํ•˜๊ฒ ๋‹ค!" + } + }, + "bryony": { + "encounter": { + 1: "๋‚˜๋Š” ๋ฐ”๋ผ. ๋‹น์‹ ๊ณผ ์‹ธ์šธ ์ˆ˜ ์žˆ์–ด ๊ธฐ์˜๊ตฐ์š”. ํ•œ ๋ฒˆ ๋ณด์—ฌ์ฃผ์‹œ์ฃ .", + 2: "์ธ์ƒ์ ์ด๊ตฐ์š”โ€ฆ ๋ณด๊ธฐ๋ณด๋‹ค ๊ฐ•ํ•ด์š”. ์—๋„ˆ์ง€๊ฐ€ ์–ด๋””๊นŒ์ง€ ๋ป—์–ด๋‚˜๊ฐ€๋Š”์ง€ ๋ด…์‹œ๋‹ค.", + 3: "๋„์ฐฉํ•  ์ค„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ์‹œ์ž‘ํ• ๊นŒ์š”?" + }, + "victory": { + 1: "์–ด๋ผ? ์ด๊ธธ ํ™•๋ฅ ์€ ์–ด๋””๊นŒ์ง€๋‚˜ ํ™•๋ฅ . ์ ˆ๋Œ€์ ์ด์ง„ ์•Š๋„ค.", + 2: "ํ™•๋ฅ ์„ ๋ฌด์‹œํ•˜๋Š” ํŠธ๋ ˆ์ด๋„ˆ, ๋„ค ํŒŒ์›Œ์˜ ์›์ฒœ์€ ๋ญ์ง€?", + 3: "๋†€๋ž๊ตฐ! ์นญ์ฐฌํ•  ๋งŒ ํ•ด." + } + }, "rocket_grunt": { "encounter": { 1: "ํŠธ๋Ÿฌ๋ธ”์— ๋Œ€๋น„ํ•˜๋„๋ก!" @@ -391,18 +588,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "๋กœ์ผ“๋‹จ์€ ๋‹ค์‹œ ๋– ์˜ค๋ฅผ ๊ฑฐ๋‹ˆ๊นŒ!" }, }, - "rocket_admin": { - "encounter": { - 1: "์–ด๋ผ ์–ด๋ผโ€ฆ ๊ฒฐ๊ตญ ์—ฌ๊ธฐ๊นŒ์ง€ ์˜ค์…จ์Šต๋‹ˆ๊นŒ? ๊ฝค ์šฐ์ˆ˜ํ•œ ํŠธ๋ ˆ์ด๋„ˆ์ธ๊ฐ€ ๋ณด๊ตฐ์š”.", - 2: "์˜์›… ๋†€์ด๋Š” ์—ฌ๊ธฐ๊นŒ์ง€๋ž๋‹ˆ๋‹ค, ๊ผฌ๋งˆ์•ผ.", - 3: "์–ด๋ฅธ์ด ํ™”๋ฅผ ๋‚ด๋ฉด ๋ฌด์„ญ๋‹ค๋Š” ๊ฑธ ๋ณด์—ฌ ๋“œ๋ฆฌ์ฃ !" - }, - "victory": { - 1: "ํฌ์œผโ€ฆ ๋น„์ฃผ๊ธฐ๋‹˜ ์šฉ์„œํ•ด ์ฃผ์„ธ์š”โ€ฆ!", - 2: "์–ด๋–ป๊ฒŒ ์ด๋Ÿฐ ์ผ์ดโ€ฆ", - 3: "์•„์•„โ€ฆ ๋„Œ ๋„ˆ๋ฌด ๊ฐ•ํ•˜๋‹คโ€ฆ" - }, - }, "magma_grunt": { "encounter": { 1: " ๋งˆ๊ทธ๋งˆ๋‹จ์„ ๋ฐฉํ•ดํ•œ๋‹ค๋ฉด, ์ž๋น„๋Š” ์—†๋‹ท!" @@ -411,18 +596,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "ํ•˜? ๋‚ด๊ฐ€ ์กŒ์–ด?!" }, }, - "magma_admin": { - "encounter": { - 1: "โ€ฆโ€ฆ์•„ํ•˜โ€ฆ โ€ฆโ€ฆ์—ญ์‹œ ์™”๋„คโ€ฆ๊ทธ์น˜๋งŒ ์•ˆํƒ€๊น๊ฒŒ ๋์–ดโ€ฆโ€ฆ๋‹ค ๋๋‚ฌ๊ฑฐ๋“ ", - 2: "โ€ฆโ€ฆ๋‚จ์€โ€ฆโ€ฆ๋‚ด ์ผ์€โ€ฆโ€ฆ๋„ˆ๋ฅผโ€ฆโ€ฆ๋ง‰๋Š” ๊ฒƒ", - 3: "โ€ฆโ€ฆ๋„ˆ๋ž‘โ€ฆโ€ฆ์ธ๊ฒŒ์ด์ง€โ€ฆโ€ฆํ•˜๊ณ  ์‹ถ์–ดโ€ฆโ€ฆ์•„ํ•˜ํ•˜ํ•˜" - }, - "victory": { - 1: "โ€ฆโ€ฆ๋ฃฐ๋ฃจ๋ฆฌ", - 2: "โ€ฆโ€ฆ์žฌ๋ฐŒ์ช„", - 3: "โ€ฆํ•˜์•„ํ•˜์•„โ€ฆโ€ฆ์œผโ€ฆํ•˜์•„ํ•˜์•„โ€ฆ" - }, - }, "aqua_grunt": { "encounter": { 1: "์•„์ฟ ์•„๋‹จ์„ ๋„˜๋ณธ ์‚ฌ๋žŒ์—๊ฒŒ๋Š” ์ž๋น„๋Š” ์—†๋‹ค, ๊ผฌ๋งˆ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์•ผ!" @@ -431,18 +604,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "๋ง๋„ ์•ˆ๋ผ!" }, }, - "aqua_admin": { - "encounter": { - 1: "๊ฐ์˜คํ•˜๋Š” ๊ฒŒ ์ข‹์„ ๊ฑฐ์•ผ! ๋„ค ์–ผ๊ตด์ด ๋ˆˆ๋ฌผ๋กœ ๋ฒ”๋ฒ…์ด ๋˜๊ฒŒ ํ•ด์ฃผ๊ฒ ์–ด!", - 2: "์•„์•™? ๋ญ์•ผ? ์ด ๊ฑด๋ฐฉ์ง„ ๊ผฌ๋งน์ด๋Š”โ€ฆ", - 3: "โ€ฆ์•„๋‹ˆ ๋„Œ!? ์ผ๋ถ€๋Ÿฌ ์—ฌ๊ธฐ๊นŒ์ง€ ์ซ“์•„์˜จ ๊ฑฐ์•ผ?" - }, - "victory": { - 1: "ํ•˜์•„โ€ฆ ํ•˜์•„โ€ฆ์™„์ „ ์ง€์ณค์–ด", - 2: "ํฌ์œฝโ€ฆ!? ๋„ˆ๋ฌด ๋ด์คฌ๋‚˜โ€ฆ!", - 3: "๋ญโ€ฆ๋ญ๋ผ๊ณ !?" - }, - }, "galactic_grunt": { "encounter": { 1: "๊ฐค๋Ÿญ์‹œ๋‹จ์„ ๋ฐฉํ•ดํ•˜์ง€ ๋งˆ!" @@ -451,18 +612,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "์‚ฌ๊ฒฉ ์ค‘์ง€โ€ฆโ€ฆ " }, }, - "galactic_admin": { - "encounter": { - 1: "๋‚˜๋Š” ๊ฐค๋Ÿญ์‹œ๋‹จ์— ์žˆ๋Š” ๊ฐ„๋ถ€ ์ค‘์˜ ํ•œ ๋ช….", - 2: "๊ฐค๋Ÿญ์‹œ๋‹จ์„ ๋ฐฉํ•ดํ•œ๋‹ค๋ฉด ์ผ๋ง์˜ ๊ฐ€๋Šฅ์„ฑ๋„ ๋ชจ๋‘ ์ œ๊ฑฐํ•œ๋‹ค!!", - 3: "์™œ ๊ทธ๋ž˜? ์„ค๋งˆ ๋–จ๊ณ  ์žˆ๋Š” ๊ฑฐ์•ผ?" - }, - "victory": { - 1: "์„ค๋งˆ! ๋‚ด๊ฐ€ ์กŒ๋‹ค๊ณ !? ๊ฑด๋ฐฉ์ง„ ์•„์ด๋กœ๊ตฌ๋‚˜!!", - 2: "โ€ฆ์—ญ์‹œ ๊ฐ•ํ•ด!", - 3: "์–ด๋ฆฐ์•„์ด์—๊ฒŒ ์ง€๋‹ค๋‹ˆโ€ฆ ๋ฐฉ์‹ฌ์ด๋ž€ ๋ฌด์„ญ๊ตฌ๋‚˜." - }, - }, "plasma_grunt": { "encounter": { 1: "๋‹ค๋ฅธ ์ƒ๊ฐ์„ ๊ฐ€์ง„์‚ฌ๋žŒ๋“ค์€ ์šฉ๋‚ฉํ•˜์ง€ ์•Š๊ฒ ๋‹ค!" @@ -471,18 +620,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "ํ”Œ๋ผ-์Šค๋งˆ-!" }, }, - "plasma_sage": { - "encounter": { - 1: "๋„ˆ๋Š” ํ”Œ๋ผ์Šค๋งˆ๋‹จ์—๊ฒŒ ์žˆ์–ด ๋ถˆ์•ˆ์š”์†Œ๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค. ์—ฌ๊ธฐ์„œ ์ œ๊ฑฐํ•˜๊ฒ ๋‹ค!", - 2: "์ด๋Ÿฐ ์ด๋Ÿฐโ€ฆ ๋‚ด๊ฐ€ ์‹ธ์›Œ์•ผ๋งŒ ํ•˜๋‹ค๋‹ˆ.", - 3: "์—ฌ๊ธฐ๊นŒ์ง€ ์˜ค๋‹ค๋‹ˆ ๋Œ€๋‹จํ•œ ํŠธ๋ ˆ์ด๋„ˆ๊ตฐ." - }, - "victory": { - 1: "๊ฒŒ์น˜์Šคโ€ฆ", - 2: "๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ  ์ถฅ๊ตฌ๋จผ. ๋‚˜๋Š” ๋–จ๊ณ  ์žˆ๋‹ค. ๊ดด๋กญ์ง€๋งŒ ์‚ด์•„ ์žˆ๋‹ค.", - 3: "ํ์Œ. ์˜์™ธ๋กœ ๋˜‘๋˜‘ํ•œ ํŠธ๋ ˆ์ด๋„ˆ๊ตฐ." - }, - }, "flare_grunt": { "encounter": { 1: "ํŒจ์…˜์ด ์šฐ๋ฆฌํ•œํ… ๊ฐ€์žฅ ์ค‘์š”ํ•˜๋‹ค๊ณ !" @@ -491,18 +628,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "๋ฏธ๋ž˜๊ฐ€ ๋ฐ์•„ ๋ณด์ด์งˆ ์•Š๋„ค." }, }, - "flare_admin": { - "encounter": { - 1: "์™”๋‹ค! ์™”๊ตฌ๋‚˜! ์ž! ์ž! ์•„์ง ๋๋‚˜์ง€ ์•Š์•˜๋‹ค!", - 2: "๋„ˆ ๊ฐ•ํ•˜๊ตฌ๋‚˜. ์—๋„ˆ์ง€๋ฅผ ์–ผ๋งˆ๋‚˜ ๊ฐ–๊ณ  ์žˆ์ง€?", - 3: "๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์—ˆ์–ด! ๋„ˆ๋ฅผ ์กฐ์‚ฌํ•˜๊ฒ ๋‹ค. ์ž ์‹œ์ž‘ํ•œ๋‹ค!" - }, - "victory": { - 1: "๊ฐ•ํ•˜๊ตฌ๋‚˜, ๋„ˆ๋Š”. ์‘, ์ •๋ง ๊ฐ•ํ•ด, ๋„ˆ๋Š”.", - 2: "๊ทธ๋ ‡์ง€๋งŒ ๋ณด์Šค์˜ ๊ฟˆ์ด ์ด๋ฃจ์–ด์ ธ ์•„๋ฆ„๋‹ค์šด ์„ธ์ƒ์ด ํƒœ์–ด๋‚  ๊ฒƒ์ด๋‹ค!", - 3: "๊ต‰์žฅํ•˜๊ตฌ๋‚˜ ๋„ˆ! ์•„์ฃผ ๊ต‰์žฅํ•ด! ๋‚˜๋Š” ๋„ˆ๋ฅผ ์ธ์ •ํ•˜๊ฒ ๋‹ค" - }, - }, "rocket_boss_giovanni_1": { "encounter": { 1: "๊ทธ๋ž˜์„œ! ์—ฌ๊ธฐ๊นŒ์ง€ ์˜ค๋‹ค๋‹ˆ, ๊ฐํƒ„์ด ์ ˆ๋กœ ๋‚˜์˜ค๋Š”๊ตฐ!" diff --git a/src/locales/ko/trainers.ts b/src/locales/ko/trainers.ts index 1671dd7a45b..b34530eb24c 100644 --- a/src/locales/ko/trainers.ts +++ b/src/locales/ko/trainers.ts @@ -19,6 +19,19 @@ export const titles: SimpleTranslationEntries = { "galactic_boss": "๊ฐค๋Ÿญ์‹œ๋‹จ ๋ณด์Šค", "plasma_boss": "ํ”Œ๋ผ์Šค๋งˆ๋‹จ ๋ณด์Šค", "flare_boss": "ํ”Œ๋ ˆ์–ด๋‹จ ๋ณด์Šค", + + "rocket_admin": "๋กœ์ผ“๋‹จ ๊ฐ„๋ถ€", + "rocket_admin_female": "๋กœ์ผ“๋‹จ ๊ฐ„๋ถ€", + "magma_admin": "๋งˆ๊ทธ๋งˆ๋‹จ ๊ฐ„๋ถ€", + "magma_admin_female": "๋งˆ๊ทธ๋งˆ๋‹จ ๊ฐ„๋ถ€", + "aqua_admin": "์•„์ฟ ์•„๋‹จ ๊ฐ„๋ถ€", + "aqua_admin_female": "์•„์ฟ ์•„๋‹จ ๊ฐ„๋ถ€", + "galactic_commander": "๊ฐค๋Ÿญ์‹œ๋‹จ ๊ฐ„๋ถ€", + "galactic_commander_female": "๊ฐค๋Ÿญ์‹œ๋‹จ ๊ฐ„๋ถ€", + "plasma_sage": "ํ”Œ๋ผ์Šค๋งˆ๋‹จ ํ˜„์ธ", + "plasma_admin": "ํ”Œ๋ผ์Šค๋งˆ๋‹จ ๊ฐ„๋ถ€", + "flare_admin": "ํ”Œ๋ ˆ์–ด๋‹จ ๊ฐ„๋ถ€", + "flare_admin_female": "ํ”Œ๋ ˆ์–ด๋‹จ ๊ฐ„๋ถ€", // Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc. } as const; @@ -128,32 +141,22 @@ export const trainerClasses: SimpleTranslationEntries = { "rocket_grunt": "๋กœ์ผ“๋‹จ ์กฐ๋ฌด๋ž˜๊ธฐ", "rocket_grunt_female": "๋กœ์ผ“๋‹จ ์กฐ๋ฌด๋ž˜๊ธฐ", "rocket_grunts": "๋กœ์ผ“๋‹จ ์กฐ๋ฌด๋ž˜๊ธฐ๋“ค", - "rocket_admin": "๋กœ์ผ“๋‹จ ๊ฐ„๋ถ€", - "rocket_admin_female": "๋กœ์ผ“๋‹จ ๊ฐ„๋ถ€", "magma_grunt": "๋งˆ๊ทธ๋งˆ๋‹จ ์กฐ๋ฌด๋ž˜๊ธฐ", "magma_grunt_female": "๋งˆ๊ทธ๋งˆ๋‹จ ์กฐ๋ฌด๋ž˜๊ธฐ", "magma_grunts": "๋งˆ๊ทธ๋งˆ๋‹จ ์กฐ๋ฌด๋ž˜๊ธฐ๋“ค", - "magma_admin": "๋งˆ๊ทธ๋งˆ๋‹จ ๊ฐ„๋ถ€", - "magma_admin_female": "๋งˆ๊ทธ๋งˆ๋‹จ ๊ฐ„๋ถ€", "aqua_grunt": "์•„์ฟ ์•„๋‹จ ์กฐ๋ฌด๋ž˜๊ธฐ", "aqua_grunt_female": "์•„์ฟ ์•„๋‹จ ์กฐ๋ฌด๋ž˜๊ธฐ", "aqua_grunts": "์•„์ฟ ์•„๋‹จ ์กฐ๋ฌด๋ž˜๊ธฐ๋“ค", - "aqua_admin": "์•„์ฟ ์•„๋‹จ ๊ฐ„๋ถ€", - "aqua_admin_female": "์•„์ฟ ์•„๋‹จ ๊ฐ„๋ถ€", "galactic_grunt": "๊ฐค๋Ÿญ์‹œ๋‹จ ์กฐ๋ฌด๋ž˜๊ธฐ", "galactic_grunt_female": "๊ฐค๋Ÿญ์‹œ๋‹จ ์กฐ๋ฌด๋ž˜๊ธฐ", "galactic_grunts": "๊ฐค๋Ÿญ์‹œ๋‹จ ์กฐ๋ฌด๋ž˜๊ธฐ๋“ค", - "galactic_admin": "๊ฐค๋Ÿญ์‹œ๋‹จ ๊ฐ„๋ถ€", - "galactic_admin_female": "๊ฐค๋Ÿญ์‹œ๋‹จ ๊ฐ„๋ถ€", "plasma_grunt": "ํ”Œ๋ผ์Šค๋งˆ๋‹จ ์กฐ๋ฌด๋ž˜๊ธฐ", "plasma_grunt_female": "ํ”Œ๋ผ์Šค๋งˆ๋‹จ ์กฐ๋ฌด๋ž˜๊ธฐ", "plasma_grunts": "ํ”Œ๋ผ์Šค๋งˆ๋‹จ ์กฐ๋ฌด๋ž˜๊ธฐ๋“ค", - "plasma_sage": "ํ”Œ๋ผ์Šค๋งˆ๋‹จ ํ˜„์ธ", "flare_grunt": "ํ”Œ๋ ˆ์–ด๋‹จ ์กฐ๋ฌด๋ž˜๊ธฐ", "flare_grunt_female": "ํ”Œ๋ ˆ์–ด๋‹จ ์กฐ๋ฌด๋ž˜๊ธฐ", "flare_grunts": "ํ”Œ๋ ˆ์–ด๋‹จ ์กฐ๋ฌด๋ž˜๊ธฐ๋“ค", - "flare_admin": "ํ”Œ๋ ˆ์–ด๋‹จ ๊ฐ„๋ถ€", - "flare_admin_female": "ํ”Œ๋ ˆ์–ด๋‹จ ๊ฐ„๋ถ€", + } as const; // Names of special trainers like gym leaders, elite four, and the champion @@ -282,6 +285,25 @@ export const trainerNames: SimpleTranslationEntries = { "leon": "๋‹จ๋ธ", "rival": "ํ•€", "rival_female": "์•„์ด๋น„", + + // Evil Team Admins + "archer": "์•„ํด๋กœ", + "ariana": "์•„ํ…Œ๋‚˜", + "proton": "๋žœ์Šค", + "petrel": "๋žŒ๋‹ค", + "tabitha": "ํ˜ธ๊ฑธ", + "courtney": "๊ตฌ์—ด", + "shelly": "์ด์—ฐ", + "matt": "ํ•ด์กฐ", + "mars": "๋งˆ์Šค", + "jupiter": "์ฃผํ”ผํ„ฐ", + "saturn": "์ƒˆํ„ด", + "zinzolin": "๋น„์˜ค", + "rood": "๋กœํŠธ", + "xerosic": "ํฌ์„ธ๋กœ์‹œํ‚ค", + "bryony": "๋ฐ”๋ผ", + + "maxie": "๋งˆ์ ", "archie": "์•„๊ฐ•", "cyrus": "ํƒœํ™", diff --git a/src/locales/pt_BR/dialogue.ts b/src/locales/pt_BR/dialogue.ts index 3325cf81cf9..cbd781009e5 100644 --- a/src/locales/pt_BR/dialogue.ts +++ b/src/locales/pt_BR/dialogue.ts @@ -383,6 +383,203 @@ export const PGMdialogue: DialogueTranslationEntries = { 3: "Estou achando que quem tรก enjoado sou eu..." }, }, + "archer": { + "encounter": { + 1: "Before you go any further, let's see how you far against us, Team Rocket!", + 2: "I have received reports that your skills are not insignificant. Let's see if they are true.", + 3: "I am Archer, an Admin of Team Rocket. And I do not go easy on enemies of our organization." + }, + "victory": { + 1: "What a blunder!", + 2: "With my current skills, I was not up to the task after all.", + 3: "F-forgive me, Giovanni... For me to be defeated by a mere trainer..." + }, + }, + "ariana": { + "encounter": { + 1: `Hold it right there! We can't someone on the loose." + $It's harmful to Team Rocket's pride, you see.`, + 2: `I don't know or care if what I'm doing is right or wrong... + $I just put my faith in Giovanni and do as I am told`, + 3: "Your trip ends here. I'm going to take you down!" + }, + "victory": { + 1: `Tch, you really are strong. It's too bad. + $If you were to join Team Rocket, you could become an Executive.`, + 2: "I... I'm shattered...", + 3: "Aaaieeeee! This can't be happening! I fought hard, but I still lostโ€ฆ" + }, + }, + "proton": { + "encounter": { + 1: "What do you want? If you interrupt our work, don't expect any mercy!", + 2: `What do we have here? I am often labeled as the scariest and cruelest guy in Team Rocketโ€ฆ + $I strongly urge you not to interfere with our business!`, + 3: "I am Proton, an Admin of Team Rocket. I am here to put an end to your meddling!" + }, + "victory": { + 1: "The fortress came down!", + 2: "You may have won this timeโ€ฆ But all you did was make Team Rocket's wrath growโ€ฆ", + 3: "I am defeatedโ€ฆ But I will not forget this!" + }, + }, + + "petrel": { + "encounter": { + 1: `Muhahaha, we've been waiting for you. Me? You don't know who I am? It is me, Giovanni. + $The majestic Giovanni himself! Wahahaha! โ€ฆHuh? I don't sound anything like Giovanni? + $I don't even look like Giovanni? How come? I've worked so hard to mimic him!`, + 2: "I am Petrel, an Admin of Team Rocket. I will not allow you to interfere with our plans!", + 3: "Rocket Executive Petrel will deal with this intruder!" + }, + "victory": { + 1: "OK, OK. I'll tell you where he is.", + 2: "Iโ€ฆ I couldn't do a thingโ€ฆ Giovanni, please forgive meโ€ฆ", + 3: "No, I can't let this affect me. I have to inform the othersโ€ฆ" + }, + }, + "tabitha": { + "encounter": { + 1: "Hehehe! So you've come all the way here! But you're too late!", + 2: `Hehehe... Got here already, did you? We underestimated you! But this is it! + $I'm a cut above the Grunts you've seen so far. I'm not stalling for time. + $I'm going to pulverize you!`, + 3: "I'm going to give you a little taste of pain! Resign yourself to it!" + }, + "victory": { + 1: `Hehehe! You might have beaten me, but you don't stand a chance against the Boss! + $If you get lost now, you won't have to face a sound whipping!`, + 2: "Hehehe... So, I lost, too...", + 3: "Ahya! How could this be? For an Admin like me to lose to some random trainer..." + }, + }, + "courtney": { + "encounter": { + 1: "The thing...The thing that you hold...That is what... That's what we of Team Magma seek...", + 2: "... Well then...Deleting...", + 3: "...Ha. ...Analyzing... ...Hahโ™ช" + }, + "victory": { + 1: "... ...Change...the world.", + 2: `As anticipated. Unanticipated. You. Target lock...completed. + $Commencing...experiment. You. Forever. Aha... โ™ช`, + 3: "...Again? That's unanticipated. ...I knew it. You...are interesting! ...Haha. โ™ช" + }, + }, + "shelly": { + "encounter": { + 1: `Ahahahaha! You're going to meddle in Team Aqua's affairs? + $You're either absolutely fearless, simply ignorant, or both! + $You're so cute, you're disgusting! I'll put you down`, + 2: "What's this? Who's this spoiled brat?", + 3: "Cool your jets. Be patient. I'll crush you shortly." + }, + "victory": { + 1: `Ahahahaha! We got meddled with unexpectedly! We're out of options. + $We'll have to pull out. But this isn't the last you'll see of Team Aqua! + $We have other plans! Don't you forget it!`, + 2: "Ahhh?! Did I go too easy on you?!", + 3: `Uh. Are you telling me you've upped your game even more during the fight? + $You're a brat with a bright futureโ€ฆ My Pokรฉmon and I don't have any strength left to fightโ€ฆ + $Go onโ€ฆ Go and be destroyed by Archie.` + }, + }, + "matt": { + "encounter": { + 1: "Hoohahaha! What, you got a screw loose or something? Look at you, little Makuhita person!", + 2: "Oho! You! You're that funny kid!", + 3: "What are you doing here? Did you follow us?" + }, + "victory": { + 1: "All right then, until the Boss has time for you, I'll be your opponent!", + 2: `I can feel it! I can feel it, all right! The strength coming offa you! + $More! I still want more! But looks like we're outta time...`, + 3: "That was fun! I knew you'd show me a good time! I look forward to facing you again someday!" + }, + }, + "mars": { + "encounter": { + 1: "I'm Mars, one of Team Galactic's top Commanders.", + 2: "Team Galactic's vision for the future is unwavering. Opposition will be crushed without mercy!", + 3: "Feeling nervous? You should be!" + }, + "victory": { + 1: "This can't be happening! How did I lose?!", + 2: "You have some skill, I'll give you that.", + 3: "Defeated... This was a costly mistake." + } + }, + "jupiter": { + "encounter": { + 1: "Jupiter, Commander of Team Galactic, at your service.", + 2: "Resistance is futile. Team Galactic will prevail!", + 3: "You're trembling... scared already?" + }, + "victory": { + 1: "No way... I lost?!", + 2: "Impressive, you've got guts!", + 3: "Losing like this... How embarrassing." + } + }, + "saturn": { + "encounter": { + 1: "I am Saturn, Commander of Team Galactic.", + 2: "Our mission is absolute. Any hindrance will be obliterated!", + 3: "Is that fear I see in your eyes?" + }, + "victory": { + 1: "Impossible... Defeated by you?!", + 2: "You have proven yourself a worthy adversary.", + 3: "Bestowed in defeat... This is unacceptable." + }}, + "zinzolin": { + "encounter": { + 1: "You could become a threat to Team Plasma, so we will eliminate you here and now!", + 2: "Oh, for crying out loud... I didn't expect to have to battle in this freezing cold!", + 3: "You're an impressive Trainer to have made it this far. But it ends here." + }, + "victory": { + 1: "Ghetsis... I have failed you...", + 2: "It's bitter cold. I'm shivering. I'm suffering. Yet, I still stand victorious.", + 3: "Hmph. You're a smarter Trainer than I expected, but not smart enough." + } + }, + "rood": { + "encounter": { + 1: "You are a threat to Team Plasma. We cannot let you walk away from here and now!", + 2: "Oh, this icy wind... I never thought I'd have to fight here!", + 3: "You are a remarkable Trainer to have made it this far. But this is where it ends." + }, + "victory": { + 1: "Ghetsis... I have failed my mission...", + 2: "The cold is piercing. I'm shivering. I'm suffering. Yet, I have triumphed.", + 3: "Hm. You are a talented Trainer, but unfortunately not talented enough." + } + }, + "xerosic": { + "encounter": { + 1: "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!", + 2: "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.", + 3: "I've been waiting for you! I need to do a little research on you! Come, let us begin!" + }, + "victory": { + 1: "Ah, you're quite strong. Oh yesโ€”very strong, indeed.", + 2: "Ding-ding-ding! You did it! To the victor go the spoils!", + 3: "Wonderful! Amazing! You have tremendous skill and bravery!" + } + }, + "bryony": { + "encounter": { + 1: "I am Bryony, and it would be my pleasure to battle you. Show me what you've got.", + 2: "Impressive... You're more powerful than you appear. Let's see the true extent of your energy.", + 3: "I've anticipated your arrival. It's time for a little test. Shall we begin?" + }, + "victory": { + 1: "You're quite strong. Oh yesโ€”very strong, indeed.", + 2: "Ding-ding-ding! You've done well. Victory is yours.", + 3: "Wonderful! Remarkable! Your skill and bravery are commendable." + } + }, "rocket_grunt": { "encounter": { 1: "Se prepara pra encrenca!" diff --git a/src/locales/pt_BR/trainers.ts b/src/locales/pt_BR/trainers.ts index 32cc46300d5..e920d07a22a 100644 --- a/src/locales/pt_BR/trainers.ts +++ b/src/locales/pt_BR/trainers.ts @@ -19,6 +19,19 @@ export const titles: SimpleTranslationEntries = { "galactic_boss": "Chefe da Equipe Galรกctica", "plasma_boss": "Chefe da Equipe Plasma", "flare_boss": "Chefe da Equipe Flare", + + "rocket_admin": "Team Rocket Admin", + "rocket_admin_female": "Team Rocket Admin", + "magma_admin": "Team Magma Admin", + "magma_admin_female": "Team Magma Admin", + "aqua_admin": "Team Aqua Admin", + "aqua_admin_female": "Team Aqua Admin", + "galactic_commander": "Team Galactic Commander", + "galactic_commander_female": "Team Galactic Commander", + "plasma_sage": "Team Plasma Sage", + "plasma_admin": "Team Plasma Admin", + "flare_admin": "Team Flare Admin", + "flare_admin_female": "Team Flare Admin", // Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc. } as const; @@ -128,32 +141,21 @@ export const trainerClasses: SimpleTranslationEntries = { "rocket_grunt": "Recruta da Equipe Rocket", "rocket_grunt_female": "Recruta da Equipe Rocket", "rocket_grunts": "Recrutas da Equipe Rocket", - "rocket_admin": "Rocket Admin", - "rocket_admin_female": "Rocket Admin", "magma_grunt": "Recruta da Equipe Magma", "magma_grunt_female": "Recruta da Equipe Magma", "magma_grunts": "Recrutas da Equipe Magma", - "magma_admin": "Magma Admin", - "magma_admin_female": "Magma Admin", "aqua_grunt": "Recruta da Equipe Aqua", "aqua_grunt_female": "Recruta da Equipe Aqua", "aqua_grunts": "Recrutas da Equipe Aqua", - "aqua_admin": "Aqua Admin", - "aqua_admin_female": "Aqua Admin", "galactic_grunt": "Recruta da Equipe Galรกctica", "galactic_grunt_female": "Recruta da Equipe Galรกctica", "galactic_grunts": "Recrutas da Equipe Galรกctica", - "galactic_admin": "Galactic Admin", - "galactic_admin_female": "Galactic Admin", "plasma_grunt": "Recruta da Equipe Plasma", "plasma_grunt_female": "Recruta da Equipe Plasma", "plasma_grunts": "Recrutas da Equipe Plasma", - "plasma_sage": "Plasma Sage", "flare_grunt": "Recruta da Equipe Flare", "flare_grunt_female": "Recruta da Equipe Flare", "flare_grunts": "Recrutas da Equipe Flare", - "flare_admin": "Flare Admin", - "flare_admin_female": "Flare Admin", } as const; // Names of special trainers like gym leaders, elite four, and the champion @@ -282,6 +284,24 @@ export const trainerNames: SimpleTranslationEntries = { "leon": "Leon", "rival": "Finn", "rival_female": "Ivy", + + // Evil Team Admins + "archer": "Archer", + "ariana": "Ariana", + "proton": "Proton", + "petrel": "Petrel", + "tabitha": "Tabitha", + "courtney": "Courtney", + "shelly": "Shelly", + "matt": "Matt", + "mars": "Mars", + "jupiter": "Jupiter", + "saturn": "Saturn", + "zinzolin": "Zinzolin", + "rood": "Rood", + "xerosic": "Xerosic", + "bryony": "Bryony", + "maxie": "Maxie", "archie": "Archie", "cyrus": "Cyrus", diff --git a/src/locales/zh_CN/dialogue.ts b/src/locales/zh_CN/dialogue.ts index 50d6c5f4333..597b26dd639 100644 --- a/src/locales/zh_CN/dialogue.ts +++ b/src/locales/zh_CN/dialogue.ts @@ -382,6 +382,203 @@ export const PGMdialogue: DialogueTranslationEntries = { 3: "ๅฅฝๅƒๆ˜ฏๆˆ‘ๆ™•่ˆนไบ†โ€ฆ" }, }, + "archer": { + "encounter": { + 1: "Before you go any further, let's see how you far against us, Team Rocket!", + 2: "I have received reports that your skills are not insignificant. Let's see if they are true.", + 3: "I am Archer, an Admin of Team Rocket. And I do not go easy on enemies of our organization." + }, + "victory": { + 1: "What a blunder!", + 2: "With my current skills, I was not up to the task after all.", + 3: "F-forgive me, Giovanni... For me to be defeated by a mere trainer..." + }, + }, + "ariana": { + "encounter": { + 1: `Hold it right there! We can't someone on the loose." + $It's harmful to Team Rocket's pride, you see.`, + 2: `I don't know or care if what I'm doing is right or wrong... + $I just put my faith in Giovanni and do as I am told`, + 3: "Your trip ends here. I'm going to take you down!" + }, + "victory": { + 1: `Tch, you really are strong. It's too bad. + $If you were to join Team Rocket, you could become an Executive.`, + 2: "I... I'm shattered...", + 3: "Aaaieeeee! This can't be happening! I fought hard, but I still lostโ€ฆ" + }, + }, + "proton": { + "encounter": { + 1: "What do you want? If you interrupt our work, don't expect any mercy!", + 2: `What do we have here? I am often labeled as the scariest and cruelest guy in Team Rocketโ€ฆ + $I strongly urge you not to interfere with our business!`, + 3: "I am Proton, an Admin of Team Rocket. I am here to put an end to your meddling!" + }, + "victory": { + 1: "The fortress came down!", + 2: "You may have won this timeโ€ฆ But all you did was make Team Rocket's wrath growโ€ฆ", + 3: "I am defeatedโ€ฆ But I will not forget this!" + }, + }, + + "petrel": { + "encounter": { + 1: `Muhahaha, we've been waiting for you. Me? You don't know who I am? It is me, Giovanni. + $The majestic Giovanni himself! Wahahaha! โ€ฆHuh? I don't sound anything like Giovanni? + $I don't even look like Giovanni? How come? I've worked so hard to mimic him!`, + 2: "I am Petrel, an Admin of Team Rocket. I will not allow you to interfere with our plans!", + 3: "Rocket Executive Petrel will deal with this intruder!" + }, + "victory": { + 1: "OK, OK. I'll tell you where he is.", + 2: "Iโ€ฆ I couldn't do a thingโ€ฆ Giovanni, please forgive meโ€ฆ", + 3: "No, I can't let this affect me. I have to inform the othersโ€ฆ" + }, + }, + "tabitha": { + "encounter": { + 1: "Hehehe! So you've come all the way here! But you're too late!", + 2: `Hehehe... Got here already, did you? We underestimated you! But this is it! + $I'm a cut above the Grunts you've seen so far. I'm not stalling for time. + $I'm going to pulverize you!`, + 3: "I'm going to give you a little taste of pain! Resign yourself to it!" + }, + "victory": { + 1: `Hehehe! You might have beaten me, but you don't stand a chance against the Boss! + $If you get lost now, you won't have to face a sound whipping!`, + 2: "Hehehe... So, I lost, too...", + 3: "Ahya! How could this be? For an Admin like me to lose to some random trainer..." + }, + }, + "courtney": { + "encounter": { + 1: "The thing...The thing that you hold...That is what... That's what we of Team Magma seek...", + 2: "... Well then...Deleting...", + 3: "...Ha. ...Analyzing... ...Hahโ™ช" + }, + "victory": { + 1: "... ...Change...the world.", + 2: `As anticipated. Unanticipated. You. Target lock...completed. + $Commencing...experiment. You. Forever. Aha... โ™ช`, + 3: "...Again? That's unanticipated. ...I knew it. You...are interesting! ...Haha. โ™ช" + }, + }, + "shelly": { + "encounter": { + 1: `Ahahahaha! You're going to meddle in Team Aqua's affairs? + $You're either absolutely fearless, simply ignorant, or both! + $You're so cute, you're disgusting! I'll put you down`, + 2: "What's this? Who's this spoiled brat?", + 3: "Cool your jets. Be patient. I'll crush you shortly." + }, + "victory": { + 1: `Ahahahaha! We got meddled with unexpectedly! We're out of options. + $We'll have to pull out. But this isn't the last you'll see of Team Aqua! + $We have other plans! Don't you forget it!`, + 2: "Ahhh?! Did I go too easy on you?!", + 3: `Uh. Are you telling me you've upped your game even more during the fight? + $You're a brat with a bright futureโ€ฆ My Pokรฉmon and I don't have any strength left to fightโ€ฆ + $Go onโ€ฆ Go and be destroyed by Archie.` + }, + }, + "matt": { + "encounter": { + 1: "Hoohahaha! What, you got a screw loose or something? Look at you, little Makuhita person!", + 2: "Oho! You! You're that funny kid!", + 3: "What are you doing here? Did you follow us?" + }, + "victory": { + 1: "All right then, until the Boss has time for you, I'll be your opponent!", + 2: `I can feel it! I can feel it, all right! The strength coming offa you! + $More! I still want more! But looks like we're outta time...`, + 3: "That was fun! I knew you'd show me a good time! I look forward to facing you again someday!" + }, + }, + "mars": { + "encounter": { + 1: "I'm Mars, one of Team Galactic's top Commanders.", + 2: "Team Galactic's vision for the future is unwavering. Opposition will be crushed without mercy!", + 3: "Feeling nervous? You should be!" + }, + "victory": { + 1: "This can't be happening! How did I lose?!", + 2: "You have some skill, I'll give you that.", + 3: "Defeated... This was a costly mistake." + } + }, + "jupiter": { + "encounter": { + 1: "Jupiter, Commander of Team Galactic, at your service.", + 2: "Resistance is futile. Team Galactic will prevail!", + 3: "You're trembling... scared already?" + }, + "victory": { + 1: "No way... I lost?!", + 2: "Impressive, you've got guts!", + 3: "Losing like this... How embarrassing." + } + }, + "saturn": { + "encounter": { + 1: "I am Saturn, Commander of Team Galactic.", + 2: "Our mission is absolute. Any hindrance will be obliterated!", + 3: "Is that fear I see in your eyes?" + }, + "victory": { + 1: "Impossible... Defeated by you?!", + 2: "You have proven yourself a worthy adversary.", + 3: "Bestowed in defeat... This is unacceptable." + }}, + "zinzolin": { + "encounter": { + 1: "You could become a threat to Team Plasma, so we will eliminate you here and now!", + 2: "Oh, for crying out loud... I didn't expect to have to battle in this freezing cold!", + 3: "You're an impressive Trainer to have made it this far. But it ends here." + }, + "victory": { + 1: "Ghetsis... I have failed you...", + 2: "It's bitter cold. I'm shivering. I'm suffering. Yet, I still stand victorious.", + 3: "Hmph. You're a smarter Trainer than I expected, but not smart enough." + } + }, + "rood": { + "encounter": { + 1: "You are a threat to Team Plasma. We cannot let you walk away from here and now!", + 2: "Oh, this icy wind... I never thought I'd have to fight here!", + 3: "You are a remarkable Trainer to have made it this far. But this is where it ends." + }, + "victory": { + 1: "Ghetsis... I have failed my mission...", + 2: "The cold is piercing. I'm shivering. I'm suffering. Yet, I have triumphed.", + 3: "Hm. You are a talented Trainer, but unfortunately not talented enough." + } + }, + "xerosic": { + "encounter": { + 1: "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!", + 2: "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.", + 3: "I've been waiting for you! I need to do a little research on you! Come, let us begin!" + }, + "victory": { + 1: "Ah, you're quite strong. Oh yesโ€”very strong, indeed.", + 2: "Ding-ding-ding! You did it! To the victor go the spoils!", + 3: "Wonderful! Amazing! You have tremendous skill and bravery!" + } + }, + "bryony": { + "encounter": { + 1: "I am Bryony, and it would be my pleasure to battle you. Show me what you've got.", + 2: "Impressive... You're more powerful than you appear. Let's see the true extent of your energy.", + 3: "I've anticipated your arrival. It's time for a little test. Shall we begin?" + }, + "victory": { + 1: "You're quite strong. Oh yesโ€”very strong, indeed.", + 2: "Ding-ding-ding! You've done well. Victory is yours.", + 3: "Wonderful! Remarkable! Your skill and bravery are commendable." + } + }, "rocket_grunt": { "encounter": { 1: "ไฝ ่ฆๆœ‰้บป็ƒฆไบ†๏ผ" @@ -390,18 +587,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "ๅฅฝ่ฎจๅŽŒ็š„ๆ„Ÿ่ง‰ๅ•Š๏ผ" }, }, - "rocket_admin": { - "encounter": { - 1: "Oh? You managed to get this far? You must be quite the trainer.", - 2: "That's quite enough of you playing hero, kid.", - 3: "I'll show you how scary an angry adult can be!" - }, - "victory": { - 1: "No! Forgive me Giovanni!", - 2: "How could this be?", - 3: "Urgh... You were too strong..." - }, - }, "magma_grunt": { "encounter": { 1: "ๅฆ‚ๆžœไฝ ๆŒกๅœจ็†”ๅฒฉ้˜Ÿ่ทฏไธŠ๏ผŒ้‚ฃๅฐฑๅˆซๆŒ‡ๆœ›ๆˆ‘ไปฌๆ‰‹ไธ‹็•™ๆƒ…๏ผ" @@ -410,18 +595,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "ๅ“ˆ๏ผŸๆˆ‘่พ“ไบ†๏ผŸ๏ผ" }, }, - "magma_admin": { - "encounter": { - 1: "Hehehe! So you've come all the way here! But you're too late!", - 2: "You're going to meddle in Team Magma's affairs? You're so cute you're disgusting! I'll put you down kiddy!", - 3: "I'm going to give you a little taste of pain! Resign yourself to it!" - }, - "victory": { - 1: "Hehehe... So I lost...", - 2: "You're disgustingly strong!", - 3: "Ahahaha! Ouch!" - }, - }, "aqua_grunt": { "encounter": { 1: "ๅณไฝฟๆ˜ฏๅฐๅญฉ๏ผŒๅฆ‚ๆžœ่ฆๅ’Œๆตทๆด‹้˜Ÿไฝœๅฏน๏ผŒไนŸๅˆซๆŒ‡ๆœ›ๆˆ‘ไปฌๆ‰‹ไธ‹็•™ๆƒ…๏ผ" @@ -430,18 +603,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "ไฝ ๅœจๅผ€็Žฉ็ฌ‘ๅง๏ผŸ" }, }, - "aqua_admin": { - "encounter": { - 1: "I'm a cut above the grunts you've seen so far. I'm going to puvlerize you!", - 2: "Hahn? What's this? Who's this spoiled brat?", - 3: "What are you doing here? Did you follow us?" - }, - "victory": { - 1: "So I lost too...", - 2: "Ahhh?! Did I go too easy on you?!", - 3: "Wh-what was that?" - }, - }, "galactic_grunt": { "encounter": { 1: "ๅˆซๆƒน้“ถๆฒณ้˜Ÿ๏ผ" @@ -450,18 +611,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "ๅœๆœบไบ†โ€ฆ" }, }, - "galactic_admin": { - "encounter": { - 1: "I'm one of Team Galactic's Commanders.", - 2: "Anything that opposes Team Galactic must be crushed! Even the very thought of opposition will not be tolerated!", - 3: "What's the matter? Don't tell me you're shaking?" - }, - "victory": { - 1: "This can't be?! I lost?! You... you uppity brat!", - 2: "You, my friend, are tough!", - 3: "Losing to some child... Being careless cost me too much." - }, - }, "plasma_grunt": { "encounter": { 1: "ๅผ‚็ซฏไธๅ…ฑๆˆดๅคฉ๏ผ" @@ -470,18 +619,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "็ญ‰็ฆปๅญๅญๅญๅญๅญๅญ๏ผ" }, }, - "plasma_sage": { - "encounter": { - 1: "You could become a threat to Team Plasma, so we will eliminate you here!", - 2: "Oh, for crying out loud... I didn't expect to have to fight!", - 3: "You're an impressive Trainer to have made it this far." - }, - "victory": { - 1: "Ghetsis...", - 2: "It's bitter cold. I'm shivering. I'm suffering.", - 3: "Hmph. You're a smarter Trainer than I expected." - }, - }, "flare_grunt": { "encounter": { 1: "ๆ—ถๅฐšๆœ€้‡่ฆ๏ผ" @@ -490,18 +627,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "ๆœชๆฅไธ€็‰‡้ป‘ๆš—ๅ•Šโ€ฆ" }, }, - "flare_admin": { - "encounter": { - 1: "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!", - 2: "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.", - 3: "I've been waiting for you! I need to do a little research on you! Come, let us begin!" - }, - "victory": { - 1: "You're quite strong. Oh yes-very strong, indeed.", - 2: "Ding-ding-ding! Yup, you did it! To the victor goes the spoils!", - 3: "Wonderful! Amazing! You have tremendous skill and bravery!" - }, - }, "rocket_boss_giovanni_1": { "encounter": { 1: "ๆˆ‘ไธๅพ—ไธ่ฏด๏ผŒ่ƒฝๆฅๅˆฐ่ฟ™้‡Œ๏ผŒไฝ ็š„็กฎๅพˆไธ็ฎ€ๅ•๏ผ" diff --git a/src/locales/zh_CN/trainers.ts b/src/locales/zh_CN/trainers.ts index 1d32fdf6e02..eb27d2c0c0a 100644 --- a/src/locales/zh_CN/trainers.ts +++ b/src/locales/zh_CN/trainers.ts @@ -19,6 +19,19 @@ export const titles: SimpleTranslationEntries = { "galactic_boss": "้“ถๆฒณ้˜Ÿ่€ๅคง", "plasma_boss": "็ญ‰็ฆปๅญ้˜Ÿ่€ๅคง", "flare_boss": "้—ช็„ฐ้˜Ÿ่€ๅคง", + + "rocket_admin": "Team Rocket Admin", + "rocket_admin_female": "Team Rocket Admin", + "magma_admin": "Team Magma Admin", + "magma_admin_female": "Team Magma Admin", + "aqua_admin": "Team Aqua Admin", + "aqua_admin_female": "Team Aqua Admin", + "galactic_commander": "Team Galactic Commander", + "galactic_commander_female": "Team Galactic Commander", + "plasma_sage": "Team Plasma Sage", + "plasma_admin": "Team Plasma Admin", + "flare_admin": "Team Flare Admin", + "flare_admin_female": "Team Flare Admin", // Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc. } as const; @@ -128,32 +141,21 @@ export const trainerClasses: SimpleTranslationEntries = { "rocket_grunt": "็ซ็ฎญ้˜Ÿๆ‰‹ไธ‹", "rocket_grunt_female": "็ซ็ฎญ้˜Ÿๆ‰‹ไธ‹", "rocket_grunts": "็ซ็ฎญ้˜Ÿๆ‰‹ไธ‹ไปฌ", - "rocket_admin": "Rocket Admin", - "rocket_admin_female": "Rocket Admin", "magma_grunt": "็†”ๅฒฉ้˜Ÿๆ‰‹ไธ‹", "magma_grunt_female": "็†”ๅฒฉ้˜Ÿๆ‰‹ไธ‹", "magma_grunts": "็†”ๅฒฉ้˜Ÿๆ‰‹ไธ‹ไปฌ", - "magma_admin": "Magma Admin", - "magma_admin_female": "Magma Admin", "aqua_grunt": "ๆตทๆด‹้˜Ÿๆ‰‹ไธ‹", "aqua_grunt_female": "ๆตทๆด‹้˜Ÿๆ‰‹ไธ‹", "aqua_grunts": "ๆตทๆด‹้˜Ÿๆ‰‹ไธ‹ไปฌ", - "aqua_admin": "Aqua Admin", - "aqua_admin_female": "Aqua Admin", "galactic_grunt": "้“ถๆฒณ้˜Ÿๆ‰‹ไธ‹", "galactic_grunt_female": "้“ถๆฒณ้˜Ÿๆ‰‹ไธ‹", "galactic_grunts": "้“ถๆฒณ้˜Ÿๆ‰‹ไธ‹ไปฌ", - "galactic_admin": "Galactic Admin", - "galactic_admin_female": "Galactic Admin", "plasma_grunt": "็ญ‰็ฆปๅญ้˜Ÿๆ‰‹ไธ‹", "plasma_grunt_female": "็ญ‰็ฆปๅญ้˜Ÿๆ‰‹ไธ‹", "plasma_grunts": "็ญ‰็ฆปๅญ้˜Ÿๆ‰‹ไธ‹ไปฌ", - "plasma_sage": "Plasma Sage", "flare_grunt": "้—ช็„ฐ้˜Ÿๆ‰‹ไธ‹", "flare_grunt_female": "้—ช็„ฐ้˜Ÿๆ‰‹ไธ‹", "flare_grunts": "้—ช็„ฐ้˜Ÿๆ‰‹ไธ‹ไปฌ", - "flare_admin": "Flare Admin", - "flare_admin_female": "Flare Admin", } as const; // Names of special trainers like gym leaders, elite four, and the champion @@ -339,6 +341,23 @@ export const trainerNames: SimpleTranslationEntries = { "rival": "่Šฌๆฉ", "rival_female": "่‰พ่–‡", + // Evil Team Admins + "archer": "Archer", + "ariana": "Ariana", + "proton": "Proton", + "petrel": "Petrel", + "tabitha": "Tabitha", + "courtney": "Courtney", + "shelly": "Shelly", + "matt": "Matt", + "mars": "Mars", + "jupiter": "Jupiter", + "saturn": "Saturn", + "zinzolin": "Zinzolin", + "rood": "Rood", + "xerosic": "Xerosic", + "bryony": "Bryony", + // ---- ็ป„็ป‡่€ๅคง Bosses ---- "maxie": "่ตค็„ฐๆพ", "archie": "ๆฐดๆขงๆก", diff --git a/src/locales/zh_TW/dialogue.ts b/src/locales/zh_TW/dialogue.ts index 530906eda5b..16dad83599e 100644 --- a/src/locales/zh_TW/dialogue.ts +++ b/src/locales/zh_TW/dialogue.ts @@ -382,6 +382,203 @@ export const PGMdialogue: DialogueTranslationEntries = { 3: "ๅฅฝๅƒๆ˜ฏๆˆ‘ๆšˆ่ˆนไบ†โ€ฆ" }, }, + "archer": { + "encounter": { + 1: "Before you go any further, let's see how you far against us, Team Rocket!", + 2: "I have received reports that your skills are not insignificant. Let's see if they are true.", + 3: "I am Archer, an Admin of Team Rocket. And I do not go easy on enemies of our organization." + }, + "victory": { + 1: "What a blunder!", + 2: "With my current skills, I was not up to the task after all.", + 3: "F-forgive me, Giovanni... For me to be defeated by a mere trainer..." + }, + }, + "ariana": { + "encounter": { + 1: `Hold it right there! We can't someone on the loose." + $It's harmful to Team Rocket's pride, you see.`, + 2: `I don't know or care if what I'm doing is right or wrong... + $I just put my faith in Giovanni and do as I am told`, + 3: "Your trip ends here. I'm going to take you down!" + }, + "victory": { + 1: `Tch, you really are strong. It's too bad. + $If you were to join Team Rocket, you could become an Executive.`, + 2: "I... I'm shattered...", + 3: "Aaaieeeee! This can't be happening! I fought hard, but I still lostโ€ฆ" + }, + }, + "proton": { + "encounter": { + 1: "What do you want? If you interrupt our work, don't expect any mercy!", + 2: `What do we have here? I am often labeled as the scariest and cruelest guy in Team Rocketโ€ฆ + $I strongly urge you not to interfere with our business!`, + 3: "I am Proton, an Admin of Team Rocket. I am here to put an end to your meddling!" + }, + "victory": { + 1: "The fortress came down!", + 2: "You may have won this timeโ€ฆ But all you did was make Team Rocket's wrath growโ€ฆ", + 3: "I am defeatedโ€ฆ But I will not forget this!" + }, + }, + + "petrel": { + "encounter": { + 1: `Muhahaha, we've been waiting for you. Me? You don't know who I am? It is me, Giovanni. + $The majestic Giovanni himself! Wahahaha! โ€ฆHuh? I don't sound anything like Giovanni? + $I don't even look like Giovanni? How come? I've worked so hard to mimic him!`, + 2: "I am Petrel, an Admin of Team Rocket. I will not allow you to interfere with our plans!", + 3: "Rocket Executive Petrel will deal with this intruder!" + }, + "victory": { + 1: "OK, OK. I'll tell you where he is.", + 2: "Iโ€ฆ I couldn't do a thingโ€ฆ Giovanni, please forgive meโ€ฆ", + 3: "No, I can't let this affect me. I have to inform the othersโ€ฆ" + }, + }, + "tabitha": { + "encounter": { + 1: "Hehehe! So you've come all the way here! But you're too late!", + 2: `Hehehe... Got here already, did you? We underestimated you! But this is it! + $I'm a cut above the Grunts you've seen so far. I'm not stalling for time. + $I'm going to pulverize you!`, + 3: "I'm going to give you a little taste of pain! Resign yourself to it!" + }, + "victory": { + 1: `Hehehe! You might have beaten me, but you don't stand a chance against the Boss! + $If you get lost now, you won't have to face a sound whipping!`, + 2: "Hehehe... So, I lost, too...", + 3: "Ahya! How could this be? For an Admin like me to lose to some random trainer..." + }, + }, + "courtney": { + "encounter": { + 1: "The thing...The thing that you hold...That is what... That's what we of Team Magma seek...", + 2: "... Well then...Deleting...", + 3: "...Ha. ...Analyzing... ...Hahโ™ช" + }, + "victory": { + 1: "... ...Change...the world.", + 2: `As anticipated. Unanticipated. You. Target lock...completed. + $Commencing...experiment. You. Forever. Aha... โ™ช`, + 3: "...Again? That's unanticipated. ...I knew it. You...are interesting! ...Haha. โ™ช" + }, + }, + "shelly": { + "encounter": { + 1: `Ahahahaha! You're going to meddle in Team Aqua's affairs? + $You're either absolutely fearless, simply ignorant, or both! + $You're so cute, you're disgusting! I'll put you down`, + 2: "What's this? Who's this spoiled brat?", + 3: "Cool your jets. Be patient. I'll crush you shortly." + }, + "victory": { + 1: `Ahahahaha! We got meddled with unexpectedly! We're out of options. + $We'll have to pull out. But this isn't the last you'll see of Team Aqua! + $We have other plans! Don't you forget it!`, + 2: "Ahhh?! Did I go too easy on you?!", + 3: `Uh. Are you telling me you've upped your game even more during the fight? + $You're a brat with a bright futureโ€ฆ My Pokรฉmon and I don't have any strength left to fightโ€ฆ + $Go onโ€ฆ Go and be destroyed by Archie.` + }, + }, + "matt": { + "encounter": { + 1: "Hoohahaha! What, you got a screw loose or something? Look at you, little Makuhita person!", + 2: "Oho! You! You're that funny kid!", + 3: "What are you doing here? Did you follow us?" + }, + "victory": { + 1: "All right then, until the Boss has time for you, I'll be your opponent!", + 2: `I can feel it! I can feel it, all right! The strength coming offa you! + $More! I still want more! But looks like we're outta time...`, + 3: "That was fun! I knew you'd show me a good time! I look forward to facing you again someday!" + }, + }, + "mars": { + "encounter": { + 1: "I'm Mars, one of Team Galactic's top Commanders.", + 2: "Team Galactic's vision for the future is unwavering. Opposition will be crushed without mercy!", + 3: "Feeling nervous? You should be!" + }, + "victory": { + 1: "This can't be happening! How did I lose?!", + 2: "You have some skill, I'll give you that.", + 3: "Defeated... This was a costly mistake." + } + }, + "jupiter": { + "encounter": { + 1: "Jupiter, Commander of Team Galactic, at your service.", + 2: "Resistance is futile. Team Galactic will prevail!", + 3: "You're trembling... scared already?" + }, + "victory": { + 1: "No way... I lost?!", + 2: "Impressive, you've got guts!", + 3: "Losing like this... How embarrassing." + } + }, + "saturn": { + "encounter": { + 1: "I am Saturn, Commander of Team Galactic.", + 2: "Our mission is absolute. Any hindrance will be obliterated!", + 3: "Is that fear I see in your eyes?" + }, + "victory": { + 1: "Impossible... Defeated by you?!", + 2: "You have proven yourself a worthy adversary.", + 3: "Bestowed in defeat... This is unacceptable." + }}, + "zinzolin": { + "encounter": { + 1: "You could become a threat to Team Plasma, so we will eliminate you here and now!", + 2: "Oh, for crying out loud... I didn't expect to have to battle in this freezing cold!", + 3: "You're an impressive Trainer to have made it this far. But it ends here." + }, + "victory": { + 1: "Ghetsis... I have failed you...", + 2: "It's bitter cold. I'm shivering. I'm suffering. Yet, I still stand victorious.", + 3: "Hmph. You're a smarter Trainer than I expected, but not smart enough." + } + }, + "rood": { + "encounter": { + 1: "You are a threat to Team Plasma. We cannot let you walk away from here and now!", + 2: "Oh, this icy wind... I never thought I'd have to fight here!", + 3: "You are a remarkable Trainer to have made it this far. But this is where it ends." + }, + "victory": { + 1: "Ghetsis... I have failed my mission...", + 2: "The cold is piercing. I'm shivering. I'm suffering. Yet, I have triumphed.", + 3: "Hm. You are a talented Trainer, but unfortunately not talented enough." + } + }, + "xerosic": { + "encounter": { + 1: "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!", + 2: "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.", + 3: "I've been waiting for you! I need to do a little research on you! Come, let us begin!" + }, + "victory": { + 1: "Ah, you're quite strong. Oh yesโ€”very strong, indeed.", + 2: "Ding-ding-ding! You did it! To the victor go the spoils!", + 3: "Wonderful! Amazing! You have tremendous skill and bravery!" + } + }, + "bryony": { + "encounter": { + 1: "I am Bryony, and it would be my pleasure to battle you. Show me what you've got.", + 2: "Impressive... You're more powerful than you appear. Let's see the true extent of your energy.", + 3: "I've anticipated your arrival. It's time for a little test. Shall we begin?" + }, + "victory": { + 1: "You're quite strong. Oh yesโ€”very strong, indeed.", + 2: "Ding-ding-ding! You've done well. Victory is yours.", + 3: "Wonderful! Remarkable! Your skill and bravery are commendable." + } + }, "rocket_grunt": { "encounter": { 1: "Prepare for trouble!" @@ -390,18 +587,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Team Rocket blasting off again!" }, }, - "rocket_admin": { - "encounter": { - 1: "Oh? You managed to get this far? You must be quite the trainer.", - 2: "That's quite enough of you playing hero, kid.", - 3: "I'll show you how scary an angry adult can be!" - }, - "victory": { - 1: "No! Forgive me Giovanni!", - 2: "How could this be?", - 3: "Urgh... You were too strong..." - }, - }, "magma_grunt": { "encounter": { 1: " If you get in the way of Team Magma, donโ€™t expect any mercy!" @@ -410,18 +595,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Huh? I lost?!" }, }, - "magma_admin": { - "encounter": { - 1: "Hehehe! So you've come all the way here! But you're too late!", - 2: "You're going to meddle in Team Magma's affairs? You're so cute you're disgusting! I'll put you down kiddy!", - 3: "I'm going to give you a little taste of pain! Resign yourself to it!" - }, - "victory": { - 1: "Hehehe... So I lost...", - 2: "You're disgustingly strong!", - 3: "Ahahaha! Ouch!" - }, - }, "aqua_grunt": { "encounter": { 1: "No one who crosses Team Aqua gets any mercy, not even kids!" @@ -430,18 +603,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "You're kidding me!" }, }, - "aqua_admin": { - "encounter": { - 1: "I'm a cut above the grunts you've seen so far. I'm going to puvlerize you!", - 2: "Hahn? What's this? Who's this spoiled brat?", - 3: "What are you doing here? Did you follow us?" - }, - "victory": { - 1: "So I lost too...", - 2: "Ahhh?! Did I go too easy on you?!", - 3: "Wh-what was that?" - }, - }, "galactic_grunt": { "encounter": { 1: "Don't mess with Team Galactic!" @@ -450,18 +611,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Shut down..." }, }, - "galactic_admin": { - "encounter": { - 1: "I'm one of Team Galactic's Commanders.", - 2: "Anything that opposes Team Galactic must be crushed! Even the very thought of opposition will not be tolerated!", - 3: "What's the matter? Don't tell me you're shaking?" - }, - "victory": { - 1: "This can't be?! I lost?! You... you uppity brat!", - 2: "You, my friend, are tough!", - 3: "Losing to some child... Being careless cost me too much." - }, - }, "plasma_grunt": { "encounter": { 1: "We won't tolerate people who have different ideas!" @@ -470,18 +619,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "Plasmaaaaaaaaa!" }, }, - "plasma_sage": { - "encounter": { - 1: "You could become a threat to Team Plasma, so we will eliminate you here!", - 2: "Oh, for crying out loud... I didn't expect to have to fight!", - 3: "You're an impressive Trainer to have made it this far." - }, - "victory": { - 1: "Ghetsis...", - 2: "It's bitter cold. I'm shivering. I'm suffering.", - 3: "Hmph. You're a smarter Trainer than I expected." - }, - }, "flare_grunt": { "encounter": { 1: "Fashion is most important to us!" @@ -490,18 +627,6 @@ export const PGMdialogue: DialogueTranslationEntries = { 1: "The future doesn't look bright for me." }, }, - "flare_admin": { - "encounter": { - 1: "Ah ha ha! It would be my pleasure. Come on, little Trainer! Let's see what you've got!", - 2: "Hmm... You're more powerful than you look. I wonder how much energy there is inside you.", - 3: "I've been waiting for you! I need to do a little research on you! Come, let us begin!" - }, - "victory": { - 1: "You're quite strong. Oh yes-very strong, indeed.", - 2: "Ding-ding-ding! Yup, you did it! To the victor goes the spoils!", - 3: "Wonderful! Amazing! You have tremendous skill and bravery!" - }, - }, "rocket_boss_giovanni_1": { "encounter": { 1: "So! I must say, I am impressed you got here!" diff --git a/src/locales/zh_TW/trainers.ts b/src/locales/zh_TW/trainers.ts index 0efae11bbea..48159efd1c6 100644 --- a/src/locales/zh_TW/trainers.ts +++ b/src/locales/zh_TW/trainers.ts @@ -13,6 +13,25 @@ export const titles: SimpleTranslationEntries = { "rival": "ๅ‹ๆ•ต", "professor": "ๅšๅฃซ", "frontier_brain": "้–‹ๆ‹“้ ญ่…ฆ", + "rocket_boss": "Team Rocket Boss", + "magma_boss": "Team Magma Boss", + "aqua_boss": "Team Aqua Boss", + "galactic_boss": "Team Galactic Boss", + "plasma_boss": "Team Plasma Boss", + "flare_boss": "Team Flare Boss", + + "rocket_admin": "Team Rocket Admin", + "rocket_admin_female": "Team Rocket Admin", + "magma_admin": "Team Magma Admin", + "magma_admin_female": "Team Magma Admin", + "aqua_admin": "Team Aqua Admin", + "aqua_admin_female": "Team Aqua Admin", + "galactic_commander": "Team Galactic Commander", + "galactic_commander_female": "Team Galactic Commander", + "plasma_sage": "Team Plasma Sage", + "plasma_admin": "Team Plasma Admin", + "flare_admin": "Team Flare Admin", + "flare_admin_female": "Team Flare Admin", // Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc. } as const; @@ -120,32 +139,21 @@ export const trainerClasses: SimpleTranslationEntries = { "workers": "ๅทฅไบบ็ต„ๅˆ", "youngster": "็Ÿญ่คฒๅฐๅญ", "rocket_grunts": "็ซ็ฎญ้˜Ÿๆ‰‹ไธ‹ๅ€‘", - "rocket_admin": "Rocket Admin", - "rocket_admin_female": "Rocket Admin", "magma_grunt": "็†”ๅฒฉ้˜Ÿๆ‰‹ไธ‹", "magma_grunt_female": "็†”ๅฒฉ้˜Ÿๆ‰‹ไธ‹", "magma_grunts": "็†”ๅฒฉ้˜Ÿๆ‰‹ไธ‹ๅ€‘", - "magma_admin": "Magma Admin", - "magma_admin_female": "Magma Admin", "aqua_grunt": "ๆตทๆด‹้˜Ÿๆ‰‹ไธ‹", "aqua_grunt_female": "ๆตทๆด‹้˜Ÿๆ‰‹ไธ‹", "aqua_grunts": "ๆตทๆด‹้˜Ÿๆ‰‹ไธ‹ๅ€‘", - "aqua_admin": "Aqua Admin", - "aqua_admin_female": "Aqua Admin", "galactic_grunt": "้“ถๆฒณ้˜Ÿๆ‰‹ไธ‹", "galactic_grunt_female": "้“ถๆฒณ้˜Ÿๆ‰‹ไธ‹", "galactic_grunts": "้“ถๆฒณ้˜Ÿๆ‰‹ไธ‹ๅ€‘", - "galactic_admin": "Galactic Admin", - "galactic_admin_female": "Galactic Admin", "plasma_grunt": "็ญ‰็ฆปๅญ้˜Ÿๆ‰‹ไธ‹", "plasma_grunt_female": "็ญ‰็ฆปๅญ้˜Ÿๆ‰‹ไธ‹", "plasma_grunts": "็ญ‰็ฆปๅญ้˜Ÿๆ‰‹ไธ‹ๅ€‘", - "plasma_sage": "Plasma Sage", "flare_grunt": "้—ช็„ฐ้˜Ÿๆ‰‹ไธ‹", "flare_grunt_female": "้—ช็„ฐ้˜Ÿๆ‰‹ไธ‹", "flare_grunts": "้—ช็„ฐ้˜Ÿๆ‰‹ไธ‹ๅ€‘", - "flare_admin": "Flare Admin", - "flare_admin_female": "Flare Admin", } as const; // Names of special trainers like gym leaders, elite four, and the champion @@ -331,6 +339,29 @@ export const trainerNames: SimpleTranslationEntries = { "rival": "่Šฌๆฉ", "rival_female": "่‰พ่–‡", + // Evil Team Admins + "archer": "Archer", + "ariana": "Ariana", + "proton": "Proton", + "petrel": "Petrel", + "tabitha": "Tabitha", + "courtney": "Courtney", + "shelly": "Shelly", + "matt": "Matt", + "mars": "Mars", + "jupiter": "Jupiter", + "saturn": "Saturn", + "zinzolin": "Zinzolin", + "rood": "Rood", + "xerosic": "Xerosic", + "bryony": "Bryony", + + "maxie": "Maxie", + "archie": "Archie", + "cyrus": "Cyrus", + "ghetsis": "Ghetsis", + "lysandre": "Lysandre", + // Double Names "blue_red_double": "้’็ถ  & ่ตค็ด…", "red_blue_double": "่ตค็ด… & ้’็ถ ", diff --git a/src/system/voucher.ts b/src/system/voucher.ts index 2238a95e690..b06e6e5309e 100644 --- a/src/system/voucher.ts +++ b/src/system/voucher.ts @@ -105,7 +105,7 @@ export function initVouchers() { } const bossTrainerTypes = Object.keys(trainerConfigs) - .filter(tt => trainerConfigs[tt].isBoss && trainerConfigs[tt].getDerivedType() !== TrainerType.RIVAL); + .filter(tt => trainerConfigs[tt].isBoss && trainerConfigs[tt].getDerivedType() !== TrainerType.RIVAL && trainerConfigs[tt].hasVoucher); for (const trainerType of bossTrainerTypes) { const voucherType = trainerConfigs[trainerType].moneyMultiplier < 10