Merge branch 'pagefaultgames:beta' into beta

This commit is contained in:
RedstonewolfX 2024-08-25 17:12:25 -04:00 committed by GitHub
commit 205430276f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
28 changed files with 957 additions and 648 deletions

View File

@ -8683,7 +8683,6 @@ export function initMoves() {
.attr(StatusEffectAttr, StatusEffect.BURN),
new StatusMove(Moves.JUNGLE_HEALING, Type.GRASS, -1, 10, -1, 0, 8)
.attr(HealAttr, 0.25, true, false)
.attr(HealStatusEffectAttr, true, StatusEffect.PARALYSIS, StatusEffect.POISON, StatusEffect.TOXIC, StatusEffect.BURN, StatusEffect.SLEEP)
.attr(HealStatusEffectAttr, false, StatusEffect.PARALYSIS, StatusEffect.POISON, StatusEffect.TOXIC, StatusEffect.BURN, StatusEffect.SLEEP)
.target(MoveTarget.USER_AND_ALLIES),
new AttackMove(Moves.WICKED_BLOW, Type.DARK, MoveCategory.PHYSICAL, 75, 100, 5, -1, 0, 8)
@ -8787,8 +8786,7 @@ export function initMoves() {
.windMove()
.target(MoveTarget.ALL_NEAR_ENEMIES),
new StatusMove(Moves.LUNAR_BLESSING, Type.PSYCHIC, -1, 5, -1, 0, 8)
.attr(HealAttr, 0.25)
.attr(HealStatusEffectAttr, true, StatusEffect.PARALYSIS, StatusEffect.POISON, StatusEffect.TOXIC, StatusEffect.BURN, StatusEffect.SLEEP)
.attr(HealAttr, 0.25, true, false)
.attr(HealStatusEffectAttr, false, StatusEffect.PARALYSIS, StatusEffect.POISON, StatusEffect.TOXIC, StatusEffect.BURN, StatusEffect.SLEEP)
.target(MoveTarget.USER_AND_ALLIES)
.triageMove(),

View File

@ -914,7 +914,7 @@ export function initSpecies() {
new PokemonSpecies(Species.VENUSAUR, 1, false, false, false, "Seed Pokémon", Type.GRASS, Type.POISON, 2, 100, Abilities.OVERGROW, Abilities.NONE, Abilities.CHLOROPHYLL, 525, 80, 82, 83, 100, 100, 80, 45, 50, 263, GrowthRate.MEDIUM_SLOW, 87.5, true, true,
new PokemonForm("Normal", "", Type.GRASS, Type.POISON, 2, 100, Abilities.OVERGROW, Abilities.NONE, Abilities.CHLOROPHYLL, 525, 80, 82, 83, 100, 100, 80, 45, 50, 263, true, null, true),
new PokemonForm("Mega", SpeciesFormKey.MEGA, Type.GRASS, Type.POISON, 2.4, 155.5, Abilities.THICK_FAT, Abilities.THICK_FAT, Abilities.THICK_FAT, 625, 80, 100, 123, 122, 120, 80, 45, 50, 263, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.GRASS, Type.POISON, 24, 100, Abilities.OVERGROW, Abilities.NONE, Abilities.CHLOROPHYLL, 625, 100, 90, 120, 110, 130, 75, 45, 50, 263, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.GRASS, Type.POISON, 24, 100, Abilities.CHLOROPHYLL, Abilities.CHLOROPHYLL, Abilities.CHLOROPHYLL, 625, 120, 82, 98, 130, 115, 80, 45, 50, 263, true),
),
new PokemonSpecies(Species.CHARMANDER, 1, false, false, false, "Lizard Pokémon", Type.FIRE, null, 0.6, 8.5, Abilities.BLAZE, Abilities.NONE, Abilities.SOLAR_POWER, 309, 39, 52, 43, 60, 50, 65, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false),
new PokemonSpecies(Species.CHARMELEON, 1, false, false, false, "Flame Pokémon", Type.FIRE, null, 1.1, 19, Abilities.BLAZE, Abilities.NONE, Abilities.SOLAR_POWER, 405, 58, 64, 58, 80, 65, 80, 45, 50, 142, GrowthRate.MEDIUM_SLOW, 87.5, false),
@ -922,20 +922,20 @@ export function initSpecies() {
new PokemonForm("Normal", "", Type.FIRE, Type.FLYING, 1.7, 90.5, Abilities.BLAZE, Abilities.NONE, Abilities.SOLAR_POWER, 534, 78, 84, 78, 109, 85, 100, 45, 50, 267, false, null, true),
new PokemonForm("Mega X", SpeciesFormKey.MEGA_X, Type.FIRE, Type.DRAGON, 1.7, 110.5, Abilities.TOUGH_CLAWS, Abilities.NONE, Abilities.TOUGH_CLAWS, 634, 78, 130, 111, 130, 85, 100, 45, 50, 267),
new PokemonForm("Mega Y", SpeciesFormKey.MEGA_Y, Type.FIRE, Type.FLYING, 1.7, 100.5, Abilities.DROUGHT, Abilities.NONE, Abilities.DROUGHT, 634, 78, 104, 78, 159, 115, 100, 45, 50, 267),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.FIRE, Type.FLYING, 28, 90.5, Abilities.BLAZE, Abilities.NONE, Abilities.SOLAR_POWER, 634, 98, 100, 96, 135, 110, 95, 45, 50, 267),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.FIRE, Type.FLYING, 28, 90.5, Abilities.SOLAR_POWER, Abilities.SOLAR_POWER, Abilities.SOLAR_POWER, 634, 118, 84, 93, 139, 110, 100, 45, 50, 267),
),
new PokemonSpecies(Species.SQUIRTLE, 1, false, false, false, "Tiny Turtle Pokémon", Type.WATER, null, 0.5, 9, Abilities.TORRENT, Abilities.NONE, Abilities.RAIN_DISH, 314, 44, 48, 65, 50, 64, 43, 45, 50, 63, GrowthRate.MEDIUM_SLOW, 87.5, false),
new PokemonSpecies(Species.WARTORTLE, 1, false, false, false, "Turtle Pokémon", Type.WATER, null, 1, 22.5, Abilities.TORRENT, Abilities.NONE, Abilities.RAIN_DISH, 405, 59, 63, 80, 65, 80, 58, 45, 50, 142, GrowthRate.MEDIUM_SLOW, 87.5, false),
new PokemonSpecies(Species.BLASTOISE, 1, false, false, false, "Shellfish Pokémon", Type.WATER, null, 1.6, 85.5, Abilities.TORRENT, Abilities.NONE, Abilities.RAIN_DISH, 530, 79, 83, 100, 85, 105, 78, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true,
new PokemonForm("Normal", "", Type.WATER, null, 1.6, 85.5, Abilities.TORRENT, Abilities.NONE, Abilities.RAIN_DISH, 530, 79, 83, 100, 85, 105, 78, 45, 50, 265, false, null, true),
new PokemonForm("Mega", SpeciesFormKey.MEGA, Type.WATER, null, 1.6, 101.1, Abilities.MEGA_LAUNCHER, Abilities.NONE, Abilities.MEGA_LAUNCHER, 630, 79, 103, 120, 135, 115, 78, 45, 50, 265),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.WATER, null, 25, 85.5, Abilities.TORRENT, Abilities.NONE, Abilities.RAIN_DISH, 630, 100, 95, 130, 105, 125, 75, 45, 50, 265),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.WATER, Type.STEEL, 25, 85.5, Abilities.SHELL_ARMOR, Abilities.SHELL_ARMOR, Abilities.SHELL_ARMOR, 630, 119, 83, 130, 115, 115, 68, 45, 50, 265),
),
new PokemonSpecies(Species.CATERPIE, 1, false, false, false, "Worm Pokémon", Type.BUG, null, 0.3, 2.9, Abilities.SHIELD_DUST, Abilities.NONE, Abilities.RUN_AWAY, 195, 45, 30, 35, 20, 20, 45, 255, 50, 39, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.METAPOD, 1, false, false, false, "Cocoon Pokémon", Type.BUG, null, 0.7, 9.9, Abilities.SHED_SKIN, Abilities.NONE, Abilities.SHED_SKIN, 205, 50, 20, 55, 25, 25, 30, 120, 50, 72, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.BUTTERFREE, 1, false, false, false, "Butterfly Pokémon", Type.BUG, Type.FLYING, 1.1, 32, Abilities.COMPOUND_EYES, Abilities.NONE, Abilities.TINTED_LENS, 395, 60, 45, 50, 90, 80, 70, 45, 50, 198, GrowthRate.MEDIUM_FAST, 50, true, true,
new PokemonForm("Normal", "", Type.BUG, Type.FLYING, 1.1, 32, Abilities.COMPOUND_EYES, Abilities.NONE, Abilities.TINTED_LENS, 395, 60, 45, 50, 90, 80, 70, 45, 50, 198, true, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.BUG, Type.FLYING, 17, 32, Abilities.COMPOUND_EYES, Abilities.NONE, Abilities.TINTED_LENS, 495, 75, 50, 75, 120, 100, 75, 45, 50, 198, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.BUG, Type.FLYING, 17, 32, Abilities.TINTED_LENS, Abilities.TINTED_LENS, Abilities.TINTED_LENS, 495, 85, 35, 80, 120, 90, 85, 45, 50, 198, true),
),
new PokemonSpecies(Species.WEEDLE, 1, false, false, false, "Hairy Bug Pokémon", Type.BUG, Type.POISON, 0.3, 3.2, Abilities.SHIELD_DUST, Abilities.NONE, Abilities.RUN_AWAY, 195, 40, 35, 30, 20, 20, 50, 255, 70, 39, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.KAKUNA, 1, false, false, false, "Cocoon Pokémon", Type.BUG, Type.POISON, 0.6, 10, Abilities.SHED_SKIN, Abilities.NONE, Abilities.SHED_SKIN, 205, 45, 25, 50, 25, 25, 35, 120, 70, 72, GrowthRate.MEDIUM_FAST, 50, false),
@ -964,7 +964,7 @@ export function initSpecies() {
new PokemonForm("Cute Cosplay", "cute-cosplay", Type.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 430, 45, 80, 50, 75, 60, 120, 190, 50, 112, true, null, true), //Custom
new PokemonForm("Smart Cosplay", "smart-cosplay", Type.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 430, 45, 80, 50, 75, 60, 120, 190, 50, 112, true, null, true), //Custom
new PokemonForm("Tough Cosplay", "tough-cosplay", Type.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 430, 45, 80, 50, 75, 60, 120, 190, 50, 112, true, null, true), //Custom
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.ELECTRIC, null, 21, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 420, 45, 60, 65, 100, 75, 75, 190, 50, 112),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.ELECTRIC, null, 21, 6, Abilities.LIGHTNING_ROD, Abilities.LIGHTNING_ROD, Abilities.LIGHTNING_ROD, 530, 125, 95, 60, 90, 70, 90, 190, 50, 112), //+100 BST from Partner Form
),
new PokemonSpecies(Species.RAICHU, 1, false, false, false, "Mouse Pokémon", Type.ELECTRIC, null, 0.8, 30, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 485, 60, 90, 55, 90, 80, 110, 75, 50, 243, GrowthRate.MEDIUM_FAST, 50, true),
new PokemonSpecies(Species.SANDSHREW, 1, false, false, false, "Mouse Pokémon", Type.GROUND, null, 0.6, 12, Abilities.SAND_VEIL, Abilities.NONE, Abilities.SAND_RUSH, 300, 50, 75, 85, 20, 30, 40, 255, 50, 60, GrowthRate.MEDIUM_FAST, 50, false),
@ -994,7 +994,7 @@ export function initSpecies() {
new PokemonSpecies(Species.DUGTRIO, 1, false, false, false, "Mole Pokémon", Type.GROUND, null, 0.7, 33.3, Abilities.SAND_VEIL, Abilities.ARENA_TRAP, Abilities.SAND_FORCE, 425, 35, 100, 50, 50, 70, 120, 50, 50, 149, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.MEOWTH, 1, false, false, false, "Scratch Cat Pokémon", Type.NORMAL, null, 0.4, 4.2, Abilities.PICKUP, Abilities.TECHNICIAN, Abilities.UNNERVE, 290, 40, 45, 35, 40, 40, 90, 255, 50, 58, GrowthRate.MEDIUM_FAST, 50, false, true,
new PokemonForm("Normal", "", Type.NORMAL, null, 0.4, 4.2, Abilities.PICKUP, Abilities.TECHNICIAN, Abilities.UNNERVE, 290, 40, 45, 35, 40, 40, 90, 255, 50, 58, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.NORMAL, null, 33, 4.2, Abilities.PICKUP, Abilities.TECHNICIAN, Abilities.UNNERVE, 390, 50, 85, 60, 70, 50, 75, 255, 50, 58),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.NORMAL, null, 33, 4.2, Abilities.TECHNICIAN, Abilities.TECHNICIAN, Abilities.TECHNICIAN, 540, 115, 110, 65, 65, 70, 115, 255, 50, 58), //+100 BST from Persian
),
new PokemonSpecies(Species.PERSIAN, 1, false, false, false, "Classy Cat Pokémon", Type.NORMAL, null, 1, 32, Abilities.LIMBER, Abilities.TECHNICIAN, Abilities.UNNERVE, 440, 65, 70, 60, 65, 65, 115, 90, 50, 154, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.PSYDUCK, 1, false, false, false, "Duck Pokémon", Type.WATER, null, 0.8, 19.6, Abilities.DAMP, Abilities.CLOUD_NINE, Abilities.SWIFT_SWIM, 320, 50, 52, 48, 65, 50, 55, 190, 50, 64, GrowthRate.MEDIUM_FAST, 50, false),
@ -1016,7 +1016,7 @@ export function initSpecies() {
new PokemonSpecies(Species.MACHOKE, 1, false, false, false, "Superpower Pokémon", Type.FIGHTING, null, 1.5, 70.5, Abilities.GUTS, Abilities.NO_GUARD, Abilities.STEADFAST, 405, 80, 100, 70, 50, 60, 45, 90, 50, 142, GrowthRate.MEDIUM_SLOW, 75, false),
new PokemonSpecies(Species.MACHAMP, 1, false, false, false, "Superpower Pokémon", Type.FIGHTING, null, 1.6, 130, Abilities.GUTS, Abilities.NO_GUARD, Abilities.STEADFAST, 505, 90, 130, 80, 65, 85, 55, 45, 50, 253, GrowthRate.MEDIUM_SLOW, 75, false, true,
new PokemonForm("Normal", "", Type.FIGHTING, null, 1.6, 130, Abilities.GUTS, Abilities.NO_GUARD, Abilities.STEADFAST, 505, 90, 130, 80, 65, 85, 55, 45, 50, 253, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.FIGHTING, null, 25, 130, Abilities.GUTS, Abilities.NO_GUARD, Abilities.STEADFAST, 605, 113, 170, 90, 70, 95, 67, 45, 50, 253),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.FIGHTING, null, 25, 130, Abilities.GUTS, Abilities.GUTS, Abilities.GUTS, 605, 115, 170, 95, 65, 95, 65, 45, 50, 253),
),
new PokemonSpecies(Species.BELLSPROUT, 1, false, false, false, "Flower Pokémon", Type.GRASS, Type.POISON, 0.7, 4, Abilities.CHLOROPHYLL, Abilities.NONE, Abilities.GLUTTONY, 300, 50, 75, 35, 70, 30, 40, 255, 70, 60, GrowthRate.MEDIUM_SLOW, 50, false),
new PokemonSpecies(Species.WEEPINBELL, 1, false, false, false, "Flycatcher Pokémon", Type.GRASS, Type.POISON, 1, 6.4, Abilities.CHLOROPHYLL, Abilities.NONE, Abilities.GLUTTONY, 390, 65, 90, 50, 85, 45, 55, 120, 70, 137, GrowthRate.MEDIUM_SLOW, 50, false),
@ -1049,7 +1049,7 @@ export function initSpecies() {
new PokemonSpecies(Species.GENGAR, 1, false, false, false, "Shadow Pokémon", Type.GHOST, Type.POISON, 1.5, 40.5, Abilities.CURSED_BODY, Abilities.NONE, Abilities.NONE, 500, 60, 65, 60, 130, 75, 110, 45, 50, 250, GrowthRate.MEDIUM_SLOW, 50, false, true,
new PokemonForm("Normal", "", Type.GHOST, Type.POISON, 1.5, 40.5, Abilities.CURSED_BODY, Abilities.NONE, Abilities.NONE, 500, 60, 65, 60, 130, 75, 110, 45, 50, 250, false, null, true),
new PokemonForm("Mega", SpeciesFormKey.MEGA, Type.GHOST, Type.POISON, 1.4, 40.5, Abilities.SHADOW_TAG, Abilities.NONE, Abilities.NONE, 600, 60, 65, 80, 170, 95, 130, 45, 50, 250),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.GHOST, Type.POISON, 20, 40.5, Abilities.CURSED_BODY, Abilities.NONE, Abilities.NONE, 600, 75, 95, 85, 160, 95, 90, 45, 50, 250),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.GHOST, Type.POISON, 20, 40.5, Abilities.CURSED_BODY, Abilities.CURSED_BODY, Abilities.CURSED_BODY, 600, 140, 65, 70, 140, 85, 100, 45, 50, 250),
),
new PokemonSpecies(Species.ONIX, 1, false, false, false, "Rock Snake Pokémon", Type.ROCK, Type.GROUND, 8.8, 210, Abilities.ROCK_HEAD, Abilities.STURDY, Abilities.WEAK_ARMOR, 385, 35, 45, 160, 30, 45, 70, 45, 50, 77, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.DROWZEE, 1, false, false, false, "Hypnosis Pokémon", Type.PSYCHIC, null, 1, 32.4, Abilities.INSOMNIA, Abilities.FOREWARN, Abilities.INNER_FOCUS, 328, 60, 48, 45, 43, 90, 42, 190, 70, 66, GrowthRate.MEDIUM_FAST, 50, false),
@ -1057,7 +1057,7 @@ export function initSpecies() {
new PokemonSpecies(Species.KRABBY, 1, false, false, false, "River Crab Pokémon", Type.WATER, null, 0.4, 6.5, Abilities.HYPER_CUTTER, Abilities.SHELL_ARMOR, Abilities.SHEER_FORCE, 325, 30, 105, 90, 25, 25, 50, 225, 50, 65, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.KINGLER, 1, false, false, false, "Pincer Pokémon", Type.WATER, null, 1.3, 60, Abilities.HYPER_CUTTER, Abilities.SHELL_ARMOR, Abilities.SHEER_FORCE, 475, 55, 130, 115, 50, 50, 75, 60, 50, 166, GrowthRate.MEDIUM_FAST, 50, false, true,
new PokemonForm("Normal", "", Type.WATER, null, 1.3, 60, Abilities.HYPER_CUTTER, Abilities.SHELL_ARMOR, Abilities.SHEER_FORCE, 475, 55, 130, 115, 50, 50, 75, 60, 50, 166, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.WATER, null, 19, 60, Abilities.HYPER_CUTTER, Abilities.SHELL_ARMOR, Abilities.SHEER_FORCE, 575, 70, 165, 145, 60, 70, 65, 60, 50, 166),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.WATER, null, 19, 60, Abilities.TOUGH_CLAWS, Abilities.TOUGH_CLAWS, Abilities.TOUGH_CLAWS, 575, 90, 155, 140, 50, 80, 70, 60, 50, 166),
),
new PokemonSpecies(Species.VOLTORB, 1, false, false, false, "Ball Pokémon", Type.ELECTRIC, null, 0.5, 10.4, Abilities.SOUNDPROOF, Abilities.STATIC, Abilities.AFTERMATH, 330, 40, 30, 50, 55, 55, 100, 190, 70, 66, GrowthRate.MEDIUM_FAST, null, false),
new PokemonSpecies(Species.ELECTRODE, 1, false, false, false, "Ball Pokémon", Type.ELECTRIC, null, 1.2, 66.6, Abilities.SOUNDPROOF, Abilities.STATIC, Abilities.AFTERMATH, 490, 60, 50, 70, 80, 80, 150, 60, 70, 172, GrowthRate.MEDIUM_FAST, null, false),
@ -1101,13 +1101,13 @@ export function initSpecies() {
),
new PokemonSpecies(Species.LAPRAS, 1, false, false, false, "Transport Pokémon", Type.WATER, Type.ICE, 2.5, 220, Abilities.WATER_ABSORB, Abilities.SHELL_ARMOR, Abilities.HYDRATION, 535, 130, 85, 80, 85, 95, 60, 45, 50, 187, GrowthRate.SLOW, 50, false, true,
new PokemonForm("Normal", "", Type.WATER, Type.ICE, 2.5, 220, Abilities.WATER_ABSORB, Abilities.SHELL_ARMOR, Abilities.HYDRATION, 535, 130, 85, 80, 85, 95, 60, 45, 50, 187, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.WATER, Type.ICE, 24, 220, Abilities.WATER_ABSORB, Abilities.SHELL_ARMOR, Abilities.HYDRATION, 635, 160, 95, 110, 95, 125, 50, 45, 50, 187),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.WATER, Type.ICE, 24, 220, Abilities.SHELL_ARMOR, Abilities.SHELL_ARMOR, Abilities.SHELL_ARMOR, 635, 170, 85, 95, 115, 110, 60, 45, 50, 187),
),
new PokemonSpecies(Species.DITTO, 1, false, false, false, "Transform Pokémon", Type.NORMAL, null, 0.3, 4, Abilities.LIMBER, Abilities.NONE, Abilities.IMPOSTER, 288, 48, 48, 48, 48, 48, 48, 35, 50, 101, GrowthRate.MEDIUM_FAST, null, false),
new PokemonSpecies(Species.EEVEE, 1, false, false, false, "Evolution Pokémon", Type.NORMAL, null, 0.3, 6.5, Abilities.RUN_AWAY, Abilities.ADAPTABILITY, Abilities.ANTICIPATION, 325, 55, 55, 50, 45, 65, 55, 45, 50, 65, GrowthRate.MEDIUM_FAST, 87.5, false, true,
new PokemonForm("Normal", "", Type.NORMAL, null, 0.3, 6.5, Abilities.RUN_AWAY, Abilities.ADAPTABILITY, Abilities.ANTICIPATION, 325, 55, 55, 50, 45, 65, 55, 45, 50, 65, false, null, true),
new PokemonForm("Partner", "partner", Type.NORMAL, null, 0.3, 6.5, Abilities.RUN_AWAY, Abilities.ADAPTABILITY, Abilities.ANTICIPATION, 435, 65, 75, 70, 65, 85, 75, 45, 50, 65, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.NORMAL, null, 18, 6.5, Abilities.RUN_AWAY, Abilities.ADAPTABILITY, Abilities.ANTICIPATION, 425, 70, 75, 80, 60, 95, 45, 45, 50, 65),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.NORMAL, null, 18, 6.5, Abilities.PROTEAN, Abilities.PROTEAN, Abilities.PROTEAN, 535, 105, 95, 70, 95, 85, 85, 45, 50, 65), //+100 BST from Partner Form
),
new PokemonSpecies(Species.VAPOREON, 1, false, false, false, "Bubble Jet Pokémon", Type.WATER, null, 1, 29, Abilities.WATER_ABSORB, Abilities.NONE, Abilities.HYDRATION, 525, 130, 65, 60, 110, 95, 65, 45, 50, 184, GrowthRate.MEDIUM_FAST, 87.5, false),
new PokemonSpecies(Species.JOLTEON, 1, false, false, false, "Lightning Pokémon", Type.ELECTRIC, null, 0.8, 24.5, Abilities.VOLT_ABSORB, Abilities.NONE, Abilities.QUICK_FEET, 525, 65, 65, 60, 110, 95, 130, 45, 50, 184, GrowthRate.MEDIUM_FAST, 87.5, false),
@ -1123,7 +1123,7 @@ export function initSpecies() {
),
new PokemonSpecies(Species.SNORLAX, 1, false, false, false, "Sleeping Pokémon", Type.NORMAL, null, 2.1, 460, Abilities.IMMUNITY, Abilities.THICK_FAT, Abilities.GLUTTONY, 540, 160, 110, 65, 65, 110, 30, 25, 50, 189, GrowthRate.SLOW, 87.5, false, true,
new PokemonForm("Normal", "", Type.NORMAL, null, 2.1, 460, Abilities.IMMUNITY, Abilities.THICK_FAT, Abilities.GLUTTONY, 540, 160, 110, 65, 65, 110, 30, 25, 50, 189, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.NORMAL, null, 35, 460, Abilities.IMMUNITY, Abilities.THICK_FAT, Abilities.GLUTTONY, 640, 200, 130, 85, 75, 130, 20, 25, 50, 189),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.NORMAL, Type.GRASS, 35, 460, Abilities.THICK_FAT, Abilities.THICK_FAT, Abilities.THICK_FAT, 640, 200, 135, 85, 80, 125, 15, 25, 50, 189),
),
new PokemonSpecies(Species.ARTICUNO, 1, true, false, false, "Freeze Pokémon", Type.ICE, Type.FLYING, 1.7, 55.4, Abilities.PRESSURE, Abilities.NONE, Abilities.SNOW_CLOAK, 580, 90, 85, 100, 95, 125, 85, 3, 35, 290, GrowthRate.SLOW, null, false),
new PokemonSpecies(Species.ZAPDOS, 1, true, false, false, "Electric Pokémon", Type.ELECTRIC, Type.FLYING, 1.6, 52.6, Abilities.PRESSURE, Abilities.NONE, Abilities.STATIC, 580, 90, 90, 85, 125, 90, 100, 3, 35, 290, GrowthRate.SLOW, null, false),
@ -1763,7 +1763,7 @@ export function initSpecies() {
new PokemonSpecies(Species.TRUBBISH, 5, false, false, false, "Trash Bag Pokémon", Type.POISON, null, 0.6, 31, Abilities.STENCH, Abilities.STICKY_HOLD, Abilities.AFTERMATH, 329, 50, 50, 62, 40, 62, 65, 190, 50, 66, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.GARBODOR, 5, false, false, false, "Trash Heap Pokémon", Type.POISON, null, 1.9, 107.3, Abilities.STENCH, Abilities.WEAK_ARMOR, Abilities.AFTERMATH, 474, 80, 95, 82, 60, 82, 75, 60, 50, 166, GrowthRate.MEDIUM_FAST, 50, false, true,
new PokemonForm("Normal", "", Type.POISON, null, 1.9, 107.3, Abilities.STENCH, Abilities.WEAK_ARMOR, Abilities.AFTERMATH, 474, 80, 95, 82, 60, 82, 75, 60, 50, 166, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.POISON, null, 21, 107.3, Abilities.STENCH, Abilities.WEAK_ARMOR, Abilities.AFTERMATH, 574, 100, 125, 102, 80, 102, 65, 60, 50, 166),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.POISON, Type.STEEL, 21, 107.3, Abilities.TOXIC_DEBRIS, Abilities.TOXIC_DEBRIS, Abilities.TOXIC_DEBRIS, 574, 135, 125, 102, 57, 102, 53, 60, 50, 166),
),
new PokemonSpecies(Species.ZORUA, 5, false, false, false, "Tricky Fox Pokémon", Type.DARK, null, 0.7, 12.5, Abilities.ILLUSION, Abilities.NONE, Abilities.NONE, 330, 40, 65, 40, 80, 40, 65, 75, 50, 66, GrowthRate.MEDIUM_SLOW, 87.5, false),
new PokemonSpecies(Species.ZOROARK, 5, false, false, false, "Illusion Fox Pokémon", Type.DARK, null, 1.6, 81.1, Abilities.ILLUSION, Abilities.NONE, Abilities.NONE, 510, 60, 105, 60, 120, 60, 105, 45, 50, 179, GrowthRate.MEDIUM_SLOW, 87.5, false),
@ -2237,25 +2237,25 @@ export function initSpecies() {
new PokemonSpecies(Species.MELTAN, 7, false, false, true, "Hex Nut Pokémon", Type.STEEL, null, 0.2, 8, Abilities.MAGNET_PULL, Abilities.NONE, Abilities.NONE, 300, 46, 65, 65, 55, 35, 34, 3, 0, 150, GrowthRate.SLOW, null, false),
new PokemonSpecies(Species.MELMETAL, 7, false, false, true, "Hex Nut Pokémon", Type.STEEL, null, 2.5, 800, Abilities.IRON_FIST, Abilities.NONE, Abilities.NONE, 600, 135, 143, 143, 80, 65, 34, 3, 0, 300, GrowthRate.SLOW, null, false, true,
new PokemonForm("Normal", "", Type.STEEL, null, 2.5, 800, Abilities.IRON_FIST, Abilities.NONE, Abilities.NONE, 600, 135, 143, 143, 80, 65, 34, 3, 0, 300, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.STEEL, null, 25, 800, Abilities.IRON_FIST, Abilities.NONE, Abilities.NONE, 700, 170, 165, 165, 95, 75, 30, 3, 0, 300),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.STEEL, null, 25, 800, Abilities.IRON_FIST, Abilities.IRON_FIST, Abilities.IRON_FIST, 700, 175, 165, 155, 85, 75, 45, 3, 0, 300),
),
new PokemonSpecies(Species.GROOKEY, 8, false, false, false, "Chimp Pokémon", Type.GRASS, null, 0.3, 5, Abilities.OVERGROW, Abilities.NONE, Abilities.GRASSY_SURGE, 310, 50, 65, 50, 40, 40, 65, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false),
new PokemonSpecies(Species.THWACKEY, 8, false, false, false, "Beat Pokémon", Type.GRASS, null, 0.7, 14, Abilities.OVERGROW, Abilities.NONE, Abilities.GRASSY_SURGE, 420, 70, 85, 70, 55, 60, 80, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false),
new PokemonSpecies(Species.RILLABOOM, 8, false, false, false, "Drummer Pokémon", Type.GRASS, null, 2.1, 90, Abilities.OVERGROW, Abilities.NONE, Abilities.GRASSY_SURGE, 530, 100, 125, 90, 60, 70, 85, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true,
new PokemonForm("Normal", "", Type.GRASS, null, 2.1, 90, Abilities.OVERGROW, Abilities.NONE, Abilities.GRASSY_SURGE, 530, 100, 125, 90, 60, 70, 85, 45, 50, 265, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.GRASS, null, 28, 90, Abilities.OVERGROW, Abilities.NONE, Abilities.GRASSY_SURGE, 630, 125, 150, 115, 75, 90, 75, 45, 50, 265),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.GRASS, null, 28, 90, Abilities.GRASSY_SURGE, Abilities.GRASSY_SURGE, Abilities.GRASSY_SURGE, 630, 125, 150, 115, 65, 95, 80, 45, 50, 265),
),
new PokemonSpecies(Species.SCORBUNNY, 8, false, false, false, "Rabbit Pokémon", Type.FIRE, null, 0.3, 4.5, Abilities.BLAZE, Abilities.NONE, Abilities.LIBERO, 310, 50, 71, 40, 40, 40, 69, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false),
new PokemonSpecies(Species.RABOOT, 8, false, false, false, "Rabbit Pokémon", Type.FIRE, null, 0.6, 9, Abilities.BLAZE, Abilities.NONE, Abilities.LIBERO, 420, 65, 86, 60, 55, 60, 94, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false),
new PokemonSpecies(Species.CINDERACE, 8, false, false, false, "Striker Pokémon", Type.FIRE, null, 1.4, 33, Abilities.BLAZE, Abilities.NONE, Abilities.LIBERO, 530, 80, 116, 75, 65, 75, 119, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true,
new PokemonForm("Normal", "", Type.FIRE, null, 1.4, 33, Abilities.BLAZE, Abilities.NONE, Abilities.LIBERO, 530, 80, 116, 75, 65, 75, 119, 45, 50, 265, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.FIRE, null, 27, 33, Abilities.BLAZE, Abilities.NONE, Abilities.LIBERO, 630, 100, 145, 90, 75, 90, 130, 45, 50, 265),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.FIRE, null, 27, 33, Abilities.LIBERO, Abilities.LIBERO, Abilities.LIBERO, 630, 90, 151, 85, 85, 85, 134, 45, 50, 265),
),
new PokemonSpecies(Species.SOBBLE, 8, false, false, false, "Water Lizard Pokémon", Type.WATER, null, 0.3, 4, Abilities.TORRENT, Abilities.NONE, Abilities.SNIPER, 310, 50, 40, 40, 70, 40, 70, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false),
new PokemonSpecies(Species.DRIZZILE, 8, false, false, false, "Water Lizard Pokémon", Type.WATER, null, 0.7, 11.5, Abilities.TORRENT, Abilities.NONE, Abilities.SNIPER, 420, 65, 60, 55, 95, 55, 90, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false),
new PokemonSpecies(Species.INTELEON, 8, false, false, false, "Secret Agent Pokémon", Type.WATER, null, 1.9, 45.2, Abilities.TORRENT, Abilities.NONE, Abilities.SNIPER, 530, 70, 85, 65, 125, 65, 120, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true,
new PokemonForm("Normal", "", Type.WATER, null, 1.9, 45.2, Abilities.TORRENT, Abilities.NONE, Abilities.SNIPER, 530, 70, 85, 65, 125, 65, 120, 45, 50, 265, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.WATER, null, 40, 45.2, Abilities.TORRENT, Abilities.NONE, Abilities.SNIPER, 630, 90, 100, 90, 150, 90, 110, 45, 50, 265),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.WATER, null, 40, 45.2, Abilities.SNIPER, Abilities.SNIPER, Abilities.SNIPER, 630, 90, 90, 85, 150, 85, 130, 45, 50, 265),
),
new PokemonSpecies(Species.SKWOVET, 8, false, false, false, "Cheeky Pokémon", Type.NORMAL, null, 0.3, 2.5, Abilities.CHEEK_POUCH, Abilities.NONE, Abilities.GLUTTONY, 275, 70, 55, 55, 35, 35, 25, 255, 50, 55, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.GREEDENT, 8, false, false, false, "Greedy Pokémon", Type.NORMAL, null, 0.6, 6, Abilities.CHEEK_POUCH, Abilities.NONE, Abilities.GLUTTONY, 460, 120, 95, 95, 55, 75, 20, 90, 50, 161, GrowthRate.MEDIUM_FAST, 50, false),
@ -2263,13 +2263,13 @@ export function initSpecies() {
new PokemonSpecies(Species.CORVISQUIRE, 8, false, false, false, "Raven Pokémon", Type.FLYING, null, 0.8, 16, Abilities.KEEN_EYE, Abilities.UNNERVE, Abilities.BIG_PECKS, 365, 68, 67, 55, 43, 55, 77, 120, 50, 128, GrowthRate.MEDIUM_SLOW, 50, false),
new PokemonSpecies(Species.CORVIKNIGHT, 8, false, false, false, "Raven Pokémon", Type.FLYING, Type.STEEL, 2.2, 75, Abilities.PRESSURE, Abilities.UNNERVE, Abilities.MIRROR_ARMOR, 495, 98, 87, 105, 53, 85, 67, 45, 50, 248, GrowthRate.MEDIUM_SLOW, 50, false, true,
new PokemonForm("Normal", "", Type.FLYING, Type.STEEL, 2.2, 75, Abilities.PRESSURE, Abilities.UNNERVE, Abilities.MIRROR_ARMOR, 495, 98, 87, 105, 53, 85, 67, 45, 50, 248, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.FLYING, Type.STEEL, 14, 75, Abilities.PRESSURE, Abilities.UNNERVE, Abilities.MIRROR_ARMOR, 595, 125, 100, 135, 60, 95, 80, 45, 50, 248),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.FLYING, Type.STEEL, 14, 75, Abilities.MIRROR_ARMOR, Abilities.MIRROR_ARMOR, Abilities.MIRROR_ARMOR, 595, 128, 102, 140, 53, 95, 77, 45, 50, 248),
),
new PokemonSpecies(Species.BLIPBUG, 8, false, false, false, "Larva Pokémon", Type.BUG, null, 0.4, 8, Abilities.SWARM, Abilities.COMPOUND_EYES, Abilities.TELEPATHY, 180, 25, 20, 20, 25, 45, 45, 255, 50, 36, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.DOTTLER, 8, false, false, false, "Radome Pokémon", Type.BUG, Type.PSYCHIC, 0.4, 19.5, Abilities.SWARM, Abilities.COMPOUND_EYES, Abilities.TELEPATHY, 335, 50, 35, 80, 50, 90, 30, 120, 50, 117, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.ORBEETLE, 8, false, false, false, "Seven Spot Pokémon", Type.BUG, Type.PSYCHIC, 0.4, 40.8, Abilities.SWARM, Abilities.FRISK, Abilities.TELEPATHY, 505, 60, 45, 110, 80, 120, 90, 45, 50, 253, GrowthRate.MEDIUM_FAST, 50, false, true,
new PokemonForm("Normal", "", Type.BUG, Type.PSYCHIC, 0.4, 40.8, Abilities.SWARM, Abilities.FRISK, Abilities.TELEPATHY, 505, 60, 45, 110, 80, 120, 90, 45, 50, 253, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.BUG, Type.PSYCHIC, 14, 40.8, Abilities.SWARM, Abilities.FRISK, Abilities.TELEPATHY, 605, 75, 50, 140, 90, 150, 100, 45, 50, 253),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.BUG, Type.PSYCHIC, 14, 40.8, Abilities.TRACE, Abilities.TRACE, Abilities.TRACE, 605, 90, 45, 130, 110, 140, 90, 45, 50, 253),
),
new PokemonSpecies(Species.NICKIT, 8, false, false, false, "Fox Pokémon", Type.DARK, null, 0.6, 8.9, Abilities.RUN_AWAY, Abilities.UNBURDEN, Abilities.STAKEOUT, 245, 40, 28, 28, 47, 52, 50, 255, 50, 49, GrowthRate.FAST, 50, false),
new PokemonSpecies(Species.THIEVUL, 8, false, false, false, "Fox Pokémon", Type.DARK, null, 1.2, 19.9, Abilities.RUN_AWAY, Abilities.UNBURDEN, Abilities.STAKEOUT, 455, 70, 58, 58, 87, 92, 90, 127, 50, 159, GrowthRate.FAST, 50, false),
@ -2280,7 +2280,7 @@ export function initSpecies() {
new PokemonSpecies(Species.CHEWTLE, 8, false, false, false, "Snapping Pokémon", Type.WATER, null, 0.3, 8.5, Abilities.STRONG_JAW, Abilities.SHELL_ARMOR, Abilities.SWIFT_SWIM, 284, 50, 64, 50, 38, 38, 44, 255, 50, 57, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.DREDNAW, 8, false, false, false, "Bite Pokémon", Type.WATER, Type.ROCK, 1, 115.5, Abilities.STRONG_JAW, Abilities.SHELL_ARMOR, Abilities.SWIFT_SWIM, 485, 90, 115, 90, 48, 68, 74, 75, 50, 170, GrowthRate.MEDIUM_FAST, 50, false, true,
new PokemonForm("Normal", "", Type.WATER, Type.ROCK, 1, 115.5, Abilities.STRONG_JAW, Abilities.SHELL_ARMOR, Abilities.SWIFT_SWIM, 485, 90, 115, 90, 48, 68, 74, 75, 50, 170, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.WATER, Type.ROCK, 24, 115.5, Abilities.STRONG_JAW, Abilities.SHELL_ARMOR, Abilities.SWIFT_SWIM, 585, 115, 150, 110, 55, 85, 70, 75, 50, 170),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.WATER, Type.ROCK, 24, 115.5, Abilities.STRONG_JAW, Abilities.STRONG_JAW, Abilities.STRONG_JAW, 585, 115, 145, 115, 43, 83, 84, 75, 50, 170),
),
new PokemonSpecies(Species.YAMPER, 8, false, false, false, "Puppy Pokémon", Type.ELECTRIC, null, 0.3, 13.5, Abilities.BALL_FETCH, Abilities.NONE, Abilities.RATTLED, 270, 59, 45, 50, 40, 50, 26, 255, 50, 54, GrowthRate.FAST, 50, false),
new PokemonSpecies(Species.BOLTUND, 8, false, false, false, "Dog Pokémon", Type.ELECTRIC, null, 1, 34, Abilities.STRONG_JAW, Abilities.NONE, Abilities.COMPETITIVE, 490, 69, 90, 60, 90, 60, 121, 45, 50, 172, GrowthRate.FAST, 50, false),
@ -2288,21 +2288,21 @@ export function initSpecies() {
new PokemonSpecies(Species.CARKOL, 8, false, false, false, "Coal Pokémon", Type.ROCK, Type.FIRE, 1.1, 78, Abilities.STEAM_ENGINE, Abilities.FLAME_BODY, Abilities.FLASH_FIRE, 410, 80, 60, 90, 60, 70, 50, 120, 50, 144, GrowthRate.MEDIUM_SLOW, 50, false),
new PokemonSpecies(Species.COALOSSAL, 8, false, false, false, "Coal Pokémon", Type.ROCK, Type.FIRE, 2.8, 310.5, Abilities.STEAM_ENGINE, Abilities.FLAME_BODY, Abilities.FLASH_FIRE, 510, 110, 80, 120, 80, 90, 30, 45, 50, 255, GrowthRate.MEDIUM_SLOW, 50, false, true,
new PokemonForm("Normal", "", Type.ROCK, Type.FIRE, 2.8, 310.5, Abilities.STEAM_ENGINE, Abilities.FLAME_BODY, Abilities.FLASH_FIRE, 510, 110, 80, 120, 80, 90, 30, 45, 50, 255, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.ROCK, Type.FIRE, 42, 310.5, Abilities.STEAM_ENGINE, Abilities.FLAME_BODY, Abilities.FLASH_FIRE, 610, 140, 95, 150, 95, 105, 25, 45, 50, 255),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.ROCK, Type.FIRE, 42, 310.5, Abilities.STEAM_ENGINE, Abilities.STEAM_ENGINE, Abilities.STEAM_ENGINE, 610, 140, 95, 130, 95, 110, 40, 45, 50, 255),
),
new PokemonSpecies(Species.APPLIN, 8, false, false, false, "Apple Core Pokémon", Type.GRASS, Type.DRAGON, 0.2, 0.5, Abilities.RIPEN, Abilities.GLUTTONY, Abilities.BULLETPROOF, 260, 40, 40, 80, 40, 40, 20, 255, 50, 52, GrowthRate.ERRATIC, 50, false),
new PokemonSpecies(Species.FLAPPLE, 8, false, false, false, "Apple Wing Pokémon", Type.GRASS, Type.DRAGON, 0.3, 1, Abilities.RIPEN, Abilities.GLUTTONY, Abilities.HUSTLE, 485, 70, 110, 80, 95, 60, 70, 45, 50, 170, GrowthRate.ERRATIC, 50, false, true,
new PokemonForm("Normal", "", Type.GRASS, Type.DRAGON, 0.3, 1, Abilities.RIPEN, Abilities.GLUTTONY, Abilities.HUSTLE, 485, 70, 110, 80, 95, 60, 70, 45, 50, 170, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.GRASS, Type.DRAGON, 24, 1, Abilities.RIPEN, Abilities.GLUTTONY, Abilities.HUSTLE, 585, 90, 140, 90, 120, 75, 70, 45, 50, 170),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.GRASS, Type.DRAGON, 24, 1, Abilities.HUSTLE, Abilities.HUSTLE, Abilities.HUSTLE, 585, 90, 130, 100, 85, 80, 100, 45, 50, 170),
),
new PokemonSpecies(Species.APPLETUN, 8, false, false, false, "Apple Nectar Pokémon", Type.GRASS, Type.DRAGON, 0.4, 13, Abilities.RIPEN, Abilities.GLUTTONY, Abilities.THICK_FAT, 485, 110, 85, 80, 100, 80, 30, 45, 50, 170, GrowthRate.ERRATIC, 50, false, true,
new PokemonForm("Normal", "", Type.GRASS, Type.DRAGON, 0.4, 13, Abilities.RIPEN, Abilities.GLUTTONY, Abilities.THICK_FAT, 485, 110, 85, 80, 100, 80, 30, 45, 50, 170, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.GRASS, Type.DRAGON, 24, 13, Abilities.RIPEN, Abilities.GLUTTONY, Abilities.THICK_FAT, 585, 140, 95, 95, 135, 95, 25, 45, 50, 170),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.GRASS, Type.DRAGON, 24, 13, Abilities.THICK_FAT, Abilities.THICK_FAT, Abilities.THICK_FAT, 585, 130, 75, 115, 125, 115, 25, 45, 50, 170),
),
new PokemonSpecies(Species.SILICOBRA, 8, false, false, false, "Sand Snake Pokémon", Type.GROUND, null, 2.2, 7.6, Abilities.SAND_SPIT, Abilities.SHED_SKIN, Abilities.SAND_VEIL, 315, 52, 57, 75, 35, 50, 46, 255, 50, 63, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.SANDACONDA, 8, false, false, false, "Sand Snake Pokémon", Type.GROUND, null, 3.8, 65.5, Abilities.SAND_SPIT, Abilities.SHED_SKIN, Abilities.SAND_VEIL, 510, 72, 107, 125, 65, 70, 71, 120, 50, 179, GrowthRate.MEDIUM_FAST, 50, false, true,
new PokemonForm("Normal", "", Type.GROUND, null, 3.8, 65.5, Abilities.SAND_SPIT, Abilities.SHED_SKIN, Abilities.SAND_VEIL, 510, 72, 107, 125, 65, 70, 71, 120, 50, 179, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.GROUND, null, 22, 65.5, Abilities.SAND_SPIT, Abilities.SHED_SKIN, Abilities.SAND_VEIL, 610, 90, 135, 150, 75, 80, 80, 120, 50, 179),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.GROUND, null, 22, 65.5, Abilities.SAND_SPIT, Abilities.SAND_SPIT, Abilities.SAND_SPIT, 610, 117, 137, 140, 55, 80, 81, 120, 50, 179),
),
new PokemonSpecies(Species.CRAMORANT, 8, false, false, false, "Gulp Pokémon", Type.FLYING, Type.WATER, 0.8, 18, Abilities.GULP_MISSILE, Abilities.NONE, Abilities.NONE, 475, 70, 85, 55, 85, 95, 85, 45, 50, 166, GrowthRate.MEDIUM_FAST, 50, false, false,
new PokemonForm("Normal", "", Type.FLYING, Type.WATER, 0.8, 18, Abilities.GULP_MISSILE, Abilities.NONE, Abilities.NONE, 475, 70, 85, 55, 85, 95, 85, 45, 50, 166, false, null, true),
@ -2315,12 +2315,12 @@ export function initSpecies() {
new PokemonSpecies(Species.TOXTRICITY, 8, false, false, false, "Punk Pokémon", Type.ELECTRIC, Type.POISON, 1.6, 40, Abilities.PUNK_ROCK, Abilities.PLUS, Abilities.TECHNICIAN, 502, 75, 98, 70, 114, 70, 75, 45, 50, 176, GrowthRate.MEDIUM_SLOW, 50, false, true,
new PokemonForm("Amped Form", "amped", Type.ELECTRIC, Type.POISON, 1.6, 40, Abilities.PUNK_ROCK, Abilities.PLUS, Abilities.TECHNICIAN, 502, 75, 98, 70, 114, 70, 75, 45, 50, 176, false, "", true),
new PokemonForm("Low-Key Form", "lowkey", Type.ELECTRIC, Type.POISON, 1.6, 40, Abilities.PUNK_ROCK, Abilities.MINUS, Abilities.TECHNICIAN, 502, 75, 98, 70, 114, 70, 75, 45, 50, 176, false, "lowkey", true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.ELECTRIC, Type.POISON, 24, 40, Abilities.PUNK_ROCK, Abilities.MINUS, Abilities.TECHNICIAN, 602, 95, 118, 80, 144, 80, 85, 45, 50, 176),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.ELECTRIC, Type.POISON, 24, 40, Abilities.PUNK_ROCK, Abilities.PUNK_ROCK, Abilities.PUNK_ROCK, 602, 114, 98, 82, 144, 82, 82, 45, 50, 176),
),
new PokemonSpecies(Species.SIZZLIPEDE, 8, false, false, false, "Radiator Pokémon", Type.FIRE, Type.BUG, 0.7, 1, Abilities.FLASH_FIRE, Abilities.WHITE_SMOKE, Abilities.FLAME_BODY, 305, 50, 65, 45, 50, 50, 45, 190, 50, 61, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.CENTISKORCH, 8, false, false, false, "Radiator Pokémon", Type.FIRE, Type.BUG, 3, 120, Abilities.FLASH_FIRE, Abilities.WHITE_SMOKE, Abilities.FLAME_BODY, 525, 100, 115, 65, 90, 90, 65, 75, 50, 184, GrowthRate.MEDIUM_FAST, 50, false, true,
new PokemonForm("Normal", "", Type.FIRE, Type.BUG, 3, 120, Abilities.FLASH_FIRE, Abilities.WHITE_SMOKE, Abilities.FLAME_BODY, 525, 100, 115, 65, 90, 90, 65, 75, 50, 184, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.FIRE, Type.BUG, 75, 120, Abilities.FLASH_FIRE, Abilities.WHITE_SMOKE, Abilities.FLAME_BODY, 625, 125, 145, 75, 105, 105, 70, 75, 50, 184),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.FIRE, Type.BUG, 75, 120, Abilities.FLASH_FIRE, Abilities.FLASH_FIRE, Abilities.FLASH_FIRE, 625, 140, 145, 75, 90, 100, 75, 75, 50, 184),
),
new PokemonSpecies(Species.CLOBBOPUS, 8, false, false, false, "Tantrum Pokémon", Type.FIGHTING, null, 0.6, 4, Abilities.LIMBER, Abilities.NONE, Abilities.TECHNICIAN, 310, 50, 68, 60, 50, 50, 32, 180, 50, 62, GrowthRate.MEDIUM_SLOW, 50, false),
new PokemonSpecies(Species.GRAPPLOCT, 8, false, false, false, "Jujitsu Pokémon", Type.FIGHTING, null, 1.6, 39, Abilities.LIMBER, Abilities.NONE, Abilities.TECHNICIAN, 480, 80, 118, 90, 70, 80, 42, 45, 50, 168, GrowthRate.MEDIUM_SLOW, 50, false),
@ -2336,13 +2336,13 @@ export function initSpecies() {
new PokemonSpecies(Species.HATTREM, 8, false, false, false, "Serene Pokémon", Type.PSYCHIC, null, 0.6, 4.8, Abilities.HEALER, Abilities.ANTICIPATION, Abilities.MAGIC_BOUNCE, 370, 57, 40, 65, 86, 73, 49, 120, 50, 130, GrowthRate.SLOW, 0, false),
new PokemonSpecies(Species.HATTERENE, 8, false, false, false, "Silent Pokémon", Type.PSYCHIC, Type.FAIRY, 2.1, 5.1, Abilities.HEALER, Abilities.ANTICIPATION, Abilities.MAGIC_BOUNCE, 510, 57, 90, 95, 136, 103, 29, 45, 50, 255, GrowthRate.SLOW, 0, false, true,
new PokemonForm("Normal", "", Type.PSYCHIC, Type.FAIRY, 2.1, 5.1, Abilities.HEALER, Abilities.ANTICIPATION, Abilities.MAGIC_BOUNCE, 510, 57, 90, 95, 136, 103, 29, 45, 50, 255, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.PSYCHIC, Type.FAIRY, 26, 5.1, Abilities.HEALER, Abilities.ANTICIPATION, Abilities.MAGIC_BOUNCE, 610, 70, 105, 110, 160, 125, 40, 45, 50, 255),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.PSYCHIC, Type.FAIRY, 26, 5.1, Abilities.MAGIC_BOUNCE, Abilities.MAGIC_BOUNCE, Abilities.MAGIC_BOUNCE, 610, 97, 90, 105, 146, 122, 50, 45, 50, 255),
),
new PokemonSpecies(Species.IMPIDIMP, 8, false, false, false, "Wily Pokémon", Type.DARK, Type.FAIRY, 0.4, 5.5, Abilities.PRANKSTER, Abilities.FRISK, Abilities.PICKPOCKET, 265, 45, 45, 30, 55, 40, 50, 255, 50, 53, GrowthRate.MEDIUM_FAST, 100, false),
new PokemonSpecies(Species.MORGREM, 8, false, false, false, "Devious Pokémon", Type.DARK, Type.FAIRY, 0.8, 12.5, Abilities.PRANKSTER, Abilities.FRISK, Abilities.PICKPOCKET, 370, 65, 60, 45, 75, 55, 70, 120, 50, 130, GrowthRate.MEDIUM_FAST, 100, false),
new PokemonSpecies(Species.GRIMMSNARL, 8, false, false, false, "Bulk Up Pokémon", Type.DARK, Type.FAIRY, 1.5, 61, Abilities.PRANKSTER, Abilities.FRISK, Abilities.PICKPOCKET, 510, 95, 120, 65, 95, 75, 60, 45, 50, 255, GrowthRate.MEDIUM_FAST, 100, false, true,
new PokemonForm("Normal", "", Type.DARK, Type.FAIRY, 1.5, 61, Abilities.PRANKSTER, Abilities.FRISK, Abilities.PICKPOCKET, 510, 95, 120, 65, 95, 75, 60, 45, 50, 255, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.DARK, Type.FAIRY, 32, 61, Abilities.PRANKSTER, Abilities.FRISK, Abilities.PICKPOCKET, 610, 120, 155, 75, 110, 85, 65, 45, 50, 255),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.DARK, Type.FAIRY, 32, 61, Abilities.PRANKSTER, Abilities.PRANKSTER, Abilities.PRANKSTER, 610, 135, 138, 77, 110, 85, 65, 45, 50, 255),
),
new PokemonSpecies(Species.OBSTAGOON, 8, false, false, false, "Blocking Pokémon", Type.DARK, Type.NORMAL, 1.6, 46, Abilities.RECKLESS, Abilities.GUTS, Abilities.DEFIANT, 520, 93, 90, 101, 60, 81, 95, 45, 50, 260, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.PERRSERKER, 8, false, false, false, "Viking Pokémon", Type.STEEL, null, 0.8, 28, Abilities.BATTLE_ARMOR, Abilities.TOUGH_CLAWS, Abilities.STEELY_SPIRIT, 440, 70, 110, 100, 50, 60, 50, 90, 50, 154, GrowthRate.MEDIUM_FAST, 50, false),
@ -2361,7 +2361,7 @@ export function initSpecies() {
new PokemonForm("Ruby Swirl", "ruby-swirl", Type.FAIRY, null, 0.3, 0.5, Abilities.SWEET_VEIL, Abilities.NONE, Abilities.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, false, null, true),
new PokemonForm("Caramel Swirl", "caramel-swirl", Type.FAIRY, null, 0.3, 0.5, Abilities.SWEET_VEIL, Abilities.NONE, Abilities.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, false, null, true),
new PokemonForm("Rainbow Swirl", "rainbow-swirl", Type.FAIRY, null, 0.3, 0.5, Abilities.SWEET_VEIL, Abilities.NONE, Abilities.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.FAIRY, null, 30, 0.5, Abilities.SWEET_VEIL, Abilities.NONE, Abilities.AROMA_VEIL, 595, 85, 70, 85, 140, 150, 65, 100, 50, 173),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.FAIRY, null, 30, 0.5, Abilities.MISTY_SURGE, Abilities.MISTY_SURGE, Abilities.MISTY_SURGE, 595, 135, 60, 75, 130, 131, 64, 100, 50, 173),
),
new PokemonSpecies(Species.FALINKS, 8, false, false, false, "Formation Pokémon", Type.FIGHTING, null, 3, 62, Abilities.BATTLE_ARMOR, Abilities.NONE, Abilities.DEFIANT, 470, 65, 100, 100, 70, 60, 75, 45, 50, 165, GrowthRate.MEDIUM_FAST, null, false),
new PokemonSpecies(Species.PINCURCHIN, 8, false, false, false, "Sea Urchin Pokémon", Type.ELECTRIC, null, 0.3, 1, Abilities.LIGHTNING_ROD, Abilities.NONE, Abilities.ELECTRIC_SURGE, 435, 48, 101, 95, 91, 85, 15, 75, 50, 152, GrowthRate.MEDIUM_FAST, 50, false),
@ -2383,7 +2383,7 @@ export function initSpecies() {
new PokemonSpecies(Species.CUFANT, 8, false, false, false, "Copperderm Pokémon", Type.STEEL, null, 1.2, 100, Abilities.SHEER_FORCE, Abilities.NONE, Abilities.HEAVY_METAL, 330, 72, 80, 49, 40, 49, 40, 190, 50, 66, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.COPPERAJAH, 8, false, false, false, "Copperderm Pokémon", Type.STEEL, null, 3, 650, Abilities.SHEER_FORCE, Abilities.NONE, Abilities.HEAVY_METAL, 500, 122, 130, 69, 80, 69, 30, 90, 50, 175, GrowthRate.MEDIUM_FAST, 50, false, true,
new PokemonForm("Normal", "", Type.STEEL, null, 3, 650, Abilities.SHEER_FORCE, Abilities.NONE, Abilities.HEAVY_METAL, 500, 122, 130, 69, 80, 69, 30, 90, 50, 175, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.STEEL, null, 23, 650, Abilities.SHEER_FORCE, Abilities.NONE, Abilities.HEAVY_METAL, 600, 150, 160, 80, 90, 80, 40, 90, 50, 175),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.STEEL, Type.GROUND, 23, 650, Abilities.MOLD_BREAKER, Abilities.MOLD_BREAKER, Abilities.MOLD_BREAKER, 600, 167, 155, 89, 80, 89, 20, 90, 50, 175),
),
new PokemonSpecies(Species.DRACOZOLT, 8, false, false, false, "Fossil Pokémon", Type.ELECTRIC, Type.DRAGON, 1.8, 190, Abilities.VOLT_ABSORB, Abilities.HUSTLE, Abilities.SAND_RUSH, 505, 90, 100, 90, 80, 70, 75, 45, 50, 177, GrowthRate.SLOW, null, false),
new PokemonSpecies(Species.ARCTOZOLT, 8, false, false, false, "Fossil Pokémon", Type.ELECTRIC, Type.ICE, 2.3, 150, Abilities.VOLT_ABSORB, Abilities.STATIC, Abilities.SLUSH_RUSH, 505, 90, 100, 90, 90, 80, 55, 45, 50, 177, GrowthRate.SLOW, null, false),
@ -2391,7 +2391,7 @@ export function initSpecies() {
new PokemonSpecies(Species.ARCTOVISH, 8, false, false, false, "Fossil Pokémon", Type.WATER, Type.ICE, 2, 175, Abilities.WATER_ABSORB, Abilities.ICE_BODY, Abilities.SLUSH_RUSH, 505, 90, 90, 100, 80, 90, 55, 45, 50, 177, GrowthRate.SLOW, null, false),
new PokemonSpecies(Species.DURALUDON, 8, false, false, false, "Alloy Pokémon", Type.STEEL, Type.DRAGON, 1.8, 40, Abilities.LIGHT_METAL, Abilities.HEAVY_METAL, Abilities.STALWART, 535, 70, 95, 115, 120, 50, 85, 45, 50, 187, GrowthRate.MEDIUM_FAST, 50, false, true,
new PokemonForm("Normal", "", Type.STEEL, Type.DRAGON, 1.8, 40, Abilities.LIGHT_METAL, Abilities.HEAVY_METAL, Abilities.STALWART, 535, 70, 95, 115, 120, 50, 85, 45, 50, 187, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.STEEL, Type.DRAGON, 43, 40, Abilities.LIGHT_METAL, Abilities.HEAVY_METAL, Abilities.STALWART, 635, 90, 110, 145, 140, 60, 90, 45, 50, 187),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.STEEL, Type.DRAGON, 43, 40, Abilities.LIGHTNING_ROD, Abilities.LIGHTNING_ROD, Abilities.LIGHTNING_ROD, 635, 100, 105, 119, 166, 57, 88, 45, 50, 187),
),
new PokemonSpecies(Species.DREEPY, 8, false, false, false, "Lingering Pokémon", Type.DRAGON, Type.GHOST, 0.5, 2, Abilities.CLEAR_BODY, Abilities.INFILTRATOR, Abilities.CURSED_BODY, 270, 28, 60, 30, 40, 30, 82, 45, 50, 54, GrowthRate.SLOW, 50, false),
new PokemonSpecies(Species.DRAKLOAK, 8, false, false, false, "Caretaker Pokémon", Type.DRAGON, Type.GHOST, 1.4, 11, Abilities.CLEAR_BODY, Abilities.INFILTRATOR, Abilities.CURSED_BODY, 410, 68, 80, 50, 60, 50, 102, 45, 50, 144, GrowthRate.SLOW, 50, false),
@ -2412,8 +2412,8 @@ export function initSpecies() {
new PokemonSpecies(Species.URSHIFU, 8, true, false, false, "Wushu Pokémon", Type.FIGHTING, Type.DARK, 1.9, 105, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 550, 100, 130, 100, 63, 60, 97, 3, 50, 275, GrowthRate.SLOW, 87.5, false, true,
new PokemonForm("Single Strike Style", "single-strike", Type.FIGHTING, Type.DARK, 1.9, 105, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 550, 100, 130, 100, 63, 60, 97, 3, 50, 275, false, "", true),
new PokemonForm("Rapid Strike Style", "rapid-strike", Type.FIGHTING, Type.WATER, 1.9, 105, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 550, 100, 130, 100, 63, 60, 97, 3, 50, 275, false, null, true),
new PokemonForm("G-Max Single Strike Style", SpeciesFormKey.GIGANTAMAX_SINGLE, Type.FIGHTING, Type.DARK, 29, 105, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 650, 125, 160, 120, 75, 70, 100, 3, 50, 275),
new PokemonForm("G-Max Rapid Strike Style", SpeciesFormKey.GIGANTAMAX_RAPID, Type.FIGHTING, Type.WATER, 26, 105, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 650, 125, 160, 120, 75, 70, 100, 3, 50, 275),
new PokemonForm("G-Max Single Strike Style", SpeciesFormKey.GIGANTAMAX_SINGLE, Type.FIGHTING, Type.DARK, 29, 105, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 650, 125, 150, 115, 73, 70, 117, 3, 50, 275),
new PokemonForm("G-Max Rapid Strike Style", SpeciesFormKey.GIGANTAMAX_RAPID, Type.FIGHTING, Type.WATER, 26, 105, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 650, 125, 150, 115, 73, 70, 117, 3, 50, 275),
),
new PokemonSpecies(Species.ZARUDE, 8, false, false, true, "Rogue Monkey Pokémon", Type.DARK, Type.GRASS, 1.8, 70, Abilities.LEAF_GUARD, Abilities.NONE, Abilities.NONE, 600, 105, 120, 105, 70, 95, 105, 3, 0, 300, GrowthRate.SLOW, null, false, false,
new PokemonForm("Normal", "", Type.DARK, Type.GRASS, 1.8, 70, Abilities.LEAF_GUARD, Abilities.NONE, Abilities.NONE, 600, 105, 120, 105, 70, 95, 105, 3, 0, 300, false, null, true),
@ -3623,7 +3623,7 @@ export const starterPassiveAbilities = {
[Species.YAMASK]: Abilities.PURIFYING_SALT,
[Species.TIRTOUGA]: Abilities.WATER_ABSORB,
[Species.ARCHEN]: Abilities.MULTISCALE,
[Species.TRUBBISH]: Abilities.TOXIC_DEBRIS,
[Species.TRUBBISH]: Abilities.NEUTRALIZING_GAS,
[Species.ZORUA]: Abilities.DARK_AURA,
[Species.MINCCINO]: Abilities.FUR_COAT,
[Species.GOTHITA]: Abilities.UNNERVE,
@ -3784,7 +3784,7 @@ export const starterPassiveAbilities = {
[Species.SINISTEA]: Abilities.SHADOW_SHIELD,
[Species.HATENNA]: Abilities.FAIRY_AURA,
[Species.IMPIDIMP]: Abilities.FUR_COAT,
[Species.MILCERY]: Abilities.MISTY_SURGE,
[Species.MILCERY]: Abilities.REGENERATOR,
[Species.FALINKS]: Abilities.PARENTAL_BOND,
[Species.PINCURCHIN]: Abilities.ELECTROMORPHOSIS,
[Species.SNOM]: Abilities.SNOW_WARNING,

View File

@ -16,7 +16,7 @@
"invalidLoginUsername": "El usuario no es válido",
"invalidRegisterUsername": "El usuario solo puede contener letras, números y guiones bajos",
"invalidLoginPassword": "La contraseña no es válida",
"invalidRegisterPassword": "Contraseña debe tener 6 o más caracter.",
"invalidRegisterPassword": "La contraseña debe tener 6 o más caracteres.",
"usernameAlreadyUsed": "El usuario ya está en uso",
"accountNonExistent": "El usuario no existe",
"unmatchingPassword": "La contraseña no coincide",
@ -37,12 +37,19 @@
"weeklyRankings": "Rankings Semanales",
"noRankings": "Sin Rankings",
"positionIcon": "#",
"usernameScoreboard": "Usuario",
"score": "Puntos",
"wave": "Oleada",
"loading": "Cargando…",
"loadingAsset": "Cargando recurso: {{assetName}}",
"playersOnline": "Jugadores en Línea",
"yes": "Sí",
"no": "No",
"disclaimer": "AVISO",
"disclaimerDescription": "Este juego es un producto inacabado; puede tener problemas de jugabilidad (incluyendo la posible pérdida\n de datos de guardado),cambiar sin avisar, y puede o no puede ser actualizado hasta ser completado.",
"errorServerDown": "¡Ups! Ha habido un problema al contactar con el servidor.\n\nPuedes mantener esta ventana abierta,\nel juego se reconectará automáticamente."
}
"disclaimerDescription": "Este juego es un producto inacabado; puede tener problemas de jugabilidad (incluyendo la posible pérdida\n de datos de guardado), cambiar sin avisar, y puede o no puede ser actualizado hasta ser completado.",
"choosePokemon": "Elige un Pokémon.",
"renamePokemon": "Renombrar Pokémon.",
"rename": "Renombrar",
"nickname": "Apodo",
"errorServerDown": "¡Ups! Ha habido un problema al contactar con el servidor.\n\nPuedes mantener esta ventana abierta, el juego se reconectará automáticamente."
}

View File

@ -97,6 +97,10 @@
"name": "MT{{moveId}} - {{moveName}}",
"description": "Enseña {{moveName}} a un Pokémon."
},
"TmModifierTypeWithInfo": {
"name": "MT{{moveId}} - {{moveName}}",
"description": "Enseña {{moveName}} a un Pokémon\n(Mantén pulsado C o Shift para más info)."
},
"EvolutionItemModifierType": {
"description": "Hace que ciertos Pokémon evolucionen."
},
@ -129,12 +133,12 @@
"name": "Caramelorarísimo"
},
"MEGA_BRACELET": {
"name": "Mega-aro",
"description": "Las Megapiedras están disponibles."
"name": "Megapulsera",
"description": "Las megapiedras se vuelven disponibles."
},
"DYNAMAX_BAND": {
"name": "Maximuñequera",
"description": "Las Maxisetas están disponibles."
"description": "Las maxisetas se vuelven disponibles."
},
"TERA_ORB": {
"name": "Orbe Teracristal",
@ -154,42 +158,42 @@
"name": "Hiperpoción"
},
"MAX_POTION": {
"name": "Máx. Poción"
"name": "Máx. poción"
},
"FULL_RESTORE": {
"name": "Restau. Todo"
"name": "Restau. todo"
},
"REVIVE": {
"name": "Revivir"
},
"MAX_REVIVE": {
"name": "Máx. Revivir"
"name": "Máx. revivir"
},
"FULL_HEAL": {
"name": "Cura Total"
"name": "Cura total"
},
"SACRED_ASH": {
"name": "Cen. Sagrada"
"name": "Ceniza sagrada"
},
"REVIVER_SEED": {
"name": "Semilla Revivir",
"name": "Semilla revivir",
"description": "Revive al portador con la mitad de sus PS al debilitarse por un golpe directo."
},
"WHITE_HERB": {
"name": "White Herb",
"description": "An item to be held by a Pokémon. It will restore any lowered stat in battle."
"name": "Hierba blanca",
"description": "Un objeto que puede llevar un Pokémon. Restaurará cualquier estadística reducida en combate."
},
"ETHER": {
"name": "Éter"
},
"MAX_ETHER": {
"name": "Éter Máx."
"name": "Éter máx."
},
"ELIXIR": {
"name": "Elixir"
},
"MAX_ELIXIR": {
"name": "Elixir Máx."
"name": "Elixir máx."
},
"PP_UP": {
"name": "Más PP"
@ -204,10 +208,10 @@
"name": "Superincienso"
},
"MAX_LURE": {
"name": "Incienso Máximo"
"name": "Incienso máximo"
},
"MEMORY_MUSHROOM": {
"name": "Seta Recuerdo",
"name": "Seta recuerdo",
"description": "Recuerda un movimiento olvidado de un Pokémon."
},
"EXP_SHARE": {
@ -215,8 +219,8 @@
"description": "Los que no combatan reciben el 20% de la EXP."
},
"EXP_BALANCE": {
"name": "Equilibrar EXP",
"description": "Da mayor parte de la EXP recibida a los miembros del equipo que tengan menos nivel."
"name": "Equilibrador EXP",
"description": "Da una mayor parte de la EXP recibida a los miembros del equipo que tengan menos nivel."
},
"OVAL_CHARM": {
"name": "Amuleto Oval",
@ -232,13 +236,13 @@
"name": "Amuleto EXP Dorado"
},
"LUCKY_EGG": {
"name": "Huevo Suerte"
"name": "Huevo suerte"
},
"GOLDEN_EGG": {
"name": "Huevo Dorado"
"name": "Huevo dorado"
},
"SOOTHE_BELL": {
"name": "Camp. Alivio"
"name": "Camp. alivio"
},
"SCOPE_LENS": {
"name": "Periscopio",
@ -249,7 +253,7 @@
"description": "Puerro muy largo y duro que aumenta la probabilidad de asestar un golpe crítico. Debe llevarlo Farfetch'd."
},
"EVIOLITE": {
"name": "Mineral Evolutivo",
"name": "Mineral evolutivo",
"description": "Roca misteriosa. El Pokémon portador aumentará su Defensa y su Defensa Especial si aún puede evolucionar."
},
"SOUL_DEW": {
@ -266,7 +270,7 @@
"name": "Real de oro"
},
"AMULET_COIN": {
"name": "Moneda Amuleto",
"name": "Moneda amuleto",
"description": "Aumenta el dinero ganado en un 20%."
},
"GOLDEN_PUNCH": {
@ -279,10 +283,10 @@
},
"LOCK_CAPSULE": {
"name": "Cápsula candado",
"description": "Le permite bloquear las rarezas de los objetos al cambiar de objetos."
"description": "Permite bloquear las rarezas de los objetos al refrescar objetos."
},
"GRIP_CLAW": {
"name": "Garra Garfio"
"name": "Garra garfio"
},
"WIDE_LENS": {
"name": "Lupa"
@ -294,20 +298,24 @@
"name": "Amuleto curación",
"description": "Aumenta la efectividad de los movimientos y objetos de curacion de PS en un 10% (excepto revivir)."
},
"CANDY_JAR": {
"name": "Tarrón de caramelos",
"description": "Aumenta la cantidad de niveles otorgados por los ítems Caramelos Raros en 1."
},
"BERRY_POUCH": {
"name": "Saco Bayas",
"description": "Agrega un 30% de posibilidades de que una baya usada no se consuma."
"name": "Saco bayas",
"description": "Añade un 30% de posibilidades de que una baya no se gaste al usarla."
},
"FOCUS_BAND": {
"name": "Cinta Focus",
"name": "Banda aguante",
"description": "Agrega un 10% de probabilidad de resistir un ataque que lo debilitaría."
},
"QUICK_CLAW": {
"name": "Garra Rápida",
"name": "Garra rápida",
"description": "Agrega un 10% de probabilidad de atacar primero independientemente de la velocidad (después de la prioridad)."
},
"KINGS_ROCK": {
"name": "Roca del Rey",
"name": "Roca del rey",
"description": "Agrega un 10% de probabilidad de que un ataque haga que el oponente retroceda."
},
"LEFTOVERS": {
@ -315,7 +323,7 @@
"description": "Cura 1/16 de los PS máximo de un Pokémon cada turno."
},
"SHELL_BELL": {
"name": "Camp Concha",
"name": "Cascabel concha",
"description": "Cura 1/8 del daño infligido por un Pokémon."
},
"TOXIC_ORB": {
@ -327,15 +335,15 @@
"description": "Extraña esfera que causa quemaduras a quien la usa en combate."
},
"BATON": {
"name": "Relevo",
"name": "Testigo",
"description": "Permite pasar los efectos al cambiar de Pokémon, también evita las trampas."
},
"SHINY_CHARM": {
"name": "Amuleto Iris",
"name": "Amuleto iris",
"description": "Aumenta drásticamente la posibilidad de que un Pokémon salvaje sea Shiny."
},
"ABILITY_CHARM": {
"name": "Amuleto Habilidad",
"name": "Amuleto habilidad",
"description": "Aumenta drásticamente la posibilidad de que un Pokémon salvaje tenga una habilidad oculta."
},
"IV_SCANNER": {
@ -346,60 +354,60 @@
"name": "Punta ADN"
},
"MINI_BLACK_HOLE": {
"name": "Mini Agujero Negro"
"name": "Mini agujero negro"
},
"GOLDEN_POKEBALL": {
"name": "Poké Ball Dorada",
"description": "Agrega 1 opción de objeto extra al final de cada combate."
},
"ENEMY_DAMAGE_BOOSTER": {
"name": "Ficha Daño",
"name": "Ficha de daño",
"description": "Aumenta el daño en un 5%."
},
"ENEMY_DAMAGE_REDUCTION": {
"name": "Ficha Protección",
"name": "Ficha de protección",
"description": "Reduce el daño recibido en un 2,5%."
},
"ENEMY_HEAL": {
"name": "Ficha Curación",
"name": "Ficha de curación",
"description": "Cura el 2% de los PS máximo en cada turno."
},
"ENEMY_ATTACK_POISON_CHANCE": {
"name": "Ficha Veneno"
"name": "Ficha veneno"
},
"ENEMY_ATTACK_PARALYZE_CHANCE": {
"name": "Ficha Parálisis"
"name": "Ficha parálisis"
},
"ENEMY_ATTACK_BURN_CHANCE": {
"name": "Ficha Quemadura"
"name": "Ficha quemadura"
},
"ENEMY_STATUS_EFFECT_HEAL_CHANCE": {
"name": "Ficha Cura Total",
"name": "Ficha cura total",
"description": "Agrega un 2.5% de probabilidad cada turno de curar un problema de estado."
},
"ENEMY_ENDURE_CHANCE": {
"name": "Ficha Aguante"
"name": "Ficha aguante"
},
"ENEMY_FUSED_CHANCE": {
"name": "Ficha Fusión",
"name": "Ficha fusión",
"description": "Agrega un 1% de probabilidad de que un Pokémon salvaje sea una fusión."
}
},
"SpeciesBoosterItem": {
"LIGHT_BALL": {
"name": "Bola Luminosa",
"name": "Bola luminosa",
"description": "Asombrosa esfera que aumenta el Ataque y el Ataque Especial. Debe llevarla Pikachu."
},
"THICK_CLUB": {
"name": "Hueso Grueso",
"name": "Hueso grueso",
"description": "Extraño tipo de hueso que potencia los ataques físicos. Debe llevarlo Cubone o Marowak."
},
"METAL_POWDER": {
"name": "Polvo Metálico",
"name": "Polvo metálico",
"description": "Polvo muy fino, pero a la vez poderoso, que aumenta la Defensa. Debe llevarlo Ditto."
},
"QUICK_POWDER": {
"name": "Polvo Veloz",
"name": "Polvo veloz",
"description": "Polvo muy fino, pero a la vez poderoso, que aumenta la Velocidad. Debe llevarlo Ditto."
}
},
@ -413,35 +421,35 @@
"dire_hit": "Crítico X"
},
"TempBattleStatBoosterStatName": {
"ATK": "Attack",
"DEF": "Defense",
"SPATK": "Sp. Atk",
"SPDEF": "Sp. Def",
"SPD": "Speed",
"ACC": "Accuracy",
"CRIT": "Critical Hit Ratio",
"EVA": "Evasiveness",
"ATK": "Ataque",
"DEF": "Defensa",
"SPATK": "Ataq. Esp.",
"SPDEF": "Def. Esp.",
"SPD": "Velocidad",
"ACC": "Precisión",
"CRIT": "Tasa de crítico",
"EVA": "Evasión",
"DEFAULT": "???"
},
"AttackTypeBoosterItem": {
"silk_scarf": "Pañuelo Seda",
"black_belt": "Cinturón Negro",
"sharp_beak": "Pico Afilado",
"poison_barb": "Flecha Venenosa",
"soft_sand": "Arena Fina",
"hard_stone": "Piedra Dura",
"silver_powder": "Polvo Plata",
"silk_scarf": "Pañuelo seda",
"black_belt": "Cinturón negro",
"sharp_beak": "Pico afilado",
"poison_barb": "Flecha venenosa",
"soft_sand": "Arena fina",
"hard_stone": "Piedra dura",
"silver_powder": "Polvo plata",
"spell_tag": "Hechizo",
"metal_coat": "Rev. Metálico",
"metal_coat": "Revest. metálico",
"charcoal": "Carbón",
"mystic_water": "Agua Mística",
"miracle_seed": "Semilla Milagro",
"mystic_water": "Agua mística",
"miracle_seed": "Semilla milagro",
"magnet": "Imán",
"twisted_spoon": "Cuchara Torcida",
"twisted_spoon": "Cuchara torcida",
"never_melt_ice": "Antiderretir",
"dragon_fang": "Colmillo Dragón",
"black_glasses": "Gafas de Sol",
"fairy_feather": "Pluma Hada"
"dragon_fang": "Colmillo dragón",
"black_glasses": "Gafas de sol",
"fairy_feather": "Pluma feérica"
},
"BaseStatBoosterItem": {
"hp_up": "Más PS",
@ -452,38 +460,38 @@
"carbos": "Carburante"
},
"EvolutionItem": {
"NONE": "None",
"LINKING_CORD": "Cordón Unión",
"SUN_STONE": "Piedra Solar",
"MOON_STONE": "Piedra Lunar",
"LEAF_STONE": "Piedra Hoja",
"FIRE_STONE": "Piedra Fuego",
"WATER_STONE": "Piedra Agua",
"THUNDER_STONE": "Piedra Trueno",
"ICE_STONE": "Piedra Hielo",
"DUSK_STONE": "Piedra Noche",
"DAWN_STONE": "Piedra Alba",
"SHINY_STONE": "Piedra Día",
"CRACKED_POT": "Tetera Agrietada",
"SWEET_APPLE": "Manzana Dulce",
"TART_APPLE": "Manzana Ácida",
"STRAWBERRY_SWEET": "Confite Fresa",
"UNREMARKABLE_TEACUP": "Cuenco Mediocre",
"CHIPPED_POT": "Tetera Rota",
"BLACK_AUGURITE": "Mineral Negro",
"GALARICA_CUFF": "Brazal Galanuez",
"GALARICA_WREATH": "Corona Galanuez",
"PEAT_BLOCK": "Bloque de Turba",
"AUSPICIOUS_ARMOR": "Armadura Auspiciosa",
"MALICIOUS_ARMOR": "Armadura Maldita",
"MASTERPIECE_TEACUP": "Cuenco Exquisito",
"METAL_ALLOY": "Metal Compuesto",
"SCROLL_OF_DARKNESS": "Manuscrito Sombras",
"SCROLL_OF_WATERS": "Manuscrito Aguas",
"SYRUPY_APPLE": "Manzana Melosa"
"NONE": "Ninguno",
"LINKING_CORD": "Cordón unión",
"SUN_STONE": "Piedra solar",
"MOON_STONE": "Piedra lunar",
"LEAF_STONE": "Piedra hoja",
"FIRE_STONE": "Piedra fuego",
"WATER_STONE": "Piedra agua",
"THUNDER_STONE": "Piedra trueno",
"ICE_STONE": "Piedra hielo",
"DUSK_STONE": "Piedra noche",
"DAWN_STONE": "Piedra alba",
"SHINY_STONE": "Piedra día",
"CRACKED_POT": "Tetera agrietada",
"SWEET_APPLE": "Manzana dulce",
"TART_APPLE": "Manzana ácida",
"STRAWBERRY_SWEET": "Confite fresa",
"UNREMARKABLE_TEACUP": "Cuenco mediocre",
"CHIPPED_POT": "Tetera rota",
"BLACK_AUGURITE": "Mineral negro",
"GALARICA_CUFF": "Brazal galanuez",
"GALARICA_WREATH": "Corona galanuez",
"PEAT_BLOCK": "Bloque de turba",
"AUSPICIOUS_ARMOR": "Armadura auspiciosa",
"MALICIOUS_ARMOR": "Armadura maldita",
"MASTERPIECE_TEACUP": "Cuenco exquisito",
"METAL_ALLOY": "Metal compuesto",
"SCROLL_OF_DARKNESS": "Manuscrito sombras",
"SCROLL_OF_WATERS": "Manuscrito aguas",
"SYRUPY_APPLE": "Manzana melosa"
},
"FormChangeItem": {
"NONE": "None",
"NONE": "Ninguno",
"ABOMASITE": "Abomasnowita",
"ABSOLITE": "Absolita",
"AERODACTYLITE": "Aerodactylita",
@ -532,70 +540,70 @@
"SWAMPERTITE": "Swampertita",
"TYRANITARITE": "Tyranitarita",
"VENUSAURITE": "Venusaurita",
"BLUE_ORB": "Prisma Azul",
"RED_ORB": "Prisma Rojo",
"SHARP_METEORITE": "Meteorito Afilado",
"HARD_METEORITE": "Meteorito Duro",
"SMOOTH_METEORITE": "Meteorito Suave",
"ADAMANT_CRYSTAL": "Gran Diamansfera",
"LUSTROUS_GLOBE": "Gran Lustresfera",
"GRISEOUS_CORE": "Gran Griseosfera",
"REVEAL_GLASS": "Espejo Veraz",
"BLUE_ORB": "Prisma azul",
"RED_ORB": "Prisma rojo",
"SHARP_METEORITE": "Meteorito afilado",
"HARD_METEORITE": "Meteorito duro",
"SMOOTH_METEORITE": "Meteorito suave",
"ADAMANT_CRYSTAL": "Gran diamansfera",
"LUSTROUS_GLOBE": "Gran lustresfera",
"GRISEOUS_CORE": "Gran griseosfera",
"REVEAL_GLASS": "Espejo veraz",
"GRACIDEA": "Gracídea",
"MAX_MUSHROOMS": "MaxiSetas",
"DARK_STONE": "Piedra Oscura",
"LIGHT_STONE": "Piedra Luminosa",
"PRISON_BOTTLE": "Vasija Castigo",
"MAX_MUSHROOMS": "Maxisetas",
"DARK_STONE": "Orbe oscuro",
"LIGHT_STONE": "Orbe claro",
"PRISON_BOTTLE": "Vasija castigo",
"N_LUNARIZER": "Necroluna",
"N_SOLARIZER": "Necrosol",
"RUSTED_SWORD": "Espada Oxidada",
"RUSTED_SHIELD": "Escudo Oxidado",
"ICY_REINS_OF_UNITY": "Riendas Unión Heladas",
"SHADOW_REINS_OF_UNITY": "Riendas Unión Oscuras",
"WELLSPRING_MASK": "Máscara Fuente",
"HEARTHFLAME_MASK": "Máscara Horno",
"CORNERSTONE_MASK": "Máscara Cimiento",
"RUSTED_SWORD": "Espada oxidada",
"RUSTED_SHIELD": "Escudo oxidado",
"ICY_REINS_OF_UNITY": "Riendas unión heladas",
"SHADOW_REINS_OF_UNITY": "Riendas unión oscuras",
"WELLSPRING_MASK": "Máscara fuente",
"HEARTHFLAME_MASK": "Máscara horno",
"CORNERSTONE_MASK": "Máscara cimiento",
"SHOCK_DRIVE": "FulgoROM",
"BURN_DRIVE": "PiroROM",
"CHILL_DRIVE": "CrioROM",
"DOUSE_DRIVE": "HidroROM",
"ULTRANECROZIUM_Z": "Ultranecrostal Z",
"FIST_PLATE": "Tabla Fuerte",
"SKY_PLATE": "Tabla Cielo",
"TOXIC_PLATE": "Tabla Tóxica",
"EARTH_PLATE": "Tabla Terrax",
"STONE_PLATE": "Tabla Pétrea",
"INSECT_PLATE": "Tabla Bicho",
"SPOOKY_PLATE": "Tabla Terror",
"IRON_PLATE": "Tabla Acero",
"FLAME_PLATE": "Tabla Llama",
"SPLASH_PLATE": "Tabla Linfa",
"MEADOW_PLATE": "Tabla Pradal",
"ZAP_PLATE": "Tabla Trueno",
"MIND_PLATE": "Tabla Mental",
"ICICLE_PLATE": "Tabla Helada",
"DRACO_PLATE": "Tabla Draco",
"DREAD_PLATE": "Tabla Oscura",
"PIXIE_PLATE": "Tabla Duende",
"BLANK_PLATE": "Tabla Neutra",
"LEGEND_PLATE": "Tabla Legendaria",
"FIGHTING_MEMORY": "Disco Lucha",
"FLYING_MEMORY": "Disco Volador",
"POISON_MEMORY": "Disco Veneno",
"GROUND_MEMORY": "Disco Tierra",
"ROCK_MEMORY": "Disco Roca",
"BUG_MEMORY": "Disco Bicho",
"GHOST_MEMORY": "Disco Fantasma",
"STEEL_MEMORY": "Disco Acero",
"FIRE_MEMORY": "Disco Fuego",
"WATER_MEMORY": "Disco Agua",
"GRASS_MEMORY": "Disco Planta",
"ELECTRIC_MEMORY": "Disco Eléctrico",
"PSYCHIC_MEMORY": "Disco Psíquico",
"ICE_MEMORY": "Disco Hielo",
"DRAGON_MEMORY": "Disco Dragón",
"DARK_MEMORY": "Disco Siniestro",
"FAIRY_MEMORY": "Disco Hada",
"BLANK_MEMORY": "Disco Blanco"
"FIST_PLATE": "Tabla fuerte",
"SKY_PLATE": "Tabla cielo",
"TOXIC_PLATE": "Tabla tóxica",
"EARTH_PLATE": "Tabla terrax",
"STONE_PLATE": "Tabla pétrea",
"INSECT_PLATE": "Tabla bicho",
"SPOOKY_PLATE": "Tabla terror",
"IRON_PLATE": "Tabla acero",
"FLAME_PLATE": "Tabla llama",
"SPLASH_PLATE": "Tabla linfa",
"MEADOW_PLATE": "Tabla pradal",
"ZAP_PLATE": "Tabla trueno",
"MIND_PLATE": "Tabla mental",
"ICICLE_PLATE": "Tabla helada",
"DRACO_PLATE": "Tabla draco",
"DREAD_PLATE": "Tabla oscura",
"PIXIE_PLATE": "Tabla duende",
"BLANK_PLATE": "Tabla neutra",
"LEGEND_PLATE": "Tabla legendaria",
"FIGHTING_MEMORY": "Disco lucha",
"FLYING_MEMORY": "Disco volador",
"POISON_MEMORY": "Disco veneno",
"GROUND_MEMORY": "Disco tierra",
"ROCK_MEMORY": "Disco roca",
"BUG_MEMORY": "Disco bicho",
"GHOST_MEMORY": "Disco fantasma",
"STEEL_MEMORY": "Disco acero",
"FIRE_MEMORY": "Disco fuego",
"WATER_MEMORY": "Disco agua",
"GRASS_MEMORY": "Disco planta",
"ELECTRIC_MEMORY": "Disco eléctrico",
"PSYCHIC_MEMORY": "Disco psíquico",
"ICE_MEMORY": "Disco hielo",
"DRAGON_MEMORY": "Disco dragón",
"DARK_MEMORY": "Disco siniestro",
"FAIRY_MEMORY": "Disco hada",
"BLANK_MEMORY": "Disco en blanco"
}
}
}

