Compare commits

..

No commits in common. "5d6181926a49e995d071f0b314971ca0662416a6" and "cbf06ffa2ca647dc9ee8a89028cc044431c8b89d" have entirely different histories.

25 changed files with 192 additions and 381 deletions

View File

@ -19,7 +19,7 @@ If you have the motivation and experience with Typescript/Javascript (or are wil
### ❔ FAQ ### ❔ FAQ
**How do I test a new _______?** **How do I test a new _______?**
- In the `src/overrides.ts` file there are overrides for most values you'll need to change for testing - In the `battle-scene.ts` file there are overrides for most values you'll need to change for testing
## 🪧 To Do ## 🪧 To Do

View File

@ -10,7 +10,7 @@
"scale": 1, "scale": 1,
"frames": [ "frames": [
{ {
"filename": "1", "filename": "+1",
"rotated": false, "rotated": false,
"trimmed": false, "trimmed": false,
"sourceSize": { "sourceSize": {
@ -31,7 +31,7 @@
} }
}, },
{ {
"filename": "2", "filename": "+2",
"rotated": false, "rotated": false,
"trimmed": false, "trimmed": false,
"sourceSize": { "sourceSize": {
@ -52,7 +52,7 @@
} }
}, },
{ {
"filename": "3", "filename": "+3",
"rotated": false, "rotated": false,
"trimmed": false, "trimmed": false,
"sourceSize": { "sourceSize": {
@ -73,7 +73,7 @@
} }
}, },
{ {
"filename": "4", "filename": "+4",
"rotated": false, "rotated": false,
"trimmed": false, "trimmed": false,
"sourceSize": { "sourceSize": {
@ -94,7 +94,7 @@
} }
}, },
{ {
"filename": "5", "filename": "+5",
"rotated": false, "rotated": false,
"trimmed": false, "trimmed": false,
"sourceSize": { "sourceSize": {
@ -115,7 +115,7 @@
} }
}, },
{ {
"filename": "6", "filename": "+6",
"rotated": false, "rotated": false,
"trimmed": false, "trimmed": false,
"sourceSize": { "sourceSize": {

View File

@ -9,7 +9,7 @@ import { BattlerTag } from "./battler-tags";
import { BattlerTagType } from "./enums/battler-tag-type"; import { BattlerTagType } from "./enums/battler-tag-type";
import { StatusEffect, getStatusEffectDescriptor, getStatusEffectHealText } from "./status-effect"; import { StatusEffect, getStatusEffectDescriptor, getStatusEffectHealText } from "./status-effect";
import { Gender } from "./gender"; import { Gender } from "./gender";
import Move, { AttackMove, MoveCategory, MoveFlags, MoveTarget, RecoilAttr, StatusMoveTypeImmunityAttr, FlinchAttr, OneHitKOAttr, HitHealAttr, StrengthSapHealAttr, allMoves, StatusMove } from "./move"; import Move, { AttackMove, MoveCategory, MoveFlags, MoveTarget, RecoilAttr, StatusMoveTypeImmunityAttr, FlinchAttr, OneHitKOAttr, HitHealAttr, StrengthSapHealAttr, allMoves } from "./move";
import { ArenaTagSide, ArenaTrapTag } from "./arena-tag"; import { ArenaTagSide, ArenaTrapTag } from "./arena-tag";
import { ArenaTagType } from "./enums/arena-tag-type"; import { ArenaTagType } from "./enums/arena-tag-type";
import { Stat } from "./pokemon-stat"; import { Stat } from "./pokemon-stat";
@ -580,35 +580,6 @@ 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 { export class PostDefendApplyArenaTrapTagAbAttr extends PostDefendAbAttr {
private condition: PokemonDefendCondition; private condition: PokemonDefendCondition;
private tagType: ArenaTagType; private tagType: ArenaTagType;
@ -827,16 +798,13 @@ export class PostDefendAbilitySwapAbAttr extends PostDefendAbAttr {
} }
export class PostDefendAbilityGiveAbAttr extends PostDefendAbAttr { export class PostDefendAbilityGiveAbAttr extends PostDefendAbAttr {
private ability: Abilities; constructor() {
constructor(ability: Abilities) {
super(); super();
this.ability = ability;
} }
applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean { applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
if (move.getMove().checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon) && !attacker.getAbility().hasAttr(UnsuppressableAbilityAbAttr) && !attacker.getAbility().hasAttr(PostDefendAbilityGiveAbAttr)) { if (move.getMove().checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon) && !attacker.getAbility().hasAttr(UnsuppressableAbilityAbAttr) && !attacker.getAbility().hasAttr(PostDefendAbilityGiveAbAttr)) {
attacker.summonData.ability = this.ability; attacker.summonData.ability = pokemon.getAbility().id;
return true; return true;
} }
@ -1788,53 +1756,6 @@ function getAnticipationCondition(): AbAttrCondition {
}; };
} }
export class ForewarnAbAttr extends PostSummonAbAttr {
constructor() {
super(true);
}
applyPostSummon(pokemon: Pokemon, passive: boolean, args: any[]): boolean {
let maxPowerSeen = 0;
let maxMove = "";
let movePower = 0;
for (let opponent of pokemon.getOpponents()) {
for (let move of opponent.moveset) {
if (move.getMove() instanceof StatusMove) {
movePower = 1;
} else if (move.getMove().findAttr(attr => attr instanceof OneHitKOAttr)) {
movePower = 150;
} else if (move.getMove().id === Moves.COUNTER || move.getMove().id === Moves.MIRROR_COAT || move.getMove().id === Moves.METAL_BURST) {
movePower = 120;
} else if (move.getMove().power === -1) {
movePower = 80;
} else {
movePower = move.getMove().power;
}
if (movePower > maxPowerSeen) {
maxPowerSeen = movePower;
maxMove = move.getName();
}
}
}
pokemon.scene.queueMessage(getPokemonMessage(pokemon, " was forewarned about " + maxMove + "!"));
return true;
}
}
export class FriskAbAttr extends PostSummonAbAttr {
constructor() {
super(true);
}
applyPostSummon(pokemon: Pokemon, passive: boolean, args: any[]): boolean {
for (let opponent of pokemon.getOpponents()) {
pokemon.scene.queueMessage(getPokemonMessage(pokemon, " frisked " + opponent.name + "\'s " + opponent.getAbility().name + "!"));
}
return true;
}
}
export class PostWeatherChangeAbAttr extends AbAttr { export class PostWeatherChangeAbAttr extends AbAttr {
applyPostWeatherChange(pokemon: Pokemon, passive: boolean, weather: WeatherType, args: any[]): boolean { applyPostWeatherChange(pokemon: Pokemon, passive: boolean, weather: WeatherType, args: any[]): boolean {
return false; return false;
@ -1985,19 +1906,13 @@ export class MoodyAbAttr extends PostTurnAbAttr {
} }
applyPostTurn(pokemon: Pokemon, passive: boolean, args: any[]): boolean { applyPostTurn(pokemon: Pokemon, passive: boolean, args: any[]): boolean {
// TODO: Edge case of not choosing to buff or debuff a stat that's already maxed
let selectableStats = [BattleStat.ATK, BattleStat.DEF, BattleStat.SPATK, BattleStat.SPDEF, BattleStat.SPD]; let selectableStats = [BattleStat.ATK, BattleStat.DEF, BattleStat.SPATK, BattleStat.SPDEF, BattleStat.SPD];
let increaseStatArray = selectableStats.filter(s => pokemon.summonData.battleStats[s] < 6); let increaseStat = selectableStats[Utils.randInt(selectableStats.length)];
let decreaseStatArray = selectableStats.filter(s => pokemon.summonData.battleStats[s] > -6); selectableStats = selectableStats.filter(s => s !== increaseStat);
let decreaseStat = selectableStats[Utils.randInt(selectableStats.length)];
if (increaseStatArray.length > 0) { pokemon.scene.unshiftPhase(new StatChangePhase(pokemon.scene, pokemon.getBattlerIndex(), true, [increaseStat], 2));
let increaseStat = increaseStatArray[Utils.randInt(increaseStatArray.length)]; pokemon.scene.unshiftPhase(new StatChangePhase(pokemon.scene, pokemon.getBattlerIndex(), true, [decreaseStat], -1));
decreaseStatArray = decreaseStatArray.filter(s => s !== increaseStat);
pokemon.scene.unshiftPhase(new StatChangePhase(pokemon.scene, pokemon.getBattlerIndex(), true, [increaseStat], 2));
}
if (decreaseStatArray.length > 0) {
let decreaseStat = selectableStats[Utils.randInt(selectableStats.length)];
pokemon.scene.unshiftPhase(new StatChangePhase(pokemon.scene, pokemon.getBattlerIndex(), true, [decreaseStat], -1));
}
return true; return true;
} }
} }
@ -2910,7 +2825,7 @@ export function initAbilities() {
new Ability(Abilities.ANTICIPATION, 4) new Ability(Abilities.ANTICIPATION, 4)
.conditionalAttr(getAnticipationCondition(), PostSummonMessageAbAttr, (pokemon: Pokemon) => getPokemonMessage(pokemon, ' shuddered!')), .conditionalAttr(getAnticipationCondition(), PostSummonMessageAbAttr, (pokemon: Pokemon) => getPokemonMessage(pokemon, ' shuddered!')),
new Ability(Abilities.FOREWARN, 4) new Ability(Abilities.FOREWARN, 4)
.attr(ForewarnAbAttr), .unimplemented(),
new Ability(Abilities.UNAWARE, 4) new Ability(Abilities.UNAWARE, 4)
.attr(IgnoreOpponentStatChangesAbAttr) .attr(IgnoreOpponentStatChangesAbAttr)
.ignorable(), .ignorable(),
@ -2939,7 +2854,7 @@ export function initAbilities() {
new Ability(Abilities.HONEY_GATHER, 4) new Ability(Abilities.HONEY_GATHER, 4)
.unimplemented(), .unimplemented(),
new Ability(Abilities.FRISK, 4) new Ability(Abilities.FRISK, 4)
.attr(FriskAbAttr), .unimplemented(),
new Ability(Abilities.RECKLESS, 4) new Ability(Abilities.RECKLESS, 4)
.attr(MovePowerBoostAbAttr, (user, target, move) => move.getAttrs(RecoilAttr).length && move.id !== Moves.STRUGGLE, 1.2), .attr(MovePowerBoostAbAttr, (user, target, move) => move.getAttrs(RecoilAttr).length && move.id !== Moves.STRUGGLE, 1.2),
new Ability(Abilities.MULTITYPE, 4) new Ability(Abilities.MULTITYPE, 4)
@ -3032,7 +2947,7 @@ export function initAbilities() {
new Ability(Abilities.INFILTRATOR, 5) new Ability(Abilities.INFILTRATOR, 5)
.unimplemented(), .unimplemented(),
new Ability(Abilities.MUMMY, 5) new Ability(Abilities.MUMMY, 5)
.attr(PostDefendAbilityGiveAbAttr, Abilities.MUMMY) .attr(PostDefendAbilityGiveAbAttr)
.bypassFaint(), .bypassFaint(),
new Ability(Abilities.MOXIE, 5) new Ability(Abilities.MOXIE, 5)
.attr(PostVictoryStatChangeAbAttr, BattleStat.ATK, 1), .attr(PostVictoryStatChangeAbAttr, BattleStat.ATK, 1),
@ -3176,7 +3091,7 @@ export function initAbilities() {
new Ability(Abilities.STEELWORKER, 7) new Ability(Abilities.STEELWORKER, 7)
.attr(MoveTypePowerBoostAbAttr, Type.STEEL), .attr(MoveTypePowerBoostAbAttr, Type.STEEL),
new Ability(Abilities.BERSERK, 7) new Ability(Abilities.BERSERK, 7)
.attr(PostDefendHpGatedStatChangeAbAttr, (target, user, move) => move.category !== MoveCategory.STATUS, 0.5, [BattleStat.SPATK], 1), .unimplemented(),
new Ability(Abilities.SLUSH_RUSH, 7) new Ability(Abilities.SLUSH_RUSH, 7)
.attr(BattleStatMultiplierAbAttr, BattleStat.SPD, 2) .attr(BattleStatMultiplierAbAttr, BattleStat.SPD, 2)
.condition(getWeatherCondition(WeatherType.HAIL, WeatherType.SNOW)), .condition(getWeatherCondition(WeatherType.HAIL, WeatherType.SNOW)),
@ -3365,7 +3280,6 @@ export function initAbilities() {
.attr(UncopiableAbilityAbAttr) .attr(UncopiableAbilityAbAttr)
.attr(UnswappableAbilityAbAttr) .attr(UnswappableAbilityAbAttr)
.attr(NoTransformAbilityAbAttr) .attr(NoTransformAbilityAbAttr)
.attr(PostSummonMessageAbAttr, (pokemon: Pokemon) => getPokemonMessage(pokemon, '\'s Neutralizing Gas filled the area!'))
.partial(), .partial(),
new Ability(Abilities.PASTEL_VEIL, 8) new Ability(Abilities.PASTEL_VEIL, 8)
.attr(StatusEffectImmunityAbAttr, StatusEffect.POISON, StatusEffect.TOXIC) .attr(StatusEffectImmunityAbAttr, StatusEffect.POISON, StatusEffect.TOXIC)
@ -3404,7 +3318,7 @@ export function initAbilities() {
.attr(UnswappableAbilityAbAttr) .attr(UnswappableAbilityAbAttr)
.attr(UnsuppressableAbilityAbAttr), .attr(UnsuppressableAbilityAbAttr),
new Ability(Abilities.LINGERING_AROMA, 9) new Ability(Abilities.LINGERING_AROMA, 9)
.attr(PostDefendAbilityGiveAbAttr, Abilities.LINGERING_AROMA) .attr(PostDefendAbilityGiveAbAttr)
.bypassFaint(), .bypassFaint(),
new Ability(Abilities.SEED_SOWER, 9) new Ability(Abilities.SEED_SOWER, 9)
.attr(PostDefendTerrainChangeAbAttr, TerrainType.GRASSY), .attr(PostDefendTerrainChangeAbAttr, TerrainType.GRASSY),
@ -3413,8 +3327,7 @@ export function initAbilities() {
.attr(StatusEffectImmunityAbAttr, StatusEffect.BURN) .attr(StatusEffectImmunityAbAttr, StatusEffect.BURN)
.ignorable(), .ignorable(),
new Ability(Abilities.ANGER_SHELL, 9) new Ability(Abilities.ANGER_SHELL, 9)
.attr(PostDefendHpGatedStatChangeAbAttr, (target, user, move) => move.category !== MoveCategory.STATUS, 0.5, [ BattleStat.ATK, BattleStat.SPATK, BattleStat.SPD ], 1) .unimplemented(),
.attr(PostDefendHpGatedStatChangeAbAttr, (target, user, move) => move.category !== MoveCategory.STATUS, 0.5, [ BattleStat.DEF, BattleStat.SPDEF ], -1),
new Ability(Abilities.PURIFYING_SALT, 9) new Ability(Abilities.PURIFYING_SALT, 9)
.attr(StatusEffectImmunityAbAttr) .attr(StatusEffectImmunityAbAttr)
.attr(ReceivedTypeDamageMultiplierAbAttr, Type.GHOST, 0.5) .attr(ReceivedTypeDamageMultiplierAbAttr, Type.GHOST, 0.5)

View File

@ -984,19 +984,6 @@ export class HideSpriteTag extends BattlerTag {
} }
} }
export class TypeImmuneTag extends BattlerTag {
public immuneType: Type;
constructor(tagType: BattlerTagType, sourceMove: Moves, immuneType: Type, length: number) {
super(tagType, BattlerTagLapseType.TURN_END, 1, sourceMove);
}
}
export class MagnetRisenTag extends TypeImmuneTag {
constructor(tagType: BattlerTagType, sourceMove: Moves) {
super(tagType, sourceMove, Type.GROUND, 5);
}
}
export class TypeBoostTag extends BattlerTag { export class TypeBoostTag extends BattlerTag {
public boostedType: Type; public boostedType: Type;
public boostValue: number; public boostValue: number;
@ -1224,8 +1211,6 @@ export function getBattlerTag(tagType: BattlerTagType, turnCount: integer, sourc
return new CursedTag(sourceId); return new CursedTag(sourceId);
case BattlerTagType.CHARGED: case BattlerTagType.CHARGED:
return new TypeBoostTag(tagType, sourceMove, Type.ELECTRIC, 2, true); return new TypeBoostTag(tagType, sourceMove, Type.ELECTRIC, 2, true);
case BattlerTagType.MAGNET_RISEN:
return new MagnetRisenTag(tagType, sourceMove);
case BattlerTagType.NONE: case BattlerTagType.NONE:
default: default:
return new BattlerTag(tagType, BattlerTagLapseType.CUSTOM, turnCount, sourceMove, sourceId); return new BattlerTag(tagType, BattlerTagLapseType.CUSTOM, turnCount, sourceMove, sourceId);

View File

@ -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 ] } ] [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.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]: [ Species.VIRIZION ] }, [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] },
[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]: { [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_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]: [ Species.VIRIZION ] }, [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] },
[BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] } [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] }
}, },
[Biome.TALL_GRASS]: { [Biome.TALL_GRASS]: {
@ -487,14 +487,14 @@ export const biomePokemonPools: BiomePokemonPools = {
[TimeOfDay.NIGHT]: [ Species.ARBOK, Species.CLODSIRE ], [TimeOfDay.NIGHT]: [ Species.ARBOK, Species.CLODSIRE ],
[TimeOfDay.ALL]: [ Species.POLIWRATH, Species.SWALOT, Species.WHISCASH, Species.GASTRODON, Species.SEISMITOAD, Species.STUNFISK, Species.TOXAPEX ] [TimeOfDay.ALL]: [ Species.POLIWRATH, Species.SWALOT, Species.WHISCASH, Species.GASTRODON, Species.SEISMITOAD, Species.STUNFISK, Species.TOXAPEX ]
}, },
[BiomePoolTier.BOSS_RARE]: { [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.FERALIGATR, Species.POLITOED, Species.SWAMPERT ] },
[BiomePoolTier.BOSS_SUPER_RARE]: {
[TimeOfDay.DAWN]: [ Species.GALAR_SLOWBRO, Species.GALAR_SLOWKING, Species.HISUI_GOODRA ], [TimeOfDay.DAWN]: [ Species.GALAR_SLOWBRO, Species.GALAR_SLOWKING, Species.HISUI_GOODRA ],
[TimeOfDay.DAY]: [ Species.GALAR_SLOWBRO, Species.GALAR_SLOWKING, Species.HISUI_GOODRA ], [TimeOfDay.DAY]: [ Species.GALAR_SLOWBRO, Species.GALAR_SLOWKING, Species.HISUI_GOODRA ],
[TimeOfDay.DUSK]: [], [TimeOfDay.DUSK]: [],
[TimeOfDay.NIGHT]: [], [TimeOfDay.NIGHT]: [],
[TimeOfDay.ALL]: [ Species.FERALIGATR, Species.POLITOED, Species.SWAMPERT, Species.GALAR_STUNFISK ] [TimeOfDay.ALL]: [ Species.AZELF, Species.NAGANADEL, 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]: [] } [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] }
}, },
[Biome.BEACH]: { [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.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.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.CRESSELIA, Species.KELDEO, Species.TAPU_FINI ] }, [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.KELDEO ] },
[BiomePoolTier.BOSS]: { [BiomePoolTier.BOSS]: {
[TimeOfDay.DAWN]: [ Species.STARMIE ], [TimeOfDay.DAWN]: [ Species.STARMIE ],
[TimeOfDay.DAY]: [ 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 ] [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_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.CRESSELIA, Species.KELDEO, Species.TAPU_FINI ] }, [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.KELDEO ] },
[BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] } [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] }
}, },
[Biome.LAKE]: { [Biome.LAKE]: {
@ -640,14 +640,8 @@ export const biomePokemonPools: BiomePokemonPools = {
[TimeOfDay.NIGHT]: [], [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 ] [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]: { [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 ] },
[TimeOfDay.DAWN]: [], [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MILOTIC, Species.NIHILEGO, Species.CURSOLA, Species.OVERQWIL ] },
[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 ] } [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.KYOGRE ] }
}, },
[Biome.MOUNTAIN]: { [Biome.MOUNTAIN]: {
@ -846,7 +840,7 @@ export const biomePokemonPools: BiomePokemonPools = {
[TimeOfDay.ALL]: [ { 1: [ Species.DARUMAKA ], 35: [ Species.DARMANITAN ] } ] [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.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.TAPU_BULU, Species.PHEROMOSA ] }, [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.REGIROCK, Species.PHEROMOSA ] },
[BiomePoolTier.BOSS]: { [BiomePoolTier.BOSS]: {
[TimeOfDay.DAWN]: [ Species.HIPPOWDON, Species.HELIOLISK, Species.RABSCA ], [TimeOfDay.DAWN]: [ Species.HIPPOWDON, Species.HELIOLISK, Species.RABSCA ],
[TimeOfDay.DAY]: [ Species.HIPPOWDON, Species.HELIOLISK, Species.RABSCA ], [TimeOfDay.DAY]: [ Species.HIPPOWDON, Species.HELIOLISK, Species.RABSCA ],
@ -855,7 +849,7 @@ export const biomePokemonPools: BiomePokemonPools = {
[TimeOfDay.ALL]: [ Species.SANDSLASH, Species.DRAPION, Species.DARMANITAN, Species.MARACTUS, Species.SANDACONDA, Species.BRAMBLEGHAST ] [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_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.TAPU_BULU, Species.PHEROMOSA ] }, [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.REGIROCK, Species.PHEROMOSA ] },
[BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] } [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] }
}, },
[Biome.ICE_CAVE]: { [Biome.ICE_CAVE]: {
@ -957,9 +951,9 @@ export const biomePokemonPools: BiomePokemonPools = {
[TimeOfDay.NIGHT]: [], [TimeOfDay.NIGHT]: [],
[TimeOfDay.ALL]: [ Species.TAUROS, Species.MILTANK, Species.GARDEVOIR, Species.PURUGLY, Species.ZEBSTRIKA, Species.FLORGES, Species.RIBOMBEE, Species.DUBWOOL ] [TimeOfDay.ALL]: [ Species.TAUROS, Species.MILTANK, Species.GARDEVOIR, Species.PURUGLY, Species.ZEBSTRIKA, Species.FLORGES, Species.RIBOMBEE, Species.DUBWOOL ]
}, },
[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_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]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MELOETTA ] }, [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]: [ Species.SHAYMIN ] } [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] }
}, },
[Biome.POWER_PLANT]: { [Biome.POWER_PLANT]: {
[BiomePoolTier.COMMON]: { [BiomePoolTier.COMMON]: {
@ -990,8 +984,8 @@ export const biomePokemonPools: BiomePokemonPools = {
[TimeOfDay.NIGHT]: [], [TimeOfDay.NIGHT]: [],
[TimeOfDay.ALL]: [ Species.RAICHU, Species.MANECTRIC, Species.LUXRAY, Species.MAGNEZONE, Species.ELECTIVIRE, Species.DEDENNE, Species.VIKAVOLT, Species.TOGEDEMARU, Species.PAWMOT, Species.BELLIBOLT ] [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, Species.HISUI_ELECTRODE ] }, [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 ] }, [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_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ZEKROM ] } [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ZEKROM ] }
}, },
[Biome.VOLCANO]: { [Biome.VOLCANO]: {
@ -1041,9 +1035,9 @@ export const biomePokemonPools: BiomePokemonPools = {
[TimeOfDay.DAY]: [], [TimeOfDay.DAY]: [],
[TimeOfDay.DUSK]: [], [TimeOfDay.DUSK]: [],
[TimeOfDay.NIGHT]: [], [TimeOfDay.NIGHT]: [],
[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 ] [TimeOfDay.ALL]: [ Species.CHARIZARD, Species.FLAREON, Species.TYPHLOSION, Species.INFERNAPE, Species.EMBOAR, Species.VOLCARONA, Species.DELPHOX, Species.INCINEROAR, Species.CINDERACE, Species.ARMAROUGE ]
}, },
[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_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_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.RESHIRAM ] } [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.RESHIRAM ] }
}, },
[Biome.GRAVEYARD]: { [Biome.GRAVEYARD]: {
@ -1080,8 +1074,8 @@ export const biomePokemonPools: BiomePokemonPools = {
[TimeOfDay.NIGHT]: [], [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 ] [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, Species.HISUI_TYPHLOSION ] }, [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 ] }, [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MARSHADOW, Species.SPECTRIER, Species.HISUI_TYPHLOSION ] },
[BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.GIRATINA ] } [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.GIRATINA ] }
}, },
[Biome.DOJO]: { [Biome.DOJO]: {
@ -1115,8 +1109,8 @@ export const biomePokemonPools: BiomePokemonPools = {
[TimeOfDay.NIGHT]: [], [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 ] [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, Species.SIRFETCHD, Species.HISUI_DECIDUEYE ] }, [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.URSHIFU ] }, [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_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ZAMAZENTA, Species.GALAR_ZAPDOS ] } [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ZAMAZENTA, Species.GALAR_ZAPDOS ] }
}, },
[Biome.FACTORY]: { [Biome.FACTORY]: {
@ -1174,8 +1168,8 @@ export const biomePokemonPools: BiomePokemonPools = {
}, },
[BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.REGISTEEL, Species.FEZANDIPITI ] }, [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]: { [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]: [ Species.RUNERIGUS ], [TimeOfDay.NIGHT]: [ Species.RUNERIGUS ], [TimeOfDay.ALL]: [ Species.MR_MIME, Species.WOBBUFFET, Species.ARCHEOPS ] }, [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]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.REGISTEEL, Species.FEZANDIPITI ] }, [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [ Species.RUNERIGUS ], [TimeOfDay.NIGHT]: [ Species.RUNERIGUS ], [TimeOfDay.ALL]: [ Species.REGISTEEL, Species.FEZANDIPITI ] },
[BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.KORAIDON ] } [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.KORAIDON ] }
}, },
[Biome.WASTELAND]: { [Biome.WASTELAND]: {
@ -1251,7 +1245,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 ] } ] [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.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.GALAR_MOLTRES ] }, [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.DARKRAI, Species.GUZZLORD, Species.GALAR_MOLTRES ] },
[BiomePoolTier.BOSS]: { [BiomePoolTier.BOSS]: {
[TimeOfDay.DAWN]: [], [TimeOfDay.DAWN]: [],
[TimeOfDay.DAY]: [], [TimeOfDay.DAY]: [],
@ -1259,8 +1253,8 @@ export const biomePokemonPools: BiomePokemonPools = {
[TimeOfDay.NIGHT]: [], [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 ] [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, Species.HISUI_SAMUROTT ] }, [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 ] }, [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.DARKRAI, Species.GUZZLORD, Species.HISUI_SAMUROTT ] },
[BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.PALKIA, Species.YVELTAL, Species.GALAR_MOLTRES ] } [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.PALKIA, Species.YVELTAL, Species.GALAR_MOLTRES ] }
}, },
[Biome.SPACE]: { [Biome.SPACE]: {
@ -1280,10 +1274,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 ] } ] [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.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]: [ { 1: [ Species.COSMOG ], 43: [ Species.COSMOEM ] }, Species.CELESTEELA ] }, [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.CRESSELIA, { 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]: { [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_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.CELESTEELA ] }, [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.CRESSELIA, Species.CELESTEELA ] },
[BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [ Species.SOLGALEO ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [ Species.LUNALA ], [TimeOfDay.ALL]: [ Species.RAYQUAZA, Species.NECROZMA ] } [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]: { [Biome.CONSTRUCTION_SITE]: {
@ -1313,10 +1307,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.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.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, Species.STAKATAKA ] }, [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.COBALION ] },
[BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MACHAMP, Species.CONKELDURR ] }, [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_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, Species.STAKATAKA ] }, [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.COBALION ] },
[BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] } [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] }
}, },
[Biome.JUNGLE]: { [Biome.JUNGLE]: {
@ -1358,7 +1352,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.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.TAPU_LELE, Species.BUZZWOLE, Species.ZARUDE, Species.MUNKIDORI ] }, [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.VIRIZION, Species.BUZZWOLE, Species.ZARUDE, Species.MUNKIDORI ] },
[BiomePoolTier.BOSS]: { [BiomePoolTier.BOSS]: {
[TimeOfDay.DAWN]: [ Species.EXEGGUTOR, Species.TROPIUS, Species.CHERRIM, Species.LEAVANNY, Species.KOMALA ], [TimeOfDay.DAWN]: [ Species.EXEGGUTOR, Species.TROPIUS, Species.CHERRIM, Species.LEAVANNY, Species.KOMALA ],
[TimeOfDay.DAY]: [ Species.EXEGGUTOR, Species.TROPIUS, Species.CHERRIM, Species.LEAVANNY, Species.KOMALA ], [TimeOfDay.DAY]: [ Species.EXEGGUTOR, Species.TROPIUS, Species.CHERRIM, Species.LEAVANNY, Species.KOMALA ],
@ -1373,7 +1367,7 @@ export const biomePokemonPools: BiomePokemonPools = {
[TimeOfDay.NIGHT]: [], [TimeOfDay.NIGHT]: [],
[TimeOfDay.ALL]: [ Species.KANGASKHAN, Species.SCIZOR, Species.SLAKING, Species.LEAFEON, Species.SERPERIOR, Species.RILLABOOM ] [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.TAPU_LELE, Species.BUZZWOLE, Species.ZARUDE, Species.MUNKIDORI ] }, [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.VIRIZION, Species.BUZZWOLE, Species.ZARUDE, Species.MUNKIDORI ] },
[BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.KLEAVOR ] } [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.KLEAVOR ] }
}, },
[Biome.FAIRY_CAVE]: { [Biome.FAIRY_CAVE]: {
@ -1451,10 +1445,10 @@ export const biomePokemonPools: BiomePokemonPools = {
}, },
[BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ { 1: [ Species.GIMMIGHOUL ], 40: [ Species.GHOLDENGO ] } ] }, [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.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 ] }, [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.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.CHIMECHO, Species.COFAGRIGUS, Species.GOLURK, Species.AEGISLASH ] }, [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_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 ] }, [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_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.REGIGIGAS ] } [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.REGIGIGAS ] }
}, },
[Biome.SLUM]: { [Biome.SLUM]: {
@ -1485,10 +1479,10 @@ export const biomePokemonPools: BiomePokemonPools = {
[TimeOfDay.ALL]: [ { 1: [ Species.VAROOM ], 40: [ Species.REVAVROOM ] } ] [TimeOfDay.ALL]: [ { 1: [ Species.VAROOM ], 40: [ Species.REVAVROOM ] } ]
}, },
[BiomePoolTier.SUPER_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.GUZZLORD ] }, [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] },
[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]: { [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, 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 ] },
[BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.GUZZLORD ] }, [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.GALAR_WEEZING ] },
[BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] } [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] }
}, },
[Biome.SNOWY_FOREST]: { [Biome.SNOWY_FOREST]: {
@ -1522,14 +1516,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.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]: { [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]: { [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]: {
[TimeOfDay.DAWN]: [ Species.SNEASLER, Species.GALAR_DARMANITAN ], [TimeOfDay.DAWN]: [ Species.SNEASLER, Species.GALAR_DARMANITAN ],
[TimeOfDay.DAY]: [ Species.SNEASLER, Species.GALAR_DARMANITAN ], [TimeOfDay.DAY]: [ Species.SNEASLER, Species.GALAR_DARMANITAN ],
[TimeOfDay.DUSK]: [ Species.HISUI_ZOROARK ], [TimeOfDay.DUSK]: [ Species.HISUI_ZOROARK ],
[TimeOfDay.NIGHT]: [ Species.HISUI_ZOROARK ], [TimeOfDay.NIGHT]: [ Species.HISUI_ZOROARK ],
[TimeOfDay.ALL]: [ Species.MR_RIME, Species.ARCTOZOLT, Species.ALOLA_SANDSLASH, Species.ALOLA_NINETALES ] [TimeOfDay.ALL]: [ Species.MR_RIME, Species.GLASTRIER, Species.CHIEN_PAO ]
}, },
[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 ] } [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ZACIAN, Species.GALAR_ARTICUNO ] }
}, },
[Biome.ISLAND]: { [Biome.ISLAND]: {
@ -1556,7 +1550,7 @@ export const biomePokemonPools: BiomePokemonPools = {
}, },
[BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] }, [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.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.BLACEPHALON ] }, [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.STAKATAKA, Species.BLACEPHALON ] },
[BiomePoolTier.BOSS]: { [BiomePoolTier.BOSS]: {
[TimeOfDay.DAWN]: [ Species.ALOLA_RAICHU, Species.ALOLA_EXEGGUTOR ], [TimeOfDay.DAWN]: [ Species.ALOLA_RAICHU, Species.ALOLA_EXEGGUTOR ],
[TimeOfDay.DAY]: [ Species.ALOLA_RAICHU, Species.ALOLA_EXEGGUTOR ], [TimeOfDay.DAY]: [ Species.ALOLA_RAICHU, Species.ALOLA_EXEGGUTOR ],
@ -1565,7 +1559,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 ] [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_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.BLACEPHALON ] }, [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.STAKATAKA, Species.BLACEPHALON ] },
[BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] } [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] }
}, },
[Biome.LABORATORY]: { [Biome.LABORATORY]: {
@ -4377,8 +4371,8 @@ export const biomeTrainerPools: BiomeTrainerPools = {
] ]
], ],
[ Species.CRESSELIA, Type.PSYCHIC, -1, [ [ Species.CRESSELIA, Type.PSYCHIC, -1, [
[ Biome.BEACH, BiomePoolTier.ULTRA_RARE ], [ Biome.SPACE, BiomePoolTier.ULTRA_RARE ],
[ Biome.BEACH, BiomePoolTier.BOSS_SUPER_RARE ] [ Biome.SPACE, BiomePoolTier.BOSS_SUPER_RARE ]
] ]
], ],
[ Species.PHIONE, Type.WATER, -1, [ ] [ Species.PHIONE, Type.WATER, -1, [ ]
@ -4390,9 +4384,7 @@ export const biomeTrainerPools: BiomeTrainerPools = {
[ Biome.ABYSS, BiomePoolTier.BOSS_SUPER_RARE ] [ 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, [ ] [ Species.ARCEUS, Type.NORMAL, -1, [ ]
], ],
@ -5111,8 +5103,8 @@ export const biomeTrainerPools: BiomeTrainerPools = {
] ]
], ],
[ Species.VIRIZION, Type.GRASS, Type.FIGHTING, [ [ Species.VIRIZION, Type.GRASS, Type.FIGHTING, [
[ Biome.GRASS, BiomePoolTier.ULTRA_RARE ], [ Biome.JUNGLE, BiomePoolTier.ULTRA_RARE ],
[ Biome.GRASS, BiomePoolTier.BOSS_SUPER_RARE ] [ Biome.JUNGLE, BiomePoolTier.BOSS_SUPER_RARE ]
] ]
], ],
[ Species.TORNADUS, Type.FLYING, -1, [ [ Species.TORNADUS, Type.FLYING, -1, [
@ -5787,18 +5779,18 @@ export const biomeTrainerPools: BiomeTrainerPools = {
] ]
], ],
[ Species.TAPU_LELE, Type.PSYCHIC, Type.FAIRY, [ [ Species.TAPU_LELE, Type.PSYCHIC, Type.FAIRY, [
[ Biome.JUNGLE, BiomePoolTier.ULTRA_RARE ], [ Biome.TEMPLE, BiomePoolTier.ULTRA_RARE ],
[ Biome.JUNGLE, BiomePoolTier.BOSS_SUPER_RARE ] [ Biome.TEMPLE, BiomePoolTier.BOSS_SUPER_RARE ]
] ]
], ],
[ Species.TAPU_BULU, Type.GRASS, Type.FAIRY, [ [ Species.TAPU_BULU, Type.GRASS, Type.FAIRY, [
[ Biome.DESERT, BiomePoolTier.ULTRA_RARE ], [ Biome.TEMPLE, BiomePoolTier.ULTRA_RARE ],
[ Biome.DESERT, BiomePoolTier.BOSS_SUPER_RARE ] [ Biome.TEMPLE, BiomePoolTier.BOSS_SUPER_RARE ]
] ]
], ],
[ Species.TAPU_FINI, Type.WATER, Type.FAIRY, [ [ Species.TAPU_FINI, Type.WATER, Type.FAIRY, [
[ Biome.BEACH, BiomePoolTier.ULTRA_RARE ], [ Biome.TEMPLE, BiomePoolTier.ULTRA_RARE ],
[ Biome.BEACH, BiomePoolTier.BOSS_SUPER_RARE ] [ Biome.TEMPLE, BiomePoolTier.BOSS_SUPER_RARE ]
] ]
], ],
[ Species.COSMOG, Type.PSYCHIC, -1, [ [ Species.COSMOG, Type.PSYCHIC, -1, [
@ -5848,8 +5840,8 @@ export const biomeTrainerPools: BiomeTrainerPools = {
] ]
], ],
[ Species.GUZZLORD, Type.DARK, Type.DRAGON, [ [ Species.GUZZLORD, Type.DARK, Type.DRAGON, [
[ Biome.SLUM, BiomePoolTier.ULTRA_RARE ], [ Biome.ABYSS, BiomePoolTier.ULTRA_RARE ],
[ Biome.SLUM, BiomePoolTier.BOSS_SUPER_RARE ] [ Biome.ABYSS, BiomePoolTier.BOSS_SUPER_RARE ]
] ]
], ],
[ Species.NECROZMA, Type.PSYCHIC, -1, [ [ Species.NECROZMA, Type.PSYCHIC, -1, [
@ -5875,8 +5867,8 @@ export const biomeTrainerPools: BiomeTrainerPools = {
] ]
], ],
[ Species.STAKATAKA, Type.ROCK, Type.STEEL, [ [ Species.STAKATAKA, Type.ROCK, Type.STEEL, [
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.ULTRA_RARE ], [ Biome.ISLAND, BiomePoolTier.ULTRA_RARE ],
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.BOSS_SUPER_RARE ] [ Biome.ISLAND, BiomePoolTier.BOSS_SUPER_RARE ]
] ]
], ],
[ Species.BLACEPHALON, Type.FIRE, Type.GHOST, [ [ Species.BLACEPHALON, Type.FIRE, Type.GHOST, [
@ -6137,21 +6129,21 @@ export const biomeTrainerPools: BiomeTrainerPools = {
], ],
[ Species.CURSOLA, Type.GHOST, -1, [ [ Species.CURSOLA, Type.GHOST, -1, [
[ Biome.SEABED, BiomePoolTier.SUPER_RARE ], [ Biome.SEABED, BiomePoolTier.SUPER_RARE ],
[ Biome.SEABED, BiomePoolTier.BOSS_RARE ] [ Biome.SEABED, BiomePoolTier.BOSS_SUPER_RARE ]
] ]
], ],
[ Species.SIRFETCHD, Type.FIGHTING, -1, [ [ Species.SIRFETCHD, Type.FIGHTING, -1, [
[ Biome.DOJO, BiomePoolTier.BOSS_RARE ] [ Biome.DOJO, BiomePoolTier.BOSS_SUPER_RARE ]
] ]
], ],
[ Species.MR_RIME, Type.ICE, Type.PSYCHIC, [ [ Species.MR_RIME, Type.ICE, Type.PSYCHIC, [
[ Biome.SNOWY_FOREST, BiomePoolTier.SUPER_RARE ], [ Biome.SNOWY_FOREST, BiomePoolTier.SUPER_RARE ],
[ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_RARE ] [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_SUPER_RARE ]
] ]
], ],
[ Species.RUNERIGUS, Type.GROUND, Type.GHOST, [ [ Species.RUNERIGUS, Type.GROUND, Type.GHOST, [
[ Biome.RUINS, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ] ], [ Biome.RUINS, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ] ],
[ Biome.RUINS, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ] ] [ Biome.RUINS, BiomePoolTier.BOSS_SUPER_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ] ]
] ]
], ],
[ Species.MILCERY, Type.FAIRY, -1, [ [ Species.MILCERY, Type.FAIRY, -1, [
@ -6313,11 +6305,11 @@ export const biomeTrainerPools: BiomeTrainerPools = {
] ]
], ],
[ Species.SNEASLER, Type.FIGHTING, Type.POISON, [ [ Species.SNEASLER, Type.FIGHTING, Type.POISON, [
[ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ] [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ]
] ]
], ],
[ Species.OVERQWIL, Type.DARK, Type.POISON, [ [ Species.OVERQWIL, Type.DARK, Type.POISON, [
[ Biome.SEABED, BiomePoolTier.BOSS_RARE ] [ Biome.SEABED, BiomePoolTier.BOSS_SUPER_RARE ]
] ]
], ],
[ Species.ENAMORUS, Type.FAIRY, Type.FLYING, [ [ Species.ENAMORUS, Type.FAIRY, Type.FLYING, [
@ -6980,7 +6972,7 @@ export const biomeTrainerPools: BiomeTrainerPools = {
], ],
[ Species.GALAR_SLOWBRO, Type.POISON, Type.PSYCHIC, [ [ Species.GALAR_SLOWBRO, Type.POISON, Type.PSYCHIC, [
[ Biome.SWAMP, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ], [ Biome.SWAMP, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ],
[ Biome.SWAMP, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ] [ Biome.SWAMP, BiomePoolTier.BOSS_SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ]
] ]
], ],
[ Species.GALAR_FARFETCHD, Type.FIGHTING, -1, [ [ Species.GALAR_FARFETCHD, Type.FIGHTING, -1, [
@ -6988,7 +6980,7 @@ export const biomeTrainerPools: BiomeTrainerPools = {
] ]
], ],
[ Species.GALAR_WEEZING, Type.POISON, Type.FAIRY, [ [ Species.GALAR_WEEZING, Type.POISON, Type.FAIRY, [
[ Biome.SLUM, BiomePoolTier.BOSS_RARE ] [ Biome.SLUM, BiomePoolTier.BOSS_SUPER_RARE ]
] ]
], ],
[ Species.GALAR_MR_MIME, Type.ICE, Type.PSYCHIC, [ [ Species.GALAR_MR_MIME, Type.ICE, Type.PSYCHIC, [
@ -7011,7 +7003,7 @@ export const biomeTrainerPools: BiomeTrainerPools = {
] ]
], ],
[ Species.GALAR_SLOWKING, Type.POISON, Type.PSYCHIC, [ [ Species.GALAR_SLOWKING, Type.POISON, Type.PSYCHIC, [
[ Biome.SWAMP, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ] [ Biome.SWAMP, BiomePoolTier.BOSS_SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ]
] ]
], ],
[ Species.GALAR_CORSOLA, Type.GHOST, -1, [ [ Species.GALAR_CORSOLA, Type.GHOST, -1, [
@ -7032,7 +7024,7 @@ export const biomeTrainerPools: BiomeTrainerPools = {
], ],
[ Species.GALAR_DARMANITAN, Type.ICE, -1, [ [ Species.GALAR_DARMANITAN, Type.ICE, -1, [
[ Biome.SNOWY_FOREST, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ], [ Biome.SNOWY_FOREST, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ],
[ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ] [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ]
] ]
], ],
[ Species.GALAR_YAMASK, Type.GROUND, Type.GHOST, [ [ Species.GALAR_YAMASK, Type.GROUND, Type.GHOST, [
@ -7041,7 +7033,7 @@ export const biomeTrainerPools: BiomeTrainerPools = {
], ],
[ Species.GALAR_STUNFISK, Type.GROUND, Type.STEEL, [ [ Species.GALAR_STUNFISK, Type.GROUND, Type.STEEL, [
[ Biome.SWAMP, BiomePoolTier.SUPER_RARE ], [ Biome.SWAMP, BiomePoolTier.SUPER_RARE ],
[ Biome.SWAMP, BiomePoolTier.BOSS_RARE ] [ Biome.SWAMP, BiomePoolTier.BOSS_SUPER_RARE ]
] ]
], ],
[ Species.HISUI_GROWLITHE, Type.FIRE, Type.ROCK, [ [ Species.HISUI_GROWLITHE, Type.FIRE, Type.ROCK, [
@ -7049,7 +7041,7 @@ export const biomeTrainerPools: BiomeTrainerPools = {
] ]
], ],
[ Species.HISUI_ARCANINE, Type.FIRE, Type.ROCK, [ [ Species.HISUI_ARCANINE, Type.FIRE, Type.ROCK, [
[ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ] [ Biome.VOLCANO, BiomePoolTier.BOSS_SUPER_RARE ]
] ]
], ],
[ Species.HISUI_VOLTORB, Type.ELECTRIC, Type.GRASS, [ [ Species.HISUI_VOLTORB, Type.ELECTRIC, Type.GRASS, [
@ -7057,11 +7049,11 @@ export const biomeTrainerPools: BiomeTrainerPools = {
] ]
], ],
[ Species.HISUI_ELECTRODE, Type.ELECTRIC, Type.GRASS, [ [ Species.HISUI_ELECTRODE, Type.ELECTRIC, Type.GRASS, [
[ Biome.POWER_PLANT, BiomePoolTier.BOSS_RARE ] [ Biome.POWER_PLANT, BiomePoolTier.BOSS_SUPER_RARE ]
] ]
], ],
[ Species.HISUI_TYPHLOSION, Type.FIRE, Type.GHOST, [ [ Species.HISUI_TYPHLOSION, Type.FIRE, Type.GHOST, [
[ Biome.GRAVEYARD, BiomePoolTier.BOSS_RARE ] [ Biome.GRAVEYARD, BiomePoolTier.BOSS_SUPER_RARE ]
] ]
], ],
[ Species.HISUI_QWILFISH, Type.DARK, Type.POISON, [ [ Species.HISUI_QWILFISH, Type.DARK, Type.POISON, [
@ -7073,11 +7065,11 @@ export const biomeTrainerPools: BiomeTrainerPools = {
] ]
], ],
[ Species.HISUI_SAMUROTT, Type.WATER, Type.DARK, [ [ Species.HISUI_SAMUROTT, Type.WATER, Type.DARK, [
[ Biome.ABYSS, BiomePoolTier.BOSS_RARE ] [ Biome.ABYSS, BiomePoolTier.BOSS_SUPER_RARE ]
] ]
], ],
[ Species.HISUI_LILLIGANT, Type.GRASS, Type.FIGHTING, [ [ Species.HISUI_LILLIGANT, Type.GRASS, Type.FIGHTING, [
[ Biome.MEADOW, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ] [ Biome.MEADOW, BiomePoolTier.BOSS_SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ]
] ]
], ],
[ Species.HISUI_ZORUA, Type.NORMAL, Type.GHOST, [ [ Species.HISUI_ZORUA, Type.NORMAL, Type.GHOST, [
@ -7086,7 +7078,7 @@ export const biomeTrainerPools: BiomeTrainerPools = {
], ],
[ Species.HISUI_ZOROARK, Type.NORMAL, Type.GHOST, [ [ Species.HISUI_ZOROARK, Type.NORMAL, Type.GHOST, [
[ Biome.SNOWY_FOREST, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ] ], [ Biome.SNOWY_FOREST, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ] ],
[ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ] ] [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_SUPER_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ] ]
] ]
], ],
[ Species.HISUI_BRAVIARY, Type.PSYCHIC, Type.FLYING, [ [ Species.HISUI_BRAVIARY, Type.PSYCHIC, Type.FLYING, [
@ -7099,7 +7091,7 @@ export const biomeTrainerPools: BiomeTrainerPools = {
], ],
[ Species.HISUI_GOODRA, Type.STEEL, Type.DRAGON, [ [ Species.HISUI_GOODRA, Type.STEEL, Type.DRAGON, [
[ Biome.SWAMP, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ], [ Biome.SWAMP, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ],
[ Biome.SWAMP, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ] [ Biome.SWAMP, BiomePoolTier.BOSS_SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ]
] ]
], ],
[ Species.HISUI_AVALUGG, Type.ICE, Type.ROCK, [ [ Species.HISUI_AVALUGG, Type.ICE, Type.ROCK, [
@ -7107,7 +7099,7 @@ export const biomeTrainerPools: BiomeTrainerPools = {
] ]
], ],
[ Species.HISUI_DECIDUEYE, Type.GRASS, Type.FIGHTING, [ [ Species.HISUI_DECIDUEYE, Type.GRASS, Type.FIGHTING, [
[ Biome.DOJO, BiomePoolTier.BOSS_RARE ] [ Biome.DOJO, BiomePoolTier.BOSS_SUPER_RARE ]
] ]
], ],
[ Species.PALDEA_TAUROS, Type.FIGHTING, -1, [ [ Species.PALDEA_TAUROS, Type.FIGHTING, -1, [

View File

@ -77,6 +77,8 @@ export function getEggHatchWavesMessage(hatchWaves: integer): string {
} }
export function getEggGachaTypeDescriptor(scene: BattleScene, egg: Egg): string { export function getEggGachaTypeDescriptor(scene: BattleScene, egg: Egg): string {
if (egg.isManaphyEgg())
return '';
switch (egg.gachaType) { switch (egg.gachaType) {
case GachaType.LEGENDARY: case GachaType.LEGENDARY:
return `Legendary Rate Up (${getPokemonSpecies(getLegendaryGachaSpeciesForTimestamp(scene, egg.timestamp)).getName()})`; return `Legendary Rate Up (${getPokemonSpecies(getLegendaryGachaSpeciesForTimestamp(scene, egg.timestamp)).getName()})`;

View File

@ -54,6 +54,5 @@ export enum BattlerTagType {
SALT_CURED = "SALT_CURED", SALT_CURED = "SALT_CURED",
CURSED = "CURSED", CURSED = "CURSED",
CHARGED = "CHARGED", CHARGED = "CHARGED",
GROUNDED = "GROUNDED", GROUNDED = "GROUNDED"
MAGNET_RISEN = "MAGNET_RISEN"
} }

View File

@ -685,7 +685,7 @@ export class RecoilAttr extends MoveEffectAttr {
return false; return false;
const recoilDamage = Math.max(Math.floor((!this.useHp ? user.turnData.damageDealt : user.getMaxHp()) * this.damageRatio), const recoilDamage = Math.max(Math.floor((!this.useHp ? user.turnData.damageDealt : user.getMaxHp()) * this.damageRatio),
user.turnData.damageDealt ? 1 : 0); !this.useHp && user.turnData.damageDealt ? 1 : 0);
if (!recoilDamage) if (!recoilDamage)
return false; return false;
@ -1496,23 +1496,6 @@ export class StatChangeAttr extends MoveEffectAttr {
} }
} }
export class AcupressureStatChangeAttr extends MoveEffectAttr {
constructor() {
super();
}
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean | Promise<boolean> {
let randStats = [ BattleStat.ATK, BattleStat.DEF, BattleStat.SPATK, BattleStat.SPDEF, BattleStat.SPD, BattleStat.ACC, BattleStat.EVA ];
randStats = randStats.filter(s => target.summonData.battleStats[s] < 6);
if (randStats.length > 0) {
let boostStat = [randStats[Utils.randInt(randStats.length)]];
user.scene.unshiftPhase(new StatChangePhase(user.scene, target.getBattlerIndex(), this.selfTarget, boostStat, 2));
return true;
}
return false;
}
}
export class GrowthStatChangeAttr extends StatChangeAttr { export class GrowthStatChangeAttr extends StatChangeAttr {
constructor() { constructor() {
super([ BattleStat.ATK, BattleStat.SPATK ], 1, true); super([ BattleStat.ATK, BattleStat.SPATK ], 1, true);
@ -2038,17 +2021,6 @@ export class PresentPowerAttr extends VariablePowerAttr {
} }
} }
export class KnockOffPowerAttr extends VariablePowerAttr {
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
if(target.getHeldItems().length > 0){
(args[0] as Utils.NumberHolder).value *= 1.5;
return true;
}
return false;
}
}
export class VariableAtkAttr extends MoveAttr { export class VariableAtkAttr extends MoveAttr {
constructor() { constructor() {
super(); super();
@ -4611,7 +4583,6 @@ export function initMoves() {
.attr(AddBattlerTagAttr, BattlerTagType.DROWSY, false, true) .attr(AddBattlerTagAttr, BattlerTagType.DROWSY, false, true)
.condition((user, target, move) => !target.status), .condition((user, target, move) => !target.status),
new AttackMove(Moves.KNOCK_OFF, Type.DARK, MoveCategory.PHYSICAL, 65, 100, 20, -1, 0, 3) new AttackMove(Moves.KNOCK_OFF, Type.DARK, MoveCategory.PHYSICAL, 65, 100, 20, -1, 0, 3)
.attr(KnockOffPowerAttr)
.partial(), .partial(),
new AttackMove(Moves.ENDEAVOR, Type.NORMAL, MoveCategory.PHYSICAL, -1, 100, 5, -1, 0, 3) new AttackMove(Moves.ENDEAVOR, Type.NORMAL, MoveCategory.PHYSICAL, -1, 100, 5, -1, 0, 3)
.attr(MatchHpAttr) .attr(MatchHpAttr)
@ -4840,7 +4811,7 @@ export function initMoves() {
.attr(AddArenaTagAttr, ArenaTagType.TAILWIND, 4, true) .attr(AddArenaTagAttr, ArenaTagType.TAILWIND, 4, true)
.target(MoveTarget.USER_SIDE), .target(MoveTarget.USER_SIDE),
new StatusMove(Moves.ACUPRESSURE, Type.NORMAL, -1, 30, -1, 0, 4) new StatusMove(Moves.ACUPRESSURE, Type.NORMAL, -1, 30, -1, 0, 4)
.attr(AcupressureStatChangeAttr) .attr(StatChangeAttr, BattleStat.RAND, 2)
.target(MoveTarget.USER_OR_NEAR_ALLY), .target(MoveTarget.USER_OR_NEAR_ALLY),
new AttackMove(Moves.METAL_BURST, Type.STEEL, MoveCategory.PHYSICAL, -1, 100, 10, -1, 0, 4) new AttackMove(Moves.METAL_BURST, Type.STEEL, MoveCategory.PHYSICAL, -1, 100, 10, -1, 0, 4)
.attr(CounterDamageAttr, (move: Move) => (move.category === MoveCategory.PHYSICAL || move.category === MoveCategory.SPECIAL), 1.5) .attr(CounterDamageAttr, (move: Move) => (move.category === MoveCategory.PHYSICAL || move.category === MoveCategory.SPECIAL), 1.5)
@ -4912,10 +4883,6 @@ export function initMoves() {
new SelfStatusMove(Moves.AQUA_RING, Type.WATER, -1, 20, -1, 0, 4) new SelfStatusMove(Moves.AQUA_RING, Type.WATER, -1, 20, -1, 0, 4)
.attr(AddBattlerTagAttr, BattlerTagType.AQUA_RING, true, true), .attr(AddBattlerTagAttr, BattlerTagType.AQUA_RING, true, true),
new SelfStatusMove(Moves.MAGNET_RISE, Type.ELECTRIC, -1, 10, -1, 0, 4) new SelfStatusMove(Moves.MAGNET_RISE, Type.ELECTRIC, -1, 10, -1, 0, 4)
.attr(AddBattlerTagAttr, BattlerTagType.MAGNET_RISEN, true, true)
.condition((user, target, move) => !user.scene.arena.getTag(ArenaTagType.GRAVITY) &&
!user.getTag(BattlerTagType.IGNORE_FLYING) && !user.getTag(BattlerTagType.INGRAIN) &&
!user.getTag(BattlerTagType.MAGNET_RISEN))
.unimplemented(), .unimplemented(),
new AttackMove(Moves.FLARE_BLITZ, Type.FIRE, MoveCategory.PHYSICAL, 120, 100, 15, 10, 0, 4) new AttackMove(Moves.FLARE_BLITZ, Type.FIRE, MoveCategory.PHYSICAL, 120, 100, 15, 10, 0, 4)
.attr(RecoilAttr, false, 0.33) .attr(RecoilAttr, false, 0.33)
@ -5465,7 +5432,7 @@ export function initMoves() {
new StatusMove(Moves.EERIE_IMPULSE, Type.ELECTRIC, 100, 15, -1, 0, 6) new StatusMove(Moves.EERIE_IMPULSE, Type.ELECTRIC, 100, 15, -1, 0, 6)
.attr(StatChangeAttr, BattleStat.SPATK, -2), .attr(StatChangeAttr, BattleStat.SPATK, -2),
new StatusMove(Moves.VENOM_DRENCH, Type.POISON, 100, 20, 100, 0, 6) 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 || target.status?.effect === StatusEffect.TOXIC) .attr(StatChangeAttr, [ BattleStat.ATK, BattleStat.SPATK, BattleStat.SPD ], -1, false, (user, target, move) => target.status?.effect === StatusEffect.POISON)
.target(MoveTarget.ALL_NEAR_ENEMIES), .target(MoveTarget.ALL_NEAR_ENEMIES),
new StatusMove(Moves.POWDER, Type.BUG, 100, 20, -1, 1, 6) new StatusMove(Moves.POWDER, Type.BUG, 100, 20, -1, 1, 6)
.powderMove() .powderMove()
@ -6449,7 +6416,6 @@ export function initMoves() {
new AttackMove(Moves.THUNDERCLAP, Type.ELECTRIC, MoveCategory.SPECIAL, 70, 100, 5, -1, 1, 9) new AttackMove(Moves.THUNDERCLAP, Type.ELECTRIC, MoveCategory.SPECIAL, 70, 100, 5, -1, 1, 9)
.condition((user, target, move) => user.scene.currentBattle.turnCommands[target.getBattlerIndex()].command === Command.FIGHT && !target.turnData.acted && allMoves[user.scene.currentBattle.turnCommands[target.getBattlerIndex()].move.move].category !== MoveCategory.STATUS), .condition((user, target, move) => user.scene.currentBattle.turnCommands[target.getBattlerIndex()].command === Command.FIGHT && !target.turnData.acted && allMoves[user.scene.currentBattle.turnCommands[target.getBattlerIndex()].move.move].category !== MoveCategory.STATUS),
new AttackMove(Moves.MIGHTY_CLEAVE, Type.ROCK, MoveCategory.PHYSICAL, 95, 100, 5, -1, 0, 9) new AttackMove(Moves.MIGHTY_CLEAVE, Type.ROCK, MoveCategory.PHYSICAL, 95, 100, 5, -1, 0, 9)
.slicingMove()
.ignoresProtect(), .ignoresProtect(),
new AttackMove(Moves.TACHYON_CUTTER, Type.STEEL, MoveCategory.SPECIAL, 50, -1, 10, -1, 0, 9) new AttackMove(Moves.TACHYON_CUTTER, Type.STEEL, MoveCategory.SPECIAL, 50, -1, 10, -1, 0, 9)
.attr(MultiHitAttr, MultiHitType._2) .attr(MultiHitAttr, MultiHitType._2)

View File

@ -3209,7 +3209,7 @@ export const starterPassiveAbilities = {
[Species.BELLSPROUT]: Abilities.CORROSION, [Species.BELLSPROUT]: Abilities.CORROSION,
[Species.TENTACOOL]: Abilities.INNARDS_OUT, [Species.TENTACOOL]: Abilities.INNARDS_OUT,
[Species.GEODUDE]: Abilities.ROCKY_PAYLOAD, [Species.GEODUDE]: Abilities.ROCKY_PAYLOAD,
[Species.PONYTA]: Abilities.MAGIC_GUARD, [Species.PONYTA]: Abilities.PIXILATE,
[Species.SLOWPOKE]: Abilities.UNAWARE, [Species.SLOWPOKE]: Abilities.UNAWARE,
[Species.MAGNEMITE]: Abilities.MOTOR_DRIVE, [Species.MAGNEMITE]: Abilities.MOTOR_DRIVE,
[Species.FARFETCHD]: Abilities.PURE_POWER, [Species.FARFETCHD]: Abilities.PURE_POWER,
@ -3235,7 +3235,7 @@ export const starterPassiveAbilities = {
[Species.SCYTHER]: Abilities.SPEED_BOOST, [Species.SCYTHER]: Abilities.SPEED_BOOST,
[Species.PINSIR]: Abilities.SAP_SIPPER, [Species.PINSIR]: Abilities.SAP_SIPPER,
[Species.TAUROS]: Abilities.ROCK_HEAD, [Species.TAUROS]: Abilities.ROCK_HEAD,
[Species.MAGIKARP]: Abilities.MULTISCALE, [Species.MAGIKARP]: Abilities.BERSERK,
[Species.LAPRAS]: Abilities.LIQUID_VOICE, [Species.LAPRAS]: Abilities.LIQUID_VOICE,
[Species.DITTO]: Abilities.GOOEY, [Species.DITTO]: Abilities.GOOEY,
[Species.EEVEE]: Abilities.PROTEAN, [Species.EEVEE]: Abilities.PROTEAN,
@ -3249,16 +3249,16 @@ export const starterPassiveAbilities = {
[Species.DRATINI]: Abilities.DELTA_STREAM, [Species.DRATINI]: Abilities.DELTA_STREAM,
[Species.MEWTWO]: Abilities.NEUROFORCE, [Species.MEWTWO]: Abilities.NEUROFORCE,
[Species.MEW]: Abilities.PROTEAN, [Species.MEW]: Abilities.PROTEAN,
[Species.CHIKORITA]: Abilities.THICK_FAT, [Species.CHIKORITA]: Abilities.RIPEN,
[Species.CYNDAQUIL]: Abilities.TURBOBLAZE, [Species.CYNDAQUIL]: Abilities.TURBOBLAZE,
[Species.TOTODILE]: Abilities.TOUGH_CLAWS, [Species.TOTODILE]: Abilities.TOUGH_CLAWS,
[Species.SENTRET]: Abilities.FLUFFY, [Species.SENTRET]: Abilities.FLUFFY,
[Species.HOOTHOOT]: Abilities.CURSED_BODY, [Species.HOOTHOOT]: Abilities.CURSED_BODY,
[Species.LEDYBA]: Abilities.PRANKSTER, [Species.LEDYBA]: Abilities.SCREEN_CLEANER,
[Species.SPINARAK]: Abilities.PRANKSTER, [Species.SPINARAK]: Abilities.PRANKSTER,
[Species.CHINCHOU]: Abilities.REGENERATOR, [Species.CHINCHOU]: Abilities.REGENERATOR,
[Species.PICHU]: Abilities.TRANSISTOR, [Species.PICHU]: Abilities.TRANSISTOR,
[Species.CLEFFA]: Abilities.MAGIC_BOUNCE, [Species.CLEFFA]: Abilities.MISTY_SURGE,
[Species.IGGLYBUFF]: Abilities.SERENE_GRACE, [Species.IGGLYBUFF]: Abilities.SERENE_GRACE,
[Species.TOGEPI]: Abilities.OPPORTUNIST, [Species.TOGEPI]: Abilities.OPPORTUNIST,
[Species.NATU]: Abilities.TINTED_LENS, [Species.NATU]: Abilities.TINTED_LENS,
@ -3276,7 +3276,7 @@ export const starterPassiveAbilities = {
[Species.DUNSPARCE]: Abilities.MARVEL_SCALE, [Species.DUNSPARCE]: Abilities.MARVEL_SCALE,
[Species.GLIGAR]: Abilities.MERCILESS, [Species.GLIGAR]: Abilities.MERCILESS,
[Species.SNUBBULL]: Abilities.BALL_FETCH, [Species.SNUBBULL]: Abilities.BALL_FETCH,
[Species.QWILFISH]: Abilities.TOXIC_DEBRIS, [Species.QWILFISH]: Abilities.LIQUID_OOZE,
[Species.SHUCKLE]: Abilities.WELL_BAKED_BODY, [Species.SHUCKLE]: Abilities.WELL_BAKED_BODY,
[Species.HERACROSS]: Abilities.QUICK_FEET, [Species.HERACROSS]: Abilities.QUICK_FEET,
[Species.SNEASEL]: Abilities.MOXIE, [Species.SNEASEL]: Abilities.MOXIE,
@ -3292,7 +3292,7 @@ export const starterPassiveAbilities = {
[Species.STANTLER]: Abilities.MAGIC_GUARD, [Species.STANTLER]: Abilities.MAGIC_GUARD,
[Species.SMEARGLE]: Abilities.QUICK_DRAW, [Species.SMEARGLE]: Abilities.QUICK_DRAW,
[Species.TYROGUE]: Abilities.STAMINA, [Species.TYROGUE]: Abilities.STAMINA,
[Species.SMOOCHUM]: Abilities.DAZZLING, [Species.SMOOCHUM]: Abilities.CUTE_CHARM,
[Species.ELEKID]: Abilities.IRON_FIST, [Species.ELEKID]: Abilities.IRON_FIST,
[Species.MAGBY]: Abilities.CONTRARY, [Species.MAGBY]: Abilities.CONTRARY,
[Species.MILTANK]: Abilities.GLUTTONY, [Species.MILTANK]: Abilities.GLUTTONY,
@ -3303,7 +3303,7 @@ export const starterPassiveAbilities = {
[Species.LUGIA]: Abilities.DELTA_STREAM, [Species.LUGIA]: Abilities.DELTA_STREAM,
[Species.HO_OH]: Abilities.MAGIC_GUARD, [Species.HO_OH]: Abilities.MAGIC_GUARD,
[Species.CELEBI]: Abilities.GRASSY_SURGE, [Species.CELEBI]: Abilities.GRASSY_SURGE,
[Species.TREECKO]: Abilities.TINTED_LENS, [Species.TREECKO]: Abilities.GRASSY_SURGE,
[Species.TORCHIC]: Abilities.RECKLESS, [Species.TORCHIC]: Abilities.RECKLESS,
[Species.MUDKIP]: Abilities.REGENERATOR, [Species.MUDKIP]: Abilities.REGENERATOR,
[Species.POOCHYENA]: Abilities.STRONG_JAW, [Species.POOCHYENA]: Abilities.STRONG_JAW,
@ -3320,7 +3320,7 @@ export const starterPassiveAbilities = {
[Species.NINCADA]: Abilities.OVERCOAT, [Species.NINCADA]: Abilities.OVERCOAT,
[Species.WHISMUR]: Abilities.PUNK_ROCK, [Species.WHISMUR]: Abilities.PUNK_ROCK,
[Species.MAKUHITA]: Abilities.STAMINA, [Species.MAKUHITA]: Abilities.STAMINA,
[Species.AZURILL]: Abilities.MISTY_SURGE, [Species.AZURILL]: Abilities.UNNERVE,
[Species.NOSEPASS]: Abilities.LEVITATE, [Species.NOSEPASS]: Abilities.LEVITATE,
[Species.SKITTY]: Abilities.SCRAPPY, [Species.SKITTY]: Abilities.SCRAPPY,
[Species.SABLEYE]: Abilities.UNNERVE, [Species.SABLEYE]: Abilities.UNNERVE,
@ -3351,7 +3351,7 @@ export const starterPassiveAbilities = {
[Species.BALTOY]: Abilities.OWN_TEMPO, [Species.BALTOY]: Abilities.OWN_TEMPO,
[Species.LILEEP]: Abilities.WATER_ABSORB, [Species.LILEEP]: Abilities.WATER_ABSORB,
[Species.ANORITH]: Abilities.WATER_ABSORB, [Species.ANORITH]: Abilities.WATER_ABSORB,
[Species.FEEBAS]: Abilities.MAGIC_GUARD, [Species.FEEBAS]: Abilities.PASTEL_VEIL,
[Species.CASTFORM]: Abilities.ADAPTABILITY, [Species.CASTFORM]: Abilities.ADAPTABILITY,
[Species.KECLEON]: Abilities.ADAPTABILITY, [Species.KECLEON]: Abilities.ADAPTABILITY,
[Species.SHUPPET]: Abilities.MUMMY, [Species.SHUPPET]: Abilities.MUMMY,
@ -3372,7 +3372,7 @@ export const starterPassiveAbilities = {
[Species.LATIAS]: Abilities.SOUL_HEART, [Species.LATIAS]: Abilities.SOUL_HEART,
[Species.LATIOS]: Abilities.TINTED_LENS, [Species.LATIOS]: Abilities.TINTED_LENS,
[Species.KYOGRE]: Abilities.HYDRATION, [Species.KYOGRE]: Abilities.HYDRATION,
[Species.GROUDON]: Abilities.PROTOSYNTHESIS, [Species.GROUDON]: Abilities.FLAME_BODY,
[Species.RAYQUAZA]: Abilities.UNNERVE, [Species.RAYQUAZA]: Abilities.UNNERVE,
[Species.JIRACHI]: Abilities.COMATOSE, [Species.JIRACHI]: Abilities.COMATOSE,
[Species.DEOXYS]: Abilities.PROTEAN, [Species.DEOXYS]: Abilities.PROTEAN,
@ -3431,7 +3431,7 @@ export const starterPassiveAbilities = {
[Species.VICTINI]: Abilities.SUPER_LUCK, [Species.VICTINI]: Abilities.SUPER_LUCK,
[Species.SNIVY]: Abilities.MULTISCALE, [Species.SNIVY]: Abilities.MULTISCALE,
[Species.TEPIG]: Abilities.ROCK_HEAD, [Species.TEPIG]: Abilities.ROCK_HEAD,
[Species.OSHAWOTT]: Abilities.QUICK_DRAW, [Species.OSHAWOTT]: Abilities.MOLD_BREAKER,
[Species.PATRAT]: Abilities.STAKEOUT, [Species.PATRAT]: Abilities.STAKEOUT,
[Species.LILLIPUP]: Abilities.BALL_FETCH, [Species.LILLIPUP]: Abilities.BALL_FETCH,
[Species.PURRLOIN]: Abilities.DEFIANT, [Species.PURRLOIN]: Abilities.DEFIANT,
@ -3444,14 +3444,14 @@ export const starterPassiveAbilities = {
[Species.ROGGENROLA]: Abilities.SOLID_ROCK, [Species.ROGGENROLA]: Abilities.SOLID_ROCK,
[Species.WOOBAT]: Abilities.SOUL_HEART, [Species.WOOBAT]: Abilities.SOUL_HEART,
[Species.DRILBUR]: Abilities.SAND_STREAM, [Species.DRILBUR]: Abilities.SAND_STREAM,
[Species.AUDINO]: Abilities.FRIEND_GUARD, [Species.AUDINO]: Abilities.SERENE_GRACE,
[Species.TIMBURR]: Abilities.STAMINA, [Species.TIMBURR]: Abilities.STAMINA,
[Species.TYMPOLE]: Abilities.MOODY, [Species.TYMPOLE]: Abilities.MOODY,
[Species.THROH]: Abilities.SIMPLE, [Species.THROH]: Abilities.SIMPLE,
[Species.SAWK]: Abilities.DEFIANT, [Species.SAWK]: Abilities.DEFIANT,
[Species.SEWADDLE]: Abilities.SHARPNESS, [Species.SEWADDLE]: Abilities.SHARPNESS,
[Species.VENIPEDE]: Abilities.INTIMIDATE, [Species.VENIPEDE]: Abilities.INTIMIDATE,
[Species.COTTONEE]: Abilities.FLUFFY, [Species.COTTONEE]: Abilities.MISTY_SURGE,
[Species.PETILIL]: Abilities.DANCER, [Species.PETILIL]: Abilities.DANCER,
[Species.BASCULIN]: Abilities.OPPORTUNIST, [Species.BASCULIN]: Abilities.OPPORTUNIST,
[Species.SANDILE]: Abilities.STRONG_JAW, [Species.SANDILE]: Abilities.STRONG_JAW,
@ -3460,7 +3460,7 @@ export const starterPassiveAbilities = {
[Species.DWEBBLE]: Abilities.STAMINA, [Species.DWEBBLE]: Abilities.STAMINA,
[Species.SCRAGGY]: Abilities.ROCK_HEAD, [Species.SCRAGGY]: Abilities.ROCK_HEAD,
[Species.SIGILYPH]: Abilities.MAGICIAN, [Species.SIGILYPH]: Abilities.MAGICIAN,
[Species.YAMASK]: Abilities.PURIFYING_SALT, [Species.YAMASK]: Abilities.GOOD_AS_GOLD,
[Species.TIRTOUGA]: Abilities.SHELL_ARMOR, [Species.TIRTOUGA]: Abilities.SHELL_ARMOR,
[Species.ARCHEN]: Abilities.ROCKY_PAYLOAD, [Species.ARCHEN]: Abilities.ROCKY_PAYLOAD,
[Species.TRUBBISH]: Abilities.GOOEY, [Species.TRUBBISH]: Abilities.GOOEY,
@ -3521,7 +3521,7 @@ export const starterPassiveAbilities = {
[Species.SKIDDO]: Abilities.GRASSY_SURGE, [Species.SKIDDO]: Abilities.GRASSY_SURGE,
[Species.PANCHAM]: Abilities.FLUFFY, [Species.PANCHAM]: Abilities.FLUFFY,
[Species.FURFROU]: Abilities.BALL_FETCH, [Species.FURFROU]: Abilities.BALL_FETCH,
[Species.ESPURR]: Abilities.FUR_COAT, [Species.ESPURR]: Abilities.PSYCHIC_SURGE,
[Species.HONEDGE]: Abilities.SHARPNESS, [Species.HONEDGE]: Abilities.SHARPNESS,
[Species.SPRITZEE]: Abilities.MISTY_SURGE, [Species.SPRITZEE]: Abilities.MISTY_SURGE,
[Species.SWIRLIX]: Abilities.WELL_BAKED_BODY, [Species.SWIRLIX]: Abilities.WELL_BAKED_BODY,
@ -3548,7 +3548,7 @@ export const starterPassiveAbilities = {
[Species.HOOPA]: Abilities.OPPORTUNIST, [Species.HOOPA]: Abilities.OPPORTUNIST,
[Species.VOLCANION]: Abilities.FILTER, [Species.VOLCANION]: Abilities.FILTER,
[Species.ROWLET]: Abilities.SNIPER, [Species.ROWLET]: Abilities.SNIPER,
[Species.LITTEN]: Abilities.FLAME_BODY, [Species.LITTEN]: Abilities.PRANKSTER,
[Species.POPPLIO]: Abilities.PUNK_ROCK, [Species.POPPLIO]: Abilities.PUNK_ROCK,
[Species.PIKIPEK]: Abilities.ANGER_POINT, [Species.PIKIPEK]: Abilities.ANGER_POINT,
[Species.YUNGOOS]: Abilities.HUGE_POWER, [Species.YUNGOOS]: Abilities.HUGE_POWER,
@ -3577,7 +3577,7 @@ export const starterPassiveAbilities = {
[Species.KOMALA]: Abilities.GUTS, [Species.KOMALA]: Abilities.GUTS,
[Species.TURTONATOR]: Abilities.ANGER_SHELL, [Species.TURTONATOR]: Abilities.ANGER_SHELL,
[Species.TOGEDEMARU]: Abilities.STATIC, [Species.TOGEDEMARU]: Abilities.STATIC,
[Species.MIMIKYU]: Abilities.TOUGH_CLAWS, [Species.MIMIKYU]: Abilities.CURSED_BODY,
[Species.BRUXISH]: Abilities.MULTISCALE, [Species.BRUXISH]: Abilities.MULTISCALE,
[Species.DRAMPA]: Abilities.FLASH_FIRE, [Species.DRAMPA]: Abilities.FLASH_FIRE,
[Species.DHELMISE]: Abilities.INFILTRATOR, [Species.DHELMISE]: Abilities.INFILTRATOR,
@ -3607,9 +3607,9 @@ export const starterPassiveAbilities = {
[Species.SOBBLE]: Abilities.SUPER_LUCK, [Species.SOBBLE]: Abilities.SUPER_LUCK,
[Species.SKWOVET]: Abilities.HONEY_GATHER, [Species.SKWOVET]: Abilities.HONEY_GATHER,
[Species.ROOKIDEE]: Abilities.IRON_BARBS, [Species.ROOKIDEE]: Abilities.IRON_BARBS,
[Species.BLIPBUG]: Abilities.PSYCHIC_SURGE, [Species.BLIPBUG]: Abilities.TINTED_LENS,
[Species.NICKIT]: Abilities.INTIMIDATE, [Species.NICKIT]: Abilities.INTIMIDATE,
[Species.GOSSIFLEUR]: Abilities.GRASSY_SURGE, [Species.GOSSIFLEUR]: Abilities.STORM_DRAIN,
[Species.WOOLOO]: Abilities.ROCK_HEAD, [Species.WOOLOO]: Abilities.ROCK_HEAD,
[Species.CHEWTLE]: Abilities.ROCK_HEAD, [Species.CHEWTLE]: Abilities.ROCK_HEAD,
[Species.YAMPER]: Abilities.STAKEOUT, [Species.YAMPER]: Abilities.STAKEOUT,
@ -3624,7 +3624,7 @@ export const starterPassiveAbilities = {
[Species.SINISTEA]: Abilities.WATER_ABSORB, [Species.SINISTEA]: Abilities.WATER_ABSORB,
[Species.HATENNA]: Abilities.MAGIC_GUARD, [Species.HATENNA]: Abilities.MAGIC_GUARD,
[Species.IMPIDIMP]: Abilities.TANGLING_HAIR, [Species.IMPIDIMP]: Abilities.TANGLING_HAIR,
[Species.MILCERY]: Abilities.MISTY_SURGE, [Species.MILCERY]: Abilities.WELL_BAKED_BODY,
[Species.FALINKS]: Abilities.MOXIE, [Species.FALINKS]: Abilities.MOXIE,
[Species.PINCURCHIN]: Abilities.IRON_BARBS, [Species.PINCURCHIN]: Abilities.IRON_BARBS,
[Species.SNOM]: Abilities.SNOW_WARNING, [Species.SNOM]: Abilities.SNOW_WARNING,
@ -3674,9 +3674,9 @@ export const starterPassiveAbilities = {
[Species.RELLOR]: Abilities.MAGIC_GUARD, [Species.RELLOR]: Abilities.MAGIC_GUARD,
[Species.FLITTLE]: Abilities.COMPETITIVE, [Species.FLITTLE]: Abilities.COMPETITIVE,
[Species.TINKATINK]: Abilities.HUGE_POWER, [Species.TINKATINK]: Abilities.HUGE_POWER,
[Species.WIGLETT]: Abilities.STURDY, [Species.WIGLETT]: Abilities.STORM_DRAIN,
[Species.BOMBIRDIER]: Abilities.UNAWARE, [Species.BOMBIRDIER]: Abilities.UNAWARE,
[Species.FINIZEN]: Abilities.IRON_FIST, [Species.FINIZEN]: Abilities.LIQUID_VOICE,
[Species.VAROOM]: Abilities.SPEED_BOOST, [Species.VAROOM]: Abilities.SPEED_BOOST,
[Species.CYCLIZAR]: Abilities.PROTEAN, [Species.CYCLIZAR]: Abilities.PROTEAN,
[Species.ORTHWORM]: Abilities.HEATPROOF, [Species.ORTHWORM]: Abilities.HEATPROOF,
@ -3725,13 +3725,13 @@ export const starterPassiveAbilities = {
[Species.ALOLA_RATTATA]: Abilities.CHEEK_POUCH, [Species.ALOLA_RATTATA]: Abilities.CHEEK_POUCH,
[Species.ALOLA_SANDSHREW]: Abilities.ICE_BODY, [Species.ALOLA_SANDSHREW]: Abilities.ICE_BODY,
[Species.ALOLA_VULPIX]: Abilities.ICE_BODY, [Species.ALOLA_VULPIX]: Abilities.ICE_BODY,
[Species.ALOLA_DIGLETT]: Abilities.STURDY, [Species.ALOLA_DIGLETT]: Abilities.CUTE_CHARM,
[Species.ALOLA_MEOWTH]: Abilities.UNNERVE, [Species.ALOLA_MEOWTH]: Abilities.UNNERVE,
[Species.ALOLA_GEODUDE]: Abilities.ELECTROMORPHOSIS, [Species.ALOLA_GEODUDE]: Abilities.ELECTROMORPHOSIS,
[Species.ALOLA_GRIMER]: Abilities.MERCILESS, [Species.ALOLA_GRIMER]: Abilities.MERCILESS,
[Species.ETERNAL_FLOETTE]: Abilities.MAGIC_GUARD, [Species.ETERNAL_FLOETTE]: Abilities.MAGIC_GUARD,
[Species.GALAR_MEOWTH]: Abilities.SUPER_LUCK, [Species.GALAR_MEOWTH]: Abilities.SUPER_LUCK,
[Species.GALAR_PONYTA]: Abilities.PIXILATE, [Species.GALAR_PONYTA]: Abilities.MAGIC_GUARD,
[Species.GALAR_SLOWPOKE]: Abilities.POISON_TOUCH, [Species.GALAR_SLOWPOKE]: Abilities.POISON_TOUCH,
[Species.GALAR_FARFETCHD]: Abilities.SUPER_LUCK, [Species.GALAR_FARFETCHD]: Abilities.SUPER_LUCK,
[Species.GALAR_ARTICUNO]: Abilities.SERENE_GRACE, [Species.GALAR_ARTICUNO]: Abilities.SERENE_GRACE,

View File

@ -4,7 +4,7 @@ import { Variant, VariantSet, variantColorCache } from '#app/data/variant';
import { variantData } from '#app/data/variant'; import { variantData } from '#app/data/variant';
import BattleInfo, { PlayerBattleInfo, EnemyBattleInfo } from '../ui/battle-info'; import BattleInfo, { PlayerBattleInfo, EnemyBattleInfo } from '../ui/battle-info';
import { Moves } from "../data/enums/moves"; import { Moves } from "../data/enums/moves";
import Move, { HighCritAttr, HitsTagAttr, applyMoveAttrs, FixedDamageAttr, VariableAtkAttr, VariablePowerAttr, allMoves, MoveCategory, TypelessAttr, CritOnlyAttr, getMoveTargets, OneHitKOAttr, MultiHitAttr, StatusMoveTypeImmunityAttr, MoveTarget, VariableDefAttr, AttackMove, ModifiedDamageAttr, VariableMoveTypeMultiplierAttr, IgnoreOpponentStatChangesAttr, SacrificialAttr, VariableMoveTypeAttr, VariableMoveCategoryAttr, CounterDamageAttr } from "../data/move"; import Move, { HighCritAttr, HitsTagAttr, applyMoveAttrs, FixedDamageAttr, VariableAtkAttr, VariablePowerAttr, allMoves, MoveCategory, TypelessAttr, CritOnlyAttr, getMoveTargets, OneHitKOAttr, MultiHitAttr, StatusMoveTypeImmunityAttr, MoveTarget, VariableDefAttr, AttackMove, ModifiedDamageAttr, VariableMoveTypeMultiplierAttr, IgnoreOpponentStatChangesAttr, SacrificialAttr, VariableMoveTypeAttr, VariableMoveCategoryAttr } from "../data/move";
import { default as PokemonSpecies, PokemonSpeciesForm, SpeciesFormKey, getFusedSpeciesName, getPokemonSpecies, getPokemonSpeciesForm, getStarterValueFriendshipCap, speciesStarters, starterPassiveAbilities } from '../data/pokemon-species'; import { default as PokemonSpecies, PokemonSpeciesForm, SpeciesFormKey, getFusedSpeciesName, getPokemonSpecies, getPokemonSpeciesForm, getStarterValueFriendshipCap, speciesStarters, starterPassiveAbilities } from '../data/pokemon-species';
import * as Utils from '../utils'; import * as Utils from '../utils';
import { Type, TypeDamageMultiplier, getTypeDamageMultiplier, getTypeRgb } from '../data/type'; import { Type, TypeDamageMultiplier, getTypeDamageMultiplier, getTypeRgb } from '../data/type';
@ -43,8 +43,8 @@ import { Nature, getNatureStatMultiplier } from '../data/nature';
import { SpeciesFormChange, SpeciesFormChangeActiveTrigger, SpeciesFormChangeMoveLearnedTrigger, SpeciesFormChangePostMoveTrigger, SpeciesFormChangeStatusEffectTrigger } from '../data/pokemon-forms'; import { SpeciesFormChange, SpeciesFormChangeActiveTrigger, SpeciesFormChangeMoveLearnedTrigger, SpeciesFormChangePostMoveTrigger, SpeciesFormChangeStatusEffectTrigger } from '../data/pokemon-forms';
import { TerrainType } from '../data/terrain'; import { TerrainType } from '../data/terrain';
import { TrainerSlot } from '../data/trainer-config'; import { TrainerSlot } from '../data/trainer-config';
import { ABILITY_OVERRIDE, MOVE_OVERRIDE, MOVE_OVERRIDE_2, OPP_ABILITY_OVERRIDE, OPP_MOVE_OVERRIDE, OPP_MOVE_OVERRIDE_2, OPP_SHINY_OVERRIDE, OPP_VARIANT_OVERRIDE } from '../overrides';
import { BerryType } from '../data/berry'; import { BerryType } from '../data/berry';
import { ABILITY_OVERRIDE, MOVE_OVERRIDE, OPP_ABILITY_OVERRIDE, OPP_MOVE_OVERRIDE, OPP_SHINY_OVERRIDE, OPP_VARIANT_OVERRIDE } from '../overrides';
import i18next from '../plugins/i18n'; import i18next from '../plugins/i18n';
export enum FieldPosition { export enum FieldPosition {
@ -725,11 +725,6 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
this.moveset[0] = new PokemonMove(MOVE_OVERRIDE, Math.min(this.moveset[0].ppUsed, allMoves[MOVE_OVERRIDE].pp)); this.moveset[0] = new PokemonMove(MOVE_OVERRIDE, Math.min(this.moveset[0].ppUsed, allMoves[MOVE_OVERRIDE].pp));
else if (OPP_MOVE_OVERRIDE && !this.isPlayer()) else if (OPP_MOVE_OVERRIDE && !this.isPlayer())
this.moveset[0] = new PokemonMove(OPP_MOVE_OVERRIDE, Math.min(this.moveset[0].ppUsed, allMoves[OPP_MOVE_OVERRIDE].pp)); this.moveset[0] = new PokemonMove(OPP_MOVE_OVERRIDE, Math.min(this.moveset[0].ppUsed, allMoves[OPP_MOVE_OVERRIDE].pp));
if (MOVE_OVERRIDE_2 && this.isPlayer())
this.moveset[1] = new PokemonMove(MOVE_OVERRIDE_2, Math.min(this.moveset[1].ppUsed, allMoves[MOVE_OVERRIDE_2].pp));
else if (OPP_MOVE_OVERRIDE_2 && !this.isPlayer())
this.moveset[1] = new PokemonMove(OPP_MOVE_OVERRIDE_2, Math.min(this.moveset[1].ppUsed, allMoves[OPP_MOVE_OVERRIDE_2].pp));
return ret; return ret;
} }
@ -2479,10 +2474,9 @@ export class PlayerPokemon extends Pokemon {
if (newEvolution.condition.predicate(this)) { if (newEvolution.condition.predicate(this)) {
const newPokemon = this.scene.addPlayerPokemon(this.species, this.level, this.abilityIndex, this.formIndex, undefined, this.shiny, this.variant, this.ivs, this.nature); const newPokemon = this.scene.addPlayerPokemon(this.species, this.level, this.abilityIndex, this.formIndex, undefined, this.shiny, this.variant, this.ivs, this.nature);
newPokemon.natureOverride = this.natureOverride; newPokemon.natureOverride = this.natureOverride;
newPokemon.passive = this.passive;
newPokemon.moveset = this.moveset.slice();
newPokemon.moveset = this.copyMoveset(); newPokemon.moveset = this.copyMoveset();
newPokemon.luck = this.luck; newPokemon.luck = this.luck;
newPokemon.fusionSpecies = this.fusionSpecies; newPokemon.fusionSpecies = this.fusionSpecies;
newPokemon.fusionFormIndex = this.fusionFormIndex; newPokemon.fusionFormIndex = this.fusionFormIndex;
newPokemon.fusionAbilityIndex = this.fusionAbilityIndex; newPokemon.fusionAbilityIndex = this.fusionAbilityIndex;
@ -2737,10 +2731,6 @@ export class EnemyPokemon extends Pokemon {
let targetScores: integer[] = []; let targetScores: integer[] = [];
for (let mt of moveTargets[move.id]) { for (let mt of moveTargets[move.id]) {
// Prevent a target score from being calculated when the target is whoever attacks the user
if (mt === BattlerIndex.ATTACKER)
break;
const target = this.scene.getField()[mt]; const target = this.scene.getField()[mt];
let targetScore = move.getUserBenefitScore(this, target, move) + move.getTargetBenefitScore(this, target, move) * (mt < BattlerIndex.ENEMY === this.isPlayer() ? 1 : -1); let targetScore = move.getUserBenefitScore(this, target, move) + move.getTargetBenefitScore(this, target, move) * (mt < BattlerIndex.ENEMY === this.isPlayer() ? 1 : -1);
if (move.name.endsWith(' (N)') || !move.applyConditions(this, target, move)) if (move.name.endsWith(' (N)') || !move.applyConditions(this, target, move))
@ -2811,14 +2801,8 @@ export class EnemyPokemon extends Pokemon {
return scoreA < scoreB ? 1 : scoreA > scoreB ? -1 : 0; return scoreA < scoreB ? 1 : scoreA > scoreB ? -1 : 0;
}); });
if (!sortedBenefitScores.length) { if (!sortedBenefitScores.length)
// Set target to BattlerIndex.ATTACKER when using a counter move
// This is the same as when the player does so
if (!!move.findAttr(attr => attr instanceof CounterDamageAttr))
return [BattlerIndex.ATTACKER];
return []; return [];
}
let targetWeights = sortedBenefitScores.map(s => s[1]); let targetWeights = sortedBenefitScores.map(s => s[1]);
const lowestWeight = targetWeights[targetWeights.length - 1]; const lowestWeight = targetWeights[targetWeights.length - 1];

View File

@ -39,9 +39,5 @@ export const menu: SimpleTranslationEntries = {
"weeklyRankings": "Weekly Rankings", "weeklyRankings": "Weekly Rankings",
"noRankings": "No Rankings", "noRankings": "No Rankings",
"loading": "Loading…", "loading": "Loading…",
"playersOnline": "Players Online", "playersOnline": "Players Online"
"empty":"Empty",
"yes":"Yes",
"no":"No",
"confirmStartTeam":'Begin with these Pokémon?',
} as const; } as const;

View File

@ -39,9 +39,5 @@ export const menu: SimpleTranslationEntries = {
"weeklyRankings": "Weekly Rankings", "weeklyRankings": "Weekly Rankings",
"noRankings": "No Rankings", "noRankings": "No Rankings",
"loading": "Loading…", "loading": "Loading…",
"playersOnline": "Players Online", "playersOnline": "Players Online"
"empty":"Empty",
"yes":"Yes",
"no":"No",
"confirmStartTeam":'Begin with these Pokémon?',
} as const; } as const;

View File

@ -2,7 +2,7 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n";
export const commandUiHandler: SimpleTranslationEntries = { export const commandUiHandler: SimpleTranslationEntries = {
"fight": "Luchar", "fight": "Luchar",
"ball": "Balls", "ball": "Ball",
"pokemon": "Pokémon", "pokemon": "Pokémon",
"run": "Huir", "run": "Huir",
"actionMessage": "¿Qué debería\nhacer {{pokemonName}}?", "actionMessage": "¿Qué debería\nhacer {{pokemonName}}?",

View File

@ -19,13 +19,9 @@ export const menu: SimpleTranslationEntries = {
"boyOrGirl": "¿Eres un chico o una chica?", "boyOrGirl": "¿Eres un chico o una chica?",
"boy": "Chico", "boy": "Chico",
"girl": "Chica", "girl": "Chica",
"dailyRankings": "Rankings Diarios", "dailyRankings": "Daily Rankings",
"weeklyRankings": "Rankings Semanales", "weeklyRankings": "Weekly Rankings",
"noRankings": "Sin Rankings", "noRankings": "No Rankings",
"loading": "Cargando…", "loading": "Loading…",
"playersOnline": "Jugadores en Línea", "playersOnline": "Players Online"
"empty":"Vacío",
"yes":"Sí",
"no":"No",
"confirmStartTeam":'¿Comenzar con estos Pokémon?',
} as const; } as const;

View File

@ -1,49 +1,42 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/plugins/i18n";
export const tutorial: SimpleTranslationEntries = { export const tutorial: SimpleTranslationEntries = {
"intro": `¡Bienvenido/a a PokéRogue! Este es un fangame de Pokémon centrado en el combate con elementos roguelite. "intro": `Welcome to PokéRogue! This is a battle-focused Pokémon fangame with roguelite elements.
$Este juego no está monetizado y no reclamamos ningún derecho de propiedad sobre Pokémon ni sobre ninguno de $This game is not monetized and we claim no ownership of Pokémon nor of the copyrighted assets used.
$los recursos con copyright utilizados. $The game is a work in progress, but fully playable.\nFor bug reports, please use the Discord community.
$El juego está en proceso, pero es completamente jugable.\nPara reportar bugs, por favor, hazlo en nuestra $If the game runs slowly, please ensure 'Hardware Acceleration' is turned on in your browser settings.`,
$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": `Para acceder al menú, pulsa M o Escape cuando\ntengas el control. "accessMenu": `To access the menu, press M or Escape while awaiting input.\nThe menu contains settings and various features.`,
$El menú contiene la configuración y otras funciones.`,
"menu": `Desde este menú podrás acceder a la configuración. "menu": `From this menu you can access the settings.
$Podrás cambiar la velocidad del juego, el estilo de la ventana y demás. $From the settings you can change game speed, window style, and other options.
$Hay más opciones, ¡así que pruébalas todas!`, $There are also various other features here, so be sure to check them all!`,
"starterSelect": `En esta pantalla podrás elegir tus iniciales. Estos serán tus\nmiembros de equipo al comenzar la partida. "starterSelect": `From this screen, you can select your starters.\nThese are your initial party members.
$Cada inicial tiene un valor. Tu equipo puede contener hasta 6\nmiembros mientras el valor total no pase de 10. $Each starter has a value. Your party can have up to\n6 members as long as the total does not exceed 10.
$También puedes elegir su género, habilidad y forma\ndependiendo de las variantes que hayas conseguido. $You can also select gender, ability, and form depending on\nthe variants you've caught or hatched.
$Los IVs de los iniciales corresponderán al valor más alto de\nlos Pokémon de la misma especie que hayas obtenido. $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!`,
$¡Así que intenta conseguir muchos Pokémon de la misma\nespecie!`,
"pokerus": `Cada día, 3 iniciales aleatorios tendrán un borde morado. "pokerus": `A daily random 3 selectable starters have a purple border.
$Si ves un inicial que tengas con este borde, prueba a\nañadirlo a tu equipo. ¡No olvides revisar sus datos!`, $If you see a starter you own with one of these,\ntry adding it to your party. Be sure to check its summary!`,
"statChange": `Los cambios de estadísticas se mantienen entre combates\nmientras que el Pokémon no vuelva a la Poké Ball. "statChange": `Stat changes persist across battles as long as your Pokémon aren't recalled.
$Tus Pokémon vuelven a sus Poké Balls antes de combates contra entrenadores y de entrar a un nuevo bioma. $Your Pokémon are recalled before a trainer battle and before entering a new biome.
$También puedes ver los cambios de estadísticas del Pokémon en campo manteniendo pulsado C o Shift.`, $You can also view the stat changes for the Pokémon on the field by holding C or Shift.`,
"selectItem": `Tras cada combate, tendrás la opción de elegir entre tres objetos aleatorios. Solo podrás escoger uno. "selectItem": `After every battle, you are given a choice of 3 random items.\nYou may only pick one.
$Estos objetos pueden ser consumibles, objetos equipables u objetos pasivos permanentes (hasta acabar la partida). $These range from consumables, to Pokémon held items, to passive permanent items.
$La mayoría de los efectos de objetos no consumibles se acumularán de varias maneras. $Most non-consumable item effects will stack in various ways.
$Algunos objetos solo aparecerán si pueden ser utilizados, como las piedras evolutivas. $Some items will only show up if they can be used, such as evolution items.
$También puedes transferir objetos equipados entre Pokémon utilizando la opción de transferir. $You can also transfer held items between Pokémon using the transfer option.
$La opción de transferir aparecerá en la parte inferior derecha una vez hayas obtenido un objeto equipable. $The transfer option will appear in the bottom right once you have obtained a held item.
$También puedes comprar objetos consumibles con dinero y su variedad irá aumentando según tu avance. $You may purchase consumable items with money, and a larger variety will be available the further you get.
$Asegúrate de comprar antes de escoger un objeto aleatorio, ya que se avanzará al siguiente combate.`, $Be sure to buy these before you pick your random item, as it will progress to the next battle once you do.`,
"eggGacha": `En esta pantalla podrás canjear tus vales por huevos\nde Pokémon. "eggGacha": `From this screen, you can redeem your vouchers for\nPokémon eggs.
$Los huevos deben eclosionar y estarán más cerca de\nhacerlo tras cada combate. $Eggs have to be hatched and get closer to hatching after\nevery battle. Rarer eggs take longer to hatch.
$Los huevos más raros tardarán más en eclosionar. $Hatched Pokémon also won't be added to your party, they will\nbe added to your starters.
$Los Pokémon que hayan salido del huevo no se\nañadirán a tu equipo, pero a tus iniciales. $Pokémon hatched from eggs generally have better IVs than\nwild Pokémon.
$Los Pokémon salidos de un huevo suelen tener mejores\nIVs que los Pokémon salvajes. $Some Pokémon can only even be obtained from eggs.
$Algunos Pokémon solo pueden ser obtenidos de huevos. $There are 3 different machines to pull from with different\nbonuses, so pick the one that suits you best!`,
$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; } as const;

View File

@ -14,11 +14,11 @@ export const battle: SimpleTranslationEntries = {
"pokemonCaught": "Vous avez attrapé {{pokemonName}} !", "pokemonCaught": "Vous avez attrapé {{pokemonName}} !",
"pokemon": "Pokémon", "pokemon": "Pokémon",
"sendOutPokemon": "{{pokemonName}} ! Go !", "sendOutPokemon": "{{pokemonName}} ! Go !",
"hitResultCriticalHit": "Coup critique !", "hitResultCriticalHit": "Coup critique!",
"hitResultSuperEffective": "Cest super efficace !", "hitResultSuperEffective": "Cest super efficace!",
"hitResultNotVeryEffective": "Ce nest pas très efficace…", "hitResultNotVeryEffective": "Ce nest pas très efficace…",
"hitResultNoEffect": "Ça naffecte pas {{pokemonName}}…", "hitResultNoEffect": "Ça naffecte pas {{pokemonName}}…",
"hitResultOneHitKO": "K.O. en un coup !", "hitResultOneHitKO": "K.O. en un coup!",
"attackFailed": "Mais cela échoue !", "attackFailed": "Mais cela échoue !",
"attackHitsCount": `Touché {{count}} fois !`, "attackHitsCount": `Touché {{count}} fois !`,
"expGain": "{{pokemonName}} gagne\n{{exp}} Points dExp !", "expGain": "{{pokemonName}} gagne\n{{exp}} Points dExp !",
@ -36,7 +36,7 @@ export const battle: SimpleTranslationEntries = {
"moveDisabled": "{{moveName}} est sous entrave !", "moveDisabled": "{{moveName}} est sous entrave !",
"noPokeballForce": "Une force mystérieuse\nempêche lutilisation des Poké Balls.", "noPokeballForce": "Une force mystérieuse\nempêche lutilisation des Poké Balls.",
"noPokeballTrainer": "Le Dresseur détourne la Ball\nVoler, cest mal !", "noPokeballTrainer": "Le Dresseur détourne la Ball\nVoler, cest 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 dabord laffaiblir !", "noPokeballStrong": "Le Pokémon est trop fort pour être capturé !\nVous devez dabord laffaiblir !",
"noEscapeForce": "Une force mystérieuse\nempêche la fuite.", "noEscapeForce": "Une force mystérieuse\nempêche la fuite.",
"noEscapeTrainer": "On ne senfuit pas dun\ncombat de Dresseurs !", "noEscapeTrainer": "On ne senfuit pas dun\ncombat de Dresseurs !",

View File

@ -34,9 +34,5 @@ export const menu: SimpleTranslationEntries = {
"weeklyRankings": "Classement de la Semaine", "weeklyRankings": "Classement de la Semaine",
"noRankings": "Pas de Classement", "noRankings": "Pas de Classement",
"loading": "Chargement…", "loading": "Chargement…",
"playersOnline": "Joueurs Connectés", "playersOnline": "Joueurs Connectés"
"empty":"Vide",
"yes":"Oui",
"no":"Non",
"confirmStartTeam":'Commencer avec ces Pokémon ?',
} as const; } as const;

View File

@ -25,9 +25,12 @@ export const tutorial: SimpleTranslationEntries = {
$violet. Si un starter que vous possédez la, essayez de $violet. Si un starter que vous possédez la, essayez de
$lajouter à votre équipe. Vérifiez bien son résumé !`, $lajouter à votre équipe. Vérifiez bien son résumé !`,
"statChange": `Les changements de stats restent à travers les combats tant que le Pokémon nest pas rappelé. "statChange": `Les changements de stats restent à travers les combats tant que le Pokémon
$Vos Pokémon sont rappelés avant un combat de Dresseur et avant dentrer dans un nouveau biome. $nest pas rappelé.
$Vous pouvez également voir en combat les changements de stats dun Pokémon en maintenant C ou Maj.`, $Vos Pokémon sont rappelés avant un combat de Dresseur et avant dentrer
$dans un nouveau biome.
$Vous pouvez également voir en combat les changements de stats dun 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 quun. "selectItem": `Après chaque combat, vous avez le choix entre 3 objets\ntirés au sort. Vous ne pouvez en prendre quun.
$Cela peut être des objets consommables, des objets à\nfaire tenir, ou des objets passifs aux effets permanents. $Cela peut être des objets consommables, des objets à\nfaire tenir, ou des objets passifs aux effets permanents.

View File

@ -39,9 +39,5 @@ export const menu: SimpleTranslationEntries = {
"weeklyRankings": "Weekly Rankings", "weeklyRankings": "Weekly Rankings",
"noRankings": "No Rankings", "noRankings": "No Rankings",
"loading": "Loading…", "loading": "Loading…",
"playersOnline": "Players Online", "playersOnline": "Players Online"
"empty":"Empty",
"yes":"Yes",
"no":"No",
"confirmStartTeam":'Begin with these Pokémon?',
} as const; } as const;

View File

@ -15,11 +15,9 @@ export const WEATHER_OVERRIDE = WeatherType.NONE;
export const ABILITY_OVERRIDE = Abilities.NONE; export const ABILITY_OVERRIDE = Abilities.NONE;
export const MOVE_OVERRIDE = Moves.NONE; export const MOVE_OVERRIDE = Moves.NONE;
export const MOVE_OVERRIDE_2 = Moves.NONE;
export const OPP_SPECIES_OVERRIDE = 0; export const OPP_SPECIES_OVERRIDE = 0;
export const OPP_ABILITY_OVERRIDE = Abilities.NONE; export const OPP_ABILITY_OVERRIDE = Abilities.NONE;
export const OPP_MOVE_OVERRIDE = Moves.NONE; export const OPP_MOVE_OVERRIDE = Moves.NONE;
export const OPP_MOVE_OVERRIDE_2 = Moves.NONE;
export const OPP_SHINY_OVERRIDE = false; export const OPP_SHINY_OVERRIDE = false;
export const OPP_VARIANT_OVERRIDE = 0; export const OPP_VARIANT_OVERRIDE = 0;

View File

@ -57,7 +57,6 @@ import { fetchDailyRunSeed, getDailyRunStarters } from "./data/daily-run";
import { GameModes, gameModes } from "./game-mode"; import { GameModes, gameModes } from "./game-mode";
import { getPokemonSpecies, speciesStarters } from "./data/pokemon-species"; import { getPokemonSpecies, speciesStarters } from "./data/pokemon-species";
import i18next from './plugins/i18n'; import i18next from './plugins/i18n';
import { Abilities } from "./data/enums/abilities";
import { STARTER_FORM_OVERRIDE, STARTER_SPECIES_OVERRIDE } from './overrides'; import { STARTER_FORM_OVERRIDE, STARTER_SPECIES_OVERRIDE } from './overrides';
export class LoginPhase extends Phase { export class LoginPhase extends Phase {
@ -1730,7 +1729,7 @@ export class CommandPhase extends FieldPhase {
}, null, true); }, null, true);
} else if (cursor < 5) { } else if (cursor < 5) {
const targetPokemon = this.scene.getEnemyField().find(p => p.isActive(true)); const targetPokemon = this.scene.getEnemyField().find(p => p.isActive(true));
if (targetPokemon.isBoss() && targetPokemon.bossSegmentIndex >= 1 && !targetPokemon.hasAbility(Abilities.WONDER_GUARD, false, true) && cursor < PokeballType.MASTER_BALL) { if (targetPokemon.isBoss() && targetPokemon.bossSegmentIndex >= 1 && cursor < PokeballType.MASTER_BALL) {
this.scene.ui.setMode(Mode.COMMAND, this.fieldIndex); this.scene.ui.setMode(Mode.COMMAND, this.fieldIndex);
this.scene.ui.setMode(Mode.MESSAGE); this.scene.ui.setMode(Mode.MESSAGE);
this.scene.ui.showText(i18next.t('battle:noPokeballStrong'), null, () => { this.scene.ui.showText(i18next.t('battle:noPokeballStrong'), null, () => {

View File

@ -1,7 +1,6 @@
import BattleScene, { Button } from "../battle-scene"; import BattleScene, { Button } from "../battle-scene";
import AbstractOptionSelectUiHandler, { OptionSelectConfig } from "./abstact-option-select-ui-handler"; import AbstractOptionSelectUiHandler, { OptionSelectConfig } from "./abstact-option-select-ui-handler";
import { Mode } from "./ui"; import { Mode } from "./ui";
import i18next from "i18next";
export default class ConfirmUiHandler extends AbstractOptionSelectUiHandler { export default class ConfirmUiHandler extends AbstractOptionSelectUiHandler {
private switchCheck: boolean; private switchCheck: boolean;
@ -20,14 +19,14 @@ export default class ConfirmUiHandler extends AbstractOptionSelectUiHandler {
const config: OptionSelectConfig = { const config: OptionSelectConfig = {
options: [ options: [
{ {
label: i18next.t("menu:yes"), label: 'Yes',
handler: () => { handler: () => {
args[0](); args[0]();
return true; return true;
} }
}, },
{ {
label: i18next.t("menu:no"), label: 'No',
handler: () => { handler: () => {
args[1](); args[1]();
return true; return true;

View File

@ -8,7 +8,6 @@ import * as Utils from "../utils";
import PokemonData from "../system/pokemon-data"; import PokemonData from "../system/pokemon-data";
import { PokemonHeldItemModifier } from "../modifier/modifier"; import { PokemonHeldItemModifier } from "../modifier/modifier";
import MessageUiHandler from "./message-ui-handler"; import MessageUiHandler from "./message-ui-handler";
import i18next from "i18next";
const sessionSlotCount = 5; const sessionSlotCount = 5;
@ -315,7 +314,7 @@ class SessionSlot extends Phaser.GameObjects.Container {
this.scene.gameData.getSession(this.slotId).then(async sessionData => { this.scene.gameData.getSession(this.slotId).then(async sessionData => {
if (!sessionData) { if (!sessionData) {
this.hasData = false; this.hasData = false;
this.loadingLabel.setText(i18next.t("menu:empty")); this.loadingLabel.setText('Empty');
resolve(false); resolve(false);
return; return;
} }

View File

@ -27,7 +27,6 @@ import { argbFromRgba } from "@material/material-color-utilities";
import { OptionSelectItem } from "./abstact-option-select-ui-handler"; import { OptionSelectItem } from "./abstact-option-select-ui-handler";
import { pokemonPrevolutions } from "#app/data/pokemon-evolutions"; import { pokemonPrevolutions } from "#app/data/pokemon-evolutions";
import { Variant, getVariantTint } from "#app/data/variant"; import { Variant, getVariantTint } from "#app/data/variant";
import i18next from "i18next";
export type StarterSelectCallback = (starters: Starter[]) => void; export type StarterSelectCallback = (starters: Starter[]) => void;
@ -1654,7 +1653,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
this.clearText(); this.clearText();
}; };
ui.showText(i18next.t("menu:confirmStartTeam"), null, () => { ui.showText('Begin with these Pokémon?', null, () => {
ui.setModeWithoutClear(Mode.CONFIRM, () => { ui.setModeWithoutClear(Mode.CONFIRM, () => {
const startRun = (gameMode: GameModes) => { const startRun = (gameMode: GameModes) => {
this.scene.gameMode = gameModes[gameMode]; this.scene.gameMode = gameModes[gameMode];

View File

@ -441,7 +441,6 @@ export default class SummaryUiHandler extends UiHandler {
const selectedMove = this.getSelectedMove(); const selectedMove = this.getSelectedMove();
if (selectedMove) { if (selectedMove) {
this.moveDescriptionText.setY(84);
this.movePowerText.setText(selectedMove.power >= 0 ? selectedMove.power.toString() : '---'); this.movePowerText.setText(selectedMove.power >= 0 ? selectedMove.power.toString() : '---');
this.moveAccuracyText.setText(selectedMove.accuracy >= 0 ? selectedMove.accuracy.toString() : '---'); this.moveAccuracyText.setText(selectedMove.accuracy >= 0 ? selectedMove.accuracy.toString() : '---');
this.moveCategoryIcon.setFrame(MoveCategory[selectedMove.category].toLowerCase()); this.moveCategoryIcon.setFrame(MoveCategory[selectedMove.category].toLowerCase());
@ -458,6 +457,7 @@ export default class SummaryUiHandler extends UiHandler {
} }
if (moveDescriptionLineCount > 3) { if (moveDescriptionLineCount > 3) {
this.moveDescriptionText.setY(84);
this.descriptionScrollTween = this.scene.tweens.add({ this.descriptionScrollTween = this.scene.tweens.add({
targets: this.moveDescriptionText, targets: this.moveDescriptionText,
delay: Utils.fixedInt(2000), delay: Utils.fixedInt(2000),