diff --git a/README.md b/README.md index 7095a36cf..ad2237bb4 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,8 @@ Check out our [Trello Board](https://trello.com/b/z10B703R/pokerogue-board) to s - Arata Iiyoshi - Atsuhiro Ishizuna - Pokémon Black/White 2 - - Firel (Additional biome themes) + - Firel (Custom Metropolis and Laboratory biome music) + - Lmz (Custom Jungle biome music) - edifette (Title screen music) ### 🎵 Sound Effects diff --git a/public/audio/bgm/jungle.mp3 b/public/audio/bgm/jungle.mp3 index bd331aa09..5db42ba8d 100644 Binary files a/public/audio/bgm/jungle.mp3 and b/public/audio/bgm/jungle.mp3 differ diff --git a/src/data/ability.ts b/src/data/ability.ts index b2899a33f..22867ee13 100644 --- a/src/data/ability.ts +++ b/src/data/ability.ts @@ -3,7 +3,7 @@ import { Type } from "./type"; import * as Utils from "../utils"; import { BattleStat, getBattleStatName } from "./battle-stat"; import { PokemonHealPhase, ShowAbilityPhase, StatChangePhase } from "../phases"; -import { getPokemonMessage } from "../messages"; +import { getPokemonMessage, getPokemonPrefix } from "../messages"; import { Weather, WeatherType } from "./weather"; import { BattlerTag } from "./battler-tags"; import { BattlerTagType } from "./enums/battler-tag-type"; @@ -144,7 +144,7 @@ export class BlockRecoilDamageAttr extends AbAttr { } getTriggerMessage(pokemon: Pokemon, abilityName: string, ...args: any[]) { - return getPokemonMessage(pokemon, `'s ${abilityName}\nprotected it from recoil!`); + return i18next.t('abilityTriggers:blockRecoilDamage', {pokemonName: `${getPokemonPrefix(pokemon)}${pokemon.name}`, abilityName: abilityName}); } } @@ -1407,6 +1407,23 @@ export class PostSummonMessageAbAttr extends PostSummonAbAttr { } } +export class PostSummonUnnamedMessageAbAttr extends PostSummonAbAttr { + //Attr doesn't force pokemon name on the message + private message: string; + + constructor(message: string) { + super(true); + + this.message = message; + } + + applyPostSummon(pokemon: Pokemon, passive: boolean, args: any[]): boolean { + pokemon.scene.queueMessage(this.message); + + return true; + } +} + export class PostSummonAddBattlerTagAbAttr extends PostSummonAbAttr { private tagType: BattlerTagType; private turnCount: integer; @@ -3061,7 +3078,8 @@ export function initAbilities() { .attr(BlockCritAbAttr) .ignorable(), new Ability(Abilities.AIR_LOCK, 3) - .attr(SuppressWeatherEffectAbAttr, true), + .attr(SuppressWeatherEffectAbAttr, true) + .attr(PostSummonUnnamedMessageAbAttr, "The effects of the weather disappeared."), new Ability(Abilities.TANGLED_FEET, 4) .conditionalAttr(pokemon => !!pokemon.getTag(BattlerTagType.CONFUSED), BattleStatMultiplierAbAttr, BattleStat.EVA, 2) .ignorable(), diff --git a/src/data/egg.ts b/src/data/egg.ts index f0d6de26a..41216f27e 100644 --- a/src/data/egg.ts +++ b/src/data/egg.ts @@ -95,9 +95,16 @@ export function getLegendaryGachaSpeciesForTimestamp(scene: BattleScene, timesta let ret: Species; + // 86400000 is the number of miliseconds in one day + const timeDate = new Date(timestamp); + const dayDate = new Date(Date.UTC(timeDate.getUTCFullYear(), timeDate.getUTCMonth(), timeDate.getUTCDate())); + const dayTimestamp = timeDate.getTime(); // Timestamp of current week + const offset = Math.floor(Math.floor(dayTimestamp / 86400000) / legendarySpecies.length); // Cycle number + const index = Math.floor(dayTimestamp / 86400000) % legendarySpecies.length // Index within cycle + scene.executeWithSeedOffset(() => { - ret = Utils.randSeedItem(legendarySpecies); - }, Utils.getSunday(new Date(timestamp)).getTime(), EGG_SEED.toString()); + ret = Phaser.Math.RND.shuffle(legendarySpecies)[index]; + }, offset, EGG_SEED.toString()); return ret; } \ No newline at end of file diff --git a/src/data/move.ts b/src/data/move.ts index 652e832fd..6a6bee468 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -6221,7 +6221,7 @@ export function initMoves() { .ignoresVirtual(), /* End Unused */ new AttackMove(Moves.ZIPPY_ZAP, Type.ELECTRIC, MoveCategory.PHYSICAL, 80, 100, 10, 100, 2, 7) - .attr(CritOnlyAttr), + .attr(StatChangeAttr, BattleStat.EVA, 1, true), new AttackMove(Moves.SPLISHY_SPLASH, Type.WATER, MoveCategory.SPECIAL, 90, 100, 15, 30, 0, 7) .attr(StatusEffectAttr, StatusEffect.PARALYSIS) .target(MoveTarget.ALL_NEAR_ENEMIES), @@ -6246,7 +6246,7 @@ export function initMoves() { new AttackMove(Moves.FREEZY_FROST, Type.ICE, MoveCategory.SPECIAL, 100, 90, 10, -1, 0, 7) .attr(ResetStatsAttr), new AttackMove(Moves.SPARKLY_SWIRL, Type.FAIRY, MoveCategory.SPECIAL, 120, 85, 5, -1, 0, 7) - .partial(), + .attr(PartyStatusCureAttr, null, Abilities.NONE), new AttackMove(Moves.VEEVEE_VOLLEY, Type.NORMAL, MoveCategory.PHYSICAL, -1, -1, 20, -1, 0, 7) .attr(FriendshipPowerAttr), new AttackMove(Moves.DOUBLE_IRON_BASH, Type.STEEL, MoveCategory.PHYSICAL, 60, 100, 5, 30, 0, 7) @@ -6841,7 +6841,7 @@ export function initMoves() { const turnMove = user.getLastXMoves(1); return !turnMove.length || turnMove[0].move !== move.id || turnMove[0].result !== MoveResult.SUCCESS; }), // TODO Add Instruct/Encore interaction - new AttackMove(Moves.COMEUPPANCE, Type.DARK, MoveCategory.PHYSICAL, 1, 100, 10, -1, 0, 9) + new AttackMove(Moves.COMEUPPANCE, Type.DARK, MoveCategory.PHYSICAL, -1, 100, 10, -1, 0, 9) .attr(CounterDamageAttr, (move: Move) => (move.category === MoveCategory.PHYSICAL || move.category === MoveCategory.SPECIAL), 1.5) .target(MoveTarget.ATTACKER), new AttackMove(Moves.AQUA_CUTTER, Type.WATER, MoveCategory.PHYSICAL, 70, 100, 20, -1, 0, 9) diff --git a/src/data/pokemon-evolutions.ts b/src/data/pokemon-evolutions.ts index 23495b54e..7511b0e41 100644 --- a/src/data/pokemon-evolutions.ts +++ b/src/data/pokemon-evolutions.ts @@ -1385,10 +1385,10 @@ export const pokemonEvolutions: PokemonEvolutions = { new SpeciesEvolution(Species.HELIOLISK, 1, EvolutionItem.SUN_STONE, null, SpeciesWildEvolutionDelay.LONG) ], [Species.CHARJABUG]: [ - new SpeciesEvolution(Species.VIKAVOLT, 1, EvolutionItem.THUNDER_STONE, null) + new SpeciesEvolution(Species.VIKAVOLT, 1, EvolutionItem.THUNDER_STONE, null, SpeciesWildEvolutionDelay.LONG) ], [Species.CRABRAWLER]: [ - new SpeciesEvolution(Species.CRABOMINABLE, 1, EvolutionItem.ICE_STONE, null) + new SpeciesEvolution(Species.CRABOMINABLE, 1, EvolutionItem.ICE_STONE, null, SpeciesWildEvolutionDelay.LONG) ], [Species.ROCKRUFF]: [ new SpeciesFormEvolution(Species.LYCANROC, '', 'midday', 25, null, new SpeciesEvolutionCondition(p => (p.scene.arena.getTimeOfDay() === TimeOfDay.DAWN || p.scene.arena.getTimeOfDay() === TimeOfDay.DAY) && (p.formIndex === 0)), null), diff --git a/src/data/pokemon-level-moves.ts b/src/data/pokemon-level-moves.ts index 2823170b1..53eeb747a 100644 --- a/src/data/pokemon-level-moves.ts +++ b/src/data/pokemon-level-moves.ts @@ -322,6 +322,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.ASSURANCE ], [ 1, Moves.PLUCK ], [ 1, Moves.DRILL_RUN ], + [ 1, Moves.PURSUIT ], [ 4, Moves.LEER ], [ 8, Moves.ASSURANCE ], [ 11, Moves.FURY_ATTACK ], @@ -566,6 +567,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.CHARM ], [ 1, Moves.COPYCAT ], [ 1, Moves.DISARMING_VOICE ], + [ 1, Moves.SPOTLIGHT ], [ 4, Moves.STORED_POWER ], [ 8, Moves.ENCORE ], [ 12, Moves.AFTER_YOU ], @@ -600,6 +602,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.COPYCAT ], [ 1, Moves.AFTER_YOU ], [ 1, Moves.STORED_POWER ], + [ 1, Moves.SPOTLIGHT ], [ 1, Moves.DISARMING_VOICE ], ], [Species.VULPIX]: [ @@ -816,6 +819,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.SUPERSONIC ], [ 1, Moves.DISABLE ], [ 1, Moves.QUIVER_DANCE ], + [ 1, Moves.SILVER_WIND ], [ 11, Moves.CONFUSION ], [ 13, Moves.POISON_POWDER ], [ 17, Moves.PSYBEAM ], @@ -850,6 +854,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.TRI_ATTACK ], [ 1, Moves.ASTONISH ], [ 1, Moves.NIGHT_SLASH ], + [ 1, Moves.ROTOTILLER ], [ 12, Moves.MUD_SLAP ], [ 16, Moves.BULLDOZE ], [ 20, Moves.SUCKER_PUNCH ], @@ -895,6 +900,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.PSYDUCK]: [ [ 1, Moves.SCRATCH ], [ 1, Moves.TAIL_WHIP ], + [ 1, Moves.WATER_SPORT ], [ 3, Moves.WATER_GUN ], [ 6, Moves.CONFUSION ], [ 9, Moves.FURY_SWIPES ], @@ -914,6 +920,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.WATER_GUN ], [ 1, Moves.CONFUSION ], [ 1, Moves.AQUA_JET ], + [ 1, Moves.WATER_SPORT ], + [ 1, Moves.ME_FIRST ], [ 9, Moves.FURY_SWIPES ], [ 12, Moves.WATER_PULSE ], [ 15, Moves.DISABLE ], @@ -993,6 +1001,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.REVERSAL ], [ 1, Moves.CRUNCH ], [ 1, Moves.HELPING_HAND ], + [ 1, Moves.ODOR_SLEUTH ], [ 1, Moves.HOWL ], [ 1, Moves.FLARE_BLITZ ], [ 1, Moves.FIRE_FANG ], @@ -1003,6 +1012,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.POLIWAG]: [ [ 1, Moves.WATER_GUN ], [ 1, Moves.HYPNOSIS ], + [ 1, Moves.WATER_SPORT ], [ 6, Moves.POUND ], [ 12, Moves.MUD_SHOT ], [ 18, Moves.BUBBLE_BEAM ], @@ -1017,6 +1027,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.POUND ], [ 1, Moves.WATER_GUN ], [ 1, Moves.HYPNOSIS ], + [ 1, Moves.WATER_SPORT ], [ 1, Moves.MUD_SHOT ], [ 18, Moves.BUBBLE_BEAM ], [ 24, Moves.RAIN_DANCE ], @@ -1034,6 +1045,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.POUND ], [ 1, Moves.DOUBLE_EDGE ], [ 1, Moves.WATER_GUN ], + [ 1, Moves.WATER_SPORT ], [ 1, Moves.HYDRO_PUMP ], [ 1, Moves.BELLY_DRUM ], [ 1, Moves.RAIN_DANCE ], @@ -1098,6 +1110,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.LOW_KICK ], [ 1, Moves.FOCUS_ENERGY ], [ 1, Moves.REVENGE ], + [ 1, Moves.KARATE_CHOP ], [ 12, Moves.LOW_SWEEP ], [ 16, Moves.KNOCK_OFF ], [ 20, Moves.SCARY_FACE ], @@ -1116,6 +1129,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.FOCUS_ENERGY ], [ 1, Moves.REVENGE ], [ 1, Moves.WIDE_GUARD ], + [ 1, Moves.KARATE_CHOP ], [ 12, Moves.LOW_SWEEP ], [ 16, Moves.KNOCK_OFF ], [ 20, Moves.SCARY_FACE ], @@ -1195,6 +1209,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.ACID ], [ 1, Moves.WATER_GUN ], [ 1, Moves.REFLECT_TYPE ], + [ 1, Moves.WRING_OUT ], [ 12, Moves.SUPERSONIC ], [ 16, Moves.WATER_PULSE ], [ 20, Moves.SCREECH ], @@ -1437,6 +1452,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.GROWL ], [ 1, Moves.ICY_WIND ], [ 1, Moves.CHARM ], + [ 1, Moves.SIGNAL_BEAM ], [ 13, Moves.ENCORE ], [ 17, Moves.ICE_SHARD ], [ 21, Moves.REST ], @@ -1580,6 +1596,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.TACKLE ], [ 1, Moves.ROCK_THROW ], [ 1, Moves.HARDEN ], + [ 1, Moves.MUD_SPORT ], [ 4, Moves.SMACK_DOWN ], [ 8, Moves.ROCK_POLISH ], [ 12, Moves.DRAGON_BREATH ], @@ -1617,6 +1634,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.CONFUSION ], [ 1, Moves.HYPNOSIS ], [ 1, Moves.SWITCHEROO ], + [ 1, Moves.NIGHTMARE ], [ 13, Moves.HEADBUTT ], [ 17, Moves.POISON_GAS ], [ 21, Moves.PSYBEAM ], @@ -1631,6 +1649,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.KRABBY]: [ [ 1, Moves.LEER ], [ 1, Moves.WATER_GUN ], + [ 1, Moves.MUD_SPORT ], [ 4, Moves.HARDEN ], [ 8, Moves.METAL_CLAW ], [ 12, Moves.MUD_SHOT ], @@ -1651,6 +1670,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.METAL_CLAW ], [ 1, Moves.HAMMER_ARM ], [ 1, Moves.WIDE_GUARD ], + [ 1, Moves.MUD_SPORT ], [ 12, Moves.MUD_SHOT ], [ 16, Moves.PROTECT ], [ 20, Moves.BUBBLE_BEAM ], @@ -1704,6 +1724,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.EXEGGCUTE]: [ [ 1, Moves.ABSORB ], [ 1, Moves.HYPNOSIS ], + [ 1, Moves.BARRAGE ], [ 5, Moves.REFLECT ], [ 10, Moves.LEECH_SEED ], [ 15, Moves.MEGA_DRAIN ], @@ -1718,6 +1739,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.EXEGGUTOR]: [ [ 0, Moves.STOMP ], + [ 1, Moves.BARRAGE ], [ 1, Moves.SEED_BOMB ], [ 1, Moves.PSYSHOCK ], [ 1, Moves.WOOD_HAMMER ], @@ -1758,6 +1780,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.GROWL ], [ 1, Moves.MUD_SLAP ], [ 1, Moves.FALSE_SWIPE ], + [ 1, Moves.BONE_CLUB ], [ 12, Moves.HEADBUTT ], [ 16, Moves.RETALIATE ], [ 20, Moves.FLING ], @@ -1777,6 +1800,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.HELPING_HAND ], [ 1, Moves.FEINT ], [ 1, Moves.LOW_SWEEP ], + [ 1, Moves.JUMP_KICK ], + [ 1, Moves.ROLLING_KICK ], [ 4, Moves.DOUBLE_KICK ], [ 8, Moves.LOW_KICK ], [ 12, Moves.ENDURE ], @@ -1797,6 +1822,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.FAKE_OUT ], [ 1, Moves.HELPING_HAND ], [ 1, Moves.FEINT ], + [ 1, Moves.PURSUIT ], + [ 1, Moves.COMET_PUNCH ], [ 4, Moves.MACH_PUNCH ], [ 8, Moves.VACUUM_WAVE ], [ 12, Moves.DETECT ], @@ -1920,6 +1947,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.TANGELA]: [ [ 1, Moves.BIND ], [ 1, Moves.ABSORB ], + [ 1, Moves.CONSTRICT ], [ 4, Moves.STUN_SPORE ], [ 8, Moves.GROWTH ], [ 12, Moves.MEGA_DRAIN ], @@ -1939,6 +1967,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.KANGASKHAN]: [ [ 1, Moves.POUND ], [ 1, Moves.TAIL_WHIP ], + [ 1, Moves.COMET_PUNCH ], [ 4, Moves.GROWL ], [ 8, Moves.FAKE_OUT ], [ 12, Moves.BITE ], @@ -1986,6 +2015,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.GOLDEEN]: [ [ 1, Moves.TAIL_WHIP ], [ 1, Moves.PECK ], + [ 1, Moves.WATER_SPORT ], [ 5, Moves.SUPERSONIC ], [ 10, Moves.WATER_PULSE ], [ 15, Moves.HORN_ATTACK ], @@ -2000,6 +2030,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.SEAKING]: [ [ 1, Moves.TAIL_WHIP ], [ 1, Moves.SUPERSONIC ], + [ 1, Moves.WATER_SPORT ], [ 1, Moves.PECK ], [ 1, Moves.WATER_PULSE ], [ 15, Moves.HORN_ATTACK ], @@ -2042,6 +2073,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.CONFUSE_RAY ], [ 1, Moves.LIGHT_SCREEN ], [ 1, Moves.SWIFT ], + [ 1, Moves.SPOTLIGHT ], [ 1, Moves.RAPID_SPIN ], [ 1, Moves.COSMIC_POWER ], [ 1, Moves.BRINE ], @@ -2056,6 +2088,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.GUARD_SWAP ], [ 1, Moves.WIDE_GUARD ], [ 1, Moves.QUICK_GUARD ], + [ 1, Moves.BARRIER ], [ 12, Moves.CONFUSION ], [ 16, Moves.ROLE_PLAY ], [ 20, Moves.PROTECT ], @@ -2334,6 +2367,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.OMANYTE]: [ [ 1, Moves.BIND ], [ 1, Moves.WITHDRAW ], + [ 1, Moves.CONSTRICT ], [ 5, Moves.ROLLOUT ], [ 10, Moves.SAND_ATTACK ], [ 15, Moves.WATER_GUN ], @@ -2351,6 +2385,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 0, Moves.CRUNCH ], [ 1, Moves.BIND ], [ 1, Moves.SAND_ATTACK ], + [ 1, Moves.CONSTRICT ], + [ 1, Moves.SPIKE_CANNON ], [ 1, Moves.WITHDRAW ], [ 1, Moves.ROLLOUT ], [ 15, Moves.WATER_GUN ], @@ -2841,6 +2877,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.SPINARAK]: [ [ 1, Moves.POISON_STING ], [ 1, Moves.STRING_SHOT ], + [ 1, Moves.CONSTRICT ], [ 5, Moves.ABSORB ], [ 8, Moves.INFESTATION ], [ 12, Moves.SCARY_FACE ], @@ -2861,6 +2898,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.POISON_STING ], [ 1, Moves.ABSORB ], [ 1, Moves.STRING_SHOT ], + [ 1, Moves.CONSTRICT ], [ 1, Moves.FOCUS_ENERGY ], [ 1, Moves.BUG_BITE ], [ 1, Moves.FELL_STINGER ], @@ -2918,6 +2956,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 0, Moves.SWALLOW ], [ 1, Moves.SUPERSONIC ], [ 1, Moves.WATER_GUN ], + [ 1, Moves.SPOTLIGHT ], [ 1, Moves.THUNDER_WAVE ], [ 1, Moves.ELECTRO_BALL ], [ 1, Moves.EERIE_IMPULSE ], @@ -3069,6 +3108,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.ZAP_CANNON ], [ 1, Moves.DRAGON_PULSE ], [ 1, Moves.MAGNETIC_FLUX ], + [ 1, Moves.ION_DELUGE ], [ 11, Moves.COTTON_SPORE ], [ 16, Moves.CHARGE ], [ 20, Moves.TAKE_DOWN ], @@ -3371,6 +3411,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.HELPING_HAND ], [ 1, Moves.COVET ], [ 1, Moves.COPYCAT ], + [ 1, Moves.PURSUIT ], [ 5, Moves.SAND_ATTACK ], [ 10, Moves.SNARL ], [ 15, Moves.QUICK_ATTACK ], @@ -3425,6 +3466,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.MISDREAVUS]: [ [ 1, Moves.GROWL ], [ 1, Moves.CONFUSION ], + [ 1, Moves.PSYWAVE ], [ 10, Moves.ASTONISH ], [ 14, Moves.CONFUSE_RAY ], [ 19, Moves.MEAN_LOOK ], @@ -3492,6 +3534,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.TOXIC_SPIKES ], [ 1, Moves.MAGNET_RISE ], [ 1, Moves.BUG_BITE ], + [ 1, Moves.MIRROR_SHOT ], [ 12, Moves.TAKE_DOWN ], [ 17, Moves.RAPID_SPIN ], [ 20, Moves.ROLLOUT ], @@ -3541,6 +3584,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.TACKLE ], [ 1, Moves.ROCK_THROW ], [ 1, Moves.HARDEN ], + [ 1, Moves.MUD_SPORT ], [ 1, Moves.CRUNCH ], [ 1, Moves.ROCK_POLISH ], [ 1, Moves.THUNDER_FANG ], @@ -3638,6 +3682,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.SHUCKLE]: [ [ 1, Moves.WRAP ], [ 1, Moves.WITHDRAW ], + [ 1, Moves.BIDE ], + [ 1, Moves.CONSTRICT ], [ 5, Moves.ROLLOUT ], [ 10, Moves.STRUGGLE_BUG ], [ 15, Moves.ROCK_THROW ], @@ -3758,6 +3804,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.SWINUB]: [ [ 1, Moves.TACKLE ], [ 1, Moves.MUD_SLAP ], + [ 1, Moves.ODOR_SLEUTH ], [ 5, Moves.POWDER_SNOW ], [ 10, Moves.FLAIL ], [ 15, Moves.ICE_SHARD ], @@ -3775,6 +3822,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.FLAIL ], [ 1, Moves.POWDER_SNOW ], [ 1, Moves.MUD_SLAP ], + [ 1, Moves.ODOR_SLEUTH ], [ 1, Moves.ANCIENT_POWER ], [ 15, Moves.ICE_SHARD ], [ 20, Moves.MIST ], @@ -3819,6 +3867,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.OCTILLERY]: [ [ 0, Moves.OCTAZOOKA ], [ 1, Moves.WRAP ], + [ 1, Moves.CONSTRICT ], [ 1, Moves.WATER_GUN ], [ 1, Moves.FOCUS_ENERGY ], [ 1, Moves.HELPING_HAND ], @@ -3835,9 +3884,23 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 48, Moves.SOAK ], [ 54, Moves.HYPER_BEAM ], ], - [Species.DELIBIRD]: [ + [Species.DELIBIRD]: [ //Given a custom level up learnset [ 1, Moves.PRESENT ], + [ 1, Moves.METRONOME ], + [ 5, Moves.FAKE_OUT ], + [ 5, Moves.POWDER_SNOW ], + [ 6, Moves.MIST ], + [ 10, Moves.ICE_SHARD ], + [ 15, Moves.AERIAL_ACE ], + [ 20, Moves.ICY_WIND ], [ 25, Moves.DRILL_PECK ], + [ 30, Moves.ICE_PUNCH ], + [ 35, Moves.HAZE ], + [ 40, Moves.AIR_SLASH ], + [ 45, Moves.TAILWIND ], + [ 50, Moves.SNOWSCAPE ], + [ 55, Moves.BLIZZARD ], + [ 60, Moves.BRAVE_BIRD ], ], [Species.MANTINE]: [ [ 1, Moves.WING_ATTACK ], @@ -3845,6 +3908,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.SUPERSONIC ], [ 1, Moves.WATER_GUN ], [ 1, Moves.PSYBEAM ], + [ 1, Moves.SIGNAL_BEAM ], [ 1, Moves.BULLET_SEED ], [ 1, Moves.ROOST ], [ 12, Moves.WATER_PULSE ], @@ -3934,6 +3998,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.TACKLE ], [ 1, Moves.GROWL ], [ 1, Moves.DEFENSE_CURL ], + [ 1, Moves.ODOR_SLEUTH ], [ 6, Moves.FLAIL ], [ 10, Moves.ROLLOUT ], [ 15, Moves.BULLDOZE ], @@ -3981,6 +4046,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.STANTLER]: [ [ 1, Moves.TACKLE ], + [ 1, Moves.ME_FIRST ], [ 3, Moves.LEER ], [ 7, Moves.ASTONISH ], [ 10, Moves.HYPNOSIS ], @@ -4015,6 +4081,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.FAKE_OUT ], [ 1, Moves.HELPING_HAND ], [ 1, Moves.FEINT ], + [ 1, Moves.PURSUIT ], + [ 1, Moves.ROLLING_KICK ], [ 4, Moves.QUICK_ATTACK ], [ 8, Moves.GYRO_BALL ], [ 12, Moves.DETECT ], @@ -4334,6 +4402,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.X_SCISSOR ], [ 1, Moves.ENERGY_BALL ], [ 1, Moves.SHED_TAIL ], + [ 1, Moves.DUAL_CHOP ], [ 5, Moves.MEGA_DRAIN ], [ 12, Moves.DETECT ], [ 15, Moves.QUICK_GUARD ], @@ -4524,6 +4593,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.GROWL ], [ 1, Moves.SWITCHEROO ], [ 1, Moves.BABY_DOLL_EYES ], + [ 1, Moves.ROTOTILLER ], [ 9, Moves.COVET ], [ 12, Moves.HEADBUTT ], [ 15, Moves.HONE_CLAWS ], @@ -4644,6 +4714,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.SEEDOT]: [ [ 1, Moves.TACKLE ], [ 1, Moves.HARDEN ], + [ 1, Moves.BIDE ], [ 3, Moves.ABSORB ], [ 6, Moves.ASTONISH ], [ 9, Moves.GROWTH ], @@ -4756,6 +4827,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.WATER_GUN ], [ 1, Moves.TAILWIND ], [ 1, Moves.SUPERSONIC ], + [ 1, Moves.WATER_SPORT ], [ 15, Moves.WING_ATTACK ], [ 20, Moves.WATER_PULSE ], [ 28, Moves.STOCKPILE ], @@ -4842,6 +4914,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.QUICK_ATTACK ], [ 1, Moves.SWEET_SCENT ], [ 1, Moves.SOAK ], + [ 1, Moves.OMINOUS_WIND ], [ 17, Moves.GUST ], [ 22, Moves.SCARY_FACE ], [ 22, Moves.AIR_CUTTER ], @@ -5232,6 +5305,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.MEDITITE]: [ [ 1, Moves.CONFUSION ], [ 1, Moves.WORK_UP ], + [ 1, Moves.BIDE ], [ 9, Moves.DETECT ], [ 12, Moves.ENDURE ], [ 15, Moves.FEINT ], @@ -5254,6 +5328,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.CONFUSION ], [ 1, Moves.DETECT ], [ 1, Moves.WORK_UP ], + [ 1, Moves.BIDE ], [ 12, Moves.ENDURE ], [ 15, Moves.FEINT ], [ 17, Moves.FORCE_PALM ], @@ -5345,6 +5420,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 49, Moves.ENTRAINMENT ], ], [Species.VOLBEAT]: [ + [ 1, Moves.FLASH ], [ 1, Moves.TACKLE ], [ 5, Moves.DOUBLE_TEAM ], [ 8, Moves.CONFUSE_RAY ], @@ -5420,6 +5496,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.POUND ], [ 1, Moves.YAWN ], [ 1, Moves.POISON_GAS ], + [ 1, Moves.WRING_OUT ], [ 1, Moves.SLUDGE ], [ 12, Moves.AMNESIA ], [ 17, Moves.ACID_SPRAY ], @@ -5606,6 +5683,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.TRAPINCH]: [ [ 1, Moves.SAND_ATTACK ], [ 1, Moves.ASTONISH ], + [ 1, Moves.BIDE ], + [ 1, Moves.FEINT_ATTACK ], [ 8, Moves.BITE ], [ 12, Moves.MUD_SLAP ], [ 16, Moves.SAND_TOMB ], @@ -5629,6 +5708,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.SUPERPOWER ], [ 1, Moves.ASTONISH ], [ 1, Moves.BULLDOZE ], + [ 1, Moves.BIDE ], + [ 1, Moves.FEINT_ATTACK ], [ 12, Moves.MUD_SLAP ], [ 16, Moves.SAND_TOMB ], [ 20, Moves.DRAGON_TAIL ], @@ -5655,6 +5736,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.ASTONISH ], [ 1, Moves.DRAGON_DANCE ], [ 1, Moves.FEINT ], + [ 1, Moves.BIDE ], + [ 1, Moves.FEINT_ATTACK ], [ 12, Moves.MUD_SLAP ], [ 16, Moves.SAND_TOMB ], [ 20, Moves.DRAGON_TAIL ], @@ -5932,6 +6015,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.LILEEP]: [ [ 1, Moves.WRAP ], [ 1, Moves.ASTONISH ], + [ 1, Moves.CONSTRICT ], [ 4, Moves.ACID ], [ 8, Moves.CONFUSE_RAY ], [ 12, Moves.INGRAIN ], @@ -5950,6 +6034,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.LEECH_SEED ], [ 1, Moves.WRAP ], [ 1, Moves.ASTONISH ], + [ 1, Moves.CONSTRICT ], [ 1, Moves.ACID ], [ 1, Moves.CONFUSE_RAY ], [ 12, Moves.INGRAIN ], @@ -6006,6 +6091,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.TACKLE ], [ 1, Moves.WRAP ], [ 1, Moves.WATER_GUN ], + [ 1, Moves.WATER_SPORT ], [ 4, Moves.DISARMING_VOICE ], [ 8, Moves.TWISTER ], [ 12, Moves.AQUA_RING ], @@ -6145,6 +6231,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.GROWL ], [ 1, Moves.ASTONISH ], [ 1, Moves.CONFUSION ], + [ 1, Moves.SYNCHRONOISE ], [ 13, Moves.YAWN ], [ 16, Moves.STORED_POWER ], [ 19, Moves.TAKE_DOWN ], @@ -6204,7 +6291,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.HEADBUTT ], [ 1, Moves.ASTONISH ], [ 1, Moves.LEER ], - [ 1, Moves.DOUBLE_TEAM ], + [ 1, Moves.DOUBLE_TEAM ], + [ 1, Moves.ICE_BALL ], [ 15, Moves.ICE_SHARD ], [ 20, Moves.PROTECT ], [ 25, Moves.ICY_WIND ], @@ -6272,6 +6360,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 72, Moves.SHEER_COLD ], ], [Species.CLAMPERL]: [ + [ 1, Moves.CLAMP ], [ 1, Moves.WATER_GUN ], [ 1, Moves.WHIRLPOOL ], [ 1, Moves.IRON_DEFENSE ], @@ -6495,6 +6584,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.LATIAS]: [ [ 1, Moves.STORED_POWER ], [ 1, Moves.CHARM ], + [ 1, Moves.PSYWAVE ], [ 5, Moves.HELPING_HAND ], [ 10, Moves.RECOVER ], [ 15, Moves.CONFUSION ], @@ -6513,6 +6603,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.LATIOS]: [ [ 1, Moves.STORED_POWER ], [ 1, Moves.DRAGON_DANCE ], + [ 1, Moves.HEAL_BLOCK ], + [ 1, Moves.PSYWAVE ], [ 5, Moves.HELPING_HAND ], [ 10, Moves.RECOVER ], [ 15, Moves.CONFUSION ], @@ -6595,6 +6687,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 98, Moves.DOOM_DESIRE ], ], [Species.DEOXYS]: [ + [ 1, Moves.CONFUSION ], //Custom [ 1, Moves.LEER ], [ 1, Moves.WRAP ], [ 7, Moves.NIGHT_SHADE ], @@ -6831,6 +6924,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.KRICKETOT]: [ [ 1, Moves.TACKLE ], [ 1, Moves.GROWL ], + [ 1, Moves.BIDE ], [ 6, Moves.STRUGGLE_BUG ], [ 16, Moves.BUG_BITE ], ], @@ -6838,6 +6932,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 0, Moves.FURY_CUTTER ], [ 1, Moves.TACKLE ], [ 1, Moves.GROWL ], + [ 1, Moves.BIDE ], [ 14, Moves.ABSORB ], [ 18, Moves.SING ], [ 22, Moves.FOCUS_ENERGY ], @@ -7055,11 +7150,13 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 36, Moves.TOXIC ], [ 40, Moves.ATTACK_ORDER ], [ 40, Moves.DEFEND_ORDER ], + [ 40, Moves.HEAL_ORDER ], [ 44, Moves.DESTINY_BOND ], ], [Species.PACHIRISU]: [ [ 1, Moves.GROWL ], [ 1, Moves.THUNDER_SHOCK ], + [ 1, Moves.BIDE ], [ 5, Moves.QUICK_ATTACK ], [ 9, Moves.CHARM ], [ 13, Moves.SPARK ], @@ -7156,6 +7253,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.RECOVER ], [ 1, Moves.HARDEN ], [ 1, Moves.MUD_SLAP ], + [ 1, Moves.MUD_SPORT ], [ 15, Moves.WATER_PULSE ], [ 20, Moves.ANCIENT_POWER ], [ 25, Moves.BODY_SLAM ], @@ -7183,6 +7281,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.DRIFLOON]: [ [ 1, Moves.MINIMIZE ], [ 1, Moves.ASTONISH ], + [ 1, Moves.CONSTRICT ], [ 4, Moves.GUST ], [ 8, Moves.FOCUS_ENERGY ], [ 12, Moves.PAYBACK ], @@ -7203,6 +7302,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.MINIMIZE ], [ 1, Moves.FOCUS_ENERGY ], [ 1, Moves.ASTONISH ], + [ 1, Moves.CONSTRICT ], [ 1, Moves.STRENGTH_SAP ], [ 12, Moves.PAYBACK ], [ 16, Moves.HEX ], @@ -7217,6 +7317,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 54, Moves.EXPLOSION ], ], [Species.BUNEARY]: [ + [ 1, Moves.FRUSTRATION ], [ 1, Moves.POUND ], [ 1, Moves.SPLASH ], [ 4, Moves.DEFENSE_CURL ], @@ -7234,12 +7335,14 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 52, Moves.HEALING_WISH ], ], [Species.LOPUNNY]: [ + [ 0, Moves.RETURN ], [ 1, Moves.POUND ], [ 1, Moves.DEFENSE_CURL ], [ 1, Moves.SPLASH ], [ 1, Moves.MIRROR_COAT ], [ 1, Moves.MAGIC_COAT ], [ 1, Moves.BABY_DOLL_EYES ], + [ 1, Moves.ROTOTILLER ], [ 12, Moves.AFTER_YOU ], [ 16, Moves.QUICK_ATTACK ], [ 20, Moves.DOUBLE_KICK ], @@ -7256,6 +7359,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.MISMAGIUS]: [ [ 1, Moves.GROWL ], [ 1, Moves.SPITE ], + [ 1, Moves.PSYWAVE ], + [ 1, Moves.LUCKY_CHANT ], [ 1, Moves.ASTONISH ], [ 1, Moves.MAGICAL_LEAF ], [ 1, Moves.POWER_GEM ], @@ -7269,6 +7374,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.SUCKER_PUNCH ], [ 1, Moves.NIGHT_SLASH ], [ 1, Moves.QUASH ], + [ 1, Moves.PURSUIT ], [ 25, Moves.SWAGGER ], [ 35, Moves.NASTY_PLOT ], [ 45, Moves.FOUL_PLAY ], @@ -7409,6 +7515,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.MIME_JR]: [ [ 1, Moves.POUND ], [ 1, Moves.COPYCAT ], + [ 1, Moves.BARRIER ], [ 4, Moves.BATON_PASS ], [ 8, Moves.ENCORE ], [ 12, Moves.CONFUSION ], @@ -7455,6 +7562,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.SPIRITOMB]: [ [ 1, Moves.NIGHT_SHADE ], [ 1, Moves.CONFUSE_RAY ], + [ 1, Moves.PURSUIT ], [ 5, Moves.SHADOW_SNEAK ], [ 10, Moves.SPITE ], [ 15, Moves.PAYBACK ], @@ -7487,6 +7595,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.TACKLE ], [ 1, Moves.DRAGON_BREATH ], [ 1, Moves.SAND_TOMB ], + [ 1, Moves.DUAL_CHOP ], [ 18, Moves.BULLDOZE ], [ 27, Moves.BITE ], [ 34, Moves.SLASH ], @@ -7502,6 +7611,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.TACKLE ], [ 1, Moves.DRAGON_BREATH ], [ 1, Moves.SAND_TOMB ], + [ 1, Moves.DUAL_CHOP ], [ 18, Moves.BULLDOZE ], [ 27, Moves.BITE ], [ 34, Moves.SLASH ], @@ -7514,6 +7624,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.MUNCHLAX]: [ [ 1, Moves.TACKLE ], [ 1, Moves.LICK ], + [ 1, Moves.ODOR_SLEUTH ], [ 4, Moves.DEFENSE_CURL ], [ 8, Moves.RECYCLE ], [ 12, Moves.COVET ], @@ -7789,6 +7900,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.TAUNT ], [ 1, Moves.ASSURANCE ], [ 1, Moves.ICE_SHARD ], + [ 1, Moves.EMBARGO ], [ 18, Moves.METAL_CLAW ], [ 24, Moves.ICY_WIND ], [ 30, Moves.FURY_SWIPES ], @@ -7804,6 +7916,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.SUPERSONIC ], [ 1, Moves.THUNDER_SHOCK ], [ 1, Moves.THUNDER_WAVE ], + [ 1, Moves.BARRIER ], [ 1, Moves.TRI_ATTACK ], [ 1, Moves.MIRROR_COAT ], [ 1, Moves.MAGNETIC_FLUX ], @@ -7825,6 +7938,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.DEFENSE_CURL ], [ 1, Moves.LICK ], [ 1, Moves.ROLLOUT ], + [ 1, Moves.WRING_OUT ], [ 6, Moves.REST ], [ 18, Moves.WRAP ], [ 24, Moves.DISABLE ], @@ -7859,6 +7973,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.GROWTH ], [ 1, Moves.STUN_SPORE ], [ 1, Moves.BLOCK ], + [ 1, Moves.CONSTRICT ], [ 12, Moves.MEGA_DRAIN ], [ 16, Moves.VINE_WHIP ], [ 20, Moves.POISON_POWDER ], @@ -7878,6 +7993,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.THUNDER_SHOCK ], [ 1, Moves.QUICK_ATTACK ], [ 1, Moves.CHARGE ], + [ 1, Moves.ION_DELUGE ], [ 12, Moves.SWIFT ], [ 16, Moves.SHOCK_WAVE ], [ 20, Moves.THUNDER_WAVE ], @@ -8024,6 +8140,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.FLAIL ], [ 1, Moves.POWDER_SNOW ], [ 1, Moves.MUD_SLAP ], + [ 1, Moves.ODOR_SLEUTH ], [ 1, Moves.ANCIENT_POWER ], [ 1, Moves.ICE_FANG ], [ 15, Moves.ICE_SHARD ], @@ -8147,6 +8264,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.CRUNCH ], [ 1, Moves.ASTONISH ], [ 1, Moves.ICE_FANG ], + [ 1, Moves.OMINOUS_WIND ], [ 15, Moves.ICE_SHARD ], [ 20, Moves.DRAINING_KISS ], [ 25, Moves.ICY_WIND ], @@ -8269,6 +8387,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.REGIGIGAS]: [ [ 1, Moves.POUND ], [ 1, Moves.CONFUSE_RAY ], + [ 1, Moves.DIZZY_PUNCH ], + [ 1, Moves.FORESIGHT ], [ 6, Moves.PAYBACK ], [ 12, Moves.REVENGE ], [ 18, Moves.STOMP ], @@ -8346,6 +8466,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.DARKRAI]: [ [ 1, Moves.DISABLE ], + [ 1, Moves.OMINOUS_WIND ], [ 11, Moves.QUICK_ATTACK ], [ 20, Moves.HYPNOSIS ], [ 29, Moves.SUCKER_PUNCH ], @@ -8358,6 +8479,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 93, Moves.DARK_PULSE ], ], [Species.SHAYMIN]: [ + [ 1, Moves.LEAFAGE ], //Custom [ 1, Moves.GROWTH ], [ 10, Moves.MAGICAL_LEAF ], [ 19, Moves.LEECH_SEED ], @@ -8374,6 +8496,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.ARCEUS]: [ [ 1, Moves.SEISMIC_TOSS ], [ 1, Moves.COSMIC_POWER ], + [ 1, Moves.PUNISHMENT ], [ 10, Moves.GRAVITY ], [ 20, Moves.EARTH_POWER ], [ 30, Moves.HYPER_VOICE ], @@ -8667,6 +8790,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 40, Moves.PLAY_ROUGH ], ], [Species.LIEPARD]: [ + [ 1, Moves.ASSIST ], [ 1, Moves.SCRATCH ], [ 1, Moves.SAND_ATTACK ], [ 1, Moves.GROWL ], @@ -8755,6 +8879,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.MUNNA]: [ [ 1, Moves.DEFENSE_CURL ], [ 1, Moves.STORED_POWER ], + [ 1, Moves.PSYWAVE ], [ 4, Moves.HYPNOSIS ], [ 8, Moves.PSYBEAM ], [ 12, Moves.IMPRISON ], @@ -8774,6 +8899,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.PSYCHIC ], [ 1, Moves.HYPNOSIS ], [ 1, Moves.DEFENSE_CURL ], + [ 1, Moves.LUCKY_CHANT ], [ 1, Moves.DREAM_EATER ], [ 1, Moves.MOONLIGHT ], [ 1, Moves.FUTURE_SIGHT ], @@ -8851,6 +8977,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.THUNDER_WAVE ], [ 1, Moves.QUICK_ATTACK ], [ 1, Moves.CHARGE ], + [ 1, Moves.ION_DELUGE ], [ 11, Moves.SHOCK_WAVE ], [ 18, Moves.FLAME_CHARGE ], [ 25, Moves.SPARK ], @@ -8940,6 +9067,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.DRILBUR]: [ [ 1, Moves.MUD_SLAP ], [ 1, Moves.RAPID_SPIN ], + [ 1, Moves.MUD_SPORT ], [ 4, Moves.SCRATCH ], [ 8, Moves.HONE_CLAWS ], [ 12, Moves.FURY_SWIPES ], @@ -8958,6 +9086,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.SCRATCH ], [ 1, Moves.MUD_SLAP ], [ 1, Moves.RAPID_SPIN ], + [ 1, Moves.MUD_SPORT ], + [ 1, Moves.ROTOTILLER ], [ 1, Moves.HONE_CLAWS ], [ 12, Moves.FURY_SWIPES ], [ 16, Moves.METAL_CLAW ], @@ -9010,6 +9140,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.LEER ], [ 1, Moves.LOW_KICK ], [ 1, Moves.ROCK_THROW ], + [ 1, Moves.BIDE ], [ 12, Moves.FOCUS_ENERGY ], [ 16, Moves.BULK_UP ], [ 20, Moves.ROCK_SLIDE ], @@ -9026,6 +9157,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.LEER ], [ 1, Moves.LOW_KICK ], [ 1, Moves.ROCK_THROW ], + [ 1, Moves.BIDE ], [ 12, Moves.FOCUS_ENERGY ], [ 16, Moves.BULK_UP ], [ 20, Moves.ROCK_SLIDE ], @@ -9090,6 +9222,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.THROH]: [ [ 1, Moves.BIND ], [ 1, Moves.LEER ], + [ 1, Moves.BIDE ], + [ 1, Moves.MAT_BLOCK ], [ 5, Moves.FOCUS_ENERGY ], [ 10, Moves.CIRCLE_THROW ], [ 15, Moves.WIDE_GUARD ], @@ -9105,6 +9239,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.SAWK]: [ [ 1, Moves.LEER ], [ 1, Moves.ROCK_SMASH ], + [ 1, Moves.BIDE ], [ 5, Moves.FOCUS_ENERGY ], [ 10, Moves.DOUBLE_KICK ], [ 15, Moves.QUICK_GUARD ], @@ -9134,6 +9269,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.RAZOR_LEAF ], [ 1, Moves.STRING_SHOT ], [ 1, Moves.BUG_BITE ], + [ 1, Moves.GRASS_WHISTLE ], [ 22, Moves.STRUGGLE_BUG ], [ 29, Moves.ENDURE ], [ 31, Moves.STICKY_WEB ], @@ -9466,6 +9602,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.LEER ], [ 1, Moves.LOW_KICK ], [ 1, Moves.PAYBACK ], + [ 1, Moves.FEINT_ATTACK ], [ 12, Moves.SAND_ATTACK ], [ 16, Moves.FACADE ], [ 20, Moves.PROTECT ], @@ -9538,6 +9675,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.TIRTOUGA]: [ [ 1, Moves.WATER_GUN ], [ 1, Moves.WITHDRAW ], + [ 1, Moves.BIDE ], [ 3, Moves.PROTECT ], [ 6, Moves.AQUA_JET ], [ 9, Moves.SMACK_DOWN ], @@ -9559,6 +9697,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.WITHDRAW ], [ 1, Moves.PROTECT ], [ 1, Moves.AQUA_JET ], + [ 1, Moves.BIDE ], [ 9, Moves.SMACK_DOWN ], [ 12, Moves.ANCIENT_POWER ], [ 15, Moves.BITE ], @@ -9674,6 +9813,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.TORMENT ], [ 1, Moves.U_TURN ], [ 1, Moves.HONE_CLAWS ], + [ 1, Moves.PURSUIT ], [ 12, Moves.FURY_SWIPES ], [ 20, Moves.TAUNT ], [ 24, Moves.KNOCK_OFF ], @@ -9771,6 +9911,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.SOLOSIS]: [ [ 1, Moves.CONFUSION ], [ 1, Moves.PROTECT ], + [ 1, Moves.PSYWAVE ], [ 4, Moves.RECOVER ], [ 8, Moves.ENDEAVOR ], [ 12, Moves.PSYBEAM ], @@ -9789,8 +9930,10 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.DUOSION]: [ [ 1, Moves.CONFUSION ], [ 1, Moves.RECOVER ], + [ 1, Moves.PSYWAVE ], [ 1, Moves.PROTECT ], [ 1, Moves.ENDEAVOR ], + [ 1, Moves.SNATCH ], [ 12, Moves.PSYBEAM ], [ 16, Moves.CHARM ], [ 20, Moves.PSYSHOCK ], @@ -9810,6 +9953,9 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.RECOVER ], [ 1, Moves.PROTECT ], [ 1, Moves.ENDEAVOR ], + [ 1, Moves.DIZZY_PUNCH ], + [ 1, Moves.PSYWAVE ], + [ 1, Moves.SNATCH ], [ 12, Moves.PSYBEAM ], [ 16, Moves.CHARM ], [ 20, Moves.PSYSHOCK ], @@ -9908,6 +10054,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.DEERLING]: [ [ 1, Moves.TACKLE ], + [ 1, Moves.CAMOUFLAGE ], [ 4, Moves.GROWL ], [ 7, Moves.SAND_ATTACK ], [ 10, Moves.DOUBLE_KICK ], @@ -9925,6 +10072,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.SAND_ATTACK ], [ 1, Moves.TACKLE ], [ 1, Moves.GROWL ], + [ 1, Moves.CAMOUFLAGE ], [ 1, Moves.MEGAHORN ], [ 10, Moves.DOUBLE_KICK ], [ 13, Moves.LEECH_SEED ], @@ -9978,6 +10126,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.FURY_CUTTER ], [ 1, Moves.QUICK_GUARD ], [ 1, Moves.FELL_STINGER ], + [ 1, Moves.TWINEEDLE ], [ 12, Moves.FALSE_SWIPE ], [ 16, Moves.ACID_SPRAY ], [ 20, Moves.HEADBUTT ], @@ -10011,6 +10160,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.GROWTH ], [ 1, Moves.STUN_SPORE ], [ 1, Moves.ASTONISH ], + [ 1, Moves.BIDE ], [ 12, Moves.MEGA_DRAIN ], [ 16, Moves.SYNTHESIS ], [ 20, Moves.CLEAR_SMOG ], @@ -10025,6 +10175,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.FRILLISH]: [ [ 1, Moves.WATER_GUN ], [ 1, Moves.ABSORB ], + [ 1, Moves.WATER_SPORT ], [ 4, Moves.POISON_STING ], [ 8, Moves.NIGHT_SHADE ], [ 12, Moves.WATER_PULSE ], @@ -10041,6 +10192,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.JELLICENT]: [ [ 1, Moves.POISON_STING ], [ 1, Moves.WATER_GUN ], + [ 1, Moves.WATER_SPORT ], + [ 1, Moves.WRING_OUT ], [ 1, Moves.ABSORB ], [ 1, Moves.NIGHT_SHADE ], [ 1, Moves.ACID_ARMOR ], @@ -10058,6 +10211,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.ALOMOMOLA]: [ [ 1, Moves.POUND ], [ 1, Moves.PLAY_NICE ], + [ 1, Moves.WATER_SPORT ], [ 5, Moves.AQUA_RING ], [ 9, Moves.AQUA_JET ], [ 13, Moves.HELPING_HAND ], @@ -10075,6 +10229,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.JOLTIK]: [ [ 1, Moves.ABSORB ], [ 1, Moves.FURY_CUTTER ], + [ 1, Moves.SPIDER_WEB ], [ 4, Moves.ELECTROWEB ], [ 8, Moves.BUG_BITE ], [ 12, Moves.STRING_SHOT ], @@ -10094,6 +10249,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.FURY_CUTTER ], [ 1, Moves.BUG_BITE ], [ 1, Moves.ELECTROWEB ], + [ 1, Moves.SPIDER_WEB ], [ 12, Moves.STRING_SHOT ], [ 16, Moves.THUNDER_WAVE ], [ 20, Moves.ELECTRO_BALL ], @@ -10125,6 +10281,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.PIN_MISSILE ], [ 1, Moves.HARDEN ], [ 1, Moves.METAL_CLAW ], + [ 1, Moves.ROCK_CLIMB ], [ 15, Moves.INGRAIN ], [ 20, Moves.FLASH_CANNON ], [ 25, Moves.IRON_HEAD ], @@ -10197,6 +10354,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.THUNDER_WAVE ], [ 1, Moves.SPARK ], [ 1, Moves.CHARGE_BEAM ], + [ 1, Moves.ION_DELUGE ], [ 9, Moves.BIND ], [ 19, Moves.ACID ], [ 29, Moves.DISCHARGE ], @@ -10239,6 +10397,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.BEHEEYEM]: [ [ 1, Moves.GROWL ], [ 1, Moves.CONFUSION ], + [ 1, Moves.SYNCHRONOISE ], [ 1, Moves.TELEPORT ], [ 1, Moves.IMPRISON ], [ 1, Moves.PSYCHIC_TERRAIN ], @@ -10319,7 +10478,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 21, Moves.SCARY_FACE ], [ 24, Moves.CRUNCH ], [ 27, Moves.DRAGON_DANCE ], - [ 30, Moves.BREAKING_SWIPE ], + [ 30, Moves.DUAL_CHOP ], [ 33, Moves.FOCUS_ENERGY ], [ 36, Moves.DRAGON_PULSE ], [ 39, Moves.SWORDS_DANCE ], @@ -10332,6 +10491,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.LEER ], [ 1, Moves.BITE ], [ 1, Moves.FALSE_SWIPE ], + [ 1, Moves.DUAL_CHOP ], [ 9, Moves.ASSURANCE ], [ 12, Moves.TAUNT ], [ 15, Moves.SLASH ], @@ -10352,6 +10512,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.LEER ], [ 1, Moves.BITE ], [ 1, Moves.FALSE_SWIPE ], + [ 1, Moves.DUAL_CHOP ], [ 9, Moves.ASSURANCE ], [ 12, Moves.TAUNT ], [ 15, Moves.SLASH ], @@ -10393,6 +10554,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.ENDURE ], [ 1, Moves.CHARM ], [ 1, Moves.AQUA_JET ], + [ 1, Moves.BIDE ], [ 9, Moves.ICY_WIND ], [ 12, Moves.PLAY_NICE ], [ 15, Moves.BRINE ], @@ -10473,6 +10635,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.WATER_GUN ], [ 1, Moves.THUNDER_SHOCK ], [ 1, Moves.MUD_SLAP ], + [ 1, Moves.MUD_SPORT ], [ 5, Moves.ENDURE ], [ 10, Moves.MUD_SHOT ], [ 15, Moves.REVENGE ], @@ -10609,6 +10772,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.BOUFFALANT]: [ [ 1, Moves.TACKLE ], [ 1, Moves.LEER ], + [ 1, Moves.PURSUIT ], [ 5, Moves.FOCUS_ENERGY ], [ 10, Moves.FURY_ATTACK ], [ 15, Moves.REVENGE ], @@ -11049,6 +11213,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 48, Moves.WOOD_HAMMER ], ], [Species.QUILLADIN]: [ + [ 0, Moves.NEEDLE_ARM ], [ 1, Moves.TACKLE ], [ 1, Moves.GROWL ], [ 1, Moves.VINE_WHIP ], @@ -11072,6 +11237,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.ROLLOUT ], [ 1, Moves.HAMMER_ARM ], [ 1, Moves.FEINT ], + [ 1, Moves.NEEDLE_ARM ], [ 11, Moves.BITE ], [ 15, Moves.LEECH_SEED ], [ 19, Moves.PIN_MISSILE ], @@ -11178,6 +11344,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.WATER_GUN ], [ 1, Moves.QUICK_ATTACK ], [ 1, Moves.HAZE ], + [ 1, Moves.MAT_BLOCK ], [ 1, Moves.ROLE_PLAY ], [ 1, Moves.NIGHT_SLASH ], [ 10, Moves.LICK ], @@ -11213,6 +11380,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.LEER ], [ 1, Moves.MUD_SLAP ], [ 1, Moves.LASER_FOCUS ], + [ 1, Moves.ROTOTILLER ], [ 9, Moves.QUICK_ATTACK ], [ 12, Moves.MUD_SHOT ], [ 15, Moves.FLAIL ], @@ -11290,6 +11458,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.STUN_SPORE ], [ 1, Moves.SLEEP_POWDER ], [ 1, Moves.STRUGGLE_BUG ], + [ 1, Moves.POWDER ], [ 12, Moves.LIGHT_SCREEN ], [ 17, Moves.PSYBEAM ], [ 21, Moves.SUPERSONIC ], @@ -11372,6 +11541,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.SAFEGUARD ], [ 1, Moves.SYNTHESIS ], [ 1, Moves.WISH ], + [ 1, Moves.LUCKY_CHANT ], [ 1, Moves.MAGICAL_LEAF ], [ 1, Moves.GRASS_KNOT ], [ 1, Moves.PETAL_BLIZZARD ], @@ -11533,6 +11703,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.AEGISLASH]: [ [ 0, Moves.KINGS_SHIELD ], [ 1, Moves.SWORDS_DANCE ], + [ 1, Moves.PURSUIT ], [ 1, Moves.TACKLE ], [ 1, Moves.SLASH ], [ 1, Moves.FURY_CUTTER ], @@ -11622,6 +11793,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.INKAY]: [ [ 1, Moves.TACKLE ], [ 1, Moves.PECK ], + [ 1, Moves.CONSTRICT ], [ 3, Moves.HYPNOSIS ], [ 6, Moves.WRAP ], [ 9, Moves.PAYBACK ], @@ -11640,6 +11812,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.TACKLE ], [ 1, Moves.WRAP ], [ 1, Moves.PECK ], + [ 1, Moves.CONSTRICT ], [ 1, Moves.HYPNOSIS ], [ 1, Moves.REVERSAL ], [ 9, Moves.PAYBACK ], @@ -11706,6 +11879,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.ACID ], [ 1, Moves.WATER_GUN ], [ 1, Moves.SMOKESCREEN ], + [ 1, Moves.FEINT_ATTACK ], [ 15, Moves.TAIL_WHIP ], [ 20, Moves.DOUBLE_TEAM ], [ 25, Moves.POISON_TAIL ], @@ -11766,6 +11940,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.HELIOLISK]: [ [ 1, Moves.POUND ], [ 1, Moves.TAIL_WHIP ], + [ 1, Moves.RAZOR_WIND ], [ 1, Moves.THUNDER_SHOCK ], [ 1, Moves.THUNDERBOLT ], [ 1, Moves.THUNDER_WAVE ], @@ -12161,6 +12336,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.YVELTAL]: [ [ 1, Moves.GUST ], [ 1, Moves.DOUBLE_TEAM ], + [ 1, Moves.RAZOR_WIND ], [ 5, Moves.TAUNT ], [ 10, Moves.SNARL ], [ 15, Moves.DISABLE ], @@ -12479,6 +12655,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.TACKLE ], [ 1, Moves.LEER ], [ 1, Moves.PAYBACK ], + [ 1, Moves.PURSUIT ], [ 13, Moves.WORK_UP ], [ 19, Moves.BITE ], [ 23, Moves.MUD_SLAP ], @@ -12539,6 +12716,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 64, Moves.ZAP_CANNON ], ], [Species.CRABRAWLER]: [ + [ 1, Moves.BUBBLE ], + [ 1, Moves.VISE_GRIP ], [ 5, Moves.ROCK_SMASH ], [ 9, Moves.LEER ], [ 13, Moves.BUBBLE_BEAM ], @@ -12557,6 +12736,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.LEER ], [ 1, Moves.PROTECT ], [ 1, Moves.ROCK_SMASH ], + [ 1, Moves.BUBBLE ], + [ 1, Moves.PURSUIT ], [ 17, Moves.BUBBLE_BEAM ], [ 22, Moves.BRICK_BREAK ], [ 25, Moves.SLAM ], @@ -12725,6 +12906,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.DEWPIDER]: [ [ 1, Moves.WATER_GUN ], [ 1, Moves.INFESTATION ], + [ 1, Moves.WATER_SPORT ], [ 4, Moves.BUG_BITE ], [ 8, Moves.BITE ], [ 12, Moves.BUBBLE_BEAM ], @@ -12744,6 +12926,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.BUG_BITE ], [ 1, Moves.WIDE_GUARD ], [ 1, Moves.INFESTATION ], + [ 1, Moves.SPIDER_WEB ], [ 12, Moves.BUBBLE_BEAM ], [ 16, Moves.AQUA_RING ], [ 20, Moves.HEADBUTT ], @@ -12777,6 +12960,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.INGRAIN ], [ 1, Moves.NIGHT_SLASH ], [ 1, Moves.LEAFAGE ], + [ 1, Moves.DUAL_CHOP ], [ 15, Moves.RAZOR_LEAF ], [ 20, Moves.SWEET_SCENT ], [ 25, Moves.SLASH ], @@ -12806,6 +12990,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.CONFUSE_RAY ], [ 1, Moves.INGRAIN ], [ 1, Moves.ASTONISH ], + [ 1, Moves.FLASH ], [ 12, Moves.MEGA_DRAIN ], [ 16, Moves.SLEEP_POWDER ], [ 20, Moves.MOONLIGHT ], @@ -12844,6 +13029,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.TORMENT ], [ 1, Moves.KNOCK_OFF ], [ 1, Moves.ENDEAVOR ], + [ 1, Moves.CAPTIVATE ], [ 15, Moves.POISON_FANG ], [ 20, Moves.SWEET_SCENT ], [ 25, Moves.NASTY_PLOT ], @@ -12919,6 +13105,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.RAPID_SPIN ], [ 1, Moves.POWER_WHIP ], [ 1, Moves.PLAY_NICE ], + [ 1, Moves.PUNISHMENT ], [ 16, Moves.SWEET_SCENT ], [ 22, Moves.MAGICAL_LEAF ], [ 28, Moves.STOMP ], @@ -13037,6 +13224,9 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.PYUKUMUKU]: [ [ 1, Moves.HARDEN ], [ 1, Moves.BATON_PASS ], + [ 1, Moves.BIDE ], + [ 1, Moves.MUD_SPORT ], + [ 1, Moves.WATER_SPORT ], [ 5, Moves.HELPING_HAND ], [ 10, Moves.TAUNT ], [ 15, Moves.SAFEGUARD ], @@ -13238,10 +13428,12 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 44, Moves.OUTRAGE ], ], [Species.HAKAMO_O]: [ + [ 0, Moves.SKY_UPPERCUT ], [ 1, Moves.TACKLE ], [ 1, Moves.LEER ], [ 1, Moves.PROTECT ], [ 1, Moves.DRAGON_TAIL ], + [ 1, Moves.BIDE ], [ 12, Moves.SCARY_FACE ], [ 16, Moves.HEADBUTT ], [ 20, Moves.WORK_UP ], @@ -13259,6 +13451,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.LEER ], [ 1, Moves.PROTECT ], [ 1, Moves.DRAGON_TAIL ], + [ 1, Moves.BIDE ], + [ 1, Moves.SKY_UPPERCUT ], [ 12, Moves.SCARY_FACE ], [ 16, Moves.HEADBUTT ], [ 20, Moves.WORK_UP ], @@ -13363,6 +13557,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.METAL_CLAW ], [ 1, Moves.COSMIC_POWER ], [ 1, Moves.NOBLE_ROAR ], + [ 1, Moves.WAKE_UP_SLAP ], [ 7, Moves.IRON_HEAD ], [ 14, Moves.METAL_SOUND ], [ 21, Moves.ZEN_HEADBUTT ], @@ -13398,6 +13593,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.NIHILEGO]: [ [ 1, Moves.POUND ], [ 1, Moves.WRAP ], + [ 1, Moves.CONSTRICT ], [ 5, Moves.ACID ], [ 10, Moves.TICKLE ], [ 15, Moves.ACID_SPRAY ], @@ -13530,6 +13726,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.MOONLIGHT ], [ 1, Moves.GRAVITY ], [ 1, Moves.CHARGE_BEAM ], + [ 1, Moves.MIRROR_SHOT ], [ 8, Moves.STEALTH_ROCK ], [ 16, Moves.SLASH ], [ 24, Moves.NIGHT_SLASH ], @@ -13569,6 +13766,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.FEINT ], [ 1, Moves.COPYCAT ], [ 1, Moves.SHADOW_SNEAK ], + [ 1, Moves.PURSUIT ], [ 9, Moves.ROLE_PLAY ], [ 18, Moves.SHADOW_PUNCH ], [ 27, Moves.FORCE_PALM ], @@ -17333,6 +17531,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.METAL_BURST ], [ 1, Moves.IRON_HEAD ], [ 1, Moves.SNOWSCAPE ], + [ 1, Moves.ICE_BALL ], ], [Species.ALOLA_VULPIX]: [ [ 1, Moves.TAIL_WHIP ], @@ -17393,6 +17592,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.METAL_CLAW ], [ 1, Moves.ASTONISH ], [ 1, Moves.NIGHT_SLASH ], + [ 1, Moves.ROTOTILLER ], [ 12, Moves.MUD_SLAP ], [ 16, Moves.BULLDOZE ], [ 20, Moves.SUCKER_PUNCH ], @@ -17528,6 +17728,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.ALOLA_EXEGGUTOR]: [ [ 0, Moves.DRAGON_HAMMER ], + [ 1, Moves.BARRAGE ], [ 1, Moves.SEED_BOMB ], [ 1, Moves.PSYSHOCK ], [ 1, Moves.WOOD_HAMMER ], @@ -17549,6 +17750,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.ALOLA_MAROWAK]: [ [ 0, Moves.SHADOW_BONE ], + [ 1, Moves.BONE_CLUB ], [ 1, Moves.HEADBUTT ], [ 1, Moves.DOUBLE_EDGE ], [ 1, Moves.TAIL_WHIP ], @@ -18301,6 +18503,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = { [Species.DEOXYS]: { 1: [ + [ 1, Moves.CONFUSION ], //Custom [ 1, Moves.WRAP ], [ 1, Moves.LEER ], [ 7, Moves.NIGHT_SHADE ], @@ -18317,6 +18520,7 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = { [ 73, Moves.HYPER_BEAM ], ], 2: [ + [ 1, Moves.CONFUSION ], //Custom [ 1, Moves.WRAP ], [ 1, Moves.LEER ], [ 7, Moves.NIGHT_SHADE ], @@ -18335,6 +18539,7 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = { [ 73, Moves.MIRROR_COAT ], ], 3: [ + [ 1, Moves.CONFUSION ], //Custom [ 1, Moves.WRAP ], [ 1, Moves.LEER ], [ 7, Moves.NIGHT_SHADE ], @@ -18478,6 +18683,7 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = { }, [Species.SHAYMIN]: { 1: [ + [ 1, Moves.LEAFAGE ], //Custom [ 1, Moves.GROWTH ], [ 10, Moves.MAGICAL_LEAF ], [ 19, Moves.LEECH_SEED ], diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index bd9250bad..c8f999369 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -2759,7 +2759,7 @@ export const speciesStarters = { [Species.GROUDON]: 8, [Species.RAYQUAZA]: 8, [Species.JIRACHI]: 7, - [Species.DEOXYS]: 8, + [Species.DEOXYS]: 7, [Species.TURTWIG]: 3, [Species.CHIMCHAR]: 3, @@ -2813,7 +2813,7 @@ export const speciesStarters = { [Species.DARKRAI]: 7, [Species.SHAYMIN]: 7, [Species.ARCEUS]: 9, - [Species.VICTINI]: 8, + [Species.VICTINI]: 7, [Species.SNIVY]: 3, [Species.TEPIG]: 3, @@ -2895,7 +2895,7 @@ export const speciesStarters = { [Species.KYUREM]: 8, [Species.KELDEO]: 7, [Species.MELOETTA]: 7, - [Species.GENESECT]: 8, + [Species.GENESECT]: 7, [Species.CHESPIN]: 3, [Species.FENNEKIN]: 3, diff --git a/src/field/arena.ts b/src/field/arena.ts index 52822aef4..a2bde9422 100644 --- a/src/field/arena.ts +++ b/src/field/arena.ts @@ -617,7 +617,7 @@ export class Arena { case Biome.CONSTRUCTION_SITE: return 1.222; case Biome.JUNGLE: - return 2.477; + return 0.000; case Biome.FAIRY_CAVE: return 4.542; case Biome.TEMPLE: diff --git a/src/field/damage-number-handler.ts b/src/field/damage-number-handler.ts index f4a3d570e..262ff8863 100644 --- a/src/field/damage-number-handler.ts +++ b/src/field/damage-number-handler.ts @@ -13,7 +13,7 @@ export default class DamageNumberHandler { add(target: Pokemon, amount: integer, result: DamageResult | HitResult.HEAL = HitResult.EFFECTIVE, critical: boolean = false): void { const scene = target.scene; - if (!scene.damageNumbersMode) + if (!scene?.damageNumbersMode) return; const battlerIndex = target.getBattlerIndex(); diff --git a/src/locales/de/ability-trigger.ts b/src/locales/de/ability-trigger.ts new file mode 100644 index 000000000..889007412 --- /dev/null +++ b/src/locales/de/ability-trigger.ts @@ -0,0 +1,5 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const abilityTriggers: SimpleTranslationEntries = { + 'blockRecoilDamage' : `{{pokemonName}}'s {{abilityName}}\nprotected it from recoil!`, +} as const; \ No newline at end of file diff --git a/src/locales/de/config.ts b/src/locales/de/config.ts index 2cc7a52c8..a9f4cd682 100644 --- a/src/locales/de/config.ts +++ b/src/locales/de/config.ts @@ -1,4 +1,5 @@ import { ability } from "./ability"; +import { abilityTriggers } from "./ability-trigger"; import { battle } from "./battle"; import { commandUiHandler } from "./command-ui-handler"; import { fightUiHandler } from "./fight-ui-handler"; @@ -16,6 +17,7 @@ import { tutorial } from "./tutorial"; export const deConfig = { ability: ability, + abilityTriggers: abilityTriggers, battle: battle, commandUiHandler: commandUiHandler, fightUiHandler: fightUiHandler, diff --git a/src/locales/de/move.ts b/src/locales/de/move.ts index 1880253b8..a7750942e 100644 --- a/src/locales/de/move.ts +++ b/src/locales/de/move.ts @@ -2915,7 +2915,7 @@ export const move: MoveTranslationEntries = { }, "zippyZap": { name: "Britzelturbo", - effect: "Ein stürmischer Blitz-Angriff mit hoher Erstschlag- und Volltrefferquote." + effect: "The user attacks the target with bursts of electricity at high speed. This move always goes first and raises the user's evasiveness." }, "splishySplash": { name: "Plätschersurfer", diff --git a/src/locales/de/starter-select-ui-handler.ts b/src/locales/de/starter-select-ui-handler.ts index 791a7c053..2e733c1a0 100644 --- a/src/locales/de/starter-select-ui-handler.ts +++ b/src/locales/de/starter-select-ui-handler.ts @@ -30,5 +30,6 @@ export const starterSelectUiHandler: SimpleTranslationEntries = { "enablePassive": "Passiv-Skill aktivieren", "disablePassive": "Passiv-Skill deaktivieren", "locked": "Gesperrt", - "disabled": "Deaktiviert" + "disabled": "Deaktiviert", + "uncaught": "Uncaught" } \ No newline at end of file diff --git a/src/locales/en/ability-trigger.ts b/src/locales/en/ability-trigger.ts new file mode 100644 index 000000000..889007412 --- /dev/null +++ b/src/locales/en/ability-trigger.ts @@ -0,0 +1,5 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const abilityTriggers: SimpleTranslationEntries = { + 'blockRecoilDamage' : `{{pokemonName}}'s {{abilityName}}\nprotected it from recoil!`, +} as const; \ No newline at end of file diff --git a/src/locales/en/config.ts b/src/locales/en/config.ts index 029791a70..f5e8a68b0 100644 --- a/src/locales/en/config.ts +++ b/src/locales/en/config.ts @@ -1,4 +1,5 @@ import { ability } from "./ability"; +import { abilityTriggers } from "./ability-trigger"; import { battle } from "./battle"; import { commandUiHandler } from "./command-ui-handler"; import { fightUiHandler } from "./fight-ui-handler"; @@ -14,8 +15,9 @@ import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { tutorial } from "./tutorial"; -export const enConfig = { +export const enConfig = { ability: ability, + abilityTriggers: abilityTriggers, battle: battle, commandUiHandler: commandUiHandler, fightUiHandler: fightUiHandler, diff --git a/src/locales/en/move.ts b/src/locales/en/move.ts index f0c1c623a..11f92dda5 100644 --- a/src/locales/en/move.ts +++ b/src/locales/en/move.ts @@ -2915,7 +2915,7 @@ export const move: MoveTranslationEntries = { }, "zippyZap": { name: "Zippy Zap", - effect: "The user attacks the target with bursts of electricity at high speed. This move always goes first and results in a critical hit." + effect: "The user attacks the target with bursts of electricity at high speed. This move always goes first and raises the user's evasiveness." }, "splishySplash": { name: "Splishy Splash", diff --git a/src/locales/en/starter-select-ui-handler.ts b/src/locales/en/starter-select-ui-handler.ts index dd3904e12..2acceab69 100644 --- a/src/locales/en/starter-select-ui-handler.ts +++ b/src/locales/en/starter-select-ui-handler.ts @@ -30,5 +30,6 @@ export const starterSelectUiHandler: SimpleTranslationEntries = { "enablePassive": "Enable Passive", "disablePassive": "Disable Passive", "locked": "Locked", - "disabled": "Disabled" + "disabled": "Disabled", + "uncaught": "Uncaught" } \ No newline at end of file diff --git a/src/locales/es/ability-trigger.ts b/src/locales/es/ability-trigger.ts new file mode 100644 index 000000000..889007412 --- /dev/null +++ b/src/locales/es/ability-trigger.ts @@ -0,0 +1,5 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const abilityTriggers: SimpleTranslationEntries = { + 'blockRecoilDamage' : `{{pokemonName}}'s {{abilityName}}\nprotected it from recoil!`, +} as const; \ No newline at end of file diff --git a/src/locales/es/config.ts b/src/locales/es/config.ts index 564b8dd32..c56a8d384 100644 --- a/src/locales/es/config.ts +++ b/src/locales/es/config.ts @@ -1,4 +1,5 @@ import { ability } from "./ability"; +import { abilityTriggers } from "./ability-trigger"; import { battle } from "./battle"; import { commandUiHandler } from "./command-ui-handler"; import { fightUiHandler } from "./fight-ui-handler"; @@ -16,6 +17,7 @@ import { tutorial } from "./tutorial"; export const esConfig = { ability: ability, + abilityTriggers: abilityTriggers, battle: battle, commandUiHandler: commandUiHandler, fightUiHandler: fightUiHandler, diff --git a/src/locales/es/move.ts b/src/locales/es/move.ts index 08aea3b45..026e67b79 100644 --- a/src/locales/es/move.ts +++ b/src/locales/es/move.ts @@ -2915,7 +2915,7 @@ export const move: MoveTranslationEntries = { }, zippyZap: { name: "Pikaturbo", - effect: "Ataque eléctrico a la velocidad del rayo. Este movimiento tiene prioridad alta y propina golpes críticos.", + effect: "The user attacks the target with bursts of electricity at high speed. This move always goes first and raises the user's evasiveness.", }, splishySplash: { name: "Salpikasurf", diff --git a/src/locales/es/starter-select-ui-handler.ts b/src/locales/es/starter-select-ui-handler.ts index e8cd9bce0..9b0372098 100644 --- a/src/locales/es/starter-select-ui-handler.ts +++ b/src/locales/es/starter-select-ui-handler.ts @@ -30,5 +30,6 @@ export const starterSelectUiHandler: SimpleTranslationEntries = { "enablePassive": "Activar Pasiva", "disablePassive": "Desactivar Pasiva", "locked": "Locked", - "disabled": "Disabled" + "disabled": "Disabled", + "uncaught": "Uncaught" } \ No newline at end of file diff --git a/src/locales/fr/ability-trigger.ts b/src/locales/fr/ability-trigger.ts new file mode 100644 index 000000000..f668ee5e8 --- /dev/null +++ b/src/locales/fr/ability-trigger.ts @@ -0,0 +1,5 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const abilityTriggers: SimpleTranslationEntries = { + 'blockRecoilDamage' : `{{abilityName}}\nde {{pokemonName}} le protège du contrecoup !`, +} as const; diff --git a/src/locales/fr/config.ts b/src/locales/fr/config.ts index 90f9fb83c..89669aceb 100644 --- a/src/locales/fr/config.ts +++ b/src/locales/fr/config.ts @@ -1,4 +1,5 @@ import { ability } from "./ability"; +import { abilityTriggers } from "./ability-trigger"; import { battle } from "./battle"; import { commandUiHandler } from "./command-ui-handler"; import { fightUiHandler } from "./fight-ui-handler"; @@ -16,6 +17,7 @@ import { tutorial } from "./tutorial"; export const frConfig = { ability: ability, + abilityTriggers: abilityTriggers, battle: battle, commandUiHandler: commandUiHandler, fightUiHandler: fightUiHandler, diff --git a/src/locales/fr/move.ts b/src/locales/fr/move.ts index 2139f96d9..e4d7f5e03 100644 --- a/src/locales/fr/move.ts +++ b/src/locales/fr/move.ts @@ -2915,7 +2915,7 @@ export const move: MoveTranslationEntries = { }, "zippyZap": { name: "Pika-Sprint", - effect: "Une attaque électrique rapide comme l’éclair qui inflige un coup critique à coup sûr. Frappe en priorité." + effect: "Une attaque électrique rapide comme l’éclair qui auguemente l’esquive. Frappe en priorité." }, "splishySplash": { name: "Pika-Splash", diff --git a/src/locales/fr/starter-select-ui-handler.ts b/src/locales/fr/starter-select-ui-handler.ts index 9f4309e40..d26fa3314 100644 --- a/src/locales/fr/starter-select-ui-handler.ts +++ b/src/locales/fr/starter-select-ui-handler.ts @@ -30,5 +30,6 @@ export const starterSelectUiHandler: SimpleTranslationEntries = { "enablePassive": "Activer Passif", "disablePassive": "Désactiver Passif", "locked": "Verrouillé", - "disabled": "Désactivé" + "disabled": "Désactivé", + "uncaught": "Uncaught" } diff --git a/src/locales/it/ability-trigger.ts b/src/locales/it/ability-trigger.ts new file mode 100644 index 000000000..de41e0872 --- /dev/null +++ b/src/locales/it/ability-trigger.ts @@ -0,0 +1,5 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const abilityTriggers: SimpleTranslationEntries = { + 'blockRecoilDamage' : `{{abilityName}} di {{pokemonName}}\nl'ha protetto dal contraccolpo!`, +} as const; \ No newline at end of file diff --git a/src/locales/it/config.ts b/src/locales/it/config.ts index bbfd452dc..6ba9aa3af 100644 --- a/src/locales/it/config.ts +++ b/src/locales/it/config.ts @@ -1,4 +1,5 @@ import { ability } from "./ability"; +import { abilityTriggers } from "./ability-trigger"; import { battle } from "./battle"; import { commandUiHandler } from "./command-ui-handler"; import { fightUiHandler } from "./fight-ui-handler"; @@ -16,6 +17,7 @@ import { tutorial } from "./tutorial"; export const itConfig = { ability: ability, + abilityTriggers: abilityTriggers, battle: battle, commandUiHandler: commandUiHandler, fightUiHandler: fightUiHandler, diff --git a/src/locales/it/move.ts b/src/locales/it/move.ts index 116a14b5d..85babbfd3 100644 --- a/src/locales/it/move.ts +++ b/src/locales/it/move.ts @@ -2915,7 +2915,7 @@ export const move: MoveTranslationEntries = { }, zippyZap: { name: "Sprintaboom", - effect: "Un attacco elettrico ad altissima velocità. Questa mossa ha priorità alta e infligge sicuramente un brutto colpo.", + effect: "The user attacks the target with bursts of electricity at high speed. This move always goes first and raises the user's evasiveness.", }, splishySplash: { name: "Surfasplash", diff --git a/src/locales/it/starter-select-ui-handler.ts b/src/locales/it/starter-select-ui-handler.ts index e8c58ad13..79c2e26c6 100644 --- a/src/locales/it/starter-select-ui-handler.ts +++ b/src/locales/it/starter-select-ui-handler.ts @@ -30,5 +30,6 @@ export const starterSelectUiHandler: SimpleTranslationEntries = { "enablePassive": "Attiva Passiva", "disablePassive": "Disattiva Passiva", "locked": "Locked", - "disabled": "Disabled" + "disabled": "Disabled", + "uncaught": "Uncaught" } \ No newline at end of file diff --git a/src/locales/pt_BR/battle.ts b/src/locales/pt_BR/battle.ts index 6891e3b2e..ed579845c 100644 --- a/src/locales/pt_BR/battle.ts +++ b/src/locales/pt_BR/battle.ts @@ -9,7 +9,7 @@ export const battle: SimpleTranslationEntries = { "trainerComeBack": "{{trainerName}} retirou {{pokemonName}} da batalha!", "playerGo": "{{pokemonName}}, eu escolho você!", "trainerGo": "{{trainerName}} enviou {{pokemonName}}!", - "switchQuestion": "Quer trocar\n{{pokemonName}}?", + "switchQuestion": "Quer trocar\nde {{pokemonName}}?", "trainerDefeated": "Você derrotou\n{{trainerName}}!", "pokemonCaught": "{{pokemonName}} foi capturado!", "pokemon": "Pokémon", diff --git a/src/locales/pt_BR/move.ts b/src/locales/pt_BR/move.ts index 11fa8a240..97f24efee 100644 --- a/src/locales/pt_BR/move.ts +++ b/src/locales/pt_BR/move.ts @@ -2915,7 +2915,7 @@ export const move: MoveTranslationEntries = { }, zippyZap: { name: "Zippy Zap", - effect: "O usuário ataca o alvo com rajadas de eletricidade em alta velocidade. Este movimento sempre ataca primeiro e resulta em um golpe crítico." + effect: "The user attacks the target with bursts of electricity at high speed. This move always goes first and raises the user's evasiveness." }, splishySplash: { name: "Splishy Splash", diff --git a/src/locales/pt_BR/starter-select-ui-handler.ts b/src/locales/pt_BR/starter-select-ui-handler.ts index 999b8bdfd..ba180c2cf 100644 --- a/src/locales/pt_BR/starter-select-ui-handler.ts +++ b/src/locales/pt_BR/starter-select-ui-handler.ts @@ -31,4 +31,5 @@ export const starterSelectUiHandler: SimpleTranslationEntries = { "disablePassive": "Desativar Passiva", "locked": "Bloqueado", "disabled": "Desativado", + "uncaught": "Não capturado" } \ No newline at end of file diff --git a/src/locales/pt_BR/tutorial.ts b/src/locales/pt_BR/tutorial.ts index d217cc2cd..1f7961648 100644 --- a/src/locales/pt_BR/tutorial.ts +++ b/src/locales/pt_BR/tutorial.ts @@ -1,43 +1,51 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const tutorial: SimpleTranslationEntries = { - "intro": `Bem-vindo ao PokéRogue! Este é um jogo de Pokémon feito por fãs focado em batalha com elementos roguelite. - $Este jogo não é monetizado e não reivindicamos propriedade de Pokémon nem dos ativos protegidos por direitos autorais usados. - $O jogo é um trabalho em andamento, mas totalmente jogável.\nPara relatórios de bugs, use a comunidade no Discord. - $Se o jogo rodar lentamente, certifique-se de que a 'Aceleração de hardware' esteja ativada nas configurações do seu navegador.`, + "intro": `Bem-vindo ao PokéRogue! Este é um jogo Pokémon feito por fãs focado em batalhas com elementos roguelite. + $Este jogo não é monetizado e não reivindicamos propriedade de Pokémon nem dos ativos protegidos + $por direitos autorais usados. + $O jogo é um trabalho em andamento, mas é totalmente jogável. + $Para relatórios de bugs, use a comunidade no Discord. + $Se o jogo estiver rodando lentamente, certifique-se de que a 'Aceleração de hardware' esteja ativada + $nas configurações do seu navegador.`, "accessMenu": `Para acessar o menu, aperte M ou Esc. $O menu contém configurações e diversas funções.`, "menu": `A partir deste menu, você pode acessar as configurações. - $Nas configurações, você pode alterar a velocidade do jogo, o estilo da janela e outras opções. - $Existem também vários outros recursos aqui, então não deixe de conferir todos eles!`, + $Nas configurações, você pode alterar a velocidade do jogo, + $o estilo da janela, entre outras opções. + $Existem também vários outros recursos disponíveis aqui. + $Não deixe de conferir todos eles!`, - "starterSelect": `Nessa tela, você pode selecionar seus iniciais.\nEsses são os Pokémon iniciais da sua equipe. - $Cada inicial tem seu próprio custo. Sua equipe pode ter até \n6 membros contando que o preço não ultrapasse 10. - $Você pode também selecionar o gênero, habilidade, e formas dependendo \ndas variantes que você capturou ou chocou. - $Os IVs da espécie são os melhores de todos que você \njá capturou ou chocou, então tente conseguir vários Pokémon da mesma espécie!`, + "starterSelect": `Aqui você pode escolher seus iniciais.\nEsses serão os primeiro Pokémon da sua equipe. + $Cada inicial tem seu custo. Sua equipe pode ter até 6\nmembros, desde que a soma dos custos não ultrapasse 10. + $Você pode escolher o gênero, a habilidade\ne até a forma do seu inicial. + $Essas opções dependem das variantes dessa\nespécie que você já capturou ou chocou. + $Os IVs de cada inicial são os melhores de todos os Pokémon\ndaquela espécie que você já capturou ou chocou. + $Sempre capture vários Pokémon de várias espécies!`, - "pokerus": `Todo dia, 3 Pokémon iniciais ficam com uma borda roxa. + "pokerus": `Todo dia, 3 Pokémon iniciais ficam com uma borda roxa. $Caso veja um inicial que você possui com uma dessa, tente\nadicioná-lo a sua equipe. Lembre-se de olhar seu sumário!`, - "statChange": `As mudanças de estatísticas se mantém depois do combate\ndesde que o Pokémon não seja trocado. + "statChange": `As mudanças de atributos se mantém após a batalha desde que o Pokémon não seja trocado. $Seus Pokémon voltam a suas Poké Bolas antes de batalhas contra treinadores e de entrar em um novo bioma. - $Também é possível ver as mudanças de estatísticas dos Pokémon em campo mantendo pressionado C ou Shift.`, + $Para ver as mudanças de atributos dos Pokémon em campo, mantena C ou Shift pressionado durante a batalha.`, - "selectItem": `Após cada batalha você pode escolher entre 3 itens aleatórios.\nVocê pode escolher apenas um. - $Esses variam entre consumíveis, itens de segurar, e itens passivos permanentes. - $A maioria dos efeitos de itens não consumíveis serão acumulados de várias maneiras. - $Alguns itens só aparecerão se puderem ser usados, por exemplo, itens de evolução. - $Você também pode transferir itens de segurar entre os Pokémon utilizando a opção de transferir. + "selectItem": `Após cada batalha, você pode escolher entre 3 itens aleatórios. + $Você pode escolher apenas um deles. + $Esses itens variam entre consumíveis, itens de segurar e itens passivos permanentes. + $A maioria dos efeitos de itens não consumíveis podem ser acumulados. + $Alguns itens só aparecerão se puderem ser usados, como os itens de evolução. + $Você também pode transferir itens de segurar entre os Pokémon utilizando a opção "Transfer". $A opção de transferir irá aparecer no canto inferior direito assim que você obter um item de segurar. - $Você pode comprar itens consumíveis com dinheiro, e uma maior variedade ficará disponível conforme você for mais longe. - $Certifique-se de comprá-los antes de escolher seu item aleatório. Ao escolher, a próxima batalha começará.`, + $Você pode comprar itens consumíveis com dinheiro, e sua variedade aumentará conforme você for mais longe. + $Certifique-se de comprá-los antes de escolher seu item aleatório. Ao escolhê-lo, a próxima batalha começará.`, - "eggGacha": `Nesta tela você pode trocar seus vouchers\npor ovos de Pokémon. - $Ovos ficam mais próximos de chocar depois de cada batalha.\nOvos raros demoram mais para chocar. + "eggGacha": `Aqui você pode trocar seus vouchers\npor ovos de Pokémon. + $Ovos ficam mais próximos de chocar após cada batalha.\nOvos mais raros demoram mais para chocar. $Pokémon chocados não serão adicionados a sua equipe,\nmas sim aos seus iniciais. $Pokémon chocados geralmente possuem IVs melhores\nque Pokémon selvagens. $Alguns Pokémon só podem ser obtidos através de seus ovos. - $Há 3 máquinas, cada uma com um bônus diferente,\nentão escolha a que mais lhe convém!`, + $Temos 3 máquinas, cada uma com seu bônus específico,\nentão escolha a que mais lhe convém!`, } as const; \ No newline at end of file diff --git a/src/locales/zh_CN/ability-trigger.ts b/src/locales/zh_CN/ability-trigger.ts new file mode 100644 index 000000000..889007412 --- /dev/null +++ b/src/locales/zh_CN/ability-trigger.ts @@ -0,0 +1,5 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const abilityTriggers: SimpleTranslationEntries = { + 'blockRecoilDamage' : `{{pokemonName}}'s {{abilityName}}\nprotected it from recoil!`, +} as const; \ No newline at end of file diff --git a/src/locales/zh_CN/config.ts b/src/locales/zh_CN/config.ts index a8f5f878b..496fd983c 100644 --- a/src/locales/zh_CN/config.ts +++ b/src/locales/zh_CN/config.ts @@ -1,4 +1,5 @@ import { ability } from "./ability"; +import { abilityTriggers } from "./ability-trigger"; import { battle } from "./battle"; import { commandUiHandler } from "./command-ui-handler"; import { fightUiHandler } from "./fight-ui-handler"; @@ -15,6 +16,7 @@ import { nature } from "./nature"; export const zhCnConfig = { ability: ability, + abilityTriggers: abilityTriggers, battle: battle, commandUiHandler: commandUiHandler, fightUiHandler: fightUiHandler, diff --git a/src/locales/zh_CN/move.ts b/src/locales/zh_CN/move.ts index 3c4b8eb62..1432fde5b 100644 --- a/src/locales/zh_CN/move.ts +++ b/src/locales/zh_CN/move.ts @@ -2915,7 +2915,7 @@ export const move: MoveTranslationEntries = { }, "zippyZap": { name: "电电加速", - effect: "迅猛无比的电击。必定能够\n先制攻击,击中对方的要害", + effect: "The user attacks the target with bursts of electricity at high speed. This move always goes first and raises the user's evasiveness.", }, "splishySplash": { name: "滔滔冲浪", diff --git a/src/locales/zh_CN/starter-select-ui-handler.ts b/src/locales/zh_CN/starter-select-ui-handler.ts index c2d0a82d8..ace02c1c2 100644 --- a/src/locales/zh_CN/starter-select-ui-handler.ts +++ b/src/locales/zh_CN/starter-select-ui-handler.ts @@ -30,5 +30,6 @@ export const starterSelectUiHandler: SimpleTranslationEntries = { "enablePassive": "启用被动", "disablePassive": "禁用被动", "locked": "Locked", - "disabled": "Disabled" + "disabled": "Disabled", + "uncaught": "Uncaught" } \ No newline at end of file diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 2457a705b..982f8a654 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -554,10 +554,10 @@ export class EvolutionItemModifierType extends PokemonModifierType implements Ge super(Utils.toReadableString(EvolutionItem[evolutionItem]), `Causes certain Pokémon to evolve`, (_type, args) => new Modifiers.EvolutionItemModifier(this, (args[0] as PlayerPokemon).id), (pokemon: PlayerPokemon) => { if (pokemonEvolutions.hasOwnProperty(pokemon.species.speciesId) && pokemonEvolutions[pokemon.species.speciesId].filter(e => e.item === this.evolutionItem - && (!e.condition || e.condition.predicate(pokemon))).length) + && (!e.condition || e.condition.predicate(pokemon))).length && (pokemon.getFormKey() !== SpeciesFormKey.GIGANTAMAX)) return null; else if (pokemon.isFusion() && pokemonEvolutions.hasOwnProperty(pokemon.fusionSpecies.speciesId) && pokemonEvolutions[pokemon.fusionSpecies.speciesId].filter(e => e.item === this.evolutionItem - && (!e.condition || e.condition.predicate(pokemon))).length) + && (!e.condition || e.condition.predicate(pokemon))).length && (pokemon.getFusionFormKey() !== SpeciesFormKey.GIGANTAMAX)) return null; return PartyUiHandler.NoEffectMessage; diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index ba009cb7a..8a5fba17d 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -635,6 +635,9 @@ export class PokemonBaseStatModifier extends PokemonHeldItemModifier { } } + /** + * Applies Specific Type item boosts (e.g., Magnet) + */ export class AttackTypeBoosterModifier extends PokemonHeldItemModifier { private moveType: Type; private boostMultiplier: number; @@ -667,8 +670,15 @@ export class AttackTypeBoosterModifier extends PokemonHeldItemModifier { return super.shouldApply(args) && args.length === 3 && typeof args[1] === 'number' && args[2] instanceof Utils.NumberHolder; } + /** + * @param {Array} args Array + * - Index 0: {Pokemon} Pokemon + * - Index 1: {number} Move type + * - Index 2: {Utils.NumberHolder} Move power + * @returns {boolean} Returns true if boosts have been applied to the move. + */ apply(args: any[]): boolean { - if (args[1] === this.moveType) { + if (args[1] === this.moveType && (args[2] as Utils.NumberHolder).value >= 1) { (args[2] as Utils.NumberHolder).value = Math.floor((args[2] as Utils.NumberHolder).value * (1 + (this.getStackCount() * this.boostMultiplier))); return true; } diff --git a/src/plugins/i18n.ts b/src/plugins/i18n.ts index 676e691ee..82a5a51ba 100644 --- a/src/plugins/i18n.ts +++ b/src/plugins/i18n.ts @@ -98,7 +98,8 @@ declare module 'i18next' { menu: SimpleTranslationEntries; menuUiHandler: SimpleTranslationEntries; move: MoveTranslationEntries; - battle: SimpleTranslationEntries, + battle: SimpleTranslationEntries; + abilityTriggers: SimpleTranslationEntries; ability: AbilityTranslationEntries; pokeball: SimpleTranslationEntries; pokemon: SimpleTranslationEntries; diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index b9ed8195c..8443ed574 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -1,34 +1,34 @@ -import BattleScene, { starterColors } from "../battle-scene"; -import PokemonSpecies, { allSpecies, getPokemonSpecies, getPokemonSpeciesForm, speciesStarters, starterPassiveAbilities, getStarterValueFriendshipCap } from "../data/pokemon-species"; -import { Species } from "../data/enums/species"; -import { TextStyle, addBBCodeTextObject, addTextObject } from "./text"; -import { Mode } from "./ui"; -import MessageUiHandler from "./message-ui-handler"; -import { Gender, getGenderColor, getGenderSymbol } from "../data/gender"; -import { allAbilities } from "../data/ability"; -import { GameModes, gameModes } from "../game-mode"; -import { GrowthRate, getGrowthRateColor } from "../data/exp"; -import { AbilityAttr, DexAttr, DexAttrProps, DexEntry, Passive as PassiveAttr, StarterFormMoveData, StarterMoveset } from "../system/game-data"; -import * as Utils from "../utils"; -import PokemonIconAnimHandler, { PokemonIconAnimMode } from "./pokemon-icon-anim-handler"; -import { StatsContainer } from "./stats-container"; -import { addWindow } from "./ui-theme"; -import { Nature, getNatureName } from "../data/nature"; -import BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext"; -import { pokemonFormChanges } from "../data/pokemon-forms"; -import { Tutorial, handleTutorial } from "../tutorial"; -import { LevelMoves, pokemonFormLevelMoves, pokemonSpeciesLevelMoves } from "../data/pokemon-level-moves"; -import { allMoves } from "../data/move"; -import { Type } from "../data/type"; -import { Moves } from "../data/enums/moves"; -import { speciesEggMoves } from "../data/egg-moves"; -import { TitlePhase } from "../phases"; -import { argbFromRgba } from "@material/material-color-utilities"; -import { OptionSelectItem } from "./abstact-option-select-ui-handler"; import { pokemonPrevolutions } from "#app/data/pokemon-evolutions"; import { Variant, getVariantTint } from "#app/data/variant"; +import { argbFromRgba } from "@material/material-color-utilities"; import i18next from "i18next"; -import {Button} from "../enums/buttons"; +import BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext"; +import BattleScene, { starterColors } from "../battle-scene"; +import { allAbilities } from "../data/ability"; +import { speciesEggMoves } from "../data/egg-moves"; +import { Moves } from "../data/enums/moves"; +import { Species } from "../data/enums/species"; +import { GrowthRate, getGrowthRateColor } from "../data/exp"; +import { Gender, getGenderColor, getGenderSymbol } from "../data/gender"; +import { allMoves } from "../data/move"; +import { Nature, getNatureName } from "../data/nature"; +import { pokemonFormChanges } from "../data/pokemon-forms"; +import { LevelMoves, pokemonFormLevelMoves, pokemonSpeciesLevelMoves } from "../data/pokemon-level-moves"; +import PokemonSpecies, { allSpecies, getPokemonSpecies, getPokemonSpeciesForm, getStarterValueFriendshipCap, speciesStarters, starterPassiveAbilities } from "../data/pokemon-species"; +import { Type } from "../data/type"; +import { Button } from "../enums/buttons"; +import { GameModes, gameModes } from "../game-mode"; +import { TitlePhase } from "../phases"; +import { AbilityAttr, DexAttr, DexAttrProps, DexEntry, Passive as PassiveAttr, StarterFormMoveData, StarterMoveset } from "../system/game-data"; +import { Tutorial, handleTutorial } from "../tutorial"; +import * as Utils from "../utils"; +import { OptionSelectItem } from "./abstact-option-select-ui-handler"; +import MessageUiHandler from "./message-ui-handler"; +import PokemonIconAnimHandler, { PokemonIconAnimMode } from "./pokemon-icon-anim-handler"; +import { StatsContainer } from "./stats-container"; +import { TextStyle, addBBCodeTextObject, addTextObject } from "./text"; +import { Mode } from "./ui"; +import { addWindow } from "./ui-theme"; export type StarterSelectCallback = (starters: Starter[]) => void; @@ -241,7 +241,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.pokemonGenderText.setOrigin(0, 0); this.starterSelectContainer.add(this.pokemonGenderText); - this.pokemonUncaughtText = addTextObject(this.scene, 6, 127, 'Uncaught', TextStyle.SUMMARY_ALT, { fontSize: '56px' }); + this.pokemonUncaughtText = addTextObject(this.scene, 6, 127, i18next.t("starterSelectUiHandler:uncaught"), TextStyle.SUMMARY_ALT, { fontSize: '56px' }); this.pokemonUncaughtText.setOrigin(0, 0); this.starterSelectContainer.add(this.pokemonUncaughtText); diff --git a/src/utils.ts b/src/utils.ts index e83815841..fc3d9f796 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -116,13 +116,6 @@ export function randSeedEasedWeightedItem(items: T[], easingFunction: string return items[Math.floor(easedValue * items.length)]; } -export function getSunday(date: Date): Date { - const day = date.getUTCDay(); - const diff = date.getUTCDate() - day; - const newDate = new Date(date.setUTCDate(diff)); - return new Date(Date.UTC(newDate.getUTCFullYear(), newDate.getUTCMonth(), newDate.getUTCDate())); -} - export function getFrameMs(frameCount: integer): integer { return Math.floor((1 / 60) * 1000 * frameCount); }