View File

@ -12,7 +12,7 @@
"typeImmunityHeal": "{{abilityName}} de {{pokemonNameWithAffix}}\nrestaure un peu ses PV !",
"nonSuperEffectiveImmunity": "{{pokemonNameWithAffix}} évite\nles dégâts avec {{abilityName}} !",
"disguiseAvoidedDamage": "Le déguisement de {{pokemonNameWithAffix}}\ntombe !",
"moveImmunity": "Ça n'affecte pas {{pokemonNameWithAffix}}…",
"moveImmunity": "Ça naffecte pas {{pokemonNameWithAffix}}…",
"reverseDrain": "{{pokemonNameWithAffix}} aspire\nle suintement !",
"postDefendTypeChange": "{{abilityName}} de {{pokemonNameWithAffix}}\nle transforme en type {{typeName}} !",
"postDefendContactDamage": "{{pokemonNameWithAffix}} est blessé\npar son talent {{abilityName}} !",
@ -23,7 +23,7 @@
"postAttackStealHeldItem": "{{pokemonNameWithAffix}} vole\nlobjet {{stolenItemType}} de {{defenderName}} !",
"postDefendStealHeldItem": "{{pokemonNameWithAffix}} vole\nlobjet {{stolenItemType}} de {{attackerName}} !",
"copyFaintedAllyAbility": "{{pokemonNameWithAffix}} reçoit\nle talent {{abilityName}} !",
"intimidateImmunity": "{{abilityName}} de {{pokemonNameWithAffix}}\nlempêche d'être intimidé !",
"intimidateImmunity": "{{abilityName}} de {{pokemonNameWithAffix}}\nlempêche dêtre intimidé !",
"postSummonAllyHeal": "{{pokemonNameWithAffix}} boit le thé\npréparé par {{pokemonName}} !",
"postSummonClearAllyStats": "Les stats de {{pokemonNameWithAffix}}\nsont revenues à la normale!",
"postSummonTransform": "{{pokemonNameWithAffix}} prend\nlapparence de {{targetName}} !",
@ -59,4 +59,4 @@
"postSummonTabletsOfRuin": "Le Bois du Fléau de {{pokemonNameWithAffix}}\naffaiblit l{{statName}} des Pokémon alentour !",
"postSummonBeadsOfRuin": "Les Perles du Fléau de {{pokemonNameWithAffix}}\naffaiblissent la {{statName}} des Pokémon alentour !",
"preventBerryUse": "{{pokemonNameWithAffix}} est tendu\net ne peut plus manger de Baies !"
}
}

