From 313fdc0e4222202e28878496cd3e2101e35759e9 Mon Sep 17 00:00:00 2001 From: Benjamin Odom Date: Fri, 3 May 2024 15:38:32 -0500 Subject: [PATCH 01/10] Fix Venom Drench not working on Toxic Status --- src/data/move.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/move.ts b/src/data/move.ts index 5c29b6a5758..dd149940fee 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -5444,7 +5444,7 @@ export function initMoves() { new StatusMove(Moves.EERIE_IMPULSE, Type.ELECTRIC, 100, 15, -1, 0, 6) .attr(StatChangeAttr, BattleStat.SPATK, -2), new StatusMove(Moves.VENOM_DRENCH, Type.POISON, 100, 20, 100, 0, 6) - .attr(StatChangeAttr, [ BattleStat.ATK, BattleStat.SPATK, BattleStat.SPD ], -1, false, (user, target, move) => target.status?.effect === StatusEffect.POISON) + .attr(StatChangeAttr, [ BattleStat.ATK, BattleStat.SPATK, BattleStat.SPD ], -1, false, (user, target, move) => target.status?.effect === StatusEffect.POISON || target.status?.effect === StatusEffect.TOXIC) .target(MoveTarget.ALL_NEAR_ENEMIES), new StatusMove(Moves.POWDER, Type.BUG, 100, 20, -1, 1, 6) .powderMove() From d48f0aa97d7438ceb41f6b69d0af7076d21294f8 Mon Sep 17 00:00:00 2001 From: Madi Simpson Date: Fri, 3 May 2024 13:55:46 -0700 Subject: [PATCH 02/10] Implement Anger Shell and Berserk (#421) * abilities: implement anger shell and berserk * abilities: fix small typo causing berserk to raise speed instead of spatk * abilities: condense battlestats into an array instead of multiple attrs --- src/data/ability.ts | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/src/data/ability.ts b/src/data/ability.ts index a0f85e2fd5e..7ac3e721837 100644 --- a/src/data/ability.ts +++ b/src/data/ability.ts @@ -580,6 +580,35 @@ export class PostDefendStatChangeAbAttr extends PostDefendAbAttr { } } +export class PostDefendHpGatedStatChangeAbAttr extends PostDefendAbAttr { + private condition: PokemonDefendCondition; + private hpGate: number; + private stats: BattleStat[]; + private levels: integer; + private selfTarget: boolean; + + constructor(condition: PokemonDefendCondition, hpGate: number, stats: BattleStat[], levels: integer, selfTarget: boolean = true) { + super(true); + + this.condition = condition; + this.hpGate = hpGate; + this.stats = stats; + this.levels = levels; + this.selfTarget = selfTarget; + } + + applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean { + const hpGateFlat: integer = Math.ceil(pokemon.getMaxHp() * this.hpGate) + const lastAttackReceived = pokemon.turnData.attacksReceived[pokemon.turnData.attacksReceived.length - 1] + if (this.condition(pokemon, attacker, move.getMove()) && (pokemon.hp <= hpGateFlat && (pokemon.hp + lastAttackReceived.damage) > hpGateFlat)) { + pokemon.scene.unshiftPhase(new StatChangePhase(pokemon.scene, (this.selfTarget ? pokemon : attacker).getBattlerIndex(), true, this.stats, this.levels)); + return true; + } + + return false; + } +} + export class PostDefendApplyArenaTrapTagAbAttr extends PostDefendAbAttr { private condition: PokemonDefendCondition; private tagType: ArenaTagType; @@ -3091,7 +3120,7 @@ export function initAbilities() { new Ability(Abilities.STEELWORKER, 7) .attr(MoveTypePowerBoostAbAttr, Type.STEEL), new Ability(Abilities.BERSERK, 7) - .unimplemented(), + .attr(PostDefendHpGatedStatChangeAbAttr, (target, user, move) => move.category !== MoveCategory.STATUS, 0.5, [BattleStat.SPATK], 1), new Ability(Abilities.SLUSH_RUSH, 7) .attr(BattleStatMultiplierAbAttr, BattleStat.SPD, 2) .condition(getWeatherCondition(WeatherType.HAIL, WeatherType.SNOW)), @@ -3327,7 +3356,8 @@ export function initAbilities() { .attr(StatusEffectImmunityAbAttr, StatusEffect.BURN) .ignorable(), new Ability(Abilities.ANGER_SHELL, 9) - .unimplemented(), + .attr(PostDefendHpGatedStatChangeAbAttr, (target, user, move) => move.category !== MoveCategory.STATUS, 0.5, [ BattleStat.ATK, BattleStat.SPATK, BattleStat.SPD ], 1) + .attr(PostDefendHpGatedStatChangeAbAttr, (target, user, move) => move.category !== MoveCategory.STATUS, 0.5, [ BattleStat.DEF, BattleStat.SPDEF ], -1), new Ability(Abilities.PURIFYING_SALT, 9) .attr(StatusEffectImmunityAbAttr) .attr(ReceivedTypeDamageMultiplierAbAttr, Type.GHOST, 0.5) From 06ae04abaded1c0f994b4c0e0d419b118807aba3 Mon Sep 17 00:00:00 2001 From: Madi Simpson Date: Fri, 3 May 2024 14:06:50 -0700 Subject: [PATCH 03/10] bugfix: ensure hit recoil moves always do at least 1hp in recoil --- src/data/move.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/move.ts b/src/data/move.ts index dd149940fee..958588f7af4 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -685,7 +685,7 @@ export class RecoilAttr extends MoveEffectAttr { return false; const recoilDamage = Math.max(Math.floor((!this.useHp ? user.turnData.damageDealt : user.getMaxHp()) * this.damageRatio), - !this.useHp && user.turnData.damageDealt ? 1 : 0); + user.turnData.damageDealt ? 1 : 0); if (!recoilDamage) return false; From 6f446324db639905133de5ed106811534bf3c85c Mon Sep 17 00:00:00 2001 From: gericocross <32669590+gericocross@users.noreply.github.com> Date: Fri, 3 May 2024 23:38:34 +0200 Subject: [PATCH 04/10] Longer descriptions don't stuck shorter ones anymore --- src/ui/summary-ui-handler.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ui/summary-ui-handler.ts b/src/ui/summary-ui-handler.ts index cf5eb3639fd..7776e21782f 100644 --- a/src/ui/summary-ui-handler.ts +++ b/src/ui/summary-ui-handler.ts @@ -441,6 +441,7 @@ export default class SummaryUiHandler extends UiHandler { const selectedMove = this.getSelectedMove(); if (selectedMove) { + this.moveDescriptionText.setY(84); this.movePowerText.setText(selectedMove.power >= 0 ? selectedMove.power.toString() : '---'); this.moveAccuracyText.setText(selectedMove.accuracy >= 0 ? selectedMove.accuracy.toString() : '---'); this.moveCategoryIcon.setFrame(MoveCategory[selectedMove.category].toLowerCase()); @@ -457,7 +458,6 @@ export default class SummaryUiHandler extends UiHandler { } if (moveDescriptionLineCount > 3) { - this.moveDescriptionText.setY(84); this.descriptionScrollTween = this.scene.tweens.add({ targets: this.moveDescriptionText, delay: Utils.fixedInt(2000), From 19e434929c19f00342fa2529a3e8575adc584c72 Mon Sep 17 00:00:00 2001 From: ArceUseless <36188730+ArceUseless@users.noreply.github.com> Date: Fri, 3 May 2024 23:52:09 +0200 Subject: [PATCH 05/10] Spanish translations (#422) * Spanish translations for intro messages and some menus. Added Empty (save file) to lang files * Spanish translations + new literals in all langs --------- Co-authored-by: rnicar --- src/locales/de/menu.ts | 6 ++- src/locales/en/menu.ts | 6 ++- src/locales/es/command-ui-handler.ts | 2 +- src/locales/es/menu.ts | 14 ++++-- src/locales/es/tutorial.ts | 69 +++++++++++++++------------ src/locales/fr/menu.ts | 6 ++- src/locales/it/menu.ts | 6 ++- src/ui/confirm-ui-handler.ts | 5 +- src/ui/save-slot-select-ui-handler.ts | 3 +- src/ui/starter-select-ui-handler.ts | 3 +- 10 files changed, 75 insertions(+), 45 deletions(-) diff --git a/src/locales/de/menu.ts b/src/locales/de/menu.ts index c648b15bfe8..3f86ae41a7e 100644 --- a/src/locales/de/menu.ts +++ b/src/locales/de/menu.ts @@ -39,5 +39,9 @@ export const menu: SimpleTranslationEntries = { "weeklyRankings": "Weekly Rankings", "noRankings": "No Rankings", "loading": "Loading…", - "playersOnline": "Players Online" + "playersOnline": "Players Online", + "empty":"Empty", + "yes":"Yes", + "no":"No", + "confirmStartTeam":'Begin with these Pokémon?', } as const; \ No newline at end of file diff --git a/src/locales/en/menu.ts b/src/locales/en/menu.ts index 42888b17337..887f3d87834 100644 --- a/src/locales/en/menu.ts +++ b/src/locales/en/menu.ts @@ -39,5 +39,9 @@ export const menu: SimpleTranslationEntries = { "weeklyRankings": "Weekly Rankings", "noRankings": "No Rankings", "loading": "Loading…", - "playersOnline": "Players Online" + "playersOnline": "Players Online", + "empty":"Empty", + "yes":"Yes", + "no":"No", + "confirmStartTeam":'Begin with these Pokémon?', } as const; \ No newline at end of file diff --git a/src/locales/es/command-ui-handler.ts b/src/locales/es/command-ui-handler.ts index 237e779db03..66a892f8fd3 100644 --- a/src/locales/es/command-ui-handler.ts +++ b/src/locales/es/command-ui-handler.ts @@ -2,7 +2,7 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const commandUiHandler: SimpleTranslationEntries = { "fight": "Luchar", - "ball": "Ball", + "ball": "Balls", "pokemon": "Pokémon", "run": "Huir", "actionMessage": "¿Qué debería\nhacer {{pokemonName}}?", diff --git a/src/locales/es/menu.ts b/src/locales/es/menu.ts index c67287ae0cc..5569c1e1668 100644 --- a/src/locales/es/menu.ts +++ b/src/locales/es/menu.ts @@ -19,9 +19,13 @@ export const menu: SimpleTranslationEntries = { "boyOrGirl": "¿Eres un chico o una chica?", "boy": "Chico", "girl": "Chica", - "dailyRankings": "Daily Rankings", - "weeklyRankings": "Weekly Rankings", - "noRankings": "No Rankings", - "loading": "Loading…", - "playersOnline": "Players Online" + "dailyRankings": "Rankings Diarios", + "weeklyRankings": "Rankings Semanales", + "noRankings": "Sin Rankings", + "loading": "Cargando…", + "playersOnline": "Jugadores en Línea", + "empty":"Vacío", + "yes":"Sí", + "no":"No", + "confirmStartTeam":'¿Comenzar con estos Pokémon?', } as const; \ No newline at end of file diff --git a/src/locales/es/tutorial.ts b/src/locales/es/tutorial.ts index 2773b6710ba..e179ca55cee 100644 --- a/src/locales/es/tutorial.ts +++ b/src/locales/es/tutorial.ts @@ -1,42 +1,49 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const tutorial: SimpleTranslationEntries = { - "intro": `Welcome to PokéRogue! This is a battle-focused Pokémon fangame with roguelite elements. - $This game is not monetized and we claim no ownership of Pokémon nor of the copyrighted assets used. - $The game is a work in progress, but fully playable.\nFor bug reports, please use the Discord community. - $If the game runs slowly, please ensure 'Hardware Acceleration' is turned on in your browser settings.`, + "intro": `¡Bienvenido/a a PokéRogue! Este es un fangame de Pokémon centrado en el combate con elementos roguelite. + $Este juego no está monetizado y no reclamamos ningún derecho de propiedad sobre Pokémon ni sobre ninguno de + $los recursos con copyright utilizados. + $El juego está en proceso, pero es completamente jugable.\nPara reportar bugs, por favor, hazlo en nuestra + $comunidad de Discord. + $Si el juego va lento, por favor, asegúrate de que tengas activada la opción 'Aceleración de gráficos' en los + $ajustes de tu navegador.`, - "accessMenu": `To access the menu, press M or Escape while awaiting input.\nThe menu contains settings and various features.`, + "accessMenu": `Para acceder al menú, pulsa M o Escape cuando\ntengas el control. + $El menú contiene la configuración y otras funciones.`, - "menu": `From this menu you can access the settings. - $From the settings you can change game speed, window style, and other options. - $There are also various other features here, so be sure to check them all!`, + "menu": `Desde este menú podrás acceder a la configuración. + $Podrás cambiar la velocidad del juego, el estilo de la ventana y demás. + $Hay más opciones, ¡así que pruébalas todas!`, - "starterSelect": `From this screen, you can select your starters.\nThese are your initial party members. - $Each starter has a value. Your party can have up to\n6 members as long as the total does not exceed 10. - $You can also select gender, ability, and form depending on\nthe variants you've caught or hatched. - $The IVs for a species are also the best of every one you've\ncaught or hatched, so try to get lots of the same species!`, + "starterSelect": `En esta pantalla podrás elegir tus iniciales. Estos serán tus\nmiembros de equipo al comenzar la partida. + $Cada inicial tiene un valor. Tu equipo puede contener hasta 6\nmiembros mientras el valor total no pase de 10. + $También puedes elegir su género, habilidad y forma\ndependiendo de las variantes que hayas conseguido. + $Los IVs de los iniciales corresponderán al valor más alto de\nlos Pokémon de la misma especie que hayas obtenido. + $¡Así que intenta conseguir muchos Pokémon de la misma\nespecie!`, - "pokerus": `A daily random 3 selectable starters have a purple border. - $If you see a starter you own with one of these,\ntry adding it to your party. Be sure to check its summary!`, + "pokerus": `Cada día, 3 iniciales aleatorios tendrán un borde morado. + $Si ves un inicial que tengas con este borde, prueba a\nañadirlo a tu equipo. ¡No olvides revisar sus datos!`, - "statChange": `Stat changes persist across battles as long as your Pokémon aren't recalled. - $Your Pokémon are recalled before a trainer battle and before entering a new biome. - $You can also view the stat changes for the Pokémon on the field by holding C or Shift.`, + "statChange": `Los cambios de estadísticas se mantienen entre combates\nmientras que el Pokémon no vuelva a la Poké Ball. + $Tus Pokémon vuelven a sus Poké Balls antes de combates contra entrenadores y de entrar a un nuevo bioma. + $También puedes ver los cambios de estadísticas del Pokémon en campo manteniendo pulsado C o Shift.`, - "selectItem": `After every battle, you are given a choice of 3 random items.\nYou may only pick one. - $These range from consumables, to Pokémon held items, to passive permanent items. - $Most non-consumable item effects will stack in various ways. - $Some items will only show up if they can be used, such as evolution items. - $You can also transfer held items between Pokémon using the transfer option. - $The transfer option will appear in the bottom right once you have obtained a held item. - $You may purchase consumable items with money, and a larger variety will be available the further you get. - $Be sure to buy these before you pick your random item, as it will progress to the next battle once you do.`, + "selectItem": `Tras cada combate, tendrás la opción de elegir entre tres objetos aleatorios. Solo podrás escoger uno. + $Estos objetos pueden ser consumibles, objetos equipables u objetos pasivos permanentes (hasta acabar la partida). + $La mayoría de los efectos de objetos no consumibles se acumularán de varias maneras. + $Algunos objetos solo aparecerán si pueden ser utilizados, como las piedras evolutivas. + $También puedes transferir objetos equipados entre Pokémon utilizando la opción de transferir. + $La opción de transferir aparecerá en la parte inferior derecha una vez hayas obtenido un objeto equipable. + $También puedes comprar objetos consumibles con dinero y su variedad irá aumentando según tu avance. + $Asegúrate de comprar antes de escoger un objeto aleatorio, ya que se avanzará al siguiente combate.`, - "eggGacha": `From this screen, you can redeem your vouchers for\nPokémon eggs. - $Eggs have to be hatched and get closer to hatching after\nevery battle. Rarer eggs take longer to hatch. - $Hatched Pokémon also won't be added to your party, they will\nbe added to your starters. - $Pokémon hatched from eggs generally have better IVs than\nwild Pokémon. - $Some Pokémon can only even be obtained from eggs. - $There are 3 different machines to pull from with different\nbonuses, so pick the one that suits you best!`, + "eggGacha": `En esta pantalla podrás canjear tus vales por huevos\nde Pokémon. + $Los huevos deben eclosionar y estarán más cerca de\nhacerlo tras cada combate. + $Los huevos más raros tardarán más en eclosionar. + $Los Pokémon que hayan salido del huevo no se\nañadirán a tu equipo, pero sí a tus iniciales. + $Los Pokémon salidos de un huevo suelen tener mejores\nIVs que los Pokémon salvajes. + $Algunos Pokémon solo pueden ser obtenidos de huevos. + $Hay 3 máquinas diferentes entre las que elegir, cada\nuna con zdiferentes bonificaciones. + $¡Así que escoge la que más te interese!`, } as const; \ No newline at end of file diff --git a/src/locales/fr/menu.ts b/src/locales/fr/menu.ts index 1744297089c..7de214271eb 100644 --- a/src/locales/fr/menu.ts +++ b/src/locales/fr/menu.ts @@ -34,5 +34,9 @@ export const menu: SimpleTranslationEntries = { "weeklyRankings": "Classement de la Semaine", "noRankings": "Pas de Classement", "loading": "Chargement…", - "playersOnline": "Joueurs Connectés" + "playersOnline": "Joueurs Connectés", + "empty":"Empty", + "yes":"Yes", + "no":"No", + "confirmStartTeam":'Begin with these Pokémon?', } as const; diff --git a/src/locales/it/menu.ts b/src/locales/it/menu.ts index 9812236b7f0..33c128c137e 100644 --- a/src/locales/it/menu.ts +++ b/src/locales/it/menu.ts @@ -39,5 +39,9 @@ export const menu: SimpleTranslationEntries = { "weeklyRankings": "Weekly Rankings", "noRankings": "No Rankings", "loading": "Loading…", - "playersOnline": "Players Online" + "playersOnline": "Players Online", + "empty":"Empty", + "yes":"Yes", + "no":"No", + "confirmStartTeam":'Begin with these Pokémon?', } as const; \ No newline at end of file diff --git a/src/ui/confirm-ui-handler.ts b/src/ui/confirm-ui-handler.ts index d9e7726d826..a220b6f3a3d 100644 --- a/src/ui/confirm-ui-handler.ts +++ b/src/ui/confirm-ui-handler.ts @@ -1,6 +1,7 @@ import BattleScene, { Button } from "../battle-scene"; import AbstractOptionSelectUiHandler, { OptionSelectConfig } from "./abstact-option-select-ui-handler"; import { Mode } from "./ui"; +import i18next from "i18next"; export default class ConfirmUiHandler extends AbstractOptionSelectUiHandler { private switchCheck: boolean; @@ -19,14 +20,14 @@ export default class ConfirmUiHandler extends AbstractOptionSelectUiHandler { const config: OptionSelectConfig = { options: [ { - label: 'Yes', + label: i18next.t("menu:yes"), handler: () => { args[0](); return true; } }, { - label: 'No', + label: i18next.t("menu:no"), handler: () => { args[1](); return true; diff --git a/src/ui/save-slot-select-ui-handler.ts b/src/ui/save-slot-select-ui-handler.ts index 11680cd3952..69ac94d99ba 100644 --- a/src/ui/save-slot-select-ui-handler.ts +++ b/src/ui/save-slot-select-ui-handler.ts @@ -8,6 +8,7 @@ import * as Utils from "../utils"; import PokemonData from "../system/pokemon-data"; import { PokemonHeldItemModifier } from "../modifier/modifier"; import MessageUiHandler from "./message-ui-handler"; +import i18next from "i18next"; const sessionSlotCount = 5; @@ -314,7 +315,7 @@ class SessionSlot extends Phaser.GameObjects.Container { this.scene.gameData.getSession(this.slotId).then(async sessionData => { if (!sessionData) { this.hasData = false; - this.loadingLabel.setText('Empty'); + this.loadingLabel.setText(i18next.t("menu:empty")); resolve(false); return; } diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index f1e058b12cf..7cc99d81fb7 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -27,6 +27,7 @@ import { argbFromRgba } from "@material/material-color-utilities"; import { OptionSelectItem } from "./abstact-option-select-ui-handler"; import { pokemonPrevolutions } from "#app/data/pokemon-evolutions"; import { Variant, getVariantTint } from "#app/data/variant"; +import i18next from "i18next"; export type StarterSelectCallback = (starters: Starter[]) => void; @@ -1653,7 +1654,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.clearText(); }; - ui.showText('Begin with these Pokémon?', null, () => { + ui.showText(i18next.t("menu:confirmStartTeam"), null, () => { ui.setModeWithoutClear(Mode.CONFIRM, () => { const startRun = (gameMode: GameModes) => { this.scene.gameMode = gameModes[gameMode]; From 2eec545c496decd9c4a8e61ebca5ac259af27287 Mon Sep 17 00:00:00 2001 From: Flashfyre Date: Fri, 3 May 2024 17:54:56 -0400 Subject: [PATCH 06/10] Fix stat number keys in legacy battle stats view --- public/images/ui/legacy/pbinfo_stat_numbers.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/public/images/ui/legacy/pbinfo_stat_numbers.json b/public/images/ui/legacy/pbinfo_stat_numbers.json index 9c74ee86dbc..fa7d757990f 100644 --- a/public/images/ui/legacy/pbinfo_stat_numbers.json +++ b/public/images/ui/legacy/pbinfo_stat_numbers.json @@ -10,7 +10,7 @@ "scale": 1, "frames": [ { - "filename": "+1", + "filename": "1", "rotated": false, "trimmed": false, "sourceSize": { @@ -31,7 +31,7 @@ } }, { - "filename": "+2", + "filename": "2", "rotated": false, "trimmed": false, "sourceSize": { @@ -52,7 +52,7 @@ } }, { - "filename": "+3", + "filename": "3", "rotated": false, "trimmed": false, "sourceSize": { @@ -73,7 +73,7 @@ } }, { - "filename": "+4", + "filename": "4", "rotated": false, "trimmed": false, "sourceSize": { @@ -94,7 +94,7 @@ } }, { - "filename": "+5", + "filename": "5", "rotated": false, "trimmed": false, "sourceSize": { @@ -115,7 +115,7 @@ } }, { - "filename": "+6", + "filename": "6", "rotated": false, "trimmed": false, "sourceSize": { From 754fe434e67783e16ec9f629d04a073ea1032931 Mon Sep 17 00:00:00 2001 From: Flashfyre Date: Fri, 3 May 2024 18:37:46 -0400 Subject: [PATCH 07/10] Update biome pools for various legendaries and regionals --- src/data/biomes.ts | 162 ++++++++++++++++++++++++--------------------- 1 file changed, 85 insertions(+), 77 deletions(-) diff --git a/src/data/biomes.ts b/src/data/biomes.ts index c6a3c95b631..3dc12491816 100644 --- a/src/data/biomes.ts +++ b/src/data/biomes.ts @@ -241,10 +241,10 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.ALL]: [ { 1: [ Species.BULBASAUR ], 16: [ Species.IVYSAUR ], 32: [ Species.VENUSAUR ] }, Species.GROWLITHE, { 1: [ Species.TURTWIG ], 18: [ Species.GROTLE ], 32: [ Species.TORTERRA ] } ] }, [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.SUDOWOODO ] }, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] }, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.VIRIZION ] }, [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [ Species.JUMPLUFF, Species.SUNFLORA, Species.WHIMSICOTT ], [TimeOfDay.DAY]: [ Species.JUMPLUFF, Species.SUNFLORA, Species.WHIMSICOTT ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] }, [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.VENUSAUR, Species.SUDOWOODO, Species.TORTERRA ] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] }, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.VIRIZION ] }, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] } }, [Biome.TALL_GRASS]: { @@ -487,14 +487,14 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.NIGHT]: [ Species.ARBOK, Species.CLODSIRE ], [TimeOfDay.ALL]: [ Species.POLIWRATH, Species.SWALOT, Species.WHISCASH, Species.GASTRODON, Species.SEISMITOAD, Species.STUNFISK, Species.TOXAPEX ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.FERALIGATR, Species.POLITOED, Species.SWAMPERT ] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [ Species.GALAR_SLOWBRO, Species.GALAR_SLOWKING, Species.HISUI_GOODRA ], [TimeOfDay.DAY]: [ Species.GALAR_SLOWBRO, Species.GALAR_SLOWKING, Species.HISUI_GOODRA ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [ Species.AZELF, Species.NAGANADEL, Species.GALAR_STUNFISK ] + [TimeOfDay.ALL]: [ Species.FERALIGATR, Species.POLITOED, Species.SWAMPERT, Species.GALAR_STUNFISK ] }, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.AZELF, Species.NAGANADEL ] }, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] } }, [Biome.BEACH]: { @@ -521,7 +521,7 @@ export const biomePokemonPools: BiomePokemonPools = { }, [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ { 1: [ Species.QUAXLY ], 16: [ Species.QUAXWELL ], 36: [ Species.QUAQUAVAL ] }, Species.TATSUGIRI ] }, [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ { 1: [ Species.TIRTOUGA ], 37: [ Species.CARRACOSTA ] } ] }, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.KELDEO ] }, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.CRESSELIA, Species.KELDEO, Species.TAPU_FINI ] }, [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [ Species.STARMIE ], [TimeOfDay.DAY]: [ Species.STARMIE ], @@ -530,7 +530,7 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.ALL]: [ Species.KINGLER, Species.CRAWDAUNT, Species.WORMADAM, Species.CRUSTLE, Species.BARBARACLE, Species.CLAWITZER, Species.TOXAPEX, Species.PALOSSAND ] }, [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.CARRACOSTA, Species.QUAQUAVAL ] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.KELDEO ] }, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.CRESSELIA, Species.KELDEO, Species.TAPU_FINI ] }, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] } }, [Biome.LAKE]: { @@ -640,8 +640,14 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.LANTURN, Species.QWILFISH, Species.CORSOLA, Species.OCTILLERY, Species.MANTINE, Species.WAILORD, Species.HUNTAIL, Species.GOREBYSS, Species.LUVDISC, Species.JELLICENT, Species.ALOMOMOLA, Species.DRAGALGE, Species.BARRASKEWDA, Species.DONDOZO ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.OMASTAR, Species.KABUTOPS, Species.RELICANTH, Species.EELEKTROSS, Species.PYUKUMUKU, Species.DHELMISE, Species.ARCTOVISH, Species.BASCULEGION ] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MILOTIC, Species.NIHILEGO, Species.CURSOLA, Species.OVERQWIL ] }, + [BiomePoolTier.BOSS_RARE]: { + [TimeOfDay.DAWN]: [], + [TimeOfDay.DAY]: [], + [TimeOfDay.DUSK]: [], + [TimeOfDay.NIGHT]: [], + [TimeOfDay.ALL]: [ Species.OMASTAR, Species.KABUTOPS, Species.RELICANTH, Species.EELEKTROSS, Species.PYUKUMUKU, Species.DHELMISE, Species.CURSOLA, Species.ARCTOVISH, Species.BASCULEGION, Species.OVERQWIL ] + }, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MILOTIC, Species.NIHILEGO ] }, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.KYOGRE ] } }, [Biome.MOUNTAIN]: { @@ -840,7 +846,7 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.ALL]: [ { 1: [ Species.DARUMAKA ], 35: [ Species.DARMANITAN ] } ] }, [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ { 1: [ Species.LILEEP ], 40: [ Species.CRADILY ] }, { 1: [ Species.ANORITH ], 40: [ Species.ARMALDO ] } ] }, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.REGIROCK, Species.PHEROMOSA ] }, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.REGIROCK, Species.TAPU_BULU, Species.PHEROMOSA ] }, [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [ Species.HIPPOWDON, Species.HELIOLISK, Species.RABSCA ], [TimeOfDay.DAY]: [ Species.HIPPOWDON, Species.HELIOLISK, Species.RABSCA ], @@ -849,7 +855,7 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.ALL]: [ Species.SANDSLASH, Species.DRAPION, Species.DARMANITAN, Species.MARACTUS, Species.SANDACONDA, Species.BRAMBLEGHAST ] }, [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.CRADILY, Species.ARMALDO ] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.REGIROCK, Species.PHEROMOSA ] }, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.REGIROCK, Species.TAPU_BULU, Species.PHEROMOSA ] }, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] } }, [Biome.ICE_CAVE]: { @@ -951,9 +957,9 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.TAUROS, Species.MILTANK, Species.GARDEVOIR, Species.PURUGLY, Species.ZEBSTRIKA, Species.FLORGES, Species.RIBOMBEE, Species.DUBWOOL ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.BLISSEY, Species.SYLVEON, Species.FLAPPLE, Species.APPLETUN, Species.MEOWSCARADA, Species.HYDRAPPLE ] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [ Species.HISUI_LILLIGANT ], [TimeOfDay.DAY]: [ Species.HISUI_LILLIGANT ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MELOETTA ] }, - [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] } + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [ Species.HISUI_LILLIGANT ], [TimeOfDay.DAY]: [ Species.HISUI_LILLIGANT ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.BLISSEY, Species.SYLVEON, Species.FLAPPLE, Species.APPLETUN, Species.MEOWSCARADA, Species.HYDRAPPLE ] }, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MELOETTA ] }, + [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.SHAYMIN ] } }, [Biome.POWER_PLANT]: { [BiomePoolTier.COMMON]: { @@ -984,8 +990,8 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.RAICHU, Species.MANECTRIC, Species.LUXRAY, Species.MAGNEZONE, Species.ELECTIVIRE, Species.DEDENNE, Species.VIKAVOLT, Species.TOGEDEMARU, Species.PAWMOT, Species.BELLIBOLT ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.JOLTEON, Species.AMPHAROS ] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ZAPDOS, Species.RAIKOU, Species.THUNDURUS, Species.XURKITREE, Species.ZERAORA, Species.REGIELEKI, Species.HISUI_ELECTRODE ] }, + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.JOLTEON, Species.AMPHAROS, Species.HISUI_ELECTRODE ] }, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ZAPDOS, Species.RAIKOU, Species.THUNDURUS, Species.XURKITREE, Species.ZERAORA, Species.REGIELEKI ] }, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ZEKROM ] } }, [Biome.VOLCANO]: { @@ -1035,9 +1041,9 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [ Species.CHARIZARD, Species.FLAREON, Species.TYPHLOSION, Species.INFERNAPE, Species.EMBOAR, Species.VOLCARONA, Species.DELPHOX, Species.INCINEROAR, Species.CINDERACE, Species.ARMAROUGE ] + [TimeOfDay.ALL]: [ Species.CHARIZARD, Species.FLAREON, Species.TYPHLOSION, Species.INFERNAPE, Species.EMBOAR, Species.VOLCARONA, Species.DELPHOX, Species.INCINEROAR, Species.CINDERACE, Species.ARMAROUGE, Species.HISUI_ARCANINE ] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MOLTRES, Species.ENTEI, Species.ROTOM, Species.HEATRAN, Species.VOLCANION, Species.CHI_YU, Species.HISUI_ARCANINE ] }, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MOLTRES, Species.ENTEI, Species.ROTOM, Species.HEATRAN, Species.VOLCANION, Species.CHI_YU ] }, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.RESHIRAM ] } }, [Biome.GRAVEYARD]: { @@ -1074,8 +1080,8 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.GENGAR, Species.BANETTE, Species.DRIFBLIM, Species.MISMAGIUS, Species.DUSKNOIR, Species.CHANDELURE, Species.TREVENANT, Species.GOURGEIST, Species.MIMIKYU, Species.POLTEAGEIST, Species.HOUNDSTONE ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.SKELEDIRGE, Species.CERULEDGE ] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MARSHADOW, Species.SPECTRIER, Species.HISUI_TYPHLOSION ] }, + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.SKELEDIRGE, Species.CERULEDGE, Species.HISUI_TYPHLOSION ] }, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MARSHADOW, Species.SPECTRIER ] }, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.GIRATINA ] } }, [Biome.DOJO]: { @@ -1109,8 +1115,8 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.HITMONLEE, Species.HITMONCHAN, Species.HARIYAMA, Species.MEDICHAM, Species.LUCARIO, Species.TOXICROAK, Species.THROH, Species.SAWK, Species.SCRAFTY, Species.MIENSHAO, Species.BEWEAR, Species.GRAPPLOCT, Species.ANNIHILAPE ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.HITMONTOP, Species.GALLADE, Species.PANGORO ] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.TERRAKION, Species.SIRFETCHD, Species.URSHIFU, Species.HISUI_DECIDUEYE ] }, + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.HITMONTOP, Species.GALLADE, Species.PANGORO, Species.SIRFETCHD, Species.HISUI_DECIDUEYE ] }, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.TERRAKION, Species.URSHIFU ] }, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ZAMAZENTA, Species.GALAR_ZAPDOS ] } }, [Biome.FACTORY]: { @@ -1168,8 +1174,8 @@ export const biomePokemonPools: BiomePokemonPools = { }, [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.REGISTEEL, Species.FEZANDIPITI ] }, [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ALAKAZAM, Species.HYPNO, Species.XATU, Species.GRUMPIG, Species.CLAYDOL, Species.SIGILYPH, Species.GOTHITELLE, Species.BEHEEYEM, Species.TINKATON ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [ Species.ESPEON ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MR_MIME, Species.WOBBUFFET, Species.ARCHEOPS ] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [ Species.RUNERIGUS ], [TimeOfDay.NIGHT]: [ Species.RUNERIGUS ], [TimeOfDay.ALL]: [ Species.REGISTEEL, Species.FEZANDIPITI ] }, + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [ Species.ESPEON ], [TimeOfDay.DUSK]: [ Species.RUNERIGUS ], [TimeOfDay.NIGHT]: [ Species.RUNERIGUS ], [TimeOfDay.ALL]: [ Species.MR_MIME, Species.WOBBUFFET, Species.ARCHEOPS ] }, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.REGISTEEL, Species.FEZANDIPITI ] }, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.KORAIDON ] } }, [Biome.WASTELAND]: { @@ -1245,7 +1251,7 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.ALL]: [ Species.ABSOL, Species.SPIRITOMB, { 1: [ Species.ZORUA ], 30: [ Species.ZOROARK ] }, { 1: [ Species.DEINO ], 50: [ Species.ZWEILOUS ], 64: [ Species.HYDREIGON ] } ] }, [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.UMBREON ] }, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.DARKRAI, Species.GUZZLORD, Species.GALAR_MOLTRES ] }, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.DARKRAI, Species.GALAR_MOLTRES ] }, [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], @@ -1253,8 +1259,8 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.HOUNDOOM, Species.SABLEYE, Species.ABSOL, Species.HONCHKROW, Species.SPIRITOMB, Species.LIEPARD, Species.ZOROARK, Species.HYDREIGON, Species.THIEVUL, Species.GRIMMSNARL, Species.MABOSSTIFF, Species.KINGAMBIT ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.UMBREON ] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.DARKRAI, Species.GUZZLORD, Species.HISUI_SAMUROTT ] }, + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.UMBREON, Species.HISUI_SAMUROTT ] }, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.DARKRAI ] }, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.PALKIA, Species.YVELTAL, Species.GALAR_MOLTRES ] } }, [Biome.SPACE]: { @@ -1274,10 +1280,10 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.ALL]: [ { 1: [ Species.BELDUM ], 20: [ Species.METANG ], 45: [ Species.METAGROSS ] }, Species.SIGILYPH, { 1: [ Species.SOLOSIS ], 32: [ Species.DUOSION ], 41: [ Species.REUNICLUS ] } ] }, [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ { 1: [ Species.PORYGON ], 30: [ Species.PORYGON2 ] } ] }, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.CRESSELIA, { 1: [ Species.COSMOG ], 43: [ Species.COSMOEM ] }, Species.CELESTEELA ] }, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ { 1: [ Species.COSMOG ], 43: [ Species.COSMOEM ] }, Species.CELESTEELA ] }, [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [ Species.SOLROCK ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [ Species.LUNATONE ], [TimeOfDay.ALL]: [ Species.CLEFABLE, Species.BRONZONG, Species.MUSHARNA, Species.REUNICLUS, Species.MINIOR ] }, [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.METAGROSS, Species.PORYGON_Z ] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.CRESSELIA, Species.CELESTEELA ] }, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.CELESTEELA ] }, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [ Species.SOLGALEO ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [ Species.LUNALA ], [TimeOfDay.ALL]: [ Species.RAYQUAZA, Species.NECROZMA ] } }, [Biome.CONSTRUCTION_SITE]: { @@ -1307,10 +1313,10 @@ export const biomePokemonPools: BiomePokemonPools = { }, [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [ { 1: [ Species.GALAR_MEOWTH ], 28: [ Species.PERRSERKER ] } ], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ONIX, Species.HITMONLEE, Species.HITMONCHAN, Species.DURALUDON ] }, [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.DITTO, Species.HITMONTOP ] }, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.COBALION ] }, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.COBALION, Species.STAKATAKA ] }, [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MACHAMP, Species.CONKELDURR ] }, [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [ Species.PERRSERKER ], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ARCHALUDON ] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.COBALION ] }, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.COBALION, Species.STAKATAKA ] }, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] } }, [Biome.JUNGLE]: { @@ -1352,7 +1358,7 @@ export const biomePokemonPools: BiomePokemonPools = { ] }, [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.KANGASKHAN, Species.CHATOT, Species.KLEAVOR ] }, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.VIRIZION, Species.BUZZWOLE, Species.ZARUDE, Species.MUNKIDORI ] }, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.TAPU_LELE, Species.BUZZWOLE, Species.ZARUDE, Species.MUNKIDORI ] }, [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [ Species.EXEGGUTOR, Species.TROPIUS, Species.CHERRIM, Species.LEAVANNY, Species.KOMALA ], [TimeOfDay.DAY]: [ Species.EXEGGUTOR, Species.TROPIUS, Species.CHERRIM, Species.LEAVANNY, Species.KOMALA ], @@ -1367,7 +1373,7 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.KANGASKHAN, Species.SCIZOR, Species.SLAKING, Species.LEAFEON, Species.SERPERIOR, Species.RILLABOOM ] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.VIRIZION, Species.BUZZWOLE, Species.ZARUDE, Species.MUNKIDORI ] }, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.TAPU_LELE, Species.BUZZWOLE, Species.ZARUDE, Species.MUNKIDORI ] }, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.KLEAVOR ] } }, [Biome.FAIRY_CAVE]: { @@ -1445,10 +1451,10 @@ export const biomePokemonPools: BiomePokemonPools = { }, [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ { 1: [ Species.GIMMIGHOUL ], 40: [ Species.GHOLDENGO ] } ] }, [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] }, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.HOOPA, Species.TAPU_KOKO, Species.TAPU_LELE, Species.TAPU_BULU, Species.TAPU_FINI ] }, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.HOOPA, Species.TAPU_KOKO ] }, [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.CHIMECHO, Species.COFAGRIGUS, Species.GOLURK, Species.AEGISLASH ] }, [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.GHOLDENGO ] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.HOOPA, Species.TAPU_KOKO, Species.TAPU_LELE, Species.TAPU_BULU, Species.TAPU_FINI ] }, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.HOOPA, Species.TAPU_KOKO ] }, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.REGIGIGAS ] } }, [Biome.SLUM]: { @@ -1479,10 +1485,10 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.ALL]: [ { 1: [ Species.VAROOM ], 40: [ Species.REVAVROOM ] } ] }, [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] }, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] }, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.GUZZLORD ] }, [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [ Species.SKUNTANK, Species.WATCHOG ], [TimeOfDay.NIGHT]: [ Species.SKUNTANK, Species.WATCHOG ], [TimeOfDay.ALL]: [ Species.MUK, Species.WEEZING, Species.WORMADAM, Species.GARBODOR ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [ Species.TOXTRICITY, Species.OBSTAGOON ], [TimeOfDay.NIGHT]: [ Species.TOXTRICITY, Species.OBSTAGOON ], [TimeOfDay.ALL]: [ Species.REVAVROOM ] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.GALAR_WEEZING ] }, + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [ Species.TOXTRICITY, Species.OBSTAGOON ], [TimeOfDay.NIGHT]: [ Species.TOXTRICITY, Species.OBSTAGOON ], [TimeOfDay.ALL]: [ Species.REVAVROOM, Species.GALAR_WEEZING ] }, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.GUZZLORD ] }, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] } }, [Biome.SNOWY_FOREST]: { @@ -1516,14 +1522,14 @@ export const biomePokemonPools: BiomePokemonPools = { }, [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.GLASTRIER, Species.CHIEN_PAO, Species.GALAR_ARTICUNO ] }, [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [ Species.WYRDEER ], [TimeOfDay.DAY]: [ Species.WYRDEER ], [TimeOfDay.DUSK]: [ Species.FROSMOTH ], [TimeOfDay.NIGHT]: [ Species.FROSMOTH ], [TimeOfDay.ALL]: [ Species.ABOMASNOW, Species.URSALUNA ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ARCTOZOLT, Species.ALOLA_SANDSLASH, Species.ALOLA_NINETALES ] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [ Species.SNEASLER, Species.GALAR_DARMANITAN ], [TimeOfDay.DAY]: [ Species.SNEASLER, Species.GALAR_DARMANITAN ], [TimeOfDay.DUSK]: [ Species.HISUI_ZOROARK ], [TimeOfDay.NIGHT]: [ Species.HISUI_ZOROARK ], - [TimeOfDay.ALL]: [ Species.MR_RIME, Species.GLASTRIER, Species.CHIEN_PAO ] + [TimeOfDay.ALL]: [ Species.MR_RIME, Species.ARCTOZOLT, Species.ALOLA_SANDSLASH, Species.ALOLA_NINETALES ] }, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.GLASTRIER, Species.CHIEN_PAO ] }, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ZACIAN, Species.GALAR_ARTICUNO ] } }, [Biome.ISLAND]: { @@ -1550,7 +1556,7 @@ export const biomePokemonPools: BiomePokemonPools = { }, [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] }, [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] }, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.STAKATAKA, Species.BLACEPHALON ] }, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.BLACEPHALON ] }, [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [ Species.ALOLA_RAICHU, Species.ALOLA_EXEGGUTOR ], [TimeOfDay.DAY]: [ Species.ALOLA_RAICHU, Species.ALOLA_EXEGGUTOR ], @@ -1559,7 +1565,7 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.ALL]: [ Species.ORICORIO, Species.BRUXISH, Species.ALOLA_SANDSLASH, Species.ALOLA_NINETALES, Species.ALOLA_DUGTRIO, Species.ALOLA_GOLEM, Species.ALOLA_MUK ] }, [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.STAKATAKA, Species.BLACEPHALON ] }, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.BLACEPHALON ] }, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] } }, [Biome.LABORATORY]: { @@ -4371,8 +4377,8 @@ export const biomeTrainerPools: BiomeTrainerPools = { ] ], [ Species.CRESSELIA, Type.PSYCHIC, -1, [ - [ Biome.SPACE, BiomePoolTier.ULTRA_RARE ], - [ Biome.SPACE, BiomePoolTier.BOSS_SUPER_RARE ] + [ Biome.BEACH, BiomePoolTier.ULTRA_RARE ], + [ Biome.BEACH, BiomePoolTier.BOSS_SUPER_RARE ] ] ], [ Species.PHIONE, Type.WATER, -1, [ ] @@ -4384,7 +4390,9 @@ export const biomeTrainerPools: BiomeTrainerPools = { [ Biome.ABYSS, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.SHAYMIN, Type.GRASS, -1, [ ] + [ Species.SHAYMIN, Type.GRASS, -1, [ + [ Biome.MEADOW, BiomePoolTier.BOSS_ULTRA_RARE ] + ] ], [ Species.ARCEUS, Type.NORMAL, -1, [ ] ], @@ -5103,8 +5111,8 @@ export const biomeTrainerPools: BiomeTrainerPools = { ] ], [ Species.VIRIZION, Type.GRASS, Type.FIGHTING, [ - [ Biome.JUNGLE, BiomePoolTier.ULTRA_RARE ], - [ Biome.JUNGLE, BiomePoolTier.BOSS_SUPER_RARE ] + [ Biome.GRASS, BiomePoolTier.ULTRA_RARE ], + [ Biome.GRASS, BiomePoolTier.BOSS_SUPER_RARE ] ] ], [ Species.TORNADUS, Type.FLYING, -1, [ @@ -5779,18 +5787,18 @@ export const biomeTrainerPools: BiomeTrainerPools = { ] ], [ Species.TAPU_LELE, Type.PSYCHIC, Type.FAIRY, [ - [ Biome.TEMPLE, BiomePoolTier.ULTRA_RARE ], - [ Biome.TEMPLE, BiomePoolTier.BOSS_SUPER_RARE ] + [ Biome.JUNGLE, BiomePoolTier.ULTRA_RARE ], + [ Biome.JUNGLE, BiomePoolTier.BOSS_SUPER_RARE ] ] ], [ Species.TAPU_BULU, Type.GRASS, Type.FAIRY, [ - [ Biome.TEMPLE, BiomePoolTier.ULTRA_RARE ], - [ Biome.TEMPLE, BiomePoolTier.BOSS_SUPER_RARE ] + [ Biome.DESERT, BiomePoolTier.ULTRA_RARE ], + [ Biome.DESERT, BiomePoolTier.BOSS_SUPER_RARE ] ] ], [ Species.TAPU_FINI, Type.WATER, Type.FAIRY, [ - [ Biome.TEMPLE, BiomePoolTier.ULTRA_RARE ], - [ Biome.TEMPLE, BiomePoolTier.BOSS_SUPER_RARE ] + [ Biome.BEACH, BiomePoolTier.ULTRA_RARE ], + [ Biome.BEACH, BiomePoolTier.BOSS_SUPER_RARE ] ] ], [ Species.COSMOG, Type.PSYCHIC, -1, [ @@ -5840,8 +5848,8 @@ export const biomeTrainerPools: BiomeTrainerPools = { ] ], [ Species.GUZZLORD, Type.DARK, Type.DRAGON, [ - [ Biome.ABYSS, BiomePoolTier.ULTRA_RARE ], - [ Biome.ABYSS, BiomePoolTier.BOSS_SUPER_RARE ] + [ Biome.SLUM, BiomePoolTier.ULTRA_RARE ], + [ Biome.SLUM, BiomePoolTier.BOSS_SUPER_RARE ] ] ], [ Species.NECROZMA, Type.PSYCHIC, -1, [ @@ -5867,8 +5875,8 @@ export const biomeTrainerPools: BiomeTrainerPools = { ] ], [ Species.STAKATAKA, Type.ROCK, Type.STEEL, [ - [ Biome.ISLAND, BiomePoolTier.ULTRA_RARE ], - [ Biome.ISLAND, BiomePoolTier.BOSS_SUPER_RARE ] + [ Biome.CONSTRUCTION_SITE, BiomePoolTier.ULTRA_RARE ], + [ Biome.CONSTRUCTION_SITE, BiomePoolTier.BOSS_SUPER_RARE ] ] ], [ Species.BLACEPHALON, Type.FIRE, Type.GHOST, [ @@ -6129,21 +6137,21 @@ export const biomeTrainerPools: BiomeTrainerPools = { ], [ Species.CURSOLA, Type.GHOST, -1, [ [ Biome.SEABED, BiomePoolTier.SUPER_RARE ], - [ Biome.SEABED, BiomePoolTier.BOSS_SUPER_RARE ] + [ Biome.SEABED, BiomePoolTier.BOSS_RARE ] ] ], [ Species.SIRFETCHD, Type.FIGHTING, -1, [ - [ Biome.DOJO, BiomePoolTier.BOSS_SUPER_RARE ] + [ Biome.DOJO, BiomePoolTier.BOSS_RARE ] ] ], [ Species.MR_RIME, Type.ICE, Type.PSYCHIC, [ [ Biome.SNOWY_FOREST, BiomePoolTier.SUPER_RARE ], - [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_SUPER_RARE ] + [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_RARE ] ] ], [ Species.RUNERIGUS, Type.GROUND, Type.GHOST, [ [ Biome.RUINS, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ] ], - [ Biome.RUINS, BiomePoolTier.BOSS_SUPER_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ] ] + [ Biome.RUINS, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ] ] ] ], [ Species.MILCERY, Type.FAIRY, -1, [ @@ -6305,11 +6313,11 @@ export const biomeTrainerPools: BiomeTrainerPools = { ] ], [ Species.SNEASLER, Type.FIGHTING, Type.POISON, [ - [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ] + [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ] ] ], [ Species.OVERQWIL, Type.DARK, Type.POISON, [ - [ Biome.SEABED, BiomePoolTier.BOSS_SUPER_RARE ] + [ Biome.SEABED, BiomePoolTier.BOSS_RARE ] ] ], [ Species.ENAMORUS, Type.FAIRY, Type.FLYING, [ @@ -6972,7 +6980,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { ], [ Species.GALAR_SLOWBRO, Type.POISON, Type.PSYCHIC, [ [ Biome.SWAMP, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ], - [ Biome.SWAMP, BiomePoolTier.BOSS_SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ] + [ Biome.SWAMP, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ] ] ], [ Species.GALAR_FARFETCHD, Type.FIGHTING, -1, [ @@ -6980,7 +6988,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { ] ], [ Species.GALAR_WEEZING, Type.POISON, Type.FAIRY, [ - [ Biome.SLUM, BiomePoolTier.BOSS_SUPER_RARE ] + [ Biome.SLUM, BiomePoolTier.BOSS_RARE ] ] ], [ Species.GALAR_MR_MIME, Type.ICE, Type.PSYCHIC, [ @@ -7003,7 +7011,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { ] ], [ Species.GALAR_SLOWKING, Type.POISON, Type.PSYCHIC, [ - [ Biome.SWAMP, BiomePoolTier.BOSS_SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ] + [ Biome.SWAMP, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ] ] ], [ Species.GALAR_CORSOLA, Type.GHOST, -1, [ @@ -7024,7 +7032,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { ], [ Species.GALAR_DARMANITAN, Type.ICE, -1, [ [ Biome.SNOWY_FOREST, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ], - [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ] + [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ] ] ], [ Species.GALAR_YAMASK, Type.GROUND, Type.GHOST, [ @@ -7033,7 +7041,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { ], [ Species.GALAR_STUNFISK, Type.GROUND, Type.STEEL, [ [ Biome.SWAMP, BiomePoolTier.SUPER_RARE ], - [ Biome.SWAMP, BiomePoolTier.BOSS_SUPER_RARE ] + [ Biome.SWAMP, BiomePoolTier.BOSS_RARE ] ] ], [ Species.HISUI_GROWLITHE, Type.FIRE, Type.ROCK, [ @@ -7041,7 +7049,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { ] ], [ Species.HISUI_ARCANINE, Type.FIRE, Type.ROCK, [ - [ Biome.VOLCANO, BiomePoolTier.BOSS_SUPER_RARE ] + [ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ] ] ], [ Species.HISUI_VOLTORB, Type.ELECTRIC, Type.GRASS, [ @@ -7049,11 +7057,11 @@ export const biomeTrainerPools: BiomeTrainerPools = { ] ], [ Species.HISUI_ELECTRODE, Type.ELECTRIC, Type.GRASS, [ - [ Biome.POWER_PLANT, BiomePoolTier.BOSS_SUPER_RARE ] + [ Biome.POWER_PLANT, BiomePoolTier.BOSS_RARE ] ] ], [ Species.HISUI_TYPHLOSION, Type.FIRE, Type.GHOST, [ - [ Biome.GRAVEYARD, BiomePoolTier.BOSS_SUPER_RARE ] + [ Biome.GRAVEYARD, BiomePoolTier.BOSS_RARE ] ] ], [ Species.HISUI_QWILFISH, Type.DARK, Type.POISON, [ @@ -7065,11 +7073,11 @@ export const biomeTrainerPools: BiomeTrainerPools = { ] ], [ Species.HISUI_SAMUROTT, Type.WATER, Type.DARK, [ - [ Biome.ABYSS, BiomePoolTier.BOSS_SUPER_RARE ] + [ Biome.ABYSS, BiomePoolTier.BOSS_RARE ] ] ], [ Species.HISUI_LILLIGANT, Type.GRASS, Type.FIGHTING, [ - [ Biome.MEADOW, BiomePoolTier.BOSS_SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ] + [ Biome.MEADOW, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ] ] ], [ Species.HISUI_ZORUA, Type.NORMAL, Type.GHOST, [ @@ -7078,7 +7086,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { ], [ Species.HISUI_ZOROARK, Type.NORMAL, Type.GHOST, [ [ Biome.SNOWY_FOREST, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ] ], - [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_SUPER_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ] ] + [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ] ] ] ], [ Species.HISUI_BRAVIARY, Type.PSYCHIC, Type.FLYING, [ @@ -7091,7 +7099,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { ], [ Species.HISUI_GOODRA, Type.STEEL, Type.DRAGON, [ [ Biome.SWAMP, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ], - [ Biome.SWAMP, BiomePoolTier.BOSS_SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ] + [ Biome.SWAMP, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ] ] ], [ Species.HISUI_AVALUGG, Type.ICE, Type.ROCK, [ @@ -7099,7 +7107,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { ] ], [ Species.HISUI_DECIDUEYE, Type.GRASS, Type.FIGHTING, [ - [ Biome.DOJO, BiomePoolTier.BOSS_SUPER_RARE ] + [ Biome.DOJO, BiomePoolTier.BOSS_RARE ] ] ], [ Species.PALDEA_TAUROS, Type.FIGHTING, -1, [ From 75cbe4fe2cd492e36f51e937ca200b29f7734f54 Mon Sep 17 00:00:00 2001 From: Lugiad Date: Sat, 4 May 2024 00:43:32 +0200 Subject: [PATCH 08/10] French Update to menu.ts (#436) --- src/locales/fr/menu.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/locales/fr/menu.ts b/src/locales/fr/menu.ts index 7de214271eb..7cea2c6d306 100644 --- a/src/locales/fr/menu.ts +++ b/src/locales/fr/menu.ts @@ -35,8 +35,8 @@ export const menu: SimpleTranslationEntries = { "noRankings": "Pas de Classement", "loading": "Chargement…", "playersOnline": "Joueurs Connectés", - "empty":"Empty", - "yes":"Yes", - "no":"No", - "confirmStartTeam":'Begin with these Pokémon?', + "empty":"Vide", + "yes":"Oui", + "no":"Non", + "confirmStartTeam":'Commencer avec ces Pokémon ?', } as const; From 0c9402a649c94cc06fa04927519d606cb1624a03 Mon Sep 17 00:00:00 2001 From: Lugiad Date: Sat, 4 May 2024 01:07:06 +0200 Subject: [PATCH 09/10] Update French tutorial.ts (#437) Changes made after in game test --- src/locales/fr/tutorial.ts | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/locales/fr/tutorial.ts b/src/locales/fr/tutorial.ts index 1502b285356..bcd76d61da2 100644 --- a/src/locales/fr/tutorial.ts +++ b/src/locales/fr/tutorial.ts @@ -25,12 +25,9 @@ export const tutorial: SimpleTranslationEntries = { $violet. Si un starter que vous possédez l’a, essayez de $l’ajouter à votre équipe. Vérifiez bien son résumé !`, - "statChange": `Les changements de stats restent à travers les combats tant que le Pokémon - $n’est pas rappelé. - $Vos Pokémon sont rappelés avant un combat de Dresseur et avant d’entrer - $dans un nouveau biome. - $Vous pouvez également voir en combat les changements de stats d’un Pokémon - $en maintenant C ou Maj.`, + "statChange": `Les changements de stats restent à travers les combats tant que le Pokémon n’est pas rappelé. + $Vos Pokémon sont rappelés avant un combat de Dresseur et avant d’entrer dans un nouveau biome. + $Vous pouvez également voir en combat les changements de stats d’un Pokémon en maintenant C ou Maj.`, "selectItem": `Après chaque combat, vous avez le choix entre 3 objets\ntirés au sort. Vous ne pouvez en prendre qu’un. $Cela peut être des objets consommables, des objets à\nfaire tenir, ou des objets passifs aux effets permanents. From 77c3a5ad78271b8390e3d7cfcd48ec192013dc2c Mon Sep 17 00:00:00 2001 From: Lugiad Date: Sat, 4 May 2024 01:07:51 +0200 Subject: [PATCH 10/10] Minor update to French battle.ts (#438) * Minor update to French battle.ts Added missing spaces before some exclamation marks * Minor Update to French battle.ts --- src/locales/fr/battle.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/locales/fr/battle.ts b/src/locales/fr/battle.ts index 8768c30155a..742a8f63d77 100644 --- a/src/locales/fr/battle.ts +++ b/src/locales/fr/battle.ts @@ -14,11 +14,11 @@ export const battle: SimpleTranslationEntries = { "pokemonCaught": "Vous avez attrapé {{pokemonName}} !", "pokemon": "Pokémon", "sendOutPokemon": "{{pokemonName}} ! Go !", - "hitResultCriticalHit": "Coup critique!", - "hitResultSuperEffective": "C’est super efficace!", + "hitResultCriticalHit": "Coup critique !", + "hitResultSuperEffective": "C’est super efficace !", "hitResultNotVeryEffective": "Ce n’est pas très efficace…", "hitResultNoEffect": "Ça n’affecte pas {{pokemonName}}…", - "hitResultOneHitKO": "K.O. en un coup!", + "hitResultOneHitKO": "K.O. en un coup !", "attackFailed": "Mais cela échoue !", "attackHitsCount": `Touché {{count}} fois !`, "expGain": "{{pokemonName}} gagne\n{{exp}} Points d’Exp !", @@ -36,7 +36,7 @@ export const battle: SimpleTranslationEntries = { "moveDisabled": "{{moveName}} est sous entrave !", "noPokeballForce": "Une force mystérieuse\nempêche l’utilisation des Poké Balls.", "noPokeballTrainer": "Le Dresseur détourne la Ball\nVoler, c’est mal !", - "noPokeballMulti": "Impossible ! On ne peut pas viser\nquand il y a deux Pokémon!", + "noPokeballMulti": "Impossible ! On ne peut pas viser\nquand il y a deux Pokémon !", "noPokeballStrong": "Le Pokémon est trop fort pour être capturé !\nVous devez d’abord l’affaiblir !", "noEscapeForce": "Une force mystérieuse\nempêche la fuite.", "noEscapeTrainer": "On ne s’enfuit pas d’un\ncombat de Dresseurs !", @@ -49,4 +49,4 @@ export const battle: SimpleTranslationEntries = { "skipItemQuestion": "Êtes-vous sûr·e de ne pas vouloir prendre d’objet ?", "eggHatching": "Oh ?", "ivScannerUseQuestion": "Utiliser le Scanner d’IV sur {{pokemonName}} ?" -} as const; \ No newline at end of file +} as const;