View File

@ -469,11 +469,11 @@
},
"honeyGather": {
"name": "Cherche Miel",
"description": "The Pokémon gathers Honey after a battle. The Honey is then sold for money."
"description": "Le Pokémon trouve du Miel après un combat et est directement revendu contre de largent."
},
"frisk": {
"name": "Fouille",
"description": "Lorsqu'il entre en combat, le Pokémon peut vérifier la capacité d'un Pokémon adverse."
"description": "Lorsquil entre en combat, le Pokémon peut vérifier la capacité dun Pokémon adverse."
},
"reckless": {
"name": "Téméraire",
@ -1239,4 +1239,4 @@
"name": "Emprise Toxique",
"description": "Lorsque Pêchaminus empoisonne un Pokémon grâce à lune de ses capacités, ce dernier devient également confus."
}
}
}

View File

@ -62,7 +62,7 @@
"name": "Caïd"
},
"HealAchv": {
"description": "Soigner {{healAmount}} {{HP}} en une fois avec une capacité, un talent ou un objet tenu."
"description": "Soigner {{healAmount}} {{HP}} en une fois avec une capacité,\nun talent ou un objet tenu."
},
"1000_HEAL": {
"name": "Médecin"
@ -261,4 +261,4 @@
"name": "Du premier coup !",
"description": "Terminer un challenge « Nouveau départ »."
}
}
}

View File

@ -36,7 +36,7 @@
"name": "One Punch Man"
},
"HealAchv": {
"description": "Soigner {{healAmount}} {{HP}} en une fois avec une capacité, un talent ou un objet tenu."
"description": "Soigner {{healAmount}} {{HP}} en une fois avec une capacité,\nun talent ou un objet tenu."
},
"250_HEAL": {
"name": "Infirmier"
@ -261,4 +261,4 @@
"name": "Du premier coup !",
"description": "Terminer un challenge « Nouveau départ »."
}
}
}

View File

@ -1,3 +1,3 @@
{
"generation": "Génération {{generation}}"
}
"generation": "{{generation}}"
}

View File

@ -1,5 +1,5 @@
{
"music": "Musique : ",
"music": " : ",
"missing_entries": "{{name}}",
"battle_kanto_champion": "N2B2 - Vs. Maitre de Kanto",
"battle_johto_champion": "N2B2 - Vs. Maitre de Johto",
@ -83,41 +83,41 @@
"battle_galactic_boss": "DÉPS - Vs. Hélio",
"battle_plasma_boss": "N2B2 - Vs. Ghetis",
"battle_flare_boss": "XY - Vs. Lysandre",
"abyss": "PDM EdS - Cratère Obscur",
"badlands": "PDM EdS - Vallée Stérile",
"beach": "PDM EdS - Falaise Trempée",
"cave": "PDM EdS - Pic Céleste (grotte)",
"construction_site": "PDM EdS - Carrière Rocher",
"desert": "PDM EdS - Désert du Nord",
"dojo": "PDM EdS - Dojo Ossatueur",
"end": "PDM EdS - Tour Céleste",
"factory": "PDM EdS - Ruines Cachées",
"fairy_cave": "PDM EdS - Caverne Étoile",
"forest": "PDM EdS - Forêt Crépuscule",
"grass": "PDM EdS - Bois aux Pommes",
"graveyard": "PDM EdS - Forêt Trompeuse",
"ice_cave": "PDM EdS - Montagne Glacier",
"island": "PDM EdS - Côte Escarpée",
"abyss": "PDM EdC - Cratère Obscur",
"badlands": "PDM EdC - Vallée Stérile",
"beach": "PDM EdC - Falaise Trempée",
"cave": "PDM EdC - Pic Céleste (grotte)",
"construction_site": "PDM EdC - Carrière Rocher",
"desert": "PDM EdC - Désert du Nord",
"dojo": "PDM EdC - Dojo Ossatueur",
"end": "PDM EdC - Tour Céleste",
"factory": "PDM EdC - Ruines Cachées",
"fairy_cave": "PDM EdC - Caverne Étoile",
"forest": "PDM EdC - Forêt Crépuscule",
"grass": "PDM EdC - Bois aux Pommes",
"graveyard": "PDM EdC - Forêt Trompeuse",
"ice_cave": "PDM EdC - Montagne Glacier",
"island": "PDM EdC - Côte Escarpée",
"jungle": "Lmz - Jungle",
"laboratory": "Firel - Laboratory",
"lake": "PDM EdS - Caverne Cristal",
"meadow": "PDM EdS - Pic Céleste (forêt)",
"lake": "PDM EdC - Caverne Cristal",
"meadow": "PDM EdC - Pic Céleste (forêt)",
"metropolis": "Firel - Metropolis",
"mountain": "PDM EdS - Mt Corne",
"plains": "PDM EdS - Pic Céleste (prairie)",
"power_plant": "PDM EdS - Plaines Élek",
"ruins": "PDM EdS - Ruine Scellée",
"mountain": "PDM EdC - Mont Corne",
"plains": "PDM EdC - Pic Céleste (prairie)",
"power_plant": "PDM EdC - Plaines Élek",
"ruins": "PDM EdC - Ruine Scellée",
"sea": "Andr06 - Marine Mystique",
"seabed": "Firel - Seabed",
"slum": "Andr06 - Sneaky Snom",
"snowy_forest": "PDM EdS - Pic Céleste (plaine enneigée)",
"snowy_forest": "PDM EdC - Pic Céleste (plaine enneigée)",
"space": "Firel - Aether",
"swamp": "PDM EdS - Mer Fermée",
"tall_grass": "PDM EdS - Forêt Brumeuse",
"temple": "PDM EdS - Grotte Égide",
"town": "PDM EdS - Donjon aléatoire - Thème 3",
"volcano": "PDM EdS - Grotte Étuve",
"wasteland": "PDM EdS - Terres Illusoires",
"swamp": "PDM EdC - Mer Fermée",
"tall_grass": "PDM EdC - Forêt Brumeuse",
"temple": "PDM EdC - Grotte Égide",
"town": "PDM EdC - Donjon aléatoire - Thème 3",
"volcano": "PDM EdC - Grotte Étuve",
"wasteland": "PDM EdC - Terres Illusoires",
"encounter_ace_trainer": "NB - Regards croisés (Topdresseur·euse)",
"encounter_backpacker": "NB - Regards croisés (Randonneur·euse)",
"encounter_clerk": "NB - Regards croisés (Employé·e)",
@ -133,6 +133,6 @@
"encounter_twins": "NB - Regards croisés (Jumelles)",
"encounter_youngster": "NB - Regards croisés (Gamin)",
"heal": "NB - Soin de Pokémon",
"menu": "PDM EdS - Bienvenue dans le monde de Pokémon !",
"title": "PDM EdS - Menu Principal"
}
"menu": "PDM EdC - Bienvenue dans le monde de Pokémon !",
"title": "PDM EdC - Menu Principal"
}

View File

@ -1,7 +1,7 @@
{
"blue_red_double": {
"encounter": {
"1": "Blue : Hé Red, montrons-leur de quel bois on se chauffe !\n$Red : …\n$Blue : Voilà la puissance du Bourg Palette !"
"1": "Blue : Hé Red, montrons-lui de quel bois on se chauffe !\n$Red : …\n$Blue : Voilà la puissance du Bourg Palette !"
},
"victory": {
"1": "Blue : Cétait un magnifique combat !\n$Red : …"
@ -79,4 +79,4 @@
"1": "Peterson : Ça cest du rock !\n$Rosemary : Frérot…"
}
}
}
}

View File

@ -1,7 +1,7 @@
{
"blue_red_double": {
"encounter": {
"1": "Blue : Hé Red, montrons-leur de quel bois on se chauffe !\n$Red : …\n$Blue : Voilà la puissance du Bourg Palette !"
"1": "Blue : Hé Red, montrons-lui de quel bois on se chauffe !\n$Red : …\n$Blue : Voilà la puissance du Bourg Palette !"
},
"victory": {
"1": "Blue : Cétait un magnifique combat !\n$Red : …"
@ -79,4 +79,4 @@
"1": "Peterson : Ça cest du rock !\n$Rosemary : Frérot…"
}
}
}
}

View File

@ -38,7 +38,7 @@
"3": "Je te connais pas. Ça te dis de te battre ?",
"4": "Prenons du bon temps avec ce combat Pokémon !",
"5": "Je vais tapprendre à te battre avec tes Pokémon !",
"6": "Un combat doit être pris au sérieux. Tes prête à te battre ?",
"6": "Un combat doit toujours être pris au sérieux.\nTes prête à te battre ?",
"7": "Tu seras pas jeune éternellement. Tas quune chance pendant un combat. Bientôt, tu seras plus quun souvenir.",
"8": "Tu ferais mieux dy aller doucement avec moi. Mais je vais me battre sérieusement !",
"9": "Je mennuie à lécole. Ya rien à y faire. *Baille*\nJe me bats juste pour passer le temps."
@ -69,7 +69,7 @@
"defeat": {
"1": "Tu ne devrais pas ténerver sur tes Pokémon, même après une défaite.",
"2": "Alors ? Pas mal mes Pokémon, hein ? Je suis fait pour ça.",
"3": "Peut importe à quel point taimes tes Pokémon, il faut toujours de la discipline sils se comportent mal."
"3": "Peu importe à quel point taimes tes Pokémon, il faut toujours de la discipline sils se comportent mal."
}
},
"breeder_female": {
@ -148,7 +148,7 @@
},
"victory": {
"1": "Très bien… Tas de bons Pokémon…",
"2": "Quoi ?! Mais c'est moi le génie des combats !",
"2": "Quoi ?! Mais cest moi le génie des combats !",
"3": "Évidemment que tes le personnage principal !",
"4": "OK ! OK ! Tu pourrais être une Topdresseuse !"
},
@ -169,50 +169,98 @@
},
"rocket_grunt": {
"encounter": {
"1": "Nous sommes de retour !"
"1": "Nous sommes de retour !",
"2": "Ça bosse dur, ici ! Alors du balai !",
"3": "File-nous tes Pokémon ou tu vas gouter à la colère de la Team Rocket !",
"4": "Sois témoin de ce quest une vraie terreur de la Team Rocket!",
"5": "Hé gamine ! Moi être guy member of la Team Rocket !"
},
"victory": {
"1": "Une fois de plus la Team Rocket senvole vers dautres cieux !"
"1": "Une fois de plus la Team Rocket senvole vers dautres cieux !",
"2": "Mince! Jai laissé tomber\nla Clé Ascenseur !",
"3": "Jai tout foiré !",
"4": "Mes compagnons vont me venger !",
"5": "Toi dire quoi ? Forget que tu mas vu !\nYou nas rien seen !"
}
},
"magma_grunt": {
"encounter": {
"1": "Nespère pas recevoir de la pitié si tu te mets sur le chemin de la Team Magma !"
"1": "Nespère pas recevoir de la pitié si tu te mets sur le chemin de la Team Magma !",
"2": "Ne te mêle pas de nos affaires ! On va rendre ce monde meilleur !",
"3": "Hors de mon chemin ! La Team Magma na pas de temps pour les gamins !",
"4": "Jespère que tas quelques marshmallows, car ça va chauffer !",
"5": "On va utiliser le puissance dun volcan ! Ça va être… explosif ! Tu las… ? Héhé !"
},
"victory": {
"1": "Je…?\nJai perdu ?!"
"1": "Je…?\nJai perdu ?!",
"2": "Je peux pas croire que jai pas pris mon déjeuner juste pour ça…",
"3": "Impossible ! Tes quune gosse !",
"4": "Aahhh…\nJaurais dû directement rentrer à la planque…",
"5": "Tu mas démoli… Tu crois que le boss va suspendre mon salaire ?"
}
},
"aqua_grunt": {
"encounter": {
"1": "Aucune pitié si tu te mets sur le chemin de la Team Aqua, même pour une gamine !"
"1": "Aucune pitié si tu te mets sur le chemin de la Team Aqua, même pour un gamin !",
"2": "Grrr…\nTu as eu le culot de topposer à la Team Aqua !",
"3": "Je vais te liquéfier !\nEt ce sera pas quà cause des mes Pokémon Eau !",
"4": "Nous, la Team Aqua, existons pour le bien commun !",
"5": "Prépare-toi à te faire emporter par le courant de…\nEuh… Mes Pokémon ! Oui, mes Pokémon !"
},
"victory": {
"1": "Comment ça ?"
"1": "Comment ça ?",
"2": "Ah, javais pas prévu dêtre gêné par un mouflet qui se mêle de tout !",
"3": "Jai perdu ?! Super, jai plus quà nager jusquà la planque maintenant…",
"4": "Oh non quelle angoisse…\nLe boss va me démonter…",
"5": "Je suis battu… Tu penses que le boss va me faire subir le supplice de la planche ?…"
}
},
"galactic_grunt": {
"encounter": {
"1": "Ne te mets pas en travers de la Team Galaxie !"
"1": "Ne te mets pas en travers de la Team Galaxie !",
"2": "Sois témoin de la puissance de notre technologie et du futur qui se profile !",
"3": "Au nom de la Team Galaxie, jéliminerai quiconque se mettera sur notre route !",
"4": "Prépare ta défaite !",
"5": "Jespère que tes prête à te prendre une raclée de lespace !"
},
"victory": {
"1": "Désactivation…"
"1": "Désactivation…",
"2": "Cet échec nest quune poussière face à nos ambitions débordantes.",
"3": "Notre projet est bien plus important que cette défaite.",
"4": "Comment ?!",
"5": "Note à moi-même :\nMentrainer aux combats Pokémon. Ça urge…"
}
},
"plasma_grunt": {
"encounter": {
"1": "Pas de quatiers à ceux qui ne suivent pas notre idéal !"
"1": "Pas de quatiers à ceux qui ne suivent pas notre idéal !",
"2": "Si je gagne, tu relâches tous tes Pokémon !",
"3": "Si tu te mets en travers de la Team Plasma, je moccuperai de toi personnellement !",
"4": "La Team Plasma va libérer les Pokémon de tous les humains égoïstes dans ton genre !",
"5": "Nos coupes sont lunaires… Mais en combat ?\nTu vas vite le découvrir."
},
"victory": {
"1": "Plasmaaaaaaaaa !"
"1": "Plasmaaaaaaaaa !",
"2": "Comment ai-je pu perdre…",
"3": "… Ce Pokémon est nul, jvais aller en voler de meilleurs !",
"4": "Les plans ambitieux connaissent toujours leurs lots dinterruptions.",
"5": "Cest mauvais… MAUVAIS MAUVAIS MAUVAIS MAUVAIS !\nVa falloir battre en retraite, cest la méga cata !"
}
},
"flare_grunt": {
"encounter": {
"1": "Le style et le bon gout, il ny a que ça qui compte !"
"1": "Tes Pokémon ne sont pas dignes de lélégance de la Team Flare.",
"2": "Tas des lunettes de soleil jespère ?\nCar prépare-toi à être éblouie !",
"3": "La Team Flare va purifier ce monde de toute imperfection !",
"4": "Prépare-toi à découvrir lindiscutable sens du style de la Team Flare !",
"5": "La mode, cest important !"
},
"victory": {
"1": "Mon futur me semble guère radieux."
"1": "Mon futur na pas lair si radieux.",
"2": "Les combats semblent être plus complexes que je le pensais.\nRetour aux planches à dessin.",
"3": "Ehhhh ?! Jai perdu ?!",
"4": "Même dans la défaite, lélégance de la Team Flare continue de rayonner sur ce monde.",
"5": "Jappelle pas ça perdre, jappelle ça échouer avec panache !"
}
},
"rocket_boss_giovanni_1": {
@ -223,7 +271,7 @@
"1": "QUOI ? IMPOSSIBLE !"
},
"defeat": {
"1": "Retiens bien. Ton incapacité à évaluer ta propre force est\nla démonstration claire que tu n'es encore quune gamine."
"1": "Retiens bien. Ton incapacité à évaluer ta propre force est\nla démonstration claire que tu nes encore quune gamine."
}
},
"rocket_boss_giovanni_2": {
@ -336,6 +384,77 @@
"1": "Les Pokémon… Ne devraient plus exister."
}
},
"brock": {
"encounter": {
"1": "Mon expertise des types Roche va te mettre au sol ! En garde !",
"2": "Tu veux toujours te battre avec moi ? Même en sachant que tu vas perdre ?",
"3": "Laisse-moi de montrer la véritable force de mes Pokémon Roche !"
},
"victory": {
"1": "Jétais trop sûr de moi, cest pour ça que jai perdu.",
"2": "Ce monde est vaste ! Je suis honoré davoir pu taffronter.",
"3": "Peut-être bien que je naurais pas dû abandonner ma vocation dÉleveur…"
},
"defeat": {
"1": "La défense est la meilleure des attaques !\nTelle est ma méthode !",
"2": "Viens étudier des roches avec moi la prochaine fois si tu veux apprendre à mieux les aborder !",
"3": "Tout ce temps à voyager autour du monde paie enfin !"
}
},
"misty": {
"encounter": {
"1": "Ma tactique ? Attaquer avec des Pokémon Eau !",
"2": "Je vais te prouver le tsunami que sont mes Pokémon aquatiques !",
"3": "Mon rêve, cétait de voyager et de défier des Dresseurs super forts. Seras-tu à la hauteur ?"
},
"victory": {
"1": "OK. Tes pas naze… Je le reconnais…",
"2": "Pfff… Tas juste eu de la chance hein ?!",
"3": "Ouah ! Tes super balèze !"
},
"defeat": {
"1": "Quen dis-tu? Cest ça, la puissance des Pokémon Eau !",
"2": "Jespère que tas pris note des élégantes techniques de nage de mes Pokémon !",
"3": "Tes Pokémon ne jouent visiblement pas dans le même bassin…"
}
},
"lt_surge": {
"encounter": {
"1": "Tas pas froid aux yeux, soldat ! Les combats Pokémon, cest la guerre !",
"2": "Tu as du guts pour venir me fight ici ! Je vais te shock !",
"3": "Compte tes dents, tu vas morfler !\nMes Pokémon Électrik vont tatomiser !"
},
"victory": {
"1": "Whoo ! Tiras loin toi.",
"2": "Oh noes ! Mes tricks électriques sont à plat…\nYou are very fortiche!",
"3": "Tu es very costaud ! Je vais training very dur mes Pokémon, moi too, et on sera Number One !"
},
"defeat": {
"1": "Oh yeah !\nMes Pokémon Électrik sont les best du monde !",
"2": "Oh yeah, baby ! I am trop fort !",
"3": "Une combat Pokémon, cest comme une guerre et tas eu droit à une bataille de premier ordre !"
}
},
"erika": {
"encounter": {
"1": "Il fait beau, aujourdhui, nest-ce pas… ?\nQuoi un combat… ? Très bien…",
"2": "Larrangement floral est ma spécialité, et mes Pokémon sont de type Plante. Quoi ? Tu veux te battre ?",
"3": "Il fait beau… Le soleil brille… Les plantes bourgeonnent… Je mennuie…",
"4": "Voir un tel jardin rempli de fleurs est si apaisant…"
},
"victory": {
"1": "Bien joué, cest mértié.",
"2": "Dommage, on samusait si bien…",
"3": "Oh non, le combat est terminé…",
"4": "Aaah, ça fait du bien !\nMerci, jen avais besoin."
},
"defeat": {
"1": "Jai failli mendormir…",
"2": "Oh non… Mes Pokémon Plante ont lair de tavoir bien endormie…",
"3": "Ce combat était si apaisant…",
"4": "Oh non… Cest tout ?"
}
},
"flare_boss_lysandre_2": {
"encounter": {
"1": "Ton futur ou le mien…\nVoyons lequel mérite plus daboutir."
@ -349,7 +468,7 @@
},
"rival": {
"encounter": {
"1": "@c{smile}Ah, je te cherchais ! Je savais que tétais pressée de partir, mais je mattendais quand même à un au revoir…\n$@c{smile_eclosed}Tas finalement décidé de réaliser ton rêve ?\nJai peine à y croire.\n$@c{serious_smile_fists}Vu que tes là, ça te dis un petit combat ?\nJe voudrais quand même massurer que tes prête.\n$@c{serious_mopen_fists}Surtout ne te retiens pas et donne-moi tout ce que tas !"
"1": "@c{smile}Ah, te voilà ! Je tai cherchée partout ! Je savais que tétais pressée de partir, mais je mattendais quand même à un au revoir…\n$@c{smile_eclosed}Tas finalement décidé de réaliser ton rêve ?\nJai peine à y croire.\n$@c{serious_smile_fists}Vu que tes là, ça te dis un petit combat ?\nJe voudrais quand même massurer que tes prête.\n$@c{serious_mopen_fists}Surtout ne te retiens pas et donne-moi tout ce que tas !"
},
"victory": {
"1": "@c{shock}Wah… Tu mas vraiment lavé.\nTes vraiment une débutante ?\n$@c{smile}Tas peut-être eu de la chance, mais…\nPeut-être que tarriveras jusquau bout du chemin.\n$Dailleurs, le prof ma demandé de te filer ces objets.\nIls ont lair sympas.\n$@c{serious_smile_fists}Bonne chance à toi !"
@ -441,7 +560,7 @@
},
"rival_6": {
"encounter": {
"1": "@c{smile_eclosed}Nous y revoilà.\n$@c{neutral}Jai eu du temps pour réfléchir à tout ça.\nIl y a une raison à pourquoi tout semble étrange.\n$@c{neutral_eclosed}Ton rêve, ma volonté de te battre…\nFont partie de quelque chose de plus grand.\n$@c{serious}Cest même pas à propos de moi, ni de toi… Mais du monde, @c{serious_mhalf_fists}et te repousser dans tes limites est ma mission.\n$@c{neutral_eclosed}Jignore si je serai capable de laccomplir, mais je ferai tout ce qui est en mon pouvoir.\n$@c{neutral}Cet endroit est terrifiant… Et pourtant il ma lair familier, comme si jy avais déjà mis les pieds.\n$@c{serious_mhalf_fists}Tu ressens la même chose, pas vrai ?\n$@c{serious}… et cest comme si quelque chose ici me parlait.\n$Comme si cétait tout ce que ce monde avait toujours connu.\n$Ces précieux moments ensemble semblent si proches ne sont rien de plus quun lointain souvenir.\n$@c{neutral_eclosed}Dailleurs, qui peut dire aujourdhui quils ont pu être réels ?\n$@c{serious_mopen_fists}Il faut que tu persévères. Si tu tarrêtes, ça n'aura jamais de fin et tes la seule à en être capable.\n$@c{serious_smile_fists}Difficile de comprendre le sens de tout ça, je sais juste que cest la réalité.\n$@c{serious_mopen_fists}Si tu ne parviens à pas me battre ici et maintenant, tu nas aucune chance."
"1": "@c{smile_eclosed}Nous y revoilà.\n$@c{neutral}Jai eu du temps pour réfléchir à tout ça.\nIl y a une raison à pourquoi tout semble étrange.\n$@c{neutral_eclosed}Ton rêve, ma volonté de te battre…\nFont partie de quelque chose de plus grand.\n$@c{serious}Cest même pas à propos de moi, ni de toi… Mais du monde, @c{serious_mhalf_fists}et te repousser dans tes limites est ma mission.\n$@c{neutral_eclosed}Jignore si je serai capable de laccomplir, mais je ferai tout ce qui est en mon pouvoir.\n$@c{neutral}Cet endroit est terrifiant… Et pourtant il ma lair familier, comme si jy avais déjà mis les pieds.\n$@c{serious_mhalf_fists}Tu ressens la même chose, pas vrai ?\n$@c{serious}… et cest comme si quelque chose ici me parlait.\n$Comme si cétait tout ce que ce monde avait toujours connu.\n$Ces précieux moments ensemble semblent si proches ne sont rien de plus quun lointain souvenir.\n$@c{neutral_eclosed}Dailleurs, qui peut dire aujourdhui quils ont pu être réels ?\n$@c{serious_mopen_fists}Il faut que tu persévères. Si tu tarrêtes, ça naura jamais de fin et tes la seule à en être capable.\n$@c{serious_smile_fists}Difficile de comprendre le sens de tout ça, je sais juste que cest la réalité.\n$@c{serious_mopen_fists}Si tu ne parviens à pas me battre ici et maintenant, tu nas aucune chance."
},
"victory": {
"1": "@c{smile_eclosed}Jai fait ce que javais à faire.\n$Promets-moi juste une chose.\n@c{smile}Après avoir réparé ce monde… Rentre à la maison."
@ -455,4 +574,4 @@
"1": "@c{smile_ehalf}Je… Je crois que jai rempli ma mission…\n$@c{smile_eclosed}Promets-moi… Après avoir réparé ce monde… Reviens à la maison saine et sauve.\n$@c{smile_ehalf}… Merci."
}
}
}
}

View File

@ -38,7 +38,7 @@
"3": "Je te connais pas. Ça te dis de te battre ?",
"4": "Prenons du bon temps avec ce combat Pokémon !",
"5": "Je vais tapprendre à te battre avec tes Pokémon !",
"6": "Un combat doit être pris au sérieux. Tes prêt à te battre ?",
"6": "Un combat doit toujours être pris au sérieux.\nTes prêt à te battre ?",
"7": "Tu seras pas jeune éternellement. Tas quune chance pendant un combat. Bientôt, tu seras plus quun souvenir.",
"8": "Tu ferais mieux dy aller doucement avec moi. Mais je vais me battre sérieusement !",
"9": "Je mennuie à lécole. Ya rien à y faire. *Baille*\nJe me bats juste pour passer le temps."
@ -69,7 +69,7 @@
"defeat": {
"1": "Tu ne devrais pas ténerver sur tes Pokémon, même après une défaite.",
"2": "Alors ? Pas mal mes Pokémon, hein ? Je suis fait pour ça.",
"3": "Peut importe à quel point taimes tes Pokémon, il faut toujours de la discipline sils se comportent mal."
"3": "Peu importe à quel point taimes tes Pokémon, il faut toujours de la discipline sils se comportent mal."
}
},
"breeder_female": {
@ -93,7 +93,7 @@
"encounter": {
"1": "Aaah non ! Javais une touche !\nTu comptes faire quoi pour arranger ça ?",
"2": "Bouge de là ! Tu fais peur aux Pokémon !",
"3": "Voyons si t'arrives à ferrer une victoire !"
"3": "Voyons si tarrives à ferrer une victoire !"
},
"victory": {
"1": "Vas-y là, oublie.",
@ -148,7 +148,7 @@
},
"victory": {
"1": "Très bien… Tas de bons Pokémon…",
"2": "Quoi ?! Mais c'est moi le génie des combats !",
"2": "Quoi ?! Mais cest moi le génie des combats !",
"3": "Évidemment que tes le personnage principal !",
"4": "OK ! OK ! Tu pourrais être un Topdresseur !"
},
@ -170,81 +170,97 @@
"rocket_grunt": {
"encounter": {
"1": "Nous sommes de retour !",
"2": "We're pulling a big job here! Get lost, kid!",
"3": "Hand over your Pokémon, or face the wrath of Team Rocket!",
"4": "You're about to experience the true terror of Team Rocket!",
"5": "Hey, kid! Me am a Team Rocket member kind of guy!"
"2": "Ça bosse dur, ici ! Alors du balai !",
"3": "File-nous tes Pokémon ou tu vas gouter à la colère de la Team Rocket !",
"4": "Sois témoin de ce quest une vraie terreur de la Team Rocket!",
"5": "Hé gamin ! Moi être guy member of la Team Rocket !"
},
"victory": {
"1": "Une fois de plus la Team Rocket senvole vers dautres cieux !",
"2": "Oh no! I dropped the Lift Key!",
"3": "I blew it!",
"4": "My associates won't stand for this!",
"5": "You say what? Team Rocket bye-bye a go-go? Broken it is says you?"
"2": "Mince! Jai laissé tomber\nla Clé Ascenseur !",
"3": "Jai tout foiré !",
"4": "Mes compagnons vont me venger !",
"5": "Toi dire quoi ? Forget que tu mas vu !\nYou nas rien seen !"
}
},
"magma_grunt": {
"encounter": {
"1": "Nespère pas recevoir de la pitié si tu te mets sur le chemin de la Team Magma !",
"2": "You'd better not interfere with our plans! We're making the world a better place!",
"3": "You're in the way! Team Magma has no time for kids like you!",
"4": "I hope you brought marshmallows because things are about to heat up!",
"5": "We're going to use the power of a volcano! It's gonna be... explosive! Get it? Heh heh!"
"2": "Ne te mêle pas de nos affaires ! On va rendre ce monde meilleur !",
"3": "Hors de mon chemin ! La Team Magma na pas de temps pour les gamins !",
"4": "Jespère que tas quelques marshmallows, car ça va chauffer !",
"5": "On va utiliser le puissance dun volcan ! Ça va être… explosif ! Tu las… ? Héhé !"
},
"victory": {
"1": "Je…?\nJai perdu ?!",
"2": "I can't believe I lost! I even skipped lunch for this",
"3": "No way! You're just a kid!",
"4": "Urrrgh... I should've ducked into our hideout right away...",
"5": "You beat me... Do you think the boss will dock my pay for this?"
"2": "Je peux pas croire que jai pas pris mon déjeuner juste pour ça…",
"3": "Impossible ! Tes quun gosse !",
"4": "Aahhh…\nJaurais dû directement rentrer à la planque…",
"5": "Tu mas démoli… Tu crois que le boss va suspendre mon salaire ?"
}
},
"aqua_grunt": {
"encounter": {
"1": "Aucune pitié si tu te mets sur le chemin de la Team Aqua, même pour un gamin !",
"2": "Grrr... You've got some nerve meddling with Team Aqua!",
"3": "You're about to get soaked! And not just from my water Pokémon!",
"4": "We, Team Aqua, exist for the good of all!",
"5": "Prepare to be washed away by the tides of my... uh, Pokémon! Yeah, my Pokémon!"
"2": "Grrr…\nTu as eu le culot de topposer à la Team Aqua !",
"3": "Je vais te liquéfier !\nEt ce sera pas quà cause des mes Pokémon Eau !",
"4": "Nous, la Team Aqua, existons pour le bien commun !",
"5": "Prépare-toi à te faire emporter par le courant de…\nEuh… Mes Pokémon ! Oui, mes Pokémon !"
},
"victory": {
"1": "Comment ça ?",
"2": "Arrgh, I didn't count on being meddled with by some meddling kid!",
"3": "I lost?! Guess I'll have to swim back to the hideout now...",
"4": "Oh, man, what a disaster... The boss is going to be furious...",
"5": "You beat me... Do you think the boss will make me walk the plank for this?"
"2": "Ah, javais pas prévu dêtre gêné par un mouflet qui se mêle de tout !",
"3": "Jai perdu ?! Super, jai plus quà nager jusquà la planque maintenant…",
"4": "Oh non quelle angoisse…\nLe boss va me démonter…",
"5": "Je suis battu… Tu penses que le boss va me faire subir le supplice de la planche ?…"
}
},
"galactic_grunt": {
"encounter": {
"1": "Ne te mets pas en travers de la Team Galaxie !",
"2": "Witness the power of our technology and the future we envision!",
"3": "In the name of Team Galactic, I'll eliminate anyone who stands in our way!",
"4": "Get ready to lose!",
"5": "Hope you're ready for a cosmic beatdown!"
"2": "Sois témoin de la puissance de notre technologie et du futur qui se profile !",
"3": "Au nom de la Team Galaxie, jéliminerai quiconque se mettera sur notre route !",
"4": "Prépare ta défaite !",
"5": "Jespère que tes prêt à te prendre une raclée de lespace !"
},
"victory": {
"1": "Désactivation…",
"2": "This setback means nothing in the grand scheme.",
"3": "Our plans are bigger than this defeat.",
"4": "How?!",
"5": "Note to self: practice Pokémon battling, ASAP."
"2": "Cet échec nest quune poussière face à nos ambitions débordantes.",
"3": "Notre projet est bien plus important que cette défaite.",
"4": "Comment ?!",
"5": "Note à moi-même :\nMentrainer aux combats Pokémon. Ça urge…"
}
},
"plasma_grunt": {
"encounter": {
"1": "Pas de quatiers à ceux qui ne suivent pas notre idéal !",
"2": "If I win against you, release your Pokémon!",
"3": "If you get in the way of Team Plasma, I'll take care of you!",
"4": "Team Plasma will liberate Pokémon from selfish humans like you!",
"5": "Our hairstyles are out of this world... but our battling skills? You'll find out soon enough."
"2": "Si je gagne, tu relâches tous tes Pokémon !",
"3": "Si tu te mets en travers de la Team Plasma, je moccuperai de toi personnellement !",
"4": "La Team Plasma va libérer les Pokémon de tous les humains égoïstes dans ton genre !",
"5": "Nos coupes sont lunaires… Mais en combat ?\nTu vas vite le découvrir."
},
"victory": {
"1": "Plasmaaaaaaaaa !",
"2": "How could I lose...",
"3": "...What a weak Pokémon, I'll just have to go steal some better ones!",
"4": "Great plans are always interrupted.",
"5": "This is bad... Badbadbadbadbadbadbad! Bad for Team Plasma! Or Plasbad, for short!"
"2": "Comment ai-je pu perdre…",
"3": "… Ce Pokémon est nul, jvais aller en voler de meilleurs !",
"4": "Les plans ambitieux connaissent toujours leurs lots dinterruptions.",
"5": "Cest mauvais… MAUVAIS MAUVAIS MAUVAIS MAUVAIS !\nVa falloir battre en retraite, cest la méga cata !"
}
},
"flare_grunt": {
"encounter": {
"1": "Tes Pokémon ne sont pas dignes de lélégance de la Team Flare.",
"2": "Tas des lunettes de soleil jespère ?\nCar prépare-toi à être ébloui !",
"3": "La Team Flare va purifier ce monde de toute imperfection !",
"4": "Prépare-toi à découvrir lindiscutable sens du style de la Team Flare !",
"5": "La mode, cest important !"
},
"victory": {
"1": "Mon futur na pas lair si radieux.",
"2": "Les combats semblent être plus complexes que je le pensais.\nRetour aux planches à dessin.",
"3": "Ehhhh ?! Jai perdu ?!",
"4": "Même dans la défaite, lélégance de la Team Flare continue de rayonner sur ce monde.",
"5": "Jappelle pas ça perdre, jappelle ça échouer avec panache !"
}
},
"rocket_boss_giovanni_1": {
@ -379,6 +395,77 @@
"1": "Les ignorants sans aucune vision nauront donc de cesse de souiller ce monde."
}
},
"brock": {
"encounter": {
"1": "Mon expertise des types Roche va te mettre au sol ! En garde !",
"2": "Tu veux toujours te battre avec moi ? Même en sachant que tu vas perdre ?",
"3": "Laisse-moi de montrer la véritable force de mes Pokémon Roche !"
},
"victory": {
"1": "Jétais trop sûr de moi, cest pour ça que jai perdu.",
"2": "Ce monde est vaste ! Je suis honoré davoir pu taffronter.",
"3": "Peut-être bien que je naurais pas dû abandonner ma vocation dÉleveur…"
},
"defeat": {
"1": "La défense est la meilleure des attaques !\nTelle est ma méthode !",
"2": "Viens étudier des roches avec moi la prochaine fois si tu veux apprendre à mieux les aborder !",
"3": "Tout ce temps à voyager autour du monde paie enfin !"
}
},
"misty": {
"encounter": {
"1": "Ma tactique ? Attaquer avec des Pokémon Eau !",
"2": "Je vais te prouver le tsunami que sont mes Pokémon aquatiques !",
"3": "Mon rêve, cétait de voyager et de défier des Dresseurs super forts. Seras-tu à la hauteur ?"
},
"victory": {
"1": "OK. Tes pas naze… Je le reconnais…",
"2": "Pfff… Tas juste eu de la chance hein ?!",
"3": "Ouah ! Tes super balèze !"
},
"defeat": {
"1": "Quen dis-tu? Cest ça, la puissance des Pokémon Eau !",
"2": "Jespère que tas pris note des élégantes techniques de nage de mes Pokémon !",
"3": "Tes Pokémon ne jouent visiblement pas dans le même bassin…"
}
},
"lt_surge": {
"encounter": {
"1": "Tas pas froid aux yeux, soldat ! Les combats Pokémon, cest la guerre !",
"2": "Tu as du guts pour venir me fight ici ! Je vais te shock !",
"3": "Compte tes dents, tu vas morfler !\nMes Pokémon Électrik vont tatomiser !"
},
"victory": {
"1": "Whoo ! Tiras loin toi.",
"2": "Oh noes ! Mes tricks électriques sont à plat…\nYou are very fortiche!",
"3": "Tu es very costaud ! Je vais training very dur mes Pokémon, moi too, et on sera Number One !"
},
"defeat": {
"1": "Oh yeah !\nMes Pokémon Électrik sont les best du monde !",
"2": "Oh yeah, baby ! I am trop fort !",
"3": "Une combat Pokémon, cest comme une guerre et tas eu droit à une bataille de premier ordre !"
}
},
"erika": {
"encounter": {
"1": "Il fait beau, aujourdhui, nest-ce pas… ?\nQuoi un combat… ? Très bien…",
"2": "Larrangement floral est ma spécialité, et mes Pokémon sont de type Plante. Quoi ? Tu veux te battre ?",
"3": "Il fait beau… Le soleil brille… Les plantes bourgeonnent… Je mennuie…",
"4": "Voir un tel jardin rempli de fleurs est si apaisant…"
},
"victory": {
"1": "Bien joué, cest mértié.",
"2": "Dommage, on samusait si bien…",
"3": "Oh non, le combat est terminé…",
"4": "Aaah, ça fait du bien !\nMerci, jen avais besoin."
},
"defeat": {
"1": "Jai failli mendormir…",
"2": "Oh non… Mes Pokémon Plante ont lair de tavoir bien endormi…",
"3": "Ce combat était si apaisant…",
"4": "Oh non… Cest tout ?"
}
},
"alder": {
"encounter": {
"1": "Prépare-toi pour un combat contre le meilleur Dresseur dUnys !"
@ -411,7 +498,7 @@
},
"rival_female": {
"encounter": {
"1": "@c{smile_wave}Ah, je te cherchais ! Je tai cherché partout !\n@c{angry_mopen}On oublie de dire au revoir à sa meilleure amie ?\n$@c{smile_ehalf}Tas décidé de réaliser ton rêve, hein ?\nCe jour est donc vraiment arrivé…\n$@c{smile}Je veux bien te pardonner de mavoir oubliée,\nà une conditon. @c{smile_wave_wink}Que tu maffronte !\n$@c{angry_mopen}Donne tout ! Ce serait dommage que ton aventure finisse avant davoir commencé, hein ?"
"1": "@c{smile_wave}Ah, te voilà ! Je tai cherché partout !\n@c{angry_mopen}On oublie de dire au revoir à sa meilleure amie ?\n$@c{smile_ehalf}Tas décidé de réaliser ton rêve, hein ?\nCe jour est donc vraiment arrivé…\n$@c{smile}Je veux bien te pardonner de mavoir oubliée,\nà une conditon. @c{smile_wave_wink}Que tu maffronte !\n$@c{angry_mopen}Donne tout ! Ce serait dommage que ton aventure finisse avant davoir commencé, hein ?"
},
"victory": {
"1": "@c{shock}Tu viens de commencer et tes déjà si fort ?!@d{96}\n@c{angry}Tas triché non ? Avoue !\n$@c{smile_wave_wink}Jdéconne !@d{64} @c{smile_eclosed}Jai perdu dans les règles…\nJai le sentiment que tu vas très bien ten sortir.\n$@c{smile}Dailleurs, le prof veut que je te donne ces quelques objets. Ils te seront utiles, pour sûr !\n$@c{smile_wave}Fais de ton mieux, comme toujours !\nJe crois fort en toi !"
@ -509,4 +596,4 @@
"1": "@c{smile_ehalf}Je… Je crois que jai rempli ma mission…\n$@c{smile_eclosed}Promets-moi… Après avoir réparé ce monde… Reviens à la maison sain et sauf.\n$@c{smile_ehalf}… Merci."
}
}
}
}

View File

@ -4,23 +4,23 @@
"ultraTier": "Épique",
"masterTier": "Légendaire",
"defaultTier": "Commun",
"hatchWavesMessageSoon": "Il fait du bruit. Il va éclore !",
"hatchWavesMessageSoon": "Il fait du bruit. Il va éclore !",
"hatchWavesMessageClose": "Il bouge de temps en temps. Il devrait bientôt éclore.",
"hatchWavesMessageNotClose": "Quest-ce qui va en sortir ? Ça va mettre du temps.",
"hatchWavesMessageLongTime": "Cet Œuf va sûrement mettre du temps à éclore.",
"hatchWavesMessageLongTime": "Cet Œuf va surement mettre du temps à éclore.",
"gachaTypeLegendary": "Taux de Légendaires élevé",
"gachaTypeMove": "Taux de Capacité Œuf Rare élevé",
"gachaTypeShiny": "Taux de Chromatiques élevé",
"selectMachine": "Sélectionnez une machine.",
"notEnoughVouchers": "Vous navez pas assez de coupons !",
"tooManyEggs": "Vous avez trop dŒufs !",
"notEnoughVouchers": "Vous navez pas assez de coupons !",
"tooManyEggs": "Vous avez trop dŒufs !",
"pull": "Tirage",
"pulls": "Tirages",
"sameSpeciesEgg": "{{species}} sortira de cet Œuf !",
"hatchFromTheEgg": "{{pokemonName}} sort de lŒuf !",
"hatchFromTheEgg": "{{pokemonName}} sort de lŒuf !",
"eggMoveUnlock": "Capacité Œuf débloquée :\n{{moveName}}",
"rareEggMoveUnlock": "Capacité Œuf Rare débloquée :\n{{moveName}}",
"moveUPGacha": "Bonus Capacité\nŒuf Rare !",
"shinyUPGacha": "Bonus\nChromatique !",
"legendaryUPGacha": "Bonus !"
}
"moveUPGacha": "Bonus Capacité\nŒuf Rare !",
"shinyUPGacha": "Bonus\nChromatique !",
"legendaryUPGacha": "Bonus !"
}

View File

@ -42,14 +42,14 @@
"wave": "Vague",
"loading": "Chargement…",
"loadingAsset": "Chargement de la ressource : {{assetName}}",
"playersOnline": "Joueurs Connectés",
"playersOnline": "Joueurs connectés",
"yes": "Oui",
"no": "Non",
"disclaimer": "AVERTISSEMENT",
"disclaimerDescription": "Ce jeu nest pas un produit fini et peut contenir des problèmes de jouabilité, dont de possibles pertes de sauvegardes,\ndes modifications sans avertissement et pourrait ou non encore être mis à jour ou terminé.",
"choosePokemon": "Sélectionnez un Pokémon.",
"renamePokemon": "Renommer Pokémon",
"renamePokemon": "Renommer le Pokémon",
"rename": "Renommer",
"nickname": "Surnom",
"errorServerDown": "Oupsi ! Un problème de connexion au serveur est survenu.\n\nVous pouvez garder cette fenêtre ouverte,\nle jeu se reconnectera automatiquement."
}
}

View File

@ -11,7 +11,7 @@
"PokemonHeldItemModifierType": {
"extra": {
"inoperable": "{{pokemonName}} ne peut pas\nporter cet objet !",
"tooMany": "{{pokemonName}} possède trop\ndexemplaires de cet objet !"
"tooMany": "{{pokemonName}} porte trop\ndexemplaires de cet objet !"
}
},
"PokemonHpRestoreModifierType": {
@ -108,7 +108,7 @@
"description": "Permet à certains Pokémon de changer de forme."
},
"FusePokemonModifierType": {
"description": "Fusionne deux Pokémon (transfère le talent, sépare les stats de base et les types, partage le movepool)."
"description": "Fusionne deux Pokémon (transfère le talent, sépare les stats de base et les types, partage les capacités)."
},
"TerastallizeModifierType": {
"name": "Téra-Éclat {{teraType}}",
@ -194,7 +194,7 @@
"RELIC_GOLD": { "name": "Vieux Ducat" },
"AMULET_COIN": { "name": "Pièce Rune", "description": "Augmente de 20% les gains dargent." },
"GOLDEN_PUNCH": { "name": "Poing Doré", "description": "50% des dégâts infligés sont convertis en argent." },
"GOLDEN_PUNCH": { "name": "Poing Doré", "description": "La moitié des dégâts infligés sont convertis en argent." },
"COIN_CASE": { "name": "Boite Jetons", "description": "Tous les 10 combats, recevez 10% de votre argent en intérêts." },
"LOCK_CAPSULE": { "name": "Poké Écrin", "description": "Permet de conserver la rareté des objets si vous relancez les objets proposés." },
@ -205,13 +205,13 @@
"MULTI_LENS": { "name": "Lentille Multi" },
"HEALING_CHARM": { "name": "Charme Soin", "description": "Augmente de 10% lefficacité des capacités et objets de soin de PV (hors Rappels)." },
"CANDY_JAR": { "name": "Bonbonnière", "description": "Augmente de 1 le nombre de niveaux gagnés à lutilisation dun Super Bonbon." },
"CANDY_JAR": { "name": "Bonbonnière", "description": "Augmente de 1 le nombre de niveaux gagnés à lutilisation dun Super Bonbon ou dun Hyper Bonbon." },
"BERRY_POUCH": { "name": "Sac à Baies", "description": "Ajoute 30% de chances quune Baie utilisée ne soit pas consommée." },
"FOCUS_BAND": { "name": "Bandeau", "description": "Ajoute 10% de chances de survivre avec 1 PV si les dégâts reçus pouvaient mettre K.O. ." },
"QUICK_CLAW": { "name": "Vive Griffe", "description": "Ajoute 10% de chances dagir en premier, indépendamment de la vitesse (après la priorité)." },
"QUICK_CLAW": { "name": "Vive Griffe", "description": "Ajoute 10% de chances dagir en premier, indépendamment de la Vitesse (après la priorité)." },
"KINGS_ROCK": { "name": "Roche Royale", "description": "Ajoute 10% de chances quune capacité offensive apeure ladversaire." },
@ -261,14 +261,14 @@
},
"TempBattleStatBoosterStatName": {
"ATK": "Attaque",
"DEF": "Défense",
"SPATK": "Atq. Spé.",
"SPDEF": "Déf. Spé.",
"SPD": "Vitesse",
"ACC": "Précision",
"CRIT": "Taux de critique",
"EVA": "Esquive",
"ATK": "lAttaque",
"DEF": "la Défense",
"SPATK": "lAtq. Spé.",
"SPDEF": "la Déf. Spé.",
"SPD": "la Vitesse",
"ACC": "la précision",
"CRIT": "le taux de critique",
"EVA": "lesquive",
"DEFAULT": "???"
},
@ -452,4 +452,4 @@
"FAIRY_MEMORY": "ROM Fée",
"BLANK_MEMORY": "ROM Vierge"
}
}
}

View File

@ -3,10 +3,10 @@
"turnHealApply": "Les PV de {{pokemonNameWithAffix}}\nsont un peu restaurés par les {{typeName}} !",
"hitHealApply": "Les PV de {{pokemonNameWithAffix}}\nsont un peu restaurés par le {{typeName}} !",
"pokemonInstantReviveApply": "{{pokemonNameWithAffix}} a repris connaissance\navec sa {{typeName}} et est prêt à se battre de nouveau !",
"pokemonResetNegativeStatStageApply": "{{pokemonNameWithAffix}}'s lowered stats were restored\nby its {{typeName}}!",
"pokemonResetNegativeStatStageApply": "Les stats baissées de {{pokemonNameWithAffix}}\nsont restaurées par l{{typeName}} !",
"moneyInterestApply": "La {{typeName}} vous rapporte\n{{moneyAmount}}  dintérêts !",
"turnHeldItemTransferApply": "{{itemName}} de {{pokemonNameWithAffix}} est absorbé·e\npar le {{typeName}} de {{pokemonName}} !",
"contactHeldItemTransferApply": "{{itemName}} de {{pokemonNameWithAffix}} est volé·e\npar l{{typeName}} de {{pokemonName}} !",
"enemyTurnHealApply": "{{pokemonNameWithAffix}}\nrestaure un peu ses PV !",
"bypassSpeedChanceApply": "{{itemName}} de {{pokemonName}}\nlui permet dagir plus vite que dhabitude!"
}
}

View File

@ -25,7 +25,7 @@
},
"firePunch": {
"name": "Poing Feu",
"effect": "Un coup de poing enflammé vient frapper la cible, ce qui peut la brûler (10% de chances)."
"effect": "Un coup de poing enflammé vient frapper la cible, ce qui peut la bruler (10% de chances)."
},
"icePunch": {
"name": "Poing Glace",
@ -205,11 +205,11 @@
},
"ember": {
"name": "Flammèche",
"effect": "La cible est attaquée par une faible flamme qui peut aussi la brûler."
"effect": "La cible est attaquée par une faible flamme qui peut aussi la bruler."
},
"flamethrower": {
"name": "Lance-Flammes",
"effect": "La cible reçoit un torrent de flammes qui peut aussi la brûler (10% de chances)."
"effect": "La cible reçoit un torrent de flammes qui peut aussi la bruler (10% de chances)."
},
"mist": {
"name": "Brume",
@ -356,7 +356,7 @@
"effect": "Le lanceur provoque un tremblement de terre touchant tous les Pokémon autour de lui."
},
"fissure": {
"name": "Abîme",
"name": "Abime",
"effect": "Le lanceur fait tomber la cible dans une crevasse. Si cette attaque réussit, elle met K.O. sur le coup."
},
"dig": {
@ -489,7 +489,7 @@
},
"smog": {
"name": "Purédpois",
"effect": "Le lanceur attaque à l'aide d'une éruption de gaz répugnants qui peuvent aussi empoisonner la cible."
"effect": "Le lanceur attaque à laide dune éruption de gaz répugnants qui peuvent aussi empoisonner la cible."
},
"sludge": {
"name": "Détritus",
@ -501,7 +501,7 @@
},
"fireBlast": {
"name": "Déflagration",
"effect": "Un déluge de flammes ardentes submerge la cible, ce qui peut aussi la brûler (10% de chances)."
"effect": "Un déluge de flammes ardentes submerge la cible, ce qui peut aussi la bruler (10% de chances)."
},
"waterfall": {
"name": "Cascade",
@ -581,7 +581,7 @@
},
"dizzyPunch": {
"name": "Uppercut",
"effect": "Un enchaînement de coups de poing cadencés frappe lennemi. Peut aussi le rendre confus."
"effect": "Un enchainement de coups de poing cadencés frappe lennemi. Peut aussi le rendre confus."
},
"spore": {
"name": "Spore",
@ -632,7 +632,7 @@
"effect": "Le lanceur mord lennemi à laide de ses incisives aiguisées. Peut aussi lapeurer (10% de chances)."
},
"sharpen": {
"name": "Affûtage",
"name": "Affutage",
"effect": "Le lanceur réduit son nombre de polygones pour accentuer ses angles et augmenter son Attaque."
},
"conversion": {
@ -641,7 +641,7 @@
},
"triAttack": {
"name": "Triplattaque",
"effect": "Le lanceur envoie trois boules dénergie simultanément qui peuvent aussi paralyser, brûler ou geler la cible (6.67% de chances)."
"effect": "Le lanceur envoie trois boules dénergie simultanément qui peuvent aussi paralyser, bruler ou geler la cible (6.67% de chances)."
},
"superFang": {
"name": "Croc Fatal",
@ -661,7 +661,7 @@
},
"sketch": {
"name": "Gribouille",
"effect": "Le lanceur apprend la dernière capacité utilisée par la cible. Gribouille disparaît après utilisation."
"effect": "Le lanceur apprend la dernière capacité utilisée par la cible. Gribouille disparait après utilisation."
},
"tripleKick": {
"name": "Triple Pied",
@ -685,7 +685,7 @@
},
"flameWheel": {
"name": "Roue de Feu",
"effect": "Le lanceur sentoure de feu et charge la cible, ce qui peut aussi la brûler (10% de chances)."
"effect": "Le lanceur sentoure de feu et charge la cible, ce qui peut aussi la bruler (10% de chances)."
},
"snore": {
"name": "Ronflement",
@ -881,7 +881,7 @@
},
"sacredFire": {
"name": "Feu Sacré",
"effect": "Le lanceur génère un feu mystique dune intensité redoutable pour attaquer lennemi. Peut aussi le brûler (50% de chances)."
"effect": "Le lanceur génère un feu mystique dune intensité redoutable pour attaquer lennemi. Peut aussi le bruler (50% de chances)."
},
"magnitude": {
"name": "Ampleur",
@ -1025,7 +1025,7 @@
},
"heatWave": {
"name": "Canicule",
"effect": "Le lanceur provoque une vague de chaleur qui peut aussi brûler la cible (10% de chances)."
"effect": "Le lanceur provoque une vague de chaleur qui peut aussi bruler la cible (10% de chances)."
},
"hail": {
"name": "Grêle",
@ -1041,7 +1041,7 @@
},
"willOWisp": {
"name": "Feu Follet",
"effect": "Le lanceur projette des flammes maléfiques à la cible pour lui infliger une brûlure."
"effect": "Le lanceur projette des flammes maléfiques à la cible pour lui infliger une brulure."
},
"memento": {
"name": "Souvenir",
@ -1049,7 +1049,7 @@
},
"facade": {
"name": "Façade",
"effect": "Une capacité dont la puissance double lorsque le lanceur est empoisonné, paralysé ou brûlé."
"effect": "Une capacité dont la puissance double lorsque le lanceur est empoisonné, paralysé ou brulé."
},
"focusPunch": {
"name": "Mitra-Poing",
@ -1145,7 +1145,7 @@
},
"refresh": {
"name": "Régénération",
"effect": "Le lanceur se repose pour guérir dun empoisonnement, dune brûlure ou dune paralysie."
"effect": "Le lanceur se repose pour guérir dun empoisonnement, dune brulure ou dune paralysie."
},
"grudge": {
"name": "Rancune",
@ -1192,8 +1192,8 @@
"effect": "Danse qui rend confus tous les Pokémon autour du lanceur."
},
"blazeKick": {
"name": "Pied Brûleur",
"effect": "Le lanceur envoie un coup de pied au taux de critiques élevé. Peut aussi brûler la cible (10% de chances)."
"name": "Pied Bruleur",
"effect": "Le lanceur envoie un coup de pied au taux de critiques élevé. Peut aussi bruler la cible (10% de chances)."
},
"mudSport": {
"name": "Lance-Boue",
@ -1573,7 +1573,7 @@
},
"flareBlitz": {
"name": "Boutefeu",
"effect": "Le lanceur sembrase avant de charger la cible, ce qui peut la brûler (10% de chances). Le choc blesse aussi gravement le lanceur."
"effect": "Le lanceur sembrase avant de charger la cible, ce qui peut la bruler (10% de chances). Le choc blesse aussi gravement le lanceur."
},
"forcePalm": {
"name": "Forte-Paume",
@ -1693,7 +1693,7 @@
},
"fireFang": {
"name": "Crocs Feu",
"effect": "Le lanceur utilise une morsure enflammée qui peut aussi brûler (10% de chances) ou apeurer (10% de chances) la cible."
"effect": "Le lanceur utilise une morsure enflammée qui peut aussi bruler (10% de chances) ou apeurer (10% de chances) la cible."
},
"shadowSneak": {
"name": "Ombre Portée",
@ -1741,7 +1741,7 @@
},
"lavaPlume": {
"name": "Ébullilave",
"effect": "Des flammes sabattent sur tous les Pokémon autour du lanceur, ce qui peut aussi les brûler (10% de chances)."
"effect": "Des flammes sabattent sur tous les Pokémon autour du lanceur, ce qui peut aussi les bruler (10% de chances)."
},
"leafStorm": {
"name": "Tempête Verte",
@ -1796,7 +1796,7 @@
"effect": "Le lanceur libère une myriade de rayons de lumière. Le type varie selon la plaque que tient le lanceur."
},
"bugBite": {
"name": "Piqûre",
"name": "Piqure",
"effect": "Le lanceur pique la cible. Si celle-ci tient une Baie, le lanceur la dévore et obtient son effet."
},
"chargeBeam": {
@ -1865,7 +1865,7 @@
},
"shadowForce": {
"name": "Revenant",
"effect": "Le lanceur disparaît au premier tour et frappe la cible au deuxième. Cette capacité fonctionne même si la cible se protège."
"effect": "Le lanceur disparait au premier tour et frappe la cible au deuxième. Cette capacité fonctionne même si la cible se protège."
},
"honeClaws": {
"name": "Aiguisage",
@ -2009,7 +2009,7 @@
},
"scald": {
"name": "Ébullition",
"effect": "Le lanceur projette un jet deau bouillante sur la cible, ce qui peut aussi la brûler (30% de chances)."
"effect": "Le lanceur projette un jet deau bouillante sur la cible, ce qui peut aussi la bruler (30% de chances)."
},
"shellSmash": {
"name": "Exuviation",
@ -2037,7 +2037,7 @@
},
"incinerate": {
"name": "Calcination",
"effect": "Des flammes calcinent la cible. Si elle tient un objet, une Baie par exemple, celui-ci est brûlé et devient inutilisable."
"effect": "Des flammes calcinent la cible. Si elle tient un objet, une Baie par exemple, celui-ci est brulé et devient inutilisable."
},
"quash": {
"name": "À la Queue",
@ -2065,19 +2065,19 @@
},
"inferno": {
"name": "Feu dEnfer",
"effect": "La cible est entourée dun torrent de flammes ardentes qui la brûlent."
"effect": "La cible est entourée dun torrent de flammes ardentes qui la brulent."
},
"waterPledge": {
"name": "Aire dEau",
"effect": "Une masse deau sabat sur la cible. Si cette capacité est utilisée en même temps quAire de Feu, la puissance augmente et un arc-en-ciel apparaît."
"effect": "Une masse deau sabat sur la cible. Si cette capacité est utilisée en même temps quAire de Feu, la puissance augmente et un arc-en-ciel apparait."
},
"firePledge": {
"name": "Aire de Feu",
"effect": "Une masse de feu sabat sur la cible. Si cette capacité est utilisée en même temps quAire dHerbe, la puissance augmente et une mer de feu apparaît."
"effect": "Une masse de feu sabat sur la cible. Si cette capacité est utilisée en même temps quAire dHerbe, la puissance augmente et une mer de feu apparait."
},
"grassPledge": {
"name": "Aire dHerbe",
"effect": "Une masse végétale sabat sur la cible. Si cette capacité est utilisée en même temps quAire dEau, la puissance augmente et un marécage apparaît."
"effect": "Une masse végétale sabat sur la cible. Si cette capacité est utilisée en même temps quAire dEau, la puissance augmente et un marécage apparait."
},
"voltSwitch": {
"name": "Change Éclair",
@ -2177,7 +2177,7 @@
},
"searingShot": {
"name": "Incendie",
"effect": "Des boules de feu sabattent sur tous les Pokémon autour du lanceur. Peut aussi les brûler (30% de chances)."
"effect": "Des boules de feu sabattent sur tous les Pokémon autour du lanceur. Peut aussi les bruler (30% de chances)."
},
"technoBlast": {
"name": "Techno-Buster",
@ -2201,7 +2201,7 @@
},
"blueFlare": {
"name": "Flamme Bleue",
"effect": "De magnifiques et redoutables flammes bleues fondent sur lennemi. Peut aussi le brûler (20% de chances)."
"effect": "De magnifiques et redoutables flammes bleues fondent sur lennemi. Peut aussi le bruler (20% de chances)."
},
"fieryDance": {
"name": "Danse du Feu",
@ -2213,7 +2213,7 @@
},
"iceBurn": {
"name": "Feu Glacé",
"effect": "Au second tour, le lanceur projette un souffle de vent glacial dévastateur sur lennemi. Peut aussi le brûler (30% de chances)."
"effect": "Au second tour, le lanceur projette un souffle de vent glacial dévastateur sur lennemi. Peut aussi le bruler (30% de chances)."
},
"snarl": {
"name": "Aboiement",
@ -2261,7 +2261,7 @@
},
"phantomForce": {
"name": "Hantise",
"effect": "Le lanceur disparaît au premier tour et frappe au second. Cette attaque passe outre les protections."
"effect": "Le lanceur disparait au premier tour et frappe au second. Cette attaque passe outre les protections."
},
"trickOrTreat": {
"name": "Halloween",
@ -2333,7 +2333,7 @@
},
"fairyWind": {
"name": "Vent Féérique",
"effect": "Le lanceur déchaîne un vent magique qui cingle la cible."
"effect": "Le lanceur déchaine un vent magique qui cingle la cible."
},
"moonblast": {
"name": "Pouvoir Lunaire",
@ -2345,7 +2345,7 @@
},
"fairyLock": {
"name": "Verrou Enchanté",
"effect": "Des chaînes entourent la zone de combat, empêchant tous les Pokémon de quitter le terrain au tour suivant."
"effect": "Des chaines entourent la zone de combat, empêchant tous les Pokémon de quitter le terrain au tour suivant."
},
"kingsShield": {
"name": "Bouclier Royal",
@ -2365,7 +2365,7 @@
},
"steamEruption": {
"name": "Jet de Vapeur",
"effect": "Le lanceur projette de la vapeur extrêmement chaude sur la cible, ce qui peut aussi la brûler (30% de chances)."
"effect": "Le lanceur projette de la vapeur extrêmement chaude sur la cible, ce qui peut aussi la bruler (30% de chances)."
},
"hyperspaceHole": {
"name": "TrouDimensionnel",
@ -2377,7 +2377,7 @@
},
"mysticalFire": {
"name": "Feu Ensorcelé",
"effect": "Le lanceur attaque en soufflant des flammes brûlantes par la bouche et diminue lAttaque Spéciale de la cible."
"effect": "Le lanceur attaque en soufflant des flammes brulantes par la bouche et diminue lAttaque Spéciale de la cible."
},
"spikyShield": {
"name": "Pico-Défense",
@ -2517,7 +2517,7 @@
},
"tectonicRagePhysical": {
"name": "Éruption Géo-Sismique",
"effect": "Le Pokémon utilise la Force Z pour entraîner ladversaire dans les profondeurs de la terre. La puissance varie selon celle de la capacité originale."
"effect": "Le Pokémon utilise la Force Z pour entrainer ladversaire dans les profondeurs de la terre. La puissance varie selon celle de la capacité originale."
},
"tectonicRageSpecial": {
"name": "Éruption Géo-Sismique",
@ -2653,7 +2653,7 @@
},
"sparklingAria": {
"name": "Aria de lÉcume",
"effect": "Le lanceur émet plusieurs bulles en chantant. Soigne les brûlures des Pokémon touchés par ces bulles."
"effect": "Le lanceur émet plusieurs bulles en chantant. Soigne les brulures des Pokémon touchés par ces bulles."
},
"iceHammer": {
"name": "Marteau de Glace",
@ -2757,7 +2757,7 @@
},
"beakBlast": {
"name": "Bec-Canon",
"effect": "Le lanceur fait chauffer son bec avant dattaquer. Sil subit une attaque directe pendant la montée en température, lattaquant sera brûlé."
"effect": "Le lanceur fait chauffer son bec avant dattaquer. Sil subit une attaque directe pendant la montée en température, lattaquant sera brulé."
},
"clangingScales": {
"name": "Vibrécaille",
@ -2789,7 +2789,7 @@
},
"guardianOfAlola": {
"name": "Colère du Gardien dAlola",
"effect": "Le Pokémon Tutélaire utilise la Force Z et déchaîne toute la puissance dAlola sur sa cible. Inflige des dégâts en fonction des PV restants de celle-ci."
"effect": "Le Pokémon Tutélaire utilise la Force Z et déchaine toute la puissance dAlola sur sa cible. Inflige des dégâts en fonction des PV restants de celle-ci."
},
"soulStealing7StarStrike": {
"name": "Fauche-Âme des Sept Étoiles",
@ -2865,7 +2865,7 @@
},
"naturesMadness": {
"name": "Ire de la Nature",
"effect": "Le lanceur déchaîne toute la colère de la nature pour baisser les PV de la cible de moitié."
"effect": "Le lanceur déchaine toute la colère de la nature pour baisser les PV de la cible de moitié."
},
"multiAttack": {
"name": "Coup Varia-Type",
@ -2873,7 +2873,7 @@
},
"tenMillionVoltThunderbolt": {
"name": "Giga-Tonnerre",
"effect": "Le Pikachu à casquette utilise la Force Z pour augmenter sa puissance électrique avant de la déchaîner sur la cible. Taux de critique élevé."
"effect": "Le Pikachu à casquette utilise la Force Z pour augmenter sa puissance électrique avant de la déchainer sur la cible. Taux de critique élevé."
},
"mindBlown": {
"name": "Caboche-Kaboum",
@ -2893,11 +2893,11 @@
},
"searingSunrazeSmash": {
"name": "Hélio-Choc Dévastateur",
"effect": "Baigné dans la Force Z, Solgaleo attaque en déchaînant toute sa puissance. Ignore le talent de la cible."
"effect": "Baigné dans la Force Z, Solgaleo attaque en déchainant toute sa puissance. Ignore le talent de la cible."
},
"menacingMoonrazeMaelstrom": {
"name": "Rayons Séléno-Explosifs",
"effect": "Baigné dans la Force Z, Lunala attaque en déchaînant toute sa puissance. Ignore le talent de la cible."
"effect": "Baigné dans la Force Z, Lunala attaque en déchainant toute sa puissance. Ignore le talent de la cible."
},
"letsSnuggleForever": {
"name": "Patati-Patattrape",
@ -2937,7 +2937,7 @@
},
"sizzlySlide": {
"name": "Évo-Flambo",
"effect": "Évoli sembrase et percure violemment ladversaire. Brûle aussi lennemi."
"effect": "Évoli sembrase et percure violemment ladversaire. Brule aussi lennemi."
},
"glitzyGlow": {
"name": "Évo-Psycho",
@ -2961,7 +2961,7 @@
},
"veeveeVolley": {
"name": "Évo-Chardasso",
"effect": "Le lanceur lance une attaque dès lors quun signe apparaît sur le terrain. Les dégâts infligés sont proportionnels à laffection de votre Pokémon"
"effect": "Le lanceur lance une attaque dès lors quun signe apparait sur le terrain. Les dégâts infligés sont proportionnels à laffection de votre Pokémon"
},
"doubleIronBash": {
"name": "Écrous dPoing",
@ -3005,7 +3005,7 @@
},
"teatime": {
"name": "Thérémonie",
"effect": "Le lanceur invite tous les Pokémon sur le terrain à prendre le goûter autour dune tasse de thé. Ceux qui tiennent une Baie la mangent."
"effect": "Le lanceur invite tous les Pokémon sur le terrain à prendre le gouter autour dune tasse de thé. Ceux qui tiennent une Baie la mangent."
},
"octolock": {
"name": "Octoprise",
@ -3105,7 +3105,7 @@
},
"decorate": {
"name": "Nappage",
"effect": "Augmente fortement lAttaque et lAttaque Spéciale du lanceur."
"effect": "Augmente fortement lAttaque et lAttaque Spéciale de la cible."
},
"drumBeating": {
"name": "Tambour Battant",
@ -3116,8 +3116,8 @@
"effect": "Bloque lennemi pendant 4 à 5 tours."
},
"pyroBall": {
"name": "Ballon Brûlant",
"effect": "Le lanceur attaque avec un ballon fait à partir dun caillou enflammé. Peut aussi brûler la cible (10% de chances)."
"name": "Ballon Brulant",
"effect": "Le lanceur attaque avec un ballon fait à partir dun caillou enflammé. Peut aussi bruler la cible (10% de chances)."
},
"behemothBlade": {
"name": "Gladius Maximus",
@ -3189,7 +3189,7 @@
},
"steelRoller": {
"name": "Métalliroue",
"effect": "Une attaque qui inflige des dégâts et fait disparaître le champ actif, mais qui échoue sil ny en a pas à ce moment."
"effect": "Une attaque qui inflige des dégâts et fait disparaitre le champ actif, mais qui échoue sil ny en a pas à ce moment."
},
"scaleShot": {
"name": "Rafale Écailles",
@ -3225,7 +3225,7 @@
},
"burningJealousy": {
"name": "Feu Envieux",
"effect": "Le lanceur attaque sa cible avec toute sa jalousie. Cette capacité brûle tout Pokémon dont les stats ont augmenté pendant ce tour."
"effect": "Le lanceur attaque sa cible avec toute sa jalousie. Cette capacité brule tout Pokémon dont les stats ont augmenté pendant ce tour."
},
"lashOut": {
"name": "Cent Rancunes",
@ -3257,7 +3257,7 @@
},
"scorchingSands": {
"name": "Sable Ardent",
"effect": "Le lanceur projette du sable chauffé à blanc sur la cible, ce qui peut aussi la brûler (30% de chances)."
"effect": "Le lanceur projette du sable chauffé à blanc sur la cible, ce qui peut aussi la bruler (30% de chances)."
},
"jungleHealing": {
"name": "Selve Salvatrice",
@ -3265,11 +3265,11 @@
},
"wickedBlow": {
"name": "Poing Obscur",
"effect": "Le lanceur assène un coup puissant à la cible. Cette technique qui inflige toujours un coup critique est réservée à ceux qui maîtrisent la puissance des Ténèbres."
"effect": "Le lanceur assène un coup puissant à la cible. Cette technique qui inflige toujours un coup critique est réservée à ceux qui maitrisent la puissance des Ténèbres."
},
"surgingStrikes": {
"name": "Torrent de Coups",
"effect": "Le lanceur assène trois coups fluides à la cible. Cette technique qui inflige toujours un coup critique est réservée à ceux qui maîtrisent la puissance de lEau."
"effect": "Le lanceur assène trois coups fluides à la cible. Cette technique qui inflige toujours un coup critique est réservée à ceux qui maitrisent la puissance de lEau."
},
"thunderCage": {
"name": "Voltageôle",
@ -3285,7 +3285,7 @@
},
"fieryWrath": {
"name": "Fureur Ardente",
"effect": "Le lanceur canalise sa colère et la transforme en émanation brûlante, avec laquelle il attaque la cible, ce qui peut aussi apeurer celle-ci (20% de chances)."
"effect": "Le lanceur canalise sa colère et la transforme en émanation brulante, avec laquelle il attaque la cible, ce qui peut aussi apeurer celle-ci (20% de chances)."
},
"thunderousKick": {
"name": "Coup Fulgurant",
@ -3329,7 +3329,7 @@
},
"ragingFury": {
"name": "Grand Courroux",
"effect": "Le lanceur se déchaîne et attaque en projetant de violentes flammes pendant deux ou trois tours. Il devient ensuite confus."
"effect": "Le lanceur se déchaine et attaque en projetant de violentes flammes pendant deux ou trois tours. Il devient ensuite confus."
},
"waveCrash": {
"name": "Aquatacle",
@ -3373,7 +3373,7 @@
},
"infernalParade": {
"name": "Cortège Funèbre",
"effect": "Une multitude de boules de feu frappent la cible, ce qui peut aussi la brûler (30% de chances et 50% en Style Puissant). La puissance est doublée si celle-ci souffre dune altération de statut."
"effect": "Une multitude de boules de feu frappent la cible, ce qui peut aussi la bruler (30% de chances et 50% en Style Puissant). La puissance est doublée si celle-ci souffre dune altération de statut."
},
"ceaselessEdge": {
"name": "Vagues à Lames",
@ -3389,7 +3389,7 @@
},
"sandsearStorm": {
"name": "Typhon Pyrosable",
"effect": "Le lanceur déclenche un violent typhon mêlé à du sable ardent qui sabat sur la cible, ce qui peut la brûler (30% de chances et 50% en Style Puissant)."
"effect": "Le lanceur déclenche un violent typhon mêlé à du sable ardent qui sabat sur la cible, ce qui peut la bruler (30% de chances et 50% en Style Puissant)."
},
"lunarBlessing": {
"name": "Prière Lunaire",
@ -3529,7 +3529,7 @@
},
"gMaxRapidFlow": {
"name": "Multicoup G-Max",
"effect": "Une attaque de type Eau que seul un Shifours Gigamax peut utiliser. Cet enchaînement de coups permet dignorer la capacité Gardomax."
"effect": "Une attaque de type Eau que seul un Shifours Gigamax peut utiliser. Cet enchainement de coups permet dignorer la capacité Gardomax."
},
"teraBlast": {
"name": "Téra Explosion",
@ -3712,8 +3712,8 @@
"effect": "Le lanceur projette de leau pressurisée qui entaille la cible comme une lame. Taux de critiques élevé."
},
"blazingTorque": {
"name": "Crash Brûlant",
"effect": "Crash Brûlant inflige des dégâts et possède 30 % de chances de brûler ladversaire."
"name": "Crash Brulant",
"effect": "Crash Brulant inflige des dégâts et possède 30 % de chances de bruler ladversaire."
},
"wickedTorque": {
"name": "Crash Obscur",
@ -3737,7 +3737,7 @@
},
"matchaGotcha": {
"name": "Mortier Matcha",
"effect": "Le lanceur remue son thé et en bombarde la cible. La moitié des dégâts infligés sont convertis en PV pour le lanceur. Cette capacité peut aussi brûler la cible."
"effect": "Le lanceur remue son thé et en bombarde la cible. La moitié des dégâts infligés sont convertis en PV pour le lanceur. Cette capacité peut aussi bruler la cible."
},
"syrupBomb": {
"name": "Bombe au Sirop",
@ -3760,8 +3760,8 @@
"effect": "Le lanceur attaque en tirant un rayon lumineux. Il arrive parfois que toutes les têtes agissent ensemble, ce qui double la puissance de la capacité."
},
"burningBulwark": {
"name": "Rempart Brûlant",
"effect": "Le lanceur se protège contre les attaques grâce à son pelage incandescent, et si un assaillant utilise une attaque directe contre lui, il le brûle."
"name": "Rempart Brulant",
"effect": "Le lanceur se protège contre les attaques grâce à son pelage incandescent, et si un assaillant utilise une attaque directe contre lui, il le brule."
},
"thunderclap": {
"name": "Vif Éclair",
@ -3784,7 +3784,7 @@
"effect": "Le lanceur galvanise ses alliés avec un encouragement draconique qui augmente leur taux de critiques. Leffet est plus puissant si les alliés ont le type Dragon."
},
"alluringVoice": {
"name": "Voix Envoûtante",
"name": "Voix Envoutante",
"effect": "Le lanceur attaque la cible avec sa voix angélique. Cette capacité rend la cible confuse si ses stats ont augmenté pendant ce tour."
},
"temperFlare": {
@ -3804,7 +3804,7 @@
"effect": "Le lanceur réagit instinctivement au moindre mouvement et donne un coup de paume qui apeure la cible. Échoue si cette dernière na pas utilisé une attaque prioritaire."
},
"malignantChain": {
"name": "Chaîne Malsaine",
"effect": "Le lanceur ligote la cible avec une chaîne faite de poison et lui injecte un venin corrosif, ce qui peut aussi gravement lempoisonner."
"name": "Chaine Malsaine",
"effect": "Le lanceur ligote la cible avec une chaine faite de poison et lui injecte un venin corrosif, ce qui peut aussi gravement lempoisonner."
}
}

View File

@ -11,7 +11,7 @@
"baker": "Boulangère",
"battle_girl": "Combattante",
"beauty": "Canon",
"beginners": "Beginners",
"beginners": "Débutants",
"biker": "Motard",
"black_belt": "Karatéka",
"breeder": "Éleveur",
@ -29,7 +29,7 @@
"depot_agent": "Cheminot",
"doctor": "Docteur",
"doctor_female": "Docteure",
"firebreather": "Firebreather",
"firebreather": "Crache-Feu",
"fisherman": "Pêcheur",
"fisherman_female": "Pêcheuse",
"gentleman": "Gentleman",
@ -68,7 +68,7 @@
"pokémon_rangers": "Pokémon Rangers",
"ranger": "Ranger",
"restaurant_staff": "Serveurs",
"rich": "Rich",
"rich": "Gentleman",
"rich_female": "Mondaine",
"rich_boy": "Gentleman",
"rich_couple": "Couple de Bourgeois",
@ -118,4 +118,4 @@
"flare_grunt": "Sbire de la Team Flare",
"flare_grunt_female": "Sbire de la Team Flare",
"flare_grunts": "Sbires de la Team Flare"
}
}

View File

@ -1 +1,42 @@
{}
{
"SEND_OUT": "Manda in campo",
"SUMMARY": "Sommario",
"CANCEL": "Annulla",
"RELEASE": "Rilascia",
"APPLY": "Applica",
"TEACH": "Insegna",
"SPLICE": "Unisci",
"UNSPLICE": "Dividi",
"ACTIVATE": "Attiva",
"DEACTIVATE": "Disattiva",
"TRANSFER": "Trasferisci",
"ALL": "Tutto",
"PASS_BATON": "Staffetta",
"UNPAUSE_EVOLUTION": "Consenti evoluzione",
"REVIVE": "Revitalizza",
"RENAME": "Rinomina",
"choosePokemon": "Scegli un Pokémon.",
"doWhatWithThisPokemon": "Hai selezionato questo Pokémon.",
"noEnergy": "{{pokemonName}} non ha più energie\nper lottare!",
"hasEnergy": "{{pokemonName}} ha ancora energie\nper lottare!",
"cantBeUsed": "{{pokemonName}} non può essere usato\nin questa sfida!",
"tooManyItems": "{{pokemonName}} possiede già\nquest'oggetto in abbondanza!",
"anyEffect": "Non avrebbe alcun effetto.",
"unpausedEvolutions": "{{pokemonName}} può di nuovo evolversi.",
"unspliceConfirmation": "Vuoi davvero dividere {{fusionName}}\nda {{pokemonName}}? {{fusionName}} andrà perduto.",
"wasReverted": "{{fusionName}} è tornato ad essere {{pokemonName}}.",
"releaseConfirmation": "Vuoi davvero liberare {{pokemonName}}?",
"releaseInBattle": "Non puoi liberare un Pokémon che sta combattendo!",
"selectAMove": "Scegli una mossa.",
"changeQuantity": "Scegli un oggetto da trasferire.\nUsa < e > per cambiarne la quantità.",
"selectAnotherPokemonToSplice": "Scegli un altro Pokémon da unire.",
"cancel": "Annulla",
"goodbye": "Addio, {{pokemonName}}!",
"byebye": "Ciao ciao, {{pokemonName}}!",
"farewell": "Arrivederci, {{pokemonName}}!",
"soLong": "È stato bello, {{pokemonName}}!",
"thisIsWhereWePart": "Le nostre strade si dividono, {{pokemonName}}!",
"illMissYou": "Mi mancherai, {{pokemonName}}!",
"illNeverForgetYou": "Non ti dimenticherò, {{pokemonName}}!",
"untilWeMeetAgain": "Alla prossima, {{pokemonName}}!"
}

View File

@ -10,5 +10,5 @@
"eternamaxChange": "{{preName}} si Dynamaxxa infinitamente\nin {{pokemonName}}!",
"revertChange": "{{pokemonName}} è tornato\nalla sua forma originaria!",
"formChange": "{{preName}} ha cambiato forma!",
"disguiseChange": "Its disguise served it as a decoy!"
"disguiseChange": "Il costume ha assorbito lattacco!"
}

View File

@ -1,6 +1,6 @@
{
"confirmStartTeam": "Vuoi iniziare con questi Pokémon?",
"confirmExit": "Do you want to exit?",
"confirmExit": "Vuoi tornare alla schermata principale?",
"invalidParty": "Questo squadra iniziale non è valida!",
"gen1": "1ª",
"gen2": "2ª",
@ -21,13 +21,13 @@
"toggleIVs": "Vedi/Nascondi IV",
"manageMoves": "Gestisci mosse",
"manageNature": "Gestisci natura",
"addToFavorites": "Add to Favorites",
"removeFromFavorites": "Remove from Favorites",
"addToFavorites": "Aggiungi ai preferiti",
"removeFromFavorites": "Rimuovi dai preferiti",
"useCandies": "Usa caramelle",
"selectNature": "Seleziona natura.",
"selectMoveSwapOut": "Seleziona una mossa da scambiare.",
"selectMoveSwapWith": "Seleziona una mossa da scambiare con",
"sameSpeciesEgg": "Buy an Egg",
"sameSpeciesEgg": "Compra un uovo",
"unlockPassive": "Sblocca passiva",
"reduceCost": "Riduci costo",
"cycleShiny": ": Shiny",
@ -36,7 +36,7 @@
"cycleAbility": ": Abilità",
"cycleNature": ": Natura",
"cycleVariant": ": Variante",
"goFilter": ": Go to filters",
"goFilter": ": Vai ai filtri",
"enablePassive": "Attiva passiva",
"disablePassive": "Disattiva passiva",
"locked": "Bloccato",

View File

@ -1 +1,16 @@
{}
{
"misty": "Nebbioso",
"mistyStartMessage": "Ai piedi dei Pokémon si addensa la nebbia.",
"mistyClearMessage": "La nebbia si dissolve.",
"mistyBlockMessage": "Il Campo Nebbioso protegge {{pokemonNameWithAffix}}!",
"electric": "Elettrico",
"electricStartMessage": "Ai piedi dei Pokémon si accumula dellelettricità.",
"electricClearMessage": "Lelettricità svanisce.",
"grassy": "Erboso",
"grassyStartMessage": "Ai piedi dei Pokémon cresce rigogliosa lerba.",
"grassyClearMessage": "Lerba sparisce.",
"psychic": "Psichico",
"psychicStartMessage": "Nel campo si avverte una strana sensazione...",
"psychicClearMessage": "La strana sensazione nel campo è svanita!",
"defaultBlockMessage": "Il Campo {{terrainName}} protegge {{pokemonNameWithAffix}}!"
}

View File

@ -124,25 +124,25 @@
"rival": "Finn",
"rival_female": "Ivy",
"archer": "Archer",
"ariana": "Ariana",
"proton": "Proton",
"petrel": "Petrel",
"tabitha": "Tabitha",
"courtney": "Courtney",
"shelly": "Shelly",
"matt": "Matt",
"mars": "Mars",
"jupiter": "Jupiter",
"saturn": "Saturn",
"zinzolin": "Zinzolin",
"rood": "Rood",
"xerosic": "Xerosic",
"bryony": "Bryony",
"maxie": "Maxie",
"archie": "Archie",
"ariana": "Atena",
"proton": "Milas",
"petrel": "Maxus",
"tabitha": "Ottavio",
"courtney": "Rossella",
"shelly": "Ada",
"matt": "Alan",
"mars": "Martes",
"jupiter": "Giovia",
"saturn": "Saturno",
"zinzolin": "Violante",
"rood": "Ross",
"xerosic": "Xante",
"bryony": "Bromelia",
"maxie": "Max",
"archie": "Ivan",
"cyrus": "Cyrus",
"ghetsis": "Ghetsis",
"lysandre": "Lysandre",
"ghetsis": "Ghecis",
"lysandre": "Elisio",
"blue_red_double": "Blu & Rosso",
"red_blue_double": "Rosso & Blu",
"tate_liza_double": "Tell & Pat",

View File

@ -10,22 +10,22 @@
"rival": "Rivale",
"professor": "Professore",
"frontier_brain": "Asso lotta",
"rocket_boss": "Team Rocket Boss",
"magma_boss": "Team Magma Boss",
"aqua_boss": "Team Aqua Boss",
"galactic_boss": "Team Galactic Boss",
"plasma_boss": "Team Plasma Boss",
"flare_boss": "Team Flare Boss",
"rocket_admin": "Team Rocket Admin",
"rocket_admin_female": "Team Rocket Admin",
"magma_admin": "Team Magma Admin",
"magma_admin_female": "Team Magma Admin",
"aqua_admin": "Team Aqua Admin",
"aqua_admin_female": "Team Aqua Admin",
"galactic_commander": "Team Galactic Commander",
"galactic_commander_female": "Team Galactic Commander",
"plasma_sage": "Team Plasma Sage",
"plasma_admin": "Team Plasma Admin",
"flare_admin": "Team Flare Admin",
"flare_admin_female": "Team Flare Admin"
"rocket_boss": "Capo Rocket",
"magma_boss": "Capo Magma",
"aqua_boss": "Capo Idro",
"galactic_boss": "Capo Galassia",
"plasma_boss": "Capo Plasma",
"flare_boss": "Capo Flare",
"rocket_admin": "Tenente Team Rocket",
"rocket_admin_female": "Tenente Team Rocket",
"magma_admin": "Magmatenente",
"magma_admin_female": "Magmatenente",
"aqua_admin": "Idrotenente",
"aqua_admin_female": "Idrotenente",
"galactic_commander": "Comandante Galassia",
"galactic_commander_female": "Comandante Galassia",
"plasma_sage": "Saggio Team Plasma",
"plasma_admin": "Tenente Team Plasma",
"flare_admin": "Ufficiale Team Flare",
"flare_admin_female": "Ufficiale Team Flare"
}

View File

@ -1,19 +1,18 @@
import { Abilities } from "#app/enums/abilities.js";
import GameManager from "#test/utils/gameManager";
import { Moves } from "#enums/moves";
import { Species } from "#enums/species";
import Phaser from "phaser";
import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
import { SPLASH_ONLY } from "#test/utils/testUtils";
import { WeatherType } from "#app/enums/weather-type";
import { BattlerIndex } from "#app/battle";
import { QuietFormChangePhase } from "#app/phases/quiet-form-change-phase";
import { allAbilities } from "#app/data/ability";
import { Abilities } from "#app/enums/abilities";
import { WeatherType } from "#app/enums/weather-type";
import { DamagePhase } from "#app/phases/damage-phase";
import { MovePhase } from "#app/phases/move-phase";
import { PostSummonPhase } from "#app/phases/post-summon-phase";
import { QuietFormChangePhase } from "#app/phases/quiet-form-change-phase";
import { TurnEndPhase } from "#app/phases/turn-end-phase";
import { VictoryPhase } from "#app/phases/victory-phase";
import { allAbilities } from "#app/data/ability";
import { Moves } from "#enums/moves";
import { Species } from "#enums/species";
import GameManager from "#test/utils/gameManager";
import { SPLASH_ONLY } from "#test/utils/testUtils";
import Phaser from "phaser";
import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
describe("Abilities - Forecast", () => {
let phaserGame: Phaser.Game;
@ -31,7 +30,7 @@ describe("Abilities - Forecast", () => {
* @param initialForm The initial form pre form change
*/
const testWeatherFormChange = async (game: GameManager, weather: WeatherType, form: number, initialForm?: number) => {
game.override.weather(weather).starterForms({[Species.CASTFORM]: initialForm});
game.override.weather(weather).starterForms({ [Species.CASTFORM]: initialForm });
await game.startBattle([Species.CASTFORM]);
game.move.select(Moves.SPLASH);
@ -53,54 +52,6 @@ describe("Abilities - Forecast", () => {
expect(game.scene.getPlayerPokemon()?.formIndex).toBe(NORMAL_FORM);
};
/**
* Tests transforming back to match the weather when Cloud Nine/Air Lock user is fainted
* @param {GameManager} game The game manager instance
* @param {Abilities} ability The ability that will go out of battle (faint)
*/
const testTransformAfterAbilityFaint = async (game: GameManager, ability: Abilities) => {
game.override.enemyAbility(ability).weather(WeatherType.SNOW).enemySpecies(Species.SHUCKLE);
await game.startBattle([Species.CASTFORM]);
const castform = game.scene.getPlayerPokemon();
expect(castform?.formIndex).toBe(NORMAL_FORM);
game.move.select(Moves.TACKLE);
await game.setTurnOrder([ BattlerIndex.PLAYER, BattlerIndex.ENEMY ]);
await game.phaseInterceptor.to(DamagePhase);
await game.doKillOpponents();
await game.phaseInterceptor.to(VictoryPhase);
expect(castform?.formIndex).toBe(SNOWY_FORM);
};
/**
* Tests transforming back to match the weather when Cloud Nine/Air Lock user is switched out
* @param {GameManager} game The game manager instance
* @param {Abilities} ability The ability that will go out of battle (switched out)
*/
const testTransformAfterAbilitySwitchOut = async (game: GameManager, ability: Abilities) => {
game.override
.weather(WeatherType.SNOW)
.enemySpecies(Species.CASTFORM)
.enemyAbility(Abilities.FORECAST)
.ability(ability);
await game.startBattle([Species.PICHU, Species.PIKACHU]);
const castform = game.scene.getEnemyPokemon();
// We mock the return value of the second Pokemon to be other than Air Lock/Cloud Nine
vi.spyOn(game.scene.getParty()[1]!, "getAbility").mockReturnValue(allAbilities[Abilities.BALL_FETCH]);
expect(game.scene.getParty()[1]?.hasAbility(Abilities.BALL_FETCH));
expect(castform?.formIndex).toBe(NORMAL_FORM);
game.doSwitchPokemon(1);
await game.phaseInterceptor.to(MovePhase);
expect(castform?.formIndex).toBe(SNOWY_FORM);
};
beforeAll(() => {
phaserGame = new Phaser.Game({
type: Phaser.HEADLESS,
@ -113,55 +64,127 @@ describe("Abilities - Forecast", () => {
beforeEach(() => {
game = new GameManager(phaserGame);
game.override.moveset([ Moves.SPLASH, Moves.RAIN_DANCE, Moves.SUNNY_DAY, Moves.TACKLE ])
game.override
.moveset([Moves.SPLASH, Moves.RAIN_DANCE, Moves.SUNNY_DAY, Moves.TACKLE])
.enemySpecies(Species.MAGIKARP)
.enemyMoveset(SPLASH_ONLY)
.enemyAbility(Abilities.BALL_FETCH);
});
it("changes to Sunny Form during Harsh Sunlight", async () => {
await testWeatherFormChange(game, WeatherType.SUNNY, SUNNY_FORM);
});
it("changes form based on weather", async () => {
game.override
.moveset([Moves.RAIN_DANCE, Moves.SUNNY_DAY, Moves.SNOWSCAPE, Moves.SPLASH])
.battleType("double")
.starterForms({
[Species.KYOGRE]: 1,
[Species.GROUDON]: 1,
[Species.RAYQUAZA]: 1
});
await game.startBattle([Species.CASTFORM, Species.FEEBAS, Species.KYOGRE, Species.GROUDON, Species.RAYQUAZA, Species.ALTARIA]);
it("changes to Sunny Form during Extreme Harsh Sunlight", async () => {
await testWeatherFormChange(game, WeatherType.HARSH_SUN, SUNNY_FORM);
});
vi.spyOn(game.scene.getParty()[5], "getAbility").mockReturnValue(allAbilities[Abilities.CLOUD_NINE]);
it("changes to Rainy Form during Rain", async () => {
await testWeatherFormChange(game, WeatherType.RAIN, RAINY_FORM);
});
const castform = game.scene.getPlayerField()[0];
expect(castform.formIndex).toBe(NORMAL_FORM);
it("changes to Rainy Form during Heavy Rain", async () => {
await testWeatherFormChange(game, WeatherType.HEAVY_RAIN, RAINY_FORM);
});
game.move.select(Moves.RAIN_DANCE);
game.move.select(Moves.SPLASH, 1);
await game.phaseInterceptor.to("MovePhase");
await game.toNextTurn();
it("changes to Snowy Form during Hail", async () => {
await testWeatherFormChange(game, WeatherType.HAIL, SNOWY_FORM);
});
expect(castform.formIndex).toBe(RAINY_FORM);
it("changes to Snowy Form during Snow", async () => {
await testWeatherFormChange(game, WeatherType.SNOW, SNOWY_FORM);
});
game.move.select(Moves.SUNNY_DAY);
game.move.select(Moves.SPLASH, 1);
await game.phaseInterceptor.to("MovePhase");
await game.toNextTurn();
it("reverts to Normal Form during Sandstorm", async () => {
await testWeatherFormChange(game, WeatherType.SANDSTORM, NORMAL_FORM, SUNNY_FORM);
});
expect(castform.formIndex).toBe(SUNNY_FORM);
it("reverts to Normal Form during Fog", async () => {
await testWeatherFormChange(game, WeatherType.FOG, NORMAL_FORM, SUNNY_FORM);
});
game.move.select(Moves.SNOWSCAPE);
game.move.select(Moves.SPLASH, 1);
await game.phaseInterceptor.to("MovePhase");
await game.toNextTurn();
it("reverts to Normal Form during Strong Winds", async () => {
await testWeatherFormChange(game, WeatherType.STRONG_WINDS, NORMAL_FORM, SUNNY_FORM);
});
expect(castform.formIndex).toBe(SNOWY_FORM);
game.override.moveset([Moves.HAIL, Moves.SANDSTORM, Moves.SNOWSCAPE, Moves.SPLASH]);
game.move.select(Moves.SANDSTORM);
game.move.select(Moves.SPLASH, 1);
await game.phaseInterceptor.to("MovePhase");
await game.toNextTurn();
expect(castform.formIndex).toBe(NORMAL_FORM);
game.move.select(Moves.HAIL);
game.move.select(Moves.SPLASH, 1);
await game.phaseInterceptor.to("MovePhase");
await game.toNextTurn();
expect(castform.formIndex).toBe(SNOWY_FORM);
game.move.select(Moves.SPLASH);
game.doSwitchPokemon(2); // Feebas now 2, Kyogre 1
await game.phaseInterceptor.to("MovePhase");
await game.toNextTurn();
expect(castform.formIndex).toBe(RAINY_FORM);
game.move.select(Moves.SPLASH);
game.doSwitchPokemon(3); // Kyogre now 3, Groudon 1
await game.phaseInterceptor.to("MovePhase");
await game.toNextTurn();
expect(castform.formIndex).toBe(SUNNY_FORM);
game.move.select(Moves.SPLASH);
game.doSwitchPokemon(4); // Groudon now 4, Rayquaza 1
await game.phaseInterceptor.to("MovePhase");
await game.toNextTurn();
expect(castform.formIndex).toBe(NORMAL_FORM);
game.move.select(Moves.SPLASH);
game.doSwitchPokemon(2); // Rayquaza now 2, Feebas 1
await game.phaseInterceptor.to("MovePhase");
await game.toNextTurn();
expect(castform.formIndex).toBe(NORMAL_FORM);
game.move.select(Moves.SNOWSCAPE);
game.move.select(Moves.SPLASH, 1);
await game.phaseInterceptor.to("MovePhase");
await game.toNextTurn();
expect(castform.formIndex).toBe(SNOWY_FORM);
game.move.select(Moves.SPLASH);
game.doSwitchPokemon(5); // Feebas now 5, Altaria 1
await game.phaseInterceptor.to("MovePhase");
await game.toNextTurn();
expect(castform.formIndex).toBe(NORMAL_FORM);
game.move.select(Moves.SPLASH);
game.doSwitchPokemon(5); // Altaria now 5, Feebas 1
await game.phaseInterceptor.to("MovePhase");
await game.toNextTurn();
expect(castform.formIndex).toBe(SNOWY_FORM);
game.scene.arena.trySetWeather(WeatherType.FOG, false);
game.move.select(Moves.SPLASH);
game.move.select(Moves.SPLASH, 1);
await game.phaseInterceptor.to("TurnStartPhase");
expect(castform.formIndex).toBe(NORMAL_FORM);
}, 30 * 1000);
it("reverts to Normal Form during Clear weather", async () => {
await testWeatherFormChange(game, WeatherType.NONE, NORMAL_FORM, SUNNY_FORM);
});
it("reverts to Normal Form if a Pokémon on the field has Cloud Nine", async () => {
await testRevertFormAgainstAbility(game, Abilities.CLOUD_NINE);
});
it("reverts to Normal Form if a Pokémon on the field has Air Lock", async () => {
await testRevertFormAgainstAbility(game, Abilities.AIR_LOCK);
});
@ -177,93 +200,50 @@ describe("Abilities - Forecast", () => {
expect(game.scene.getEnemyPokemon()?.formIndex).not.toBe(RAINY_FORM);
});
it("cannot be copied", async () => {
game.override.enemyAbility(Abilities.TRACE);
await game.startBattle([Species.CASTFORM]);
it("reverts to Normal Form when Castform loses Forecast, changes form to match the weather when it regains it", async () => {
game.override.moveset([Moves.SKILL_SWAP, Moves.WORRY_SEED, Moves.SPLASH]).weather(WeatherType.RAIN).battleType("double");
await game.startBattle([Species.CASTFORM, Species.FEEBAS]);
game.move.select(Moves.SPLASH);
const castform = game.scene.getPlayerField()[0];
expect(game.scene.getEnemyPokemon()?.hasAbility(Abilities.FORECAST)).toBe(false);
});
expect(castform.formIndex).toBe(RAINY_FORM);
it("(Skill Swap) reverts to Normal Form when Castform loses Forecast, changes form to match the weather when it regains it", async () => {
game.override.moveset([Moves.SKILL_SWAP]).weather(WeatherType.RAIN);
await game.startBattle([Species.CASTFORM]);
const castform = game.scene.getPlayerPokemon();
game.move.select(Moves.SKILL_SWAP, 0, BattlerIndex.PLAYER_2);
game.move.select(Moves.SKILL_SWAP, 1, BattlerIndex.PLAYER);
await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]);
expect(castform?.formIndex).toBe(RAINY_FORM);
await game.phaseInterceptor.to("MoveEndPhase");
expect(castform.formIndex).toBe(NORMAL_FORM);
// First turn - loses Forecast
game.move.select(Moves.SKILL_SWAP);
await game.phaseInterceptor.to(TurnEndPhase);
expect(castform?.formIndex).toBe(NORMAL_FORM);
// Second turn - regains Forecast
game.move.select(Moves.SKILL_SWAP);
await game.phaseInterceptor.to(TurnEndPhase);
expect(castform?.formIndex).toBe(RAINY_FORM);
});
it("(Worry Seed) reverts to Normal Form when Castform loses Forecast, changes form to match the weather when it regains it", async () => {
game.override.enemyMoveset(Array(4).fill(Moves.WORRY_SEED)).weather(WeatherType.RAIN);
await game.startBattle([Species.CASTFORM, Species.PIKACHU]);
const castform = game.scene.getPlayerPokemon();
expect(castform?.formIndex).toBe(RAINY_FORM);
// First turn - loses Forecast
game.move.select(Moves.SPLASH);
await game.phaseInterceptor.to(TurnEndPhase);
expect(castform?.formIndex).toBe(NORMAL_FORM);
await game.phaseInterceptor.to("MoveEndPhase");
expect(castform.formIndex).toBe(RAINY_FORM);
await game.toNextTurn();
// Second turn - switch out Castform, regains Forecast
game.doSwitchPokemon(1);
await game.toNextTurn();
game.move.select(Moves.SPLASH);
game.move.select(Moves.WORRY_SEED, 1, BattlerIndex.PLAYER);
await game.setTurnOrder([BattlerIndex.PLAYER_2, BattlerIndex.PLAYER, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]);
await game.phaseInterceptor.to("MoveEndPhase");
// Third turn - switch in Castform
game.doSwitchPokemon(1);
await game.phaseInterceptor.to(MovePhase);
expect(castform?.formIndex).toBe(RAINY_FORM);
});
it("reverts to Normal Form when active weather ends", async () => {
await game.startBattle([Species.CASTFORM]);
const castform = game.scene.getPlayerPokemon();
game.move.select(Moves.SUNNY_DAY);
await game.phaseInterceptor.to(TurnEndPhase);
while (game.scene.arena.weather && game.scene.arena.weather.turnsLeft > 0) {
game.move.select(Moves.SPLASH);
expect(castform?.formIndex).toBe(SUNNY_FORM);
await game.toNextTurn();
}
expect(castform?.formIndex).toBe(NORMAL_FORM);
expect(castform.formIndex).toBe(NORMAL_FORM);
});
it("reverts to Normal Form when Forecast is suppressed, changes form to match the weather when it regains it", async () => {
game.override.enemyMoveset(Array(4).fill(Moves.GASTRO_ACID)).weather(WeatherType.RAIN);
await game.startBattle([Species.CASTFORM, Species.PIKACHU]);
const castform = game.scene.getPlayerPokemon();
const castform = game.scene.getPlayerPokemon()!;
expect(castform?.formIndex).toBe(RAINY_FORM);
expect(castform.formIndex).toBe(RAINY_FORM);
// First turn - Forecast is suppressed
game.move.select(Moves.SPLASH);
await game.setTurnOrder([ BattlerIndex.ENEMY, BattlerIndex.PLAYER ]);
await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]);
await game.move.forceHit();
await game.phaseInterceptor.to(TurnEndPhase);
expect(castform?.summonData.abilitySuppressed).toBe(true);
expect(castform?.formIndex).toBe(NORMAL_FORM);
expect(castform.summonData.abilitySuppressed).toBe(true);
expect(castform.formIndex).toBe(NORMAL_FORM);
await game.toNextTurn();
@ -275,21 +255,8 @@ describe("Abilities - Forecast", () => {
game.doSwitchPokemon(1);
await game.phaseInterceptor.to(MovePhase);
expect(castform?.summonData.abilitySuppressed).toBe(false);
expect(castform?.formIndex).toBe(RAINY_FORM);
});
it("if a Pokémon transforms into Castform, the Pokémon will remain in the same form as the target Castform, regardless of the weather", async () => {
game.override.enemyMoveset(Array(4).fill(Moves.TRANSFORM));
await game.startBattle([Species.CASTFORM]);
game.move.select(Moves.SUNNY_DAY);
await game.setTurnOrder([ BattlerIndex.ENEMY, BattlerIndex.PLAYER ]);
await game.phaseInterceptor.to(TurnEndPhase);
expect(game.scene.getPlayerPokemon()?.formIndex).toBe(SUNNY_FORM);
expect(game.scene.getEnemyPokemon()?.formIndex).toBe(NORMAL_FORM);
expect(castform.summonData.abilitySuppressed).toBe(false);
expect(castform.formIndex).toBe(RAINY_FORM);
});
it("does not change Castform's form until after Stealth Rock deals damage", async () => {
@ -304,31 +271,15 @@ describe("Abilities - Forecast", () => {
game.doSwitchPokemon(1);
await game.phaseInterceptor.to(PostSummonPhase);
const castform = game.scene.getPlayerPokemon();
const castform = game.scene.getPlayerPokemon()!;
// Damage phase should come first
await game.phaseInterceptor.to(DamagePhase);
expect(castform?.hp).toBeLessThan(castform?.getMaxHp() ?? 0);
expect(castform.hp).toBeLessThan(castform.getMaxHp());
// Then change form
await game.phaseInterceptor.to(QuietFormChangePhase);
expect(castform?.formIndex).toBe(RAINY_FORM);
});
it("transforms to weather-based form when Pokemon with Air Lock is fainted", async () => {
await testTransformAfterAbilityFaint(game, Abilities.AIR_LOCK);
});
it("transforms to weather-based form when Pokemon with Cloud Nine is fainted", async () => {
await testTransformAfterAbilityFaint(game, Abilities.CLOUD_NINE);
});
it("transforms to weather-based form when Pokemon with Air Lock is switched out", async () => {
await testTransformAfterAbilitySwitchOut(game, Abilities.AIR_LOCK);
});
it("transforms to weather-based form when Pokemon with Cloud Nine is switched out", async () => {
await testTransformAfterAbilitySwitchOut(game, Abilities.CLOUD_NINE);
expect(castform.formIndex).toBe(RAINY_FORM);
});
it("should be in Normal Form after the user is switched out", async () => {

View File

@ -0,0 +1,83 @@
import { StatusEffect } from "#app/enums/status-effect.js";
import { CommandPhase } from "#app/phases/command-phase.js";
import { Abilities } from "#enums/abilities";
import { Moves } from "#enums/moves";
import { Species } from "#enums/species";
import GameManager from "#test/utils/gameManager";
import { SPLASH_ONLY } from "#test/utils/testUtils";
import Phaser from "phaser";
import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
describe("Moves - Lunar Blessing", () => {
let phaserGame: Phaser.Game;
let game: GameManager;
beforeAll(() => {
phaserGame = new Phaser.Game({ type: Phaser.HEADLESS });
});
afterEach(() => {
game.phaseInterceptor.restoreOg();
});
beforeEach(() => {
game = new GameManager(phaserGame);
game.override.battleType("double");
game.override.enemySpecies(Species.SHUCKLE);
game.override.enemyMoveset(SPLASH_ONLY);
game.override.enemyAbility(Abilities.BALL_FETCH);
game.override.moveset([Moves.LUNAR_BLESSING, Moves.SPLASH]);
game.override.ability(Abilities.BALL_FETCH);
});
it("should restore 25% HP of the user and its ally", async () => {
await game.startBattle([Species.RATTATA, Species.RATTATA]);
const [leftPlayer, rightPlayer] = game.scene.getPlayerField();
vi.spyOn(leftPlayer, "getMaxHp").mockReturnValue(100);
vi.spyOn(rightPlayer, "getMaxHp").mockReturnValue(100);
const initialHp = 1;
leftPlayer["hp"] = initialHp;
rightPlayer["hp"] = initialHp;
const expectedHeal = 25;
vi.spyOn(leftPlayer, "heal");
vi.spyOn(rightPlayer, "heal");
game.move.select(Moves.LUNAR_BLESSING, 0);
await game.phaseInterceptor.to(CommandPhase);
game.move.select(Moves.SPLASH, 1);
await game.toNextTurn();
expect(leftPlayer.heal).toHaveBeenCalledOnce();
expect(leftPlayer.heal).toHaveReturnedWith(expectedHeal);
expect(rightPlayer.heal).toHaveBeenCalledOnce();
expect(rightPlayer.heal).toHaveReturnedWith(expectedHeal);
});
it("should cure status effect of the user and its ally", async () => {
game.override.statusEffect(StatusEffect.BURN);
await game.startBattle([Species.RATTATA, Species.RATTATA]);
const [leftPlayer, rightPlayer] = game.scene.getPlayerField();
vi.spyOn(leftPlayer, "resetStatus");
vi.spyOn(rightPlayer, "resetStatus");
game.move.select(Moves.LUNAR_BLESSING, 0);
await game.phaseInterceptor.to(CommandPhase);
game.move.select(Moves.SPLASH, 1);
await game.toNextTurn();
expect(leftPlayer.resetStatus).toHaveBeenCalledOnce();
expect(rightPlayer.resetStatus).toHaveBeenCalledOnce();
expect(leftPlayer.status?.effect).toBeUndefined();
expect(rightPlayer.status?.effect).toBeUndefined();
});
});