mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-15 21:02:18 +02:00
Merge branch 'main' into summary
This commit is contained in:
commit
38b3e3ff8e
BIN
public/images/cg/end_f.png
Normal file
BIN
public/images/cg/end_f.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 52 KiB |
BIN
public/images/cg/end_m.png
Normal file
BIN
public/images/cg/end_m.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 41 KiB |
@ -1013,6 +1013,7 @@ export default class BattleScene extends SceneBase {
|
||||
case Species.FURFROU:
|
||||
case Species.ORICORIO:
|
||||
case Species.MAGEARNA:
|
||||
case Species.ZARUDE:
|
||||
case Species.SQUAWKABILLY:
|
||||
case Species.TATSUGIRI:
|
||||
case Species.PALDEA_TAUROS:
|
||||
|
@ -14,7 +14,8 @@ import { BattlerTagType } from "./enums/battler-tag-type";
|
||||
import { TerrainType } from "./terrain";
|
||||
import { WeatherType } from "./weather";
|
||||
import { BattleStat } from "./battle-stat";
|
||||
import { allAbilities } from "./ability"
|
||||
import { allAbilities } from "./ability";
|
||||
import { Species } from "./enums/species";
|
||||
|
||||
export enum BattlerTagLapseType {
|
||||
FAINT,
|
||||
@ -117,7 +118,11 @@ export class TrappedTag extends BattlerTag {
|
||||
}
|
||||
|
||||
canAdd(pokemon: Pokemon): boolean {
|
||||
return !pokemon.isOfType(Type.GHOST) && !pokemon.getTag(BattlerTagType.TRAPPED);
|
||||
const isGhost = pokemon.isOfType(Type.GHOST);
|
||||
const isTrapped = pokemon.getTag(BattlerTagType.TRAPPED);
|
||||
const isAllowedGhostType = pokemon.species.speciesId === Species.PHANTUMP || pokemon.species.speciesId === Species.TREVENANT;
|
||||
|
||||
return !isTrapped && (!isGhost || isAllowedGhostType);
|
||||
}
|
||||
|
||||
onAdd(pokemon: Pokemon): void {
|
||||
|
@ -7,6 +7,7 @@ import { BattlerTagType } from "./enums/battler-tag-type";
|
||||
import { getStatusEffectHealText } from "./status-effect";
|
||||
import * as Utils from "../utils";
|
||||
import { DoubleBerryEffectAbAttr, ReduceBerryUseThresholdAbAttr, applyAbAttrs } from "./ability";
|
||||
import i18next from '../plugins/i18n';
|
||||
|
||||
export enum BerryType {
|
||||
SITRUS,
|
||||
@ -22,32 +23,12 @@ export enum BerryType {
|
||||
LEPPA
|
||||
}
|
||||
|
||||
export function getBerryName(berryType: BerryType) {
|
||||
return `${Utils.toReadableString(BerryType[berryType])} Berry`;
|
||||
export function getBerryName(berryType: BerryType): string {
|
||||
return i18next.t(`berry:${BerryType[berryType]}.name`);
|
||||
}
|
||||
|
||||
export function getBerryEffectDescription(berryType: BerryType) {
|
||||
switch (berryType) {
|
||||
case BerryType.SITRUS:
|
||||
return 'Restores 25% HP if HP is below 50%';
|
||||
case BerryType.LUM:
|
||||
return 'Cures any non-volatile status condition and confusion';
|
||||
case BerryType.ENIGMA:
|
||||
return 'Restores 25% HP if hit by a super effective move';
|
||||
case BerryType.LIECHI:
|
||||
case BerryType.GANLON:
|
||||
case BerryType.PETAYA:
|
||||
case BerryType.APICOT:
|
||||
case BerryType.SALAC:
|
||||
const stat = (berryType - BerryType.LIECHI) as BattleStat;
|
||||
return `Raises ${getBattleStatName(stat)} if HP is below 25%`;
|
||||
case BerryType.LANSAT:
|
||||
return 'Raises critical hit ratio if HP is below 25%';
|
||||
case BerryType.STARF:
|
||||
return 'Sharply raises a random stat if HP is below 25%';
|
||||
case BerryType.LEPPA:
|
||||
return 'Restores 10 PP to a move if its PP reaches 0';
|
||||
}
|
||||
export function getBerryEffectDescription(berryType: BerryType): string {
|
||||
return i18next.t(`berry:${BerryType[berryType]}.effect`);
|
||||
}
|
||||
|
||||
export type BerryPredicate = (pokemon: Pokemon) => boolean;
|
||||
|
@ -2290,6 +2290,25 @@ export const battleSpecDialogue = {
|
||||
}
|
||||
};
|
||||
|
||||
export const miscDialogue = {
|
||||
ending: [
|
||||
`@c{smile}Oh? You won?@d{96} @c{smile_eclosed}I guess I should've known.\nBut, you're back now.
|
||||
$@c{smile}It's over.@d{64} You ended the loop.
|
||||
$@c{serious_smile_fists}You fulfilled your dream too, didn't you?\nYou didn't lose even once.
|
||||
$@c{neutral}I'm the only one who'll remember what you did.@d{96}\nI guess that's okay, isn't it?
|
||||
$@c{serious_smile_fists}Your legend will always live on in our hearts.
|
||||
$@c{smile_eclosed}Anyway, I've had about enough of this place, haven't you? Let's head home.
|
||||
$@c{serious_smile_fists}Maybe when we get back, we can have another battle?\nIf you're up to it.`,
|
||||
`@c{shock}You're back?@d{32} Does that mean…@d{96} you won?!\n@c{smile_ehalf}I should have known you had it in you.
|
||||
$@c{smile_eclosed}Of course… I always had that feeling.\n@c{smile}It's over now, right? You ended the loop.
|
||||
$@c{smile_ehalf}You fulfilled your dream too, didn't you?\nYou didn't lose even once.
|
||||
$I'll be the only one to remember what you did.\n@c{angry_mopen}I'll try not to forget!
|
||||
$@c{smile_wave_wink}Just kidding!@d{64} @c{smile}I'd never forget.@d{32}\nYour legend will live on in our hearts.
|
||||
$@c{smile_wave}Anyway,@d{64} it's getting late…@d{96} I think?\nIt's hard to tell in this place.
|
||||
$Let's go home. @c{smile_wave_wink}Maybe tomorrow, we can have another battle, for old time's sake?`
|
||||
]
|
||||
}
|
||||
|
||||
export function getCharVariantFromDialogue(message: string): string {
|
||||
const variantMatch = /@c\{(.*?)\}/.exec(message);
|
||||
if (variantMatch)
|
||||
|
@ -1921,7 +1921,7 @@ export class CopyStatsAttr extends MoveEffectAttr {
|
||||
target.updateInfo();
|
||||
user.updateInfo();
|
||||
|
||||
target.scene.queueMessage(getPokemonMessage(user, 'copied\n') + getPokemonMessage(target, `'s stat changes!`));
|
||||
target.scene.queueMessage(getPokemonMessage(user, ' copied\n') + getPokemonMessage(target, `'s stat changes!`));
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -2129,36 +2129,27 @@ export class WeightPowerAttr extends VariablePowerAttr {
|
||||
}
|
||||
}
|
||||
|
||||
export class BattleStatRatioPowerAttr extends VariablePowerAttr {
|
||||
private stat: Stat;
|
||||
private invert: boolean;
|
||||
|
||||
constructor(stat: Stat, invert: boolean = false) {
|
||||
super();
|
||||
|
||||
this.stat = stat;
|
||||
this.invert = invert;
|
||||
}
|
||||
|
||||
/**
|
||||
* Attribute used for Electro Ball move.
|
||||
* @extends VariablePowerAttr
|
||||
* @see {@linkcode apply}
|
||||
**/
|
||||
export class ElectroBallPowerAttr extends VariablePowerAttr {
|
||||
/**
|
||||
* Move that deals more damage the faster {@linkcode BattleStat.SPD}
|
||||
* the user is compared to the target.
|
||||
* @param user Pokemon that used the move
|
||||
* @param target The target of the move
|
||||
* @param move Move with this attribute
|
||||
* @param args N/A
|
||||
* @returns true if the function succeeds
|
||||
*/
|
||||
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
|
||||
const power = args[0] as Utils.NumberHolder;
|
||||
|
||||
const statRatio = target.getStat(this.stat) / user.getStat(this.stat);
|
||||
const statRatio = target.getBattleStat(Stat.SPD) / user.getBattleStat(Stat.SPD);
|
||||
const statThresholds = [ 0.25, 1 / 3, 0.5, 1, -1 ];
|
||||
let statThresholdPowers = [ 150, 120, 80, 60, 40 ];
|
||||
|
||||
if (this.invert) {
|
||||
// Gyro ball uses a specific formula
|
||||
let userSpeed = user.getBattleStat(this.stat);
|
||||
if (userSpeed < 1) {
|
||||
// Gen 6+ always have 1 base power
|
||||
power.value = 1;
|
||||
return true;
|
||||
}
|
||||
let bp = Math.floor(Math.min(150, 25 * target.getBattleStat(this.stat) / userSpeed + 1));
|
||||
power.value = bp;
|
||||
return true;
|
||||
}
|
||||
const statThresholdPowers = [ 150, 120, 80, 60, 40 ];
|
||||
|
||||
let w = 0;
|
||||
while (w < statThresholds.length - 1 && statRatio > statThresholds[w]) {
|
||||
@ -2167,7 +2158,36 @@ export class BattleStatRatioPowerAttr extends VariablePowerAttr {
|
||||
}
|
||||
|
||||
power.value = statThresholdPowers[w];
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Attribute used for Gyro Ball move.
|
||||
* @extends VariablePowerAttr
|
||||
* @see {@linkcode apply}
|
||||
**/
|
||||
export class GyroBallPowerAttr extends VariablePowerAttr {
|
||||
/**
|
||||
* Move that deals more damage the slower {@linkcode BattleStat.SPD}
|
||||
* the user is compared to the target.
|
||||
* @param user Pokemon that used the move
|
||||
* @param target The target of the move
|
||||
* @param move Move with this attribute
|
||||
* @param args N/A
|
||||
* @returns true if the function succeeds
|
||||
*/
|
||||
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
|
||||
const power = args[0] as Utils.NumberHolder;
|
||||
const userSpeed = user.getBattleStat(Stat.SPD);
|
||||
if (userSpeed < 1) {
|
||||
// Gen 6+ always have 1 base power
|
||||
power.value = 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
power.value = Math.floor(Math.min(150, 25 * target.getBattleStat(Stat.SPD) / userSpeed + 1));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -5388,7 +5408,7 @@ export function initMoves() {
|
||||
.attr(StatChangeAttr, BattleStat.SPD, -1, true)
|
||||
.punchingMove(),
|
||||
new AttackMove(Moves.GYRO_BALL, Type.STEEL, MoveCategory.PHYSICAL, -1, 100, 5, -1, 0, 4)
|
||||
.attr(BattleStatRatioPowerAttr, Stat.SPD, true)
|
||||
.attr(GyroBallPowerAttr)
|
||||
.ballBombMove(),
|
||||
new SelfStatusMove(Moves.HEALING_WISH, Type.PSYCHIC, -1, 10, -1, 0, 4)
|
||||
.attr(SacrificialFullRestoreAttr)
|
||||
@ -5741,7 +5761,7 @@ export function initMoves() {
|
||||
.condition(unknownTypeCondition)
|
||||
.attr(hitsSameTypeAttr),
|
||||
new AttackMove(Moves.ELECTRO_BALL, Type.ELECTRIC, MoveCategory.SPECIAL, -1, 100, 10, -1, 0, 5)
|
||||
.attr(BattleStatRatioPowerAttr, Stat.SPD)
|
||||
.attr(ElectroBallPowerAttr)
|
||||
.ballBombMove(),
|
||||
new StatusMove(Moves.SOAK, Type.WATER, 100, 20, -1, 0, 5)
|
||||
.attr(ChangeTypeAttr, Type.WATER),
|
||||
|
@ -1504,7 +1504,7 @@ export function initSpecies() {
|
||||
new PokemonForm("Origin Forme", "origin", Type.WATER, Type.DRAGON, 6.3, 659, Abilities.PRESSURE, Abilities.NONE, Abilities.TELEPATHY, 680, 90, 100, 100, 150, 120, 120, 3, 0, 340),
|
||||
),
|
||||
new PokemonSpecies(Species.HEATRAN, 4, true, false, false, "Lava Dome Pokémon", Type.FIRE, Type.STEEL, 1.7, 430, Abilities.FLASH_FIRE, Abilities.NONE, Abilities.FLAME_BODY, 600, 91, 90, 106, 130, 106, 77, 3, 100, 300, GrowthRate.SLOW, 50, false),
|
||||
new PokemonSpecies(Species.REGIGIGAS, 4, false, true, false, "Colossal Pokémon", Type.NORMAL, null, 3.7, 420, Abilities.SLOW_START, Abilities.NONE, Abilities.NORMALIZE, 670, 110, 160, 110, 80, 110, 100, 3, 0, 335, GrowthRate.SLOW, null, false),
|
||||
new PokemonSpecies(Species.REGIGIGAS, 4, true, false, false, "Colossal Pokémon", Type.NORMAL, null, 3.7, 420, Abilities.SLOW_START, Abilities.NONE, Abilities.NORMALIZE, 670, 110, 160, 110, 80, 110, 100, 3, 0, 335, GrowthRate.SLOW, null, false),
|
||||
new PokemonSpecies(Species.GIRATINA, 4, false, true, false, "Renegade Pokémon", Type.GHOST, Type.DRAGON, 4.5, 750, Abilities.PRESSURE, Abilities.NONE, Abilities.TELEPATHY, 680, 150, 100, 120, 100, 120, 90, 3, 0, 340, GrowthRate.SLOW, null, false, true,
|
||||
new PokemonForm("Altered Forme", "altered", Type.GHOST, Type.DRAGON, 4.5, 750, Abilities.PRESSURE, Abilities.NONE, Abilities.TELEPATHY, 680, 150, 100, 120, 100, 120, 90, 3, 0, 340),
|
||||
new PokemonForm("Origin Forme", "origin", Type.GHOST, Type.DRAGON, 6.9, 650, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 680, 150, 120, 100, 120, 100, 90, 3, 0, 340),
|
||||
@ -1931,7 +1931,7 @@ export function initSpecies() {
|
||||
new PokemonForm("Active Mode", "active", Type.FAIRY, null, 3, 215, Abilities.FAIRY_AURA, Abilities.NONE, Abilities.NONE, 680, 126, 131, 95, 131, 98, 99, 45, 0, 340)
|
||||
),
|
||||
new PokemonSpecies(Species.YVELTAL, 6, false, true, false, "Destruction Pokémon", Type.DARK, Type.FLYING, 5.8, 203, Abilities.DARK_AURA, Abilities.NONE, Abilities.NONE, 680, 126, 131, 95, 131, 98, 99, 45, 0, 340, GrowthRate.SLOW, null, false),
|
||||
new PokemonSpecies(Species.ZYGARDE, 6, true, false, false, "Order Pokémon", Type.DRAGON, Type.GROUND, 5, 305, Abilities.AURA_BREAK, Abilities.NONE, Abilities.NONE, 600, 108, 100, 121, 81, 95, 95, 3, 0, 300, GrowthRate.SLOW, null, false, false,
|
||||
new PokemonSpecies(Species.ZYGARDE, 6, false, true, false, "Order Pokémon", Type.DRAGON, Type.GROUND, 5, 305, Abilities.AURA_BREAK, Abilities.NONE, Abilities.NONE, 600, 108, 100, 121, 81, 95, 95, 3, 0, 300, GrowthRate.SLOW, null, false, false,
|
||||
new PokemonForm("50% Forme", "50", Type.DRAGON, Type.GROUND, 5, 305, Abilities.AURA_BREAK, Abilities.NONE, Abilities.NONE, 600, 108, 100, 121, 81, 95, 95, 3, 0, 300, false, ""),
|
||||
new PokemonForm("10% Forme", "10", Type.DRAGON, Type.GROUND, 1.2, 33.5, Abilities.AURA_BREAK, Abilities.NONE, Abilities.NONE, 486, 54, 100, 71, 61, 85, 115, 3, 0, 300),
|
||||
new PokemonForm("50% Forme Power Construct", "50-pc", Type.DRAGON, Type.GROUND, 5, 305, Abilities.POWER_CONSTRUCT, Abilities.NONE, Abilities.NONE, 600, 108, 100, 121, 81, 95, 95, 3, 0, 300, false, ""),
|
||||
@ -2285,7 +2285,7 @@ export function initSpecies() {
|
||||
new PokemonSpecies(Species.REGIDRAGO, 8, true, false, false, "Dragon Orb Pokémon", Type.DRAGON, null, 2.1, 200, Abilities.DRAGONS_MAW, Abilities.NONE, Abilities.NONE, 580, 200, 100, 50, 100, 50, 80, 3, 35, 290, GrowthRate.SLOW, null, false),
|
||||
new PokemonSpecies(Species.GLASTRIER, 8, true, false, false, "Wild Horse Pokémon", Type.ICE, null, 2.2, 800, Abilities.CHILLING_NEIGH, Abilities.NONE, Abilities.NONE, 580, 100, 145, 130, 65, 110, 30, 3, 35, 290, GrowthRate.SLOW, null, false),
|
||||
new PokemonSpecies(Species.SPECTRIER, 8, true, false, false, "Swift Horse Pokémon", Type.GHOST, null, 2, 44.5, Abilities.GRIM_NEIGH, Abilities.NONE, Abilities.NONE, 580, 100, 65, 60, 145, 80, 130, 3, 35, 290, GrowthRate.SLOW, null, false),
|
||||
new PokemonSpecies(Species.CALYREX, 8, true, false, false, "King Pokémon", Type.PSYCHIC, Type.GRASS, 1.1, 7.7, Abilities.UNNERVE, Abilities.NONE, Abilities.NONE, 500, 100, 80, 80, 80, 80, 80, 3, 100, 250, GrowthRate.SLOW, null, false, true,
|
||||
new PokemonSpecies(Species.CALYREX, 8, false, true, false, "King Pokémon", Type.PSYCHIC, Type.GRASS, 1.1, 7.7, Abilities.UNNERVE, Abilities.NONE, Abilities.NONE, 500, 100, 80, 80, 80, 80, 80, 3, 100, 250, GrowthRate.SLOW, null, false, true,
|
||||
new PokemonForm("Normal", "", Type.PSYCHIC, Type.GRASS, 1.1, 7.7, Abilities.UNNERVE, Abilities.NONE, Abilities.NONE, 500, 100, 80, 80, 80, 80, 80, 3, 100, 250),
|
||||
new PokemonForm("Ice", "ice", Type.PSYCHIC, Type.ICE, 2.4, 809.1, Abilities.AS_ONE_GLASTRIER, Abilities.NONE, Abilities.NONE, 680, 100, 165, 150, 85, 130, 50, 3, 100, 250),
|
||||
new PokemonForm("Shadow", "shadow", Type.PSYCHIC, Type.GHOST, 2.4, 53.6, Abilities.AS_ONE_SPECTRIER, Abilities.NONE, Abilities.NONE, 680, 100, 85, 80, 165, 100, 150, 3, 100, 250),
|
||||
@ -2453,10 +2453,10 @@ export function initSpecies() {
|
||||
new PokemonForm("Unremarkable Form", "unremarkable", Type.GRASS, Type.GHOST, 0.2, 2.2, Abilities.HOSPITALITY, Abilities.NONE, Abilities.HEATPROOF, 508, 71, 60, 106, 121, 80, 70, 60, 50, 178),
|
||||
new PokemonForm("Masterpiece Form", "masterpiece", Type.GRASS, Type.GHOST, 0.2, 2.2, Abilities.HOSPITALITY, Abilities.NONE, Abilities.HEATPROOF, 508, 71, 60, 106, 121, 80, 70, 60, 50, 178),
|
||||
),
|
||||
new PokemonSpecies(Species.OKIDOGI, 9, false, true, false, "Retainer Pokémon", Type.POISON, Type.FIGHTING, 1.8, 92.2, Abilities.TOXIC_CHAIN, Abilities.NONE, Abilities.GUARD_DOG, 555, 88, 128, 115, 58, 86, 80, 3, 0, 276, GrowthRate.SLOW, 100, false),
|
||||
new PokemonSpecies(Species.MUNKIDORI, 9, false, true, false, "Retainer Pokémon", Type.POISON, Type.PSYCHIC, 1, 12.2, Abilities.TOXIC_CHAIN, Abilities.NONE, Abilities.FRISK, 555, 88, 75, 66, 130, 90, 106, 3, 0, 276, GrowthRate.SLOW, 100, false),
|
||||
new PokemonSpecies(Species.FEZANDIPITI, 9, false, true, false, "Retainer Pokémon", Type.POISON, Type.FAIRY, 1.4, 30.1, Abilities.TOXIC_CHAIN, Abilities.NONE, Abilities.TECHNICIAN, 555, 88, 91, 82, 70, 125, 99, 3, 0, 276, GrowthRate.SLOW, 100, false),
|
||||
new PokemonSpecies(Species.OGERPON, 9, false, true, false, "Mask Pokémon", Type.GRASS, null, 1.2, 39.8, Abilities.DEFIANT, Abilities.NONE, Abilities.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275, GrowthRate.SLOW, 0, false, false,
|
||||
new PokemonSpecies(Species.OKIDOGI, 9, true, false, false, "Retainer Pokémon", Type.POISON, Type.FIGHTING, 1.8, 92.2, Abilities.TOXIC_CHAIN, Abilities.NONE, Abilities.GUARD_DOG, 555, 88, 128, 115, 58, 86, 80, 3, 0, 276, GrowthRate.SLOW, 100, false),
|
||||
new PokemonSpecies(Species.MUNKIDORI, 9, true, false, false, "Retainer Pokémon", Type.POISON, Type.PSYCHIC, 1, 12.2, Abilities.TOXIC_CHAIN, Abilities.NONE, Abilities.FRISK, 555, 88, 75, 66, 130, 90, 106, 3, 0, 276, GrowthRate.SLOW, 100, false),
|
||||
new PokemonSpecies(Species.FEZANDIPITI, 9, true, false, false, "Retainer Pokémon", Type.POISON, Type.FAIRY, 1.4, 30.1, Abilities.TOXIC_CHAIN, Abilities.NONE, Abilities.TECHNICIAN, 555, 88, 91, 82, 70, 125, 99, 3, 0, 276, GrowthRate.SLOW, 100, false),
|
||||
new PokemonSpecies(Species.OGERPON, 9, true, false, false, "Mask Pokémon", Type.GRASS, null, 1.2, 39.8, Abilities.DEFIANT, Abilities.NONE, Abilities.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275, GrowthRate.SLOW, 0, false, false,
|
||||
new PokemonForm("Teal Mask", "teal-mask", Type.GRASS, null, 1.2, 39.8, Abilities.DEFIANT, Abilities.NONE, Abilities.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275),
|
||||
new PokemonForm("Wellspring Mask", "wellspring-mask", Type.GRASS, Type.WATER, 1.2, 39.8, Abilities.WATER_ABSORB, Abilities.NONE, Abilities.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275),
|
||||
new PokemonForm("Hearthflame Mask", "hearthflame-mask", Type.GRASS, Type.FIRE, 1.2, 39.8, Abilities.MOLD_BREAKER, Abilities.NONE, Abilities.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275),
|
||||
|
@ -8,14 +8,14 @@ export function getSplashMessages(): string[] {
|
||||
const splashMessages = Array(10).fill(getBattleCountSplashMessage());
|
||||
splashMessages.push(...[
|
||||
i18next.t('splashMessages:joinTheDiscord'),
|
||||
i18next.t('splashMessages:infiniteLevel'),
|
||||
i18next.t('splashMessages:infiniteLevels'),
|
||||
i18next.t('splashMessages:everythingStacks'),
|
||||
i18next.t('splashMessages:optionalSaveScumming'),
|
||||
i18next.t('splashMessages:biomes'),
|
||||
i18next.t('splashMessages:openSource'),
|
||||
i18next.t('splashMessages:playWith5xSpeed'),
|
||||
i18next.t('splashMessages:playWithSpeed'),
|
||||
i18next.t('splashMessages:liveBugTesting'),
|
||||
i18next.t('splashMessages:heavyRoR2Influence'),
|
||||
i18next.t('splashMessages:heavyInfluence'),
|
||||
i18next.t('splashMessages:pokemonRiskAndPokemonRain'),
|
||||
i18next.t('splashMessages:nowWithMoreSalt'),
|
||||
i18next.t('splashMessages:infiniteFusionAtHome'),
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { Biome } from "./enums/biome";
|
||||
import { getPokemonMessage } from "../messages";
|
||||
import { getPokemonMessage, getPokemonPrefix } from "../messages";
|
||||
import Pokemon from "../field/pokemon";
|
||||
import { Type } from "./type";
|
||||
import Move, { AttackMove } from "./move";
|
||||
@ -172,9 +172,9 @@ export function getWeatherLapseMessage(weatherType: WeatherType): string {
|
||||
export function getWeatherDamageMessage(weatherType: WeatherType, pokemon: Pokemon): string {
|
||||
switch (weatherType) {
|
||||
case WeatherType.SANDSTORM:
|
||||
return getPokemonMessage(pokemon, ' is buffeted\nby the sandstorm!');
|
||||
return i18next.t('weather:sandstormDamageMessage', {pokemonPrefix: getPokemonPrefix(pokemon), pokemonName: pokemon.name});
|
||||
case WeatherType.HAIL:
|
||||
return getPokemonMessage(pokemon, ' is pelted\nby the hail!');
|
||||
return i18next.t('weather:hailDamageMessage', {pokemonPrefix: getPokemonPrefix(pokemon), pokemonName: pokemon.name});
|
||||
}
|
||||
|
||||
return null;
|
||||
|
@ -378,16 +378,29 @@ export default class Trainer extends Phaser.GameObjects.Container {
|
||||
};
|
||||
const sprites = this.getSprites();
|
||||
const tintSprites = this.getTintSprites();
|
||||
sprites[0].play(trainerAnimConfig);
|
||||
tintSprites[0].play(trainerAnimConfig);
|
||||
|
||||
// Don't try to play an animation when there isn't one
|
||||
if (sprites.length > 1) {
|
||||
sprites[0].play(trainerAnimConfig);
|
||||
tintSprites[0].play(trainerAnimConfig);
|
||||
}
|
||||
else
|
||||
console.warn(`No animation found for '${this.getKey()}'. Is this intentional?`);
|
||||
|
||||
if (this.variant === TrainerVariant.DOUBLE && !this.config.doubleOnly) {
|
||||
const partnerTrainerAnimConfig = {
|
||||
key: this.getKey(true),
|
||||
repeat: 0,
|
||||
startFrame: 0
|
||||
};
|
||||
sprites[1].play(partnerTrainerAnimConfig);
|
||||
tintSprites[1].play(partnerTrainerAnimConfig);
|
||||
|
||||
// Don't try to play an animation when there isn't one
|
||||
if (sprites.length > 1) {
|
||||
sprites[1].play(partnerTrainerAnimConfig);
|
||||
tintSprites[1].play(partnerTrainerAnimConfig);
|
||||
}
|
||||
else
|
||||
console.warn(`No animation found for '${this.getKey()}'. Is this intentional?`);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -231,6 +231,9 @@ export class LoadingScene extends SceneBase {
|
||||
|
||||
this.loadImage('egg_list_bg', 'ui');
|
||||
|
||||
this.loadImage('end_m', 'cg');
|
||||
this.loadImage('end_f', 'cg');
|
||||
|
||||
for (let i = 0; i < 10; i++) {
|
||||
this.loadAtlas(`pokemon_icons_${i}`, '');
|
||||
if (i)
|
||||
|
10
src/locales/de/battle-message-ui-handler.ts
Normal file
10
src/locales/de/battle-message-ui-handler.ts
Normal file
@ -0,0 +1,10 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const battleMessageUiHandler: SimpleTranslationEntries = {
|
||||
"ivBest": "Sensationell",
|
||||
"ivFantastic": "Fantastisch",
|
||||
"ivVeryGood": "Sehr Gut",
|
||||
"ivPrettyGood": "Gut",
|
||||
"ivDecent": "Nicht Übel",
|
||||
"ivNoGood": "Schlecht",
|
||||
} as const;
|
48
src/locales/de/berry.ts
Normal file
48
src/locales/de/berry.ts
Normal file
@ -0,0 +1,48 @@
|
||||
import { BerryTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const berry: BerryTranslationEntries = {
|
||||
"SITRUS": {
|
||||
name: "Sitrus Berry",
|
||||
effect: "Restores 25% HP if HP is below 50%",
|
||||
},
|
||||
"LUM": {
|
||||
name: "Lum Berry",
|
||||
effect: "Cures any non-volatile status condition and confusion",
|
||||
},
|
||||
"ENIGMA": {
|
||||
name: "Enigma Berry",
|
||||
effect: "Restores 25% HP if hit by a super effective move",
|
||||
},
|
||||
"LIECHI": {
|
||||
name: "Liechi Berry",
|
||||
effect: "Raises Attack if HP is below 25%",
|
||||
},
|
||||
"GANLON": {
|
||||
name: "Ganlon Berry",
|
||||
effect: "Raises Defense if HP is below 25%",
|
||||
},
|
||||
"PETAYA": {
|
||||
name: "Petaya Berry",
|
||||
effect: "Raises Sp. Atk if HP is below 25%",
|
||||
},
|
||||
"APICOT": {
|
||||
name: "Apicot Berry",
|
||||
effect: "Raises Sp. Def if HP is below 25%",
|
||||
},
|
||||
"SALAC": {
|
||||
name: "Salac Berry",
|
||||
effect: "Raises Speed if HP is below 25%",
|
||||
},
|
||||
"LANSAT": {
|
||||
name: "Lansat Berry",
|
||||
effect: "Raises critical hit ratio if HP is below 25%",
|
||||
},
|
||||
"STARF": {
|
||||
name: "Starf Berry",
|
||||
effect: "Sharply raises a random stat if HP is below 25%",
|
||||
},
|
||||
"LEPPA": {
|
||||
name: "Leppa Berry",
|
||||
effect: "Restores 10 PP to a move if its PP reaches 0",
|
||||
},
|
||||
} as const;
|
@ -15,13 +15,17 @@ import { partyUiHandler } from "./party-ui-handler";
|
||||
import { pokeball } from "./pokeball";
|
||||
import { pokemon } from "./pokemon";
|
||||
import { pokemonStat } from "./pokemon-stat";
|
||||
import { splashMessages } from "./splash-messages";
|
||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { SummaryUiHandler } from "./summary-ui-handler";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { weather } from "./weather";
|
||||
import { titles,trainerClasses,trainerNames } from "./trainers";
|
||||
import { splashMessages } from "./splash-messages"
|
||||
|
||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||
import { berry } from "./berry";
|
||||
|
||||
export const deConfig = {
|
||||
ability: ability,
|
||||
@ -30,12 +34,16 @@ export const deConfig = {
|
||||
commandUiHandler: commandUiHandler,
|
||||
egg: egg,
|
||||
fightUiHandler: fightUiHandler,
|
||||
menuUiHandler: menuUiHandler,
|
||||
growth: growth,
|
||||
menu: menu,
|
||||
menuUiHandler: menuUiHandler,
|
||||
modifierType: modifierType,
|
||||
move: move,
|
||||
nature: nature,
|
||||
pokeball: pokeball,
|
||||
pokemonStat: pokemonStat,
|
||||
pokemon: pokemon,
|
||||
pokemonStat: pokemonStat,
|
||||
splashMessages: splashMessages,
|
||||
starterSelectUiHandler: starterSelectUiHandler,
|
||||
titles: titles,
|
||||
trainerClasses: trainerClasses,
|
||||
@ -49,4 +57,6 @@ export const deConfig = {
|
||||
biome: biome,
|
||||
weather: weather,
|
||||
modifierType: modifierType,
|
||||
battleMessageUiHandler: battleMessageUiHandler,
|
||||
berry: berry,
|
||||
}
|
||||
|
@ -12,10 +12,10 @@ export const menu: SimpleTranslationEntries = {
|
||||
"loadGame": "Spiel laden",
|
||||
"newGame": "Neues Spiel",
|
||||
"selectGameMode": "Wähle einen Spielmodus",
|
||||
"logInOrCreateAccount": "Logge dich ein oder erstelle einen Account zum starten. Keine Email nötig!",
|
||||
"logInOrCreateAccount": "Melde dich an oder erstelle einen Account zum starten. Keine Email nötig!",
|
||||
"username": "Benutzername",
|
||||
"password": "Passwort",
|
||||
"login": "Einloggen",
|
||||
"login": "Anmelden",
|
||||
"register": "Registrieren",
|
||||
"emptyUsername": "Benutzername darf nicht leer sein",
|
||||
"invalidLoginUsername": "Der eingegebene Benutzername ist ungültig",
|
||||
@ -26,20 +26,20 @@ export const menu: SimpleTranslationEntries = {
|
||||
"accountNonExistent": "Der eingegebene Benutzer existiert nicht",
|
||||
"unmatchingPassword": "Das eingegebene Passwort stimmt nicht überein",
|
||||
"passwordNotMatchingConfirmPassword": "Passwort muss mit Bestätigungspasswort übereinstimmen",
|
||||
"confirmPassword": "Besätige Passwort",
|
||||
"confirmPassword": "Bestätige Passwort",
|
||||
"registrationAgeWarning": "Mit der Registrierung bestätigen Sie, dass Sie 13 Jahre oder älter sind.",
|
||||
"backToLogin": "Zurück zum Einloggen",
|
||||
"backToLogin": "Zurück zur Anmeldung",
|
||||
"failedToLoadSaveData": "Speicherdaten konnten nicht geladen werden. Bitte laden Sie die Seite neu.\nWenn dies weiterhin der Fall ist, wenden Sie sich bitte an den Administrator.",
|
||||
"sessionSuccess": "Sitzung erfolgreich geladen.",
|
||||
"failedToLoadSession": "Ihre Sitzungsdaten konnten nicht geladen werden.\nSie könnten beschädigt sein.",
|
||||
"boyOrGirl": "Bist du ein Junge oder ein Mädchen?",
|
||||
"boy": "Junge",
|
||||
"girl": "Mädchen",
|
||||
"evolving": "Was?\n{{pokemonName}} entwickelt sich!",
|
||||
"stoppedEvolving": "{{pokemonName}} hat aufgehört sich zu entwickeln.",
|
||||
"pauseEvolutionsQuestion": "Willst du die Entwicklungen für {{pokemonName}} pausieren?\nEntwicklungen können vom Team-Menü aus fortgesetzt werden.",
|
||||
"evolutionsPaused": "Entwicklungen für {{pokemonName}} wurden pausiert.",
|
||||
"evolutionDone": "Glückwunsch!\nDein {{pokemonName}} hat sich in {{evolvedPokemonName}} entwickelt!",
|
||||
"evolving": "Nanu?\n{{pokemonName}} entwickelt sich!",
|
||||
"stoppedEvolving": "Hm? {{pokemonName}} hat die Entwicklung \nabgebrochen.", // "Hm? Entwicklung wurde abgebrochen!" without naming the pokemon seems to be the original.
|
||||
"pauseEvolutionsQuestion": "Die Entwicklung von {{pokemonName}} vorübergehend pausieren?\nEntwicklungen können im Gruppenmenü wieder aktiviert werden.",
|
||||
"evolutionsPaused": "Entwicklung von {{pokemonName}} pausiert.",
|
||||
"evolutionDone": "Glückwunsch!\nDein {{pokemonName}} entwickelte sich zu {{evolvedPokemonName}}!",
|
||||
"dailyRankings": "Tägliche Rangliste",
|
||||
"weeklyRankings": "Wöchentliche Rangliste",
|
||||
"noRankings": "Keine Rangliste",
|
||||
@ -48,4 +48,4 @@ export const menu: SimpleTranslationEntries = {
|
||||
"empty":"Leer",
|
||||
"yes":"Ja",
|
||||
"no":"Nein",
|
||||
} as const;
|
||||
} as const;
|
||||
|
@ -44,8 +44,8 @@ export const trainerClasses: SimpleTranslationEntries = {
|
||||
"depot_agent": "Bahnangestellter",
|
||||
"doctor": "Arzt",
|
||||
"doctor_female": "Ärztin",
|
||||
"fishermen": "Angler",
|
||||
"fishermen_female": "Angler", // Seems to be the same in german but exists in other languages like italian
|
||||
"fisherman": "Angler",
|
||||
"fisherman_female": "Angler", // Seems to be the same in german but exists in other languages like italian
|
||||
"gentleman": "Gentleman",
|
||||
"guitarist": "Gitarrist",
|
||||
"guitarist_female": "Gitarristin",
|
||||
@ -61,15 +61,15 @@ export const trainerClasses: SimpleTranslationEntries = {
|
||||
"maid": "Zofe",
|
||||
"madame": "Madam",
|
||||
"medical_team": "Mediziner",
|
||||
"musican": "Musiker",
|
||||
"musician": "Musiker",
|
||||
"hex_maniac": "Hexe",
|
||||
"nurse": "Pflegerin",
|
||||
"nursery_aide": "Erzieherin",
|
||||
"officer": "Polizist",
|
||||
"parasol_lady": "Schirmdame",
|
||||
"pilot": "Pilot",
|
||||
"poké_fan": "Pokéfan",
|
||||
"poké_fan_family": "Pokéfan-Pärchen",
|
||||
"pokefan": "Pokéfan",
|
||||
"pokefan_family": "Pokéfan-Pärchen",
|
||||
"preschooler": "Vorschüler",
|
||||
"preschooler_female": "Vorschülerin",
|
||||
"preschoolers": "Vorschüler",
|
||||
@ -80,8 +80,12 @@ export const trainerClasses: SimpleTranslationEntries = {
|
||||
"pokémon_rangers": "Pokémon-Ranger",
|
||||
"ranger": "Ranger",
|
||||
"restaurant_staff": "Restaurant Angestellte",
|
||||
"rich": "Rich",
|
||||
"rich_female": "Rich",
|
||||
"rich_boy": "Schnösel",
|
||||
"rich_couple": "Reiches Paar",
|
||||
"rich_kid": "Rich Kid",
|
||||
"rich_kid_female": "Rich Kid",
|
||||
"rich_kids": "Schnösel",
|
||||
"roughneck": "Raufbold",
|
||||
"scientist": "Forscher",
|
||||
|
10
src/locales/en/battle-message-ui-handler.ts
Normal file
10
src/locales/en/battle-message-ui-handler.ts
Normal file
@ -0,0 +1,10 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const battleMessageUiHandler: SimpleTranslationEntries = {
|
||||
"ivBest": "Best",
|
||||
"ivFantastic": "Fantastic",
|
||||
"ivVeryGood": "Very Good",
|
||||
"ivPrettyGood": "Pretty Good",
|
||||
"ivDecent": "Decent",
|
||||
"ivNoGood": "No Good",
|
||||
} as const;
|
48
src/locales/en/berry.ts
Normal file
48
src/locales/en/berry.ts
Normal file
@ -0,0 +1,48 @@
|
||||
import { BerryTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const berry: BerryTranslationEntries = {
|
||||
"SITRUS": {
|
||||
name: "Sitrus Berry",
|
||||
effect: "Restores 25% HP if HP is below 50%",
|
||||
},
|
||||
"LUM": {
|
||||
name: "Lum Berry",
|
||||
effect: "Cures any non-volatile status condition and confusion",
|
||||
},
|
||||
"ENIGMA": {
|
||||
name: "Enigma Berry",
|
||||
effect: "Restores 25% HP if hit by a super effective move",
|
||||
},
|
||||
"LIECHI": {
|
||||
name: "Liechi Berry",
|
||||
effect: "Raises Attack if HP is below 25%",
|
||||
},
|
||||
"GANLON": {
|
||||
name: "Ganlon Berry",
|
||||
effect: "Raises Defense if HP is below 25%",
|
||||
},
|
||||
"PETAYA": {
|
||||
name: "Petaya Berry",
|
||||
effect: "Raises Sp. Atk if HP is below 25%",
|
||||
},
|
||||
"APICOT": {
|
||||
name: "Apicot Berry",
|
||||
effect: "Raises Sp. Def if HP is below 25%",
|
||||
},
|
||||
"SALAC": {
|
||||
name: "Salac Berry",
|
||||
effect: "Raises Speed if HP is below 25%",
|
||||
},
|
||||
"LANSAT": {
|
||||
name: "Lansat Berry",
|
||||
effect: "Raises critical hit ratio if HP is below 25%",
|
||||
},
|
||||
"STARF": {
|
||||
name: "Starf Berry",
|
||||
effect: "Sharply raises a random stat if HP is below 25%",
|
||||
},
|
||||
"LEPPA": {
|
||||
name: "Leppa Berry",
|
||||
effect: "Restores 10 PP to a move if its PP reaches 0",
|
||||
},
|
||||
} as const;
|
@ -15,13 +15,14 @@ import { partyUiHandler } from "./party-ui-handler";
|
||||
import { pokeball } from "./pokeball";
|
||||
import { pokemon } from "./pokemon";
|
||||
import { pokemonStat } from "./pokemon-stat";
|
||||
import { splashMessages } from "./splash-messages";
|
||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { SummaryUiHandler } from "./summary-ui-handler";
|
||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { titles,trainerClasses,trainerNames } from "./trainers";
|
||||
import { splashMessages } from "./splash-messages"
|
||||
import { weather } from "./weather";
|
||||
|
||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||
import { berry } from "./berry";
|
||||
|
||||
export const enConfig = {
|
||||
ability: ability,
|
||||
@ -30,12 +31,16 @@ export const enConfig = {
|
||||
commandUiHandler: commandUiHandler,
|
||||
egg: egg,
|
||||
fightUiHandler: fightUiHandler,
|
||||
menuUiHandler: menuUiHandler,
|
||||
growth: growth,
|
||||
menu: menu,
|
||||
menuUiHandler: menuUiHandler,
|
||||
modifierType: modifierType,
|
||||
move: move,
|
||||
nature: nature,
|
||||
pokeball: pokeball,
|
||||
pokemonStat: pokemonStat,
|
||||
pokemon: pokemon,
|
||||
pokemonStat: pokemonStat,
|
||||
splashMessages: splashMessages,
|
||||
starterSelectUiHandler: starterSelectUiHandler,
|
||||
titles: titles,
|
||||
trainerClasses: trainerClasses,
|
||||
@ -48,5 +53,6 @@ export const enConfig = {
|
||||
summaryUiHandler: SummaryUiHandler,
|
||||
biome: biome,
|
||||
weather: weather,
|
||||
modifierType: modifierType,
|
||||
}
|
||||
battleMessageUiHandler: battleMessageUiHandler,
|
||||
berry: berry,
|
||||
}
|
@ -44,8 +44,8 @@ export const trainerClasses: SimpleTranslationEntries = {
|
||||
"depot_agent": "Depot Agent",
|
||||
"doctor": "Doctor",
|
||||
"doctor_female": "Doctor",
|
||||
"fishermen": "Fishermen",
|
||||
"fishermen_female": "Fishermen",
|
||||
"fisherman": "Fisherman",
|
||||
"fisherman_female": "Fisherman",
|
||||
"gentleman": "Gentleman",
|
||||
"guitarist": "Guitarist",
|
||||
"guitarist_female": "Guitarist",
|
||||
@ -61,15 +61,15 @@ export const trainerClasses: SimpleTranslationEntries = {
|
||||
"maid": "Maid",
|
||||
"madame": "Madame",
|
||||
"medical_team": "Medical Team",
|
||||
"musican": "Musician",
|
||||
"musician": "Musician",
|
||||
"hex_maniac": "Hex Maniac",
|
||||
"nurse": "Nurse",
|
||||
"nursery_aide": "Nursery Aide",
|
||||
"officer": "Officer",
|
||||
"parasol_lady": "Parasol Lady",
|
||||
"pilot": "Pilot",
|
||||
"poké_fan": "Poké Fan",
|
||||
"poké_fan_family": "Poké Fan Family",
|
||||
"pokefan": "Poké Fan",
|
||||
"pokefan_family": "Poké Fan Family",
|
||||
"preschooler": "Preschooler",
|
||||
"preschooler_female": "Preschooler",
|
||||
"preschoolers": "Preschoolers",
|
||||
@ -80,8 +80,12 @@ export const trainerClasses: SimpleTranslationEntries = {
|
||||
"pokémon_rangers": "Pokémon Ranger",
|
||||
"ranger": "Ranger",
|
||||
"restaurant_staff": "Restaurant Staff",
|
||||
"rich": "Rich",
|
||||
"rich_female": "Rich",
|
||||
"rich_boy": "Rich Boy",
|
||||
"rich_couple": "Rich Couple",
|
||||
"rich_kid": "Rich Kid",
|
||||
"rich_kid_female": "Rich Kid",
|
||||
"rich_kids": "Rich Kids",
|
||||
"roughneck": "Roughneck",
|
||||
"scientist": "Scientist",
|
||||
|
10
src/locales/es/battle-message-ui-handler.ts
Normal file
10
src/locales/es/battle-message-ui-handler.ts
Normal file
@ -0,0 +1,10 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const battleMessageUiHandler: SimpleTranslationEntries = {
|
||||
"ivBest": "Best",
|
||||
"ivFantastic": "Fantastic",
|
||||
"ivVeryGood": "Very Good",
|
||||
"ivPrettyGood": "Pretty Good",
|
||||
"ivDecent": "Decent",
|
||||
"ivNoGood": "No Good",
|
||||
} as const;
|
48
src/locales/es/berry.ts
Normal file
48
src/locales/es/berry.ts
Normal file
@ -0,0 +1,48 @@
|
||||
import { BerryTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const berry: BerryTranslationEntries = {
|
||||
"SITRUS": {
|
||||
name: "Sitrus Berry",
|
||||
effect: "Restores 25% HP if HP is below 50%",
|
||||
},
|
||||
"LUM": {
|
||||
name: "Lum Berry",
|
||||
effect: "Cures any non-volatile status condition and confusion",
|
||||
},
|
||||
"ENIGMA": {
|
||||
name: "Enigma Berry",
|
||||
effect: "Restores 25% HP if hit by a super effective move",
|
||||
},
|
||||
"LIECHI": {
|
||||
name: "Liechi Berry",
|
||||
effect: "Raises Attack if HP is below 25%",
|
||||
},
|
||||
"GANLON": {
|
||||
name: "Ganlon Berry",
|
||||
effect: "Raises Defense if HP is below 25%",
|
||||
},
|
||||
"PETAYA": {
|
||||
name: "Petaya Berry",
|
||||
effect: "Raises Sp. Atk if HP is below 25%",
|
||||
},
|
||||
"APICOT": {
|
||||
name: "Apicot Berry",
|
||||
effect: "Raises Sp. Def if HP is below 25%",
|
||||
},
|
||||
"SALAC": {
|
||||
name: "Salac Berry",
|
||||
effect: "Raises Speed if HP is below 25%",
|
||||
},
|
||||
"LANSAT": {
|
||||
name: "Lansat Berry",
|
||||
effect: "Raises critical hit ratio if HP is below 25%",
|
||||
},
|
||||
"STARF": {
|
||||
name: "Starf Berry",
|
||||
effect: "Sharply raises a random stat if HP is below 25%",
|
||||
},
|
||||
"LEPPA": {
|
||||
name: "Leppa Berry",
|
||||
effect: "Restores 10 PP to a move if its PP reaches 0",
|
||||
},
|
||||
} as const;
|
@ -15,13 +15,14 @@ import { partyUiHandler } from "./party-ui-handler";
|
||||
import { pokeball } from "./pokeball";
|
||||
import { pokemon } from "./pokemon";
|
||||
import { pokemonStat } from "./pokemon-stat";
|
||||
import { splashMessages } from "./splash-messages";
|
||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { SummaryUiHandler } from "./summary-ui-handler";
|
||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { titles,trainerClasses,trainerNames } from "./trainers";
|
||||
import { splashMessages } from "./splash-messages"
|
||||
import { weather } from "./weather";
|
||||
|
||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||
import { berry } from "./berry";
|
||||
|
||||
export const esConfig = {
|
||||
ability: ability,
|
||||
@ -30,12 +31,16 @@ export const esConfig = {
|
||||
commandUiHandler: commandUiHandler,
|
||||
egg: egg,
|
||||
fightUiHandler: fightUiHandler,
|
||||
menuUiHandler: menuUiHandler,
|
||||
growth: growth,
|
||||
menu: menu,
|
||||
menuUiHandler: menuUiHandler,
|
||||
modifierType: modifierType,
|
||||
move: move,
|
||||
nature: nature,
|
||||
pokeball: pokeball,
|
||||
pokemonStat: pokemonStat,
|
||||
pokemon: pokemon,
|
||||
pokemonStat: pokemonStat,
|
||||
splashMessages: splashMessages,
|
||||
starterSelectUiHandler: starterSelectUiHandler,
|
||||
titles: titles,
|
||||
trainerClasses: trainerClasses,
|
||||
@ -48,5 +53,6 @@ export const esConfig = {
|
||||
summaryUiHandler: SummaryUiHandler,
|
||||
biome: biome,
|
||||
weather: weather,
|
||||
modifierType: modifierType,
|
||||
}
|
||||
battleMessageUiHandler: battleMessageUiHandler,
|
||||
berry: berry,
|
||||
}
|
@ -44,8 +44,8 @@ export const trainerClasses: SimpleTranslationEntries = {
|
||||
"depot_agent": "Depot Agent",
|
||||
"doctor": "Doctor",
|
||||
"doctor_female": "Doctor",
|
||||
"fishermen": "Fishermen",
|
||||
"fishermen_female": "Fishermen",
|
||||
"fisherman": "Fisherman",
|
||||
"fisherman_female": "Fisherman",
|
||||
"gentleman": "Gentleman",
|
||||
"guitarist": "Guitarist",
|
||||
"guitarist_female": "Guitarist",
|
||||
@ -61,15 +61,15 @@ export const trainerClasses: SimpleTranslationEntries = {
|
||||
"maid": "Maid",
|
||||
"madame": "Madame",
|
||||
"medical_team": "Medical Team",
|
||||
"musican": "Musician",
|
||||
"musician": "Musician",
|
||||
"hex_maniac": "Hex Maniac",
|
||||
"nurse": "Nurse",
|
||||
"nursery_aide": "Nursery Aide",
|
||||
"officer": "Officer",
|
||||
"parasol_lady": "Parasol Lady",
|
||||
"pilot": "Pilot",
|
||||
"poké_fan": "Poké Fan",
|
||||
"poké_fan_family": "Poké Fan Family",
|
||||
"pokefan": "Poké Fan",
|
||||
"pokefan_family": "Poké Fan Family",
|
||||
"preschooler": "Preschooler",
|
||||
"preschooler_female": "Preschooler",
|
||||
"preschoolers": "Preschoolers",
|
||||
@ -80,8 +80,12 @@ export const trainerClasses: SimpleTranslationEntries = {
|
||||
"pokémon_rangers": "Pokémon Ranger",
|
||||
"ranger": "Ranger",
|
||||
"restaurant_staff": "Restaurant Staff",
|
||||
"rich": "Rich",
|
||||
"rich_female": "Rich",
|
||||
"rich_boy": "Rich Boy",
|
||||
"rich_couple": "Rich Couple",
|
||||
"rich_kid": "Rich Kid",
|
||||
"rich_kid_female": "Rich Kid",
|
||||
"rich_kids": "Rich Kids",
|
||||
"roughneck": "Roughneck",
|
||||
"scientist": "Scientist",
|
||||
|
10
src/locales/fr/battle-message-ui-handler.ts
Normal file
10
src/locales/fr/battle-message-ui-handler.ts
Normal file
@ -0,0 +1,10 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const battleMessageUiHandler: SimpleTranslationEntries = {
|
||||
"ivBest": "Exceptionnel",
|
||||
"ivFantastic": "Fantastique",
|
||||
"ivVeryGood": "Très bon",
|
||||
"ivPrettyGood": "Bon",
|
||||
"ivDecent": "Passable…",
|
||||
"ivNoGood": "Pas top…",
|
||||
} as const;
|
48
src/locales/fr/berry.ts
Normal file
48
src/locales/fr/berry.ts
Normal file
@ -0,0 +1,48 @@
|
||||
import { BerryTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const berry: BerryTranslationEntries = {
|
||||
"SITRUS": {
|
||||
name: "Baie Sitrus",
|
||||
effect: "Restaure 25% des PV s’ils sont inférieurs à 50%",
|
||||
},
|
||||
"LUM": {
|
||||
name: "Baie Prine",
|
||||
effect: "Soigne tout problème de statut permanant et la confusion",
|
||||
},
|
||||
"ENIGMA": {
|
||||
name: "Baie Enigma",
|
||||
effect: "Restaure 25% des PV si touché par une capacité super efficace",
|
||||
},
|
||||
"LIECHI": {
|
||||
name: "Baie Lichii",
|
||||
effect: "Augmente l’Attaque si les PV sont inférieurs à 25%",
|
||||
},
|
||||
"GANLON": {
|
||||
name: "Baie Lingan",
|
||||
effect: "Augmente la Défense si les PV sont inférieurs à 25%",
|
||||
},
|
||||
"PETAYA": {
|
||||
name: "Baie Pitaye",
|
||||
effect: "Augmente l’Atq. Spé. si les PV sont inférieurs à 25%",
|
||||
},
|
||||
"APICOT": {
|
||||
name: "Baie Abriko",
|
||||
effect: "Augmente la Déf. Spé. si les PV sont inférieurs à 25%",
|
||||
},
|
||||
"SALAC": {
|
||||
name: "Baie Sailak",
|
||||
effect: "Augmente la Vitesse si les PV sont inférieurs à 25%",
|
||||
},
|
||||
"LANSAT": {
|
||||
name: "Baie Lansat",
|
||||
effect: "Augmente le taux de coups critiques si les PV sont inférieurs à 25%",
|
||||
},
|
||||
"STARF": {
|
||||
name: "Baie Frista",
|
||||
effect: "Augmente énormément une statistique au hasard si les PV sont inférieurs à 25%",
|
||||
},
|
||||
"LEPPA": {
|
||||
name: "Baie Mepo",
|
||||
effect: "Restaure 10 PP à une capacité dès que ses PP tombent à 0",
|
||||
},
|
||||
} as const;
|
@ -15,14 +15,14 @@ import { partyUiHandler } from "./party-ui-handler";
|
||||
import { pokeball } from "./pokeball";
|
||||
import { pokemon } from "./pokemon";
|
||||
import { pokemonStat } from "./pokemon-stat";
|
||||
import { splashMessages } from "./splash-messages";
|
||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { SummaryUiHandler } from "./summary-ui-handler";
|
||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { titles,trainerClasses,trainerNames } from "./trainers";
|
||||
import { splashMessages } from "./splash-messages"
|
||||
import { weather } from "./weather";
|
||||
|
||||
|
||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||
import { berry } from "./berry";
|
||||
|
||||
export const frConfig = {
|
||||
ability: ability,
|
||||
@ -31,12 +31,16 @@ export const frConfig = {
|
||||
commandUiHandler: commandUiHandler,
|
||||
egg: egg,
|
||||
fightUiHandler: fightUiHandler,
|
||||
menuUiHandler: menuUiHandler,
|
||||
growth: growth,
|
||||
menu: menu,
|
||||
menuUiHandler: menuUiHandler,
|
||||
modifierType: modifierType,
|
||||
move: move,
|
||||
nature: nature,
|
||||
pokeball: pokeball,
|
||||
pokemonStat: pokemonStat,
|
||||
pokemon: pokemon,
|
||||
pokemonStat: pokemonStat,
|
||||
splashMessages: splashMessages,
|
||||
starterSelectUiHandler: starterSelectUiHandler,
|
||||
titles: titles,
|
||||
trainerClasses: trainerClasses,
|
||||
@ -48,6 +52,8 @@ export const frConfig = {
|
||||
partyUiHandler: partyUiHandler,
|
||||
summaryUiHandler: SummaryUiHandler,
|
||||
biome: biome,
|
||||
weather: weather,
|
||||
modifierType: modifierType,
|
||||
weather: weather,
|
||||
battleMessageUiHandler: battleMessageUiHandler,
|
||||
berry: berry,
|
||||
}
|
||||
|
@ -3,407 +3,407 @@ import { ModifierTypeTranslationEntries } from "#app/plugins/i18n";
|
||||
export const modifierType: ModifierTypeTranslationEntries = {
|
||||
ModifierType: {
|
||||
"AddPokeballModifierType": {
|
||||
name: "{{modifierCount}}x {{pokeballName}}",
|
||||
description: "Receive {{pokeballName}} x{{modifierCount}} (Inventory: {{pokeballAmount}}) \nCatch Rate: {{catchRate}}",
|
||||
name: "{{pokeballName}} x{{modifierCount}}",
|
||||
description: "Recevez {{modifierCount}} {{pokeballName}}s (Inventaire : {{pokeballAmount}}) \nTaux de capture : {{catchRate}}",
|
||||
},
|
||||
"AddVoucherModifierType": {
|
||||
name: "{{modifierCount}}x {{voucherTypeName}}",
|
||||
description: "Receive {{voucherTypeName}} x{{modifierCount}}",
|
||||
name: "{{voucherTypeName}} x{{modifierCount}}",
|
||||
description: "Recevez {{modifierCount}} {{voucherTypeName}}",
|
||||
},
|
||||
"PokemonHeldItemModifierType": {
|
||||
extra: {
|
||||
"inoperable": "{{pokemonName}} can't take\nthis item!",
|
||||
"tooMany": "{{pokemonName}} has too many\nof this item!",
|
||||
"inoperable": "{{pokemonName}} ne peut pas\nporter cet objet !",
|
||||
"tooMany": "{{pokemonName}} possède trop\nd’exemplaires de cet objet !",
|
||||
}
|
||||
},
|
||||
"PokemonHpRestoreModifierType": {
|
||||
description: "Restores {{restorePoints}} HP or {{restorePercent}}% HP for one Pokémon, whichever is higher",
|
||||
description: "Restaure {{restorePoints}} PV ou {{restorePercent}}% des PV totaux d’un Pokémon, en fonction duquel des deux est le plus élevé",
|
||||
extra: {
|
||||
"fully": "Fully restores HP for one Pokémon",
|
||||
"fullyWithStatus": "Fully restores HP for one Pokémon and heals any status ailment",
|
||||
"fully": "Restaure tous les PV d’un Pokémon",
|
||||
"fullyWithStatus": "Restaure tous les PV d’un Pokémon et soigne tous ses problèmes de statut",
|
||||
}
|
||||
},
|
||||
"PokemonReviveModifierType": {
|
||||
description: "Revives one Pokémon and restores {{restorePercent}}% HP",
|
||||
description: "Réanime un Pokémon et restaure {{restorePercent}}% de ses PV",
|
||||
},
|
||||
"PokemonStatusHealModifierType": {
|
||||
description: "Heals any status ailment for one Pokémon",
|
||||
description: "Soigne tous les problèmes de statut d’un Pokémon",
|
||||
},
|
||||
"PokemonPpRestoreModifierType": {
|
||||
description: "Restores {{restorePoints}} PP for one Pokémon move",
|
||||
description: "Restaure {{restorePoints}} PP à une capacité d’un Pokémon",
|
||||
extra: {
|
||||
"fully": "Restores all PP for one Pokémon move",
|
||||
"fully": "Restaure tous les PP à une capacité d’un Pokémon",
|
||||
}
|
||||
},
|
||||
"PokemonAllMovePpRestoreModifierType": {
|
||||
description: "Restores {{restorePoints}} PP for all of one Pokémon's moves",
|
||||
description: "Restaure {{restorePoints}} PP à toutes les capacités d’un Pokémon",
|
||||
extra: {
|
||||
"fully": "Restores all PP for all of one Pokémon's moves",
|
||||
"fully": "Restaure tous les PP à toutes les capacités d’un Pokémon",
|
||||
}
|
||||
},
|
||||
"PokemonPpUpModifierType": {
|
||||
description: "Permanently increases PP for one Pokémon move by {{upPoints}} for every 5 maximum PP (maximum 3)",
|
||||
description: "Augmente le max de PP de {{upPoints}} à une capacité d’un Pokémon pour chaque 5 PP max (max : 3)",
|
||||
},
|
||||
"PokemonNatureChangeModifierType": {
|
||||
name: "{{natureName}} Mint",
|
||||
description: "Changes a Pokémon's nature to {{natureName}} and permanently unlocks the nature for the starter.",
|
||||
name: "Aromate {{natureName}}",
|
||||
description: "Donne la nature {{natureName}} à un Pokémon et la débloque pour le starter lui étant lié.",
|
||||
},
|
||||
"DoubleBattleChanceBoosterModifierType": {
|
||||
description: "Doubles the chance of an encounter being a double battle for {{battleCount}} battles",
|
||||
description: "Double les chances de tomber sur un combat double pendant {{battleCount}} combats",
|
||||
},
|
||||
"TempBattleStatBoosterModifierType": {
|
||||
description: "Increases the {{tempBattleStatName}} of all party members by 1 stage for 5 battles",
|
||||
description: "Augmente d’1 cran {{tempBattleStatName}} pour toute l’équipe pendant 5 combats",
|
||||
},
|
||||
"AttackTypeBoosterModifierType": {
|
||||
description: "Increases the power of a Pokémon's {{moveType}}-type moves by 20%",
|
||||
description: "Augmente de 20% la puissance des capacités de type {{moveType}} d’un Pokémon",
|
||||
},
|
||||
"PokemonLevelIncrementModifierType": {
|
||||
description: "Increases a Pokémon's level by 1",
|
||||
description: "Fait monter un Pokémon d’1 niveau",
|
||||
},
|
||||
"AllPokemonLevelIncrementModifierType": {
|
||||
description: "Increases all party members' level by 1",
|
||||
description: "Fait monter toute l’équipe d’1 niveau",
|
||||
},
|
||||
"PokemonBaseStatBoosterModifierType": {
|
||||
description: "Increases the holder's base {{statName}} by 10%. The higher your IVs, the higher the stack limit.",
|
||||
description: "Augmente de 10% {{statName}} de base de son porteur. Plus les IV sont hauts, plus il peut en porter.",
|
||||
},
|
||||
"AllPokemonFullHpRestoreModifierType": {
|
||||
description: "Restores 100% HP for all Pokémon",
|
||||
description: "Restaure tous les PV de toute l'équipe",
|
||||
},
|
||||
"AllPokemonFullReviveModifierType": {
|
||||
description: "Revives all fainted Pokémon, fully restoring HP",
|
||||
description: "Réanime et restaure tous les PV de tous les Pokémon K.O.",
|
||||
},
|
||||
"MoneyRewardModifierType": {
|
||||
description: "Grants a {{moneyMultiplier}} amount of money (₽{{moneyAmount}})",
|
||||
description: "Octroie une {{moneyMultiplier}} somme d’argent ({{moneyAmount}}₽)",
|
||||
extra: {
|
||||
"small": "small",
|
||||
"moderate": "moderate",
|
||||
"large": "large",
|
||||
"small": "petite",
|
||||
"moderate": "moyenne",
|
||||
"large": "grande",
|
||||
},
|
||||
},
|
||||
"ExpBoosterModifierType": {
|
||||
description: "Increases gain of EXP. Points by {{boostPercent}}%",
|
||||
description: "Augmente de {{boostPercent}}% le gain de Points d’Exp",
|
||||
},
|
||||
"PokemonExpBoosterModifierType": {
|
||||
description: "Increases the holder's gain of EXP. Points by {{boostPercent}}%",
|
||||
description: "Augmente de {{boostPercent}}% le gain de Points d’Exp du porteur",
|
||||
},
|
||||
"PokemonFriendshipBoosterModifierType": {
|
||||
description: "Increases friendship gain per victory by 50%",
|
||||
description: "Augmente le gain d’amitié de 50% par victoire",
|
||||
},
|
||||
"PokemonMoveAccuracyBoosterModifierType": {
|
||||
description: "Increases move accuracy by {{accuracyAmount}} (maximum 100)",
|
||||
description: "Augmente de {{accuracyAmount}} la précision des capacités (maximum 100)",
|
||||
},
|
||||
"PokemonMultiHitModifierType": {
|
||||
description: "Attacks hit one additional time at the cost of a 60/75/82.5% power reduction per stack respectively",
|
||||
description: "Frappe une fois de plus en échange d’une baisse de puissance de respectivement 60/75/82,5% par cumul",
|
||||
},
|
||||
"TmModifierType": {
|
||||
name: "TM{{moveId}} - {{moveName}}",
|
||||
description: "Teach {{moveName}} to a Pokémon",
|
||||
name: "CT{{moveId}} - {{moveName}}",
|
||||
description: "Apprend la capacité {{moveName}} à un Pokémon",
|
||||
},
|
||||
"EvolutionItemModifierType": {
|
||||
description: "Causes certain Pokémon to evolve",
|
||||
description: "Permet à certains Pokémon d’évoluer",
|
||||
},
|
||||
"FormChangeItemModifierType": {
|
||||
description: "Causes certain Pokémon to change form",
|
||||
description: "Permet à certains Pokémon de changer de forme",
|
||||
},
|
||||
"FusePokemonModifierType": {
|
||||
description: "Combines two Pokémon (transfers Ability, splits base stats and types, shares move pool)",
|
||||
description: "Fusionne deux Pokémon (transfère le Talent, sépare les stats de base et les types, partage le movepool)",
|
||||
},
|
||||
"TerastallizeModifierType": {
|
||||
name: "{{teraType}} Tera Shard",
|
||||
description: "{{teraType}} Terastallizes the holder for up to 10 battles",
|
||||
name: "Téra-Éclat {{teraType}}",
|
||||
description: "{{teraType}} Téracristallise son porteur pendant 10 combats",
|
||||
},
|
||||
"ContactHeldItemTransferChanceModifierType": {
|
||||
description: "Upon attacking, there is a {{chancePercent}}% chance the foe's held item will be stolen",
|
||||
description: "{{chancePercent}}% de chances de voler un objet de l’adversaire en l’attaquant",
|
||||
},
|
||||
"TurnHeldItemTransferModifierType": {
|
||||
description: "Every turn, the holder acquires one held item from the foe",
|
||||
description: "À chaque tour, son porteur obtient un objet de son adversaire",
|
||||
},
|
||||
"EnemyAttackStatusEffectChanceModifierType": {
|
||||
description: "Adds a {{chancePercent}}% chance to inflict {{statusEffect}} with attack moves",
|
||||
description: "Ajoute {{chancePercent}}% de chances d’infliger le statut {{statusEffect}} avec des capacités offensives",
|
||||
},
|
||||
"EnemyEndureChanceModifierType": {
|
||||
description: "Adds a {{chancePercent}}% chance of enduring a hit",
|
||||
description: "Ajoute {{chancePercent}}% de chances d’encaisser un coup",
|
||||
},
|
||||
|
||||
"RARE_CANDY": { name: "Rare Candy" },
|
||||
"RARER_CANDY": { name: "Rarer Candy" },
|
||||
"RARE_CANDY": { name: "Super Bonbon" },
|
||||
"RARER_CANDY": { name: "Hyper Bonbon" },
|
||||
|
||||
"MEGA_BRACELET": { name: "Mega Bracelet", description: "Mega Stones become available" },
|
||||
"DYNAMAX_BAND": { name: "Dynamax Band", description: "Max Mushrooms become available" },
|
||||
"TERA_ORB": { name: "Tera Orb", description: "Tera Shards become available" },
|
||||
"MEGA_BRACELET": { name: "Méga-Bracelet", description: "Débloque les Méga-Gemmes" },
|
||||
"DYNAMAX_BAND": { name: "Poignet Dynamax", description: "Débloque le Dynamax" },
|
||||
"TERA_ORB": { name: "Orbe Téracristal", description: "Débloque les Téra-Éclats" },
|
||||
|
||||
"MAP": { name: "Map", description: "Allows you to choose your destination at a crossroads" },
|
||||
"MAP": { name: "Carte", description: "Vous permet de choisir votre destination à un croisement" },
|
||||
|
||||
"POTION": { name: "Potion" },
|
||||
"SUPER_POTION": { name: "Super Potion" },
|
||||
"HYPER_POTION": { name: "Hyper Potion" },
|
||||
"MAX_POTION": { name: "Max Potion" },
|
||||
"FULL_RESTORE": { name: "Full Restore" },
|
||||
"MAX_POTION": { name: "Potion Max" },
|
||||
"FULL_RESTORE": { name: "Guérison" },
|
||||
|
||||
"REVIVE": { name: "Revive" },
|
||||
"MAX_REVIVE": { name: "Max Revive" },
|
||||
"REVIVE": { name: "Rappel" },
|
||||
"MAX_REVIVE": { name: "Rappel Max" },
|
||||
|
||||
"FULL_HEAL": { name: "Full Heal" },
|
||||
"FULL_HEAL": { name: "Total Soin" },
|
||||
|
||||
"SACRED_ASH": { name: "Sacred Ash" },
|
||||
"SACRED_ASH": { name: "Cendres Sacrées" },
|
||||
|
||||
"REVIVER_SEED": { name: "Reviver Seed", description: "Revives the holder for 1/2 HP upon fainting" },
|
||||
"REVIVER_SEED": { name: "Résugraine", description: "Réanime et restaure la moitié des PV de son porteur s’il tombe K.O." },
|
||||
|
||||
"ETHER": { name: "Ether" },
|
||||
"MAX_ETHER": { name: "Max Ether" },
|
||||
"ETHER": { name: "Huile" },
|
||||
"MAX_ETHER": { name: "Huile Max" },
|
||||
|
||||
"ELIXIR": { name: "Elixir" },
|
||||
"MAX_ELIXIR": { name: "Max Elixir" },
|
||||
"ELIXIR": { name: "Élixir" },
|
||||
"MAX_ELIXIR": { name: "Élixir Max" },
|
||||
|
||||
"PP_UP": { name: "PP Up" },
|
||||
"PP_UP": { name: "PP Plus" },
|
||||
"PP_MAX": { name: "PP Max" },
|
||||
|
||||
"LURE": { name: "Lure" },
|
||||
"SUPER_LURE": { name: "Super Lure" },
|
||||
"MAX_LURE": { name: "Max Lure" },
|
||||
"LURE": { name: "Parfum" },
|
||||
"SUPER_LURE": { name: "Super Parfum" },
|
||||
"MAX_LURE": { name: "Parfum Max" },
|
||||
|
||||
"MEMORY_MUSHROOM": { name: "Memory Mushroom", description: "Recall one Pokémon's forgotten move" },
|
||||
"MEMORY_MUSHROOM": { name: "Champi Mémoriel", description: "Remémore une capacité à un Pokémon" },
|
||||
|
||||
"EXP_SHARE": { name: "EXP. All", description: "Non-participants receive 20% of a single participant's EXP. Points" },
|
||||
"EXP_BALANCE": { name: "EXP. Balance", description: "Weighs EXP. Points received from battles towards lower-leveled party members" },
|
||||
"EXP_SHARE": { name: "Multi Exp", description: "Tous les non-participants reçoivent 20% des Points d’Exp d’un participant" },
|
||||
"EXP_BALANCE": { name: "Équilibr’Exp", description: "Équilibre les Points d’Exp à l’avantage des membres de l’équipe aux plus bas niveaux" },
|
||||
|
||||
"OVAL_CHARM": { name: "Oval Charm", description: "When multiple Pokémon participate in a battle, each gets an extra 10% of the total EXP" },
|
||||
"OVAL_CHARM": { name: "Charme Ovale", description: "Quand plusieurs Pokémon sont en combat, chacun gagne 10% supplémentaires du total d’Exp" },
|
||||
|
||||
"EXP_CHARM": { name: "EXP. Charm" },
|
||||
"SUPER_EXP_CHARM": { name: "Super EXP. Charm" },
|
||||
"GOLDEN_EXP_CHARM": { name: "Golden EXP. Charm" },
|
||||
"EXP_CHARM": { name: "Charme Exp" },
|
||||
"SUPER_EXP_CHARM": { name: "Super Charme Exp" },
|
||||
"GOLDEN_EXP_CHARM": { name: "Charme Exp Doré" },
|
||||
|
||||
"LUCKY_EGG": { name: "Lucky Egg" },
|
||||
"GOLDEN_EGG": { name: "Golden Egg" },
|
||||
"LUCKY_EGG": { name: "Œuf Chance" },
|
||||
"GOLDEN_EGG": { name: "Œuf d’Or" },
|
||||
|
||||
"SOOTHE_BELL": { name: "Soothe Bell" },
|
||||
"SOOTHE_BELL": { name: "Grelot Zen" },
|
||||
|
||||
"SOUL_DEW": { name: "Soul Dew", description: "Increases the influence of a Pokémon's nature on its stats by 10% (additive)" },
|
||||
"SOUL_DEW": { name: "Rosée Âme", description: "Augmente de 10% l’influence de la nature d’un Pokémon sur ses statistiques (cumulatif)" },
|
||||
|
||||
"NUGGET": { name: "Nugget" },
|
||||
"BIG_NUGGET": { name: "Big Nugget" },
|
||||
"RELIC_GOLD": { name: "Relic Gold" },
|
||||
"NUGGET": { name: "Pépite" },
|
||||
"BIG_NUGGET": { name: "Maxi Pépite" },
|
||||
"RELIC_GOLD": { name: "Vieux Ducat" },
|
||||
|
||||
"AMULET_COIN": { name: "Amulet Coin", description: "Increases money rewards by 20%" },
|
||||
"GOLDEN_PUNCH": { name: "Golden Punch", description: "Grants 50% of damage inflicted as money" },
|
||||
"COIN_CASE": { name: "Coin Case", description: "After every 10th battle, receive 10% of your money in interest" },
|
||||
"AMULET_COIN": { name: "Pièce Rune", description: "Augmente de 20% les gains d’argent" },
|
||||
"GOLDEN_PUNCH": { name: "Poing Doré", description: "50% 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: "Lock Capsule", description: "Allows you to lock item rarities when rerolling items" },
|
||||
"LOCK_CAPSULE": { name: "Poké Écrin", description: "Permet de verrouiller des objets rares si vous relancez les objets proposés" },
|
||||
|
||||
"GRIP_CLAW": { name: "Grip Claw" },
|
||||
"WIDE_LENS": { name: "Wide Lens" },
|
||||
"GRIP_CLAW": { name: "Accro Griffe" },
|
||||
"WIDE_LENS": { name: "Loupe" },
|
||||
|
||||
"MULTI_LENS": { name: "Multi Lens" },
|
||||
"MULTI_LENS": { name: "Multi Loupe" },
|
||||
|
||||
"HEALING_CHARM": { name: "Healing Charm", description: "Increases the effectiveness of HP restoring moves and items by 10% (excludes Revives)" },
|
||||
"CANDY_JAR": { name: "Candy Jar", description: "Increases the number of levels added by Rare Candy items by 1" },
|
||||
"HEALING_CHARM": { name: "Charme Soin", description: "Augmente de 10% l’efficacité des capacités et objets de soin de PV (hors Rappels)" },
|
||||
"CANDY_JAR": { name: "Jarre de Bonbons", description: "Augmente de 1 le nombre de niveaux gagnés à l’utilisation d’un Super Bonbon" },
|
||||
|
||||
"BERRY_POUCH": { name: "Berry Pouch", description: "Adds a 25% chance that a used berry will not be consumed" },
|
||||
"BERRY_POUCH": { name: "Sac à Baies", description: "Ajoute 25% de chances qu’une Baie utilisée ne soit pas consommée" },
|
||||
|
||||
"FOCUS_BAND": { name: "Focus Band", description: "Adds a 10% chance to survive with 1 HP after being damaged enough to faint" },
|
||||
"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: "Quick Claw", description: "Adds a 10% chance to move first regardless of speed (after priority)" },
|
||||
"QUICK_CLAW": { name: "Vive Griffe", description: "Ajoute 10% de chances d’agir en premier, indépendamment de la vitesse (après la priorité)" },
|
||||
|
||||
"KINGS_ROCK": { name: "King's Rock", description: "Adds a 10% chance an attack move will cause the opponent to flinch" },
|
||||
"KINGS_ROCK": { name: "Roche Royale", description: "Ajoute 10% de chances qu’une capacité offensive apeure l’adversaire" },
|
||||
|
||||
"LEFTOVERS": { name: "Leftovers", description: "Heals 1/16 of a Pokémon's maximum HP every turn" },
|
||||
"SHELL_BELL": { name: "Shell Bell", description: "Heals 1/8 of a Pokémon's dealt damage" },
|
||||
"LEFTOVERS": { name: "Restes", description: "Soigne à chaque tour 1/16 des PV max d’un Pokémon" },
|
||||
"SHELL_BELL": { name: "Grelot Coque", description: "Soigne 1/8 des dégâts infligés par un Pokémon" },
|
||||
|
||||
"BATON": { name: "Baton", description: "Allows passing along effects when switching Pokémon, which also bypasses traps" },
|
||||
"BATON": { name: "Bâton", description: "Permet de transmettre les effets en cas de changement de Pokémon. Ignore les pièges." },
|
||||
|
||||
"SHINY_CHARM": { name: "Shiny Charm", description: "Dramatically increases the chance of a wild Pokémon being Shiny" },
|
||||
"ABILITY_CHARM": { name: "Ability Charm", description: "Dramatically increases the chance of a wild Pokémon having a Hidden Ability" },
|
||||
"SHINY_CHARM": { name: "Charme Chroma", description: "Augmente énormément les chances de rencontrer un Pokémon sauvage chromatique" },
|
||||
"ABILITY_CHARM": { name: "Charme Talent", description: "Augmente énormément les chances de rencontrer un Pokémon sauvage avec un Talent Caché" },
|
||||
|
||||
"IV_SCANNER": { name: "IV Scanner", description: "Allows scanning the IVs of wild Pokémon. 2 IVs are revealed per stack. The best IVs are shown first" },
|
||||
"IV_SCANNER": { name: "Scanner d’IV", description: "Scanne les IV d’un Pokémon sauvage. 2 IV sont révélés par Scanner. Les meilleurs sont montrés en 1er." },
|
||||
|
||||
"DNA_SPLICERS": { name: "DNA Splicers" },
|
||||
"DNA_SPLICERS": { name: "Pointeau ADN" },
|
||||
|
||||
"MINI_BLACK_HOLE": { name: "Mini Black Hole" },
|
||||
"MINI_BLACK_HOLE": { name: "Mini Trou Noir" },
|
||||
|
||||
"GOLDEN_POKEBALL": { name: "Golden Poké Ball", description: "Adds 1 extra item option at the end of every battle" },
|
||||
"GOLDEN_POKEBALL": { name: "Poké Ball Dorée", description: "Ajoute 1 choix d’objet à la fin de chaque combat" },
|
||||
|
||||
"ENEMY_DAMAGE_BOOSTER": { name: "Damage Token", description: "Increases damage by 5%" },
|
||||
"ENEMY_DAMAGE_REDUCTION": { name: "Protection Token", description: "Reduces incoming damage by 2.5%" },
|
||||
"ENEMY_HEAL": { name: "Recovery Token", description: "Heals 2% of max HP every turn" },
|
||||
"ENEMY_ATTACK_POISON_CHANCE": { name: "Poison Token" },
|
||||
"ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Paralyze Token" },
|
||||
"ENEMY_ATTACK_SLEEP_CHANCE": { name: "Sleep Token" },
|
||||
"ENEMY_ATTACK_FREEZE_CHANCE": { name: "Freeze Token" },
|
||||
"ENEMY_ATTACK_BURN_CHANCE": { name: "Burn Token" },
|
||||
"ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Full Heal Token", description: "Adds a 10% chance every turn to heal a status condition" },
|
||||
"ENEMY_ENDURE_CHANCE": { name: "Endure Token" },
|
||||
"ENEMY_FUSED_CHANCE": { name: "Fusion Token", description: "Adds a 1% chance that a wild Pokémon will be a fusion" },
|
||||
"ENEMY_DAMAGE_BOOSTER": { name: "Jeton Dégâts", description: "Augmente les dégâts de 5%" },
|
||||
"ENEMY_DAMAGE_REDUCTION": { name: "Jeton Protection", description: "Diminue les dégâts reçus de 2,5%" },
|
||||
"ENEMY_HEAL": { name: "Jeton Soin", description: "Soigne 2% des PV max à chaque tour" },
|
||||
"ENEMY_ATTACK_POISON_CHANCE": { name: "Jeton Poison" },
|
||||
"ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Jeton Paralysie" },
|
||||
"ENEMY_ATTACK_SLEEP_CHANCE": { name: "Jeton Sommeil" },
|
||||
"ENEMY_ATTACK_FREEZE_CHANCE": { name: "Jeton Gel" },
|
||||
"ENEMY_ATTACK_BURN_CHANCE": { name: "Jeton Brulure" },
|
||||
"ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Jeton Total Soin", description: "Ajoute 10% de chances à chaque tour de se soigner d’un problème de statut." },
|
||||
"ENEMY_ENDURE_CHANCE": { name: "Jeton Ténacité" },
|
||||
"ENEMY_FUSED_CHANCE": { name: "Jeton Fusion", description: "Ajoute 1% de chances qu’un Pokémon sauvage soit une fusion." },
|
||||
},
|
||||
TempBattleStatBoosterItem: {
|
||||
"x_attack": "X Attack",
|
||||
"x_defense": "X Defense",
|
||||
"x_sp_atk": "X Sp. Atk",
|
||||
"x_sp_def": "X Sp. Def",
|
||||
"x_speed": "X Speed",
|
||||
"x_accuracy": "X Accuracy",
|
||||
"dire_hit": "Dire Hit",
|
||||
"x_attack": "Attaque +",
|
||||
"x_defense": "Défense +",
|
||||
"x_sp_atk": "Atq. Spé. +",
|
||||
"x_sp_def": "Déf. Spé. +",
|
||||
"x_speed": "Vitesse +",
|
||||
"x_accuracy": "Précision +",
|
||||
"dire_hit": "Muscle +",
|
||||
},
|
||||
AttackTypeBoosterItem: {
|
||||
"silk_scarf": "Silk Scarf",
|
||||
"black_belt": "Black Belt",
|
||||
"sharp_beak": "Sharp Beak",
|
||||
"poison_barb": "Poison Barb",
|
||||
"soft_sand": "Soft Sand",
|
||||
"hard_stone": "Hard Stone",
|
||||
"silver_powder": "Silver Powder",
|
||||
"spell_tag": "Spell Tag",
|
||||
"metal_coat": "Metal Coat",
|
||||
"charcoal": "Charcoal",
|
||||
"mystic_water": "Mystic Water",
|
||||
"miracle_seed": "Miracle Seed",
|
||||
"magnet": "Magnet",
|
||||
"twisted_spoon": "Twisted Spoon",
|
||||
"never_melt_ice": "Never-Melt Ice",
|
||||
"dragon_fang": "Dragon Fang",
|
||||
"black_glasses": "Black Glasses",
|
||||
"fairy_feather": "Fairy Feather",
|
||||
"silk_scarf": "Mouchoir Soie",
|
||||
"black_belt": "Ceinture Noire",
|
||||
"sharp_beak": "Bec Pointu",
|
||||
"poison_barb": "Pic Venin",
|
||||
"soft_sand": "Sable Doux",
|
||||
"hard_stone": "Pierre Dure",
|
||||
"silver_powder": "Poudre Argentée",
|
||||
"spell_tag": "Rune Sort",
|
||||
"metal_coat": "Peau Métal",
|
||||
"charcoal": "Charbon",
|
||||
"mystic_water": "Eau Mystique",
|
||||
"miracle_seed": "Graine Miracle",
|
||||
"magnet": "Aimant",
|
||||
"twisted_spoon": "Cuillère Tordue",
|
||||
"never_melt_ice": "Glace Éternelle",
|
||||
"dragon_fang": "Croc Dragon",
|
||||
"black_glasses": "Lunettes Noires",
|
||||
"fairy_feather": "Plume Enchantée",
|
||||
},
|
||||
BaseStatBoosterItem: {
|
||||
"hp_up": "HP Up",
|
||||
"protein": "Protein",
|
||||
"iron": "Iron",
|
||||
"hp_up": "PV Plus",
|
||||
"protein": "Protéine",
|
||||
"iron": "Fer",
|
||||
"calcium": "Calcium",
|
||||
"zinc": "Zinc",
|
||||
"carbos": "Carbos",
|
||||
"carbos": "Carbone",
|
||||
},
|
||||
EvolutionItem: {
|
||||
"NONE": "None",
|
||||
"NONE": "Aucun",
|
||||
|
||||
"LINKING_CORD": "Linking Cord",
|
||||
"SUN_STONE": "Sun Stone",
|
||||
"MOON_STONE": "Moon Stone",
|
||||
"LEAF_STONE": "Leaf Stone",
|
||||
"FIRE_STONE": "Fire Stone",
|
||||
"WATER_STONE": "Water Stone",
|
||||
"THUNDER_STONE": "Thunder Stone",
|
||||
"ICE_STONE": "Ice Stone",
|
||||
"DUSK_STONE": "Dusk Stone",
|
||||
"DAWN_STONE": "Dawn Stone",
|
||||
"SHINY_STONE": "Shiny Stone",
|
||||
"CRACKED_POT": "Cracked Pot",
|
||||
"SWEET_APPLE": "Sweet Apple",
|
||||
"TART_APPLE": "Tart Apple",
|
||||
"STRAWBERRY_SWEET": "Strawberry Sweet",
|
||||
"UNREMARKABLE_TEACUP": "Unremarkable Teacup",
|
||||
"LINKING_CORD": "Fil de Liaison",
|
||||
"SUN_STONE": "Pierre Soleil",
|
||||
"MOON_STONE": "Pierre Lune",
|
||||
"LEAF_STONE": "Pierre Plante",
|
||||
"FIRE_STONE": "Pierre Feu",
|
||||
"WATER_STONE": "Pierre Eau",
|
||||
"THUNDER_STONE": "Pierre Foudre",
|
||||
"ICE_STONE": "Pierre Glace",
|
||||
"DUSK_STONE": "Pierre Nuit",
|
||||
"DAWN_STONE": "Pierre Aube",
|
||||
"SHINY_STONE": "Pierre Éclat",
|
||||
"CRACKED_POT": "Théière Fêlée",
|
||||
"SWEET_APPLE": "Pomme Sucrée",
|
||||
"TART_APPLE": "Pomme Acidulée",
|
||||
"STRAWBERRY_SWEET": "Fraise en Sucre",
|
||||
"UNREMARKABLE_TEACUP": "Bol Médiocre",
|
||||
|
||||
"CHIPPED_POT": "Chipped Pot",
|
||||
"BLACK_AUGURITE": "Black Augurite",
|
||||
"GALARICA_CUFF": "Galarica Cuff",
|
||||
"GALARICA_WREATH": "Galarica Wreath",
|
||||
"PEAT_BLOCK": "Peat Block",
|
||||
"AUSPICIOUS_ARMOR": "Auspicious Armor",
|
||||
"MALICIOUS_ARMOR": "Malicious Armor",
|
||||
"MASTERPIECE_TEACUP": "Masterpiece Teacup",
|
||||
"METAL_ALLOY": "Metal Alloy",
|
||||
"SCROLL_OF_DARKNESS": "Scroll Of Darkness",
|
||||
"SCROLL_OF_WATERS": "Scroll Of Waters",
|
||||
"SYRUPY_APPLE": "Syrupy Apple",
|
||||
"CHIPPED_POT": "Théière Ébréchée",
|
||||
"BLACK_AUGURITE": "Obsidienne",
|
||||
"GALARICA_CUFF": "Bracelet Galanoa",
|
||||
"GALARICA_WREATH": "Couronne Galanoa",
|
||||
"PEAT_BLOCK": "Bloc de Tourbe",
|
||||
"AUSPICIOUS_ARMOR": "Armure de la Fortune",
|
||||
"MALICIOUS_ARMOR": "Armure de la Rancune",
|
||||
"MASTERPIECE_TEACUP": "Bol Exceptionnel",
|
||||
"METAL_ALLOY": "Métal Composite",
|
||||
"SCROLL_OF_DARKNESS": "Rouleau des Ténèbres",
|
||||
"SCROLL_OF_WATERS": "Rouleau de l’Eau",
|
||||
"SYRUPY_APPLE": "Pomme Nectar",
|
||||
},
|
||||
FormChangeItem: {
|
||||
"NONE": "None",
|
||||
"NONE": "Aucun",
|
||||
|
||||
"ABOMASITE": "Abomasite",
|
||||
"ABOMASITE": "Blizzarite",
|
||||
"ABSOLITE": "Absolite",
|
||||
"AERODACTYLITE": "Aerodactylite",
|
||||
"AGGRONITE": "Aggronite",
|
||||
"ALAKAZITE": "Alakazite",
|
||||
"ALTARIANITE": "Altarianite",
|
||||
"AMPHAROSITE": "Ampharosite",
|
||||
"AUDINITE": "Audinite",
|
||||
"BANETTITE": "Banettite",
|
||||
"BEEDRILLITE": "Beedrillite",
|
||||
"BLASTOISINITE": "Blastoisinite",
|
||||
"BLAZIKENITE": "Blazikenite",
|
||||
"CAMERUPTITE": "Cameruptite",
|
||||
"CHARIZARDITE_X": "Charizardite X",
|
||||
"CHARIZARDITE_Y": "Charizardite Y",
|
||||
"AERODACTYLITE": "Ptéraïte",
|
||||
"AGGRONITE": "Galekingite",
|
||||
"ALAKAZITE": "Alakazamite",
|
||||
"ALTARIANITE": "Altarite",
|
||||
"AMPHAROSITE": "Pharampite",
|
||||
"AUDINITE": "Nanméouïte",
|
||||
"BANETTITE": "Branettite",
|
||||
"BEEDRILLITE": "Dardargnite",
|
||||
"BLASTOISINITE": "Tortankite",
|
||||
"BLAZIKENITE": "Braségalite",
|
||||
"CAMERUPTITE": "Caméruptite",
|
||||
"CHARIZARDITE_X": "Dracaufite X",
|
||||
"CHARIZARDITE_Y": "Dracaufite Y",
|
||||
"DIANCITE": "Diancite",
|
||||
"GALLADITE": "Galladite",
|
||||
"GARCHOMPITE": "Garchompite",
|
||||
"GALLADITE": "Gallamite",
|
||||
"GARCHOMPITE": "Carchacrokite",
|
||||
"GARDEVOIRITE": "Gardevoirite",
|
||||
"GENGARITE": "Gengarite",
|
||||
"GLALITITE": "Glalitite",
|
||||
"GYARADOSITE": "Gyaradosite",
|
||||
"HERACRONITE": "Heracronite",
|
||||
"HOUNDOOMINITE": "Houndoominite",
|
||||
"KANGASKHANITE": "Kangaskhanite",
|
||||
"GENGARITE": "Ectoplasmite",
|
||||
"GLALITITE": "Oniglalite",
|
||||
"GYARADOSITE": "Léviatorite",
|
||||
"HERACRONITE": "Scarhinoïte",
|
||||
"HOUNDOOMINITE": "Démolossite",
|
||||
"KANGASKHANITE": "Kangourexite",
|
||||
"LATIASITE": "Latiasite",
|
||||
"LATIOSITE": "Latiosite",
|
||||
"LOPUNNITE": "Lopunnite",
|
||||
"LUCARIONITE": "Lucarionite",
|
||||
"MANECTITE": "Manectite",
|
||||
"MAWILITE": "Mawilite",
|
||||
"MEDICHAMITE": "Medichamite",
|
||||
"METAGROSSITE": "Metagrossite",
|
||||
"MEWTWONITE_X": "Mewtwonite X",
|
||||
"MEWTWONITE_Y": "Mewtwonite Y",
|
||||
"PIDGEOTITE": "Pidgeotite",
|
||||
"PINSIRITE": "Pinsirite",
|
||||
"LOPUNNITE": "Lockpinite",
|
||||
"LUCARIONITE": "Lucarite",
|
||||
"MANECTITE": "Élecsprintite",
|
||||
"MAWILITE": "Mysdibulite",
|
||||
"MEDICHAMITE": "Charminite",
|
||||
"METAGROSSITE": "Métalossite",
|
||||
"MEWTWONITE_X": "Mewtwoïte X",
|
||||
"MEWTWONITE_Y": "Mewtwoïte Y",
|
||||
"PIDGEOTITE": "Roucarnagite",
|
||||
"PINSIRITE": "Scarabruite",
|
||||
"RAYQUAZITE": "Rayquazite",
|
||||
"SABLENITE": "Sablenite",
|
||||
"SALAMENCITE": "Salamencite",
|
||||
"SCEPTILITE": "Sceptilite",
|
||||
"SCIZORITE": "Scizorite",
|
||||
"SHARPEDONITE": "Sharpedonite",
|
||||
"SLOWBRONITE": "Slowbronite",
|
||||
"SABLENITE": "Ténéfixite",
|
||||
"SALAMENCITE": "Drattakite",
|
||||
"SCEPTILITE": "Jungkite",
|
||||
"SCIZORITE": "Cizayoxite",
|
||||
"SHARPEDONITE": "Sharpedite",
|
||||
"SLOWBRONITE": "Flagadossite",
|
||||
"STEELIXITE": "Steelixite",
|
||||
"SWAMPERTITE": "Swampertite",
|
||||
"TYRANITARITE": "Tyranitarite",
|
||||
"VENUSAURITE": "Venusaurite",
|
||||
"SWAMPERTITE": "Laggronite",
|
||||
"TYRANITARITE": "Tyranocivite",
|
||||
"VENUSAURITE": "Florizarrite",
|
||||
|
||||
"BLUE_ORB": "Blue Orb",
|
||||
"RED_ORB": "Red Orb",
|
||||
"SHARP_METEORITE": "Sharp Meteorite",
|
||||
"HARD_METEORITE": "Hard Meteorite",
|
||||
"SMOOTH_METEORITE": "Smooth Meteorite",
|
||||
"ADAMANT_CRYSTAL": "Adamant Crystal",
|
||||
"LUSTROUS_ORB": "Lustrous Orb",
|
||||
"GRISEOUS_CORE": "Griseous Core",
|
||||
"REVEAL_GLASS": "Reveal Glass",
|
||||
"GRACIDEA": "Gracidea",
|
||||
"MAX_MUSHROOMS": "Max Mushrooms",
|
||||
"DARK_STONE": "Dark Stone",
|
||||
"LIGHT_STONE": "Light Stone",
|
||||
"PRISON_BOTTLE": "Prison Bottle",
|
||||
"N_LUNARIZER": "N Lunarizer",
|
||||
"N_SOLARIZER": "N Solarizer",
|
||||
"RUSTED_SWORD": "Rusted Sword",
|
||||
"RUSTED_SHIELD": "Rusted Shield",
|
||||
"ICY_REINS_OF_UNITY": "Icy Reins Of Unity",
|
||||
"SHADOW_REINS_OF_UNITY": "Shadow Reins Of Unity",
|
||||
"WELLSPRING_MASK": "Wellspring Mask",
|
||||
"HEARTHFLAME_MASK": "Hearthflame Mask",
|
||||
"CORNERSTONE_MASK": "Cornerstone Mask",
|
||||
"SHOCK_DRIVE": "Shock Drive",
|
||||
"BURN_DRIVE": "Burn Drive",
|
||||
"CHILL_DRIVE": "Chill Drive",
|
||||
"DOUSE_DRIVE": "Douse Drive",
|
||||
"BLUE_ORB": "Gemme Bleue",
|
||||
"RED_ORB": "Gemme Rouge",
|
||||
"SHARP_METEORITE": "Méteorite Aiguisée",
|
||||
"HARD_METEORITE": "Méteorite Solide",
|
||||
"SMOOTH_METEORITE": "Méteorite Lisse",
|
||||
"ADAMANT_CRYSTAL": "Globe Adamant",
|
||||
"LUSTROUS_ORB": "Orbe Perlé",
|
||||
"GRISEOUS_CORE": "Globe Platiné",
|
||||
"REVEAL_GLASS": "Miroir Sacré",
|
||||
"GRACIDEA": "Gracidée",
|
||||
"MAX_MUSHROOMS": "Maxi Champis",
|
||||
"DARK_STONE": "Galet Noir",
|
||||
"LIGHT_STONE": "Galet Blanc",
|
||||
"PRISON_BOTTLE": "Vase Scellé",
|
||||
"N_LUNARIZER": "Necroluna",
|
||||
"N_SOLARIZER": "Necrosol",
|
||||
"RUSTED_SWORD": "Épée Rouillée",
|
||||
"RUSTED_SHIELD": "Bouclier Rouillé",
|
||||
"ICY_REINS_OF_UNITY": "Rênes de l’Unité du Froid",
|
||||
"SHADOW_REINS_OF_UNITY": "Rênes de l’Unité d’Effroi",
|
||||
"WELLSPRING_MASK": "Masque du Puits",
|
||||
"HEARTHFLAME_MASK": "Masque du Fourneau",
|
||||
"CORNERSTONE_MASK": "Masque de la Pierre",
|
||||
"SHOCK_DRIVE": "Module Choc",
|
||||
"BURN_DRIVE": "Module Pyro",
|
||||
"CHILL_DRIVE": "Module Aqua",
|
||||
"DOUSE_DRIVE": "Module Choc",
|
||||
},
|
||||
TeraType: {
|
||||
"UNKNOWN": "Unknown",
|
||||
"UNKNOWN": "Inconnu",
|
||||
"NORMAL": "Normal",
|
||||
"FIGHTING": "Fighting",
|
||||
"FLYING": "Flying",
|
||||
"FIGHTING": "Combat",
|
||||
"FLYING": "Vol",
|
||||
"POISON": "Poison",
|
||||
"GROUND": "Ground",
|
||||
"ROCK": "Rock",
|
||||
"BUG": "Bug",
|
||||
"GHOST": "Ghost",
|
||||
"STEEL": "Steel",
|
||||
"FIRE": "Fire",
|
||||
"WATER": "Water",
|
||||
"GRASS": "Grass",
|
||||
"ELECTRIC": "Electric",
|
||||
"PSYCHIC": "Psychic",
|
||||
"ICE": "Ice",
|
||||
"GROUND": "Sol",
|
||||
"ROCK": "Roche",
|
||||
"BUG": "Insecte",
|
||||
"GHOST": "Spectre",
|
||||
"STEEL": "Acier",
|
||||
"FIRE": "Feu",
|
||||
"WATER": "Eau",
|
||||
"GRASS": "Plante",
|
||||
"ELECTRIC": "Électrik",
|
||||
"PSYCHIC": "Psy",
|
||||
"ICE": "Glace",
|
||||
"DRAGON": "Dragon",
|
||||
"DARK": "Dark",
|
||||
"FAIRY": "Fairy",
|
||||
"STELLAR": "Stellar",
|
||||
"DARK": "Ténèbres",
|
||||
"FAIRY": "Fée",
|
||||
"STELLAR": "Stellaire",
|
||||
},
|
||||
} as const;
|
||||
} as const;
|
||||
|
@ -2915,7 +2915,7 @@ export const move: MoveTranslationEntries = {
|
||||
},
|
||||
"zippyZap": {
|
||||
name: "Pika-Sprint",
|
||||
effect: "Une attaque électrique rapide comme l’éclair qui auguemente l’esquive. Frappe en priorité."
|
||||
effect: "Une attaque électrique rapide comme l’éclair qui augmente l’esquive. Frappe en priorité."
|
||||
},
|
||||
"splishySplash": {
|
||||
name: "Pika-Splash",
|
||||
|
@ -35,7 +35,7 @@ export const trainerClasses: SimpleTranslationEntries = {
|
||||
"clerk": "Employé",
|
||||
"clerk_female": "Employée",
|
||||
"colleagues": "Collègues de Bureau",
|
||||
"crush_kin": "Crush Kin",
|
||||
"crush_kin": "Duo Baston",
|
||||
"cyclist": "Cycliste",
|
||||
"cyclist_female": "Cycliste",
|
||||
"cyclists": "Cyclistes",
|
||||
@ -44,8 +44,8 @@ export const trainerClasses: SimpleTranslationEntries = {
|
||||
"depot_agent": "Cheminot",
|
||||
"doctor": "Docteur",
|
||||
"doctor_female": "Docteure",
|
||||
"fishermen": "Pêcheur",
|
||||
"fishermen_female": "Pêcheuse",
|
||||
"fisherman": "Pêcheur",
|
||||
"fisherman_female": "Pêcheuse",
|
||||
"gentleman": "Gentleman",
|
||||
"guitarist": "Guitariste",
|
||||
"guitarist_female": "Guitariste",
|
||||
@ -60,16 +60,16 @@ export const trainerClasses: SimpleTranslationEntries = {
|
||||
"linebacker": "Quaterback",
|
||||
"maid": "Gouvernante",
|
||||
"madame": "Mondaine",
|
||||
"musican": "Musicien",
|
||||
"medical_team": "Médecins",
|
||||
"musician": "Musicien",
|
||||
"hex_maniac": "Mystimaniac",
|
||||
"nurse": "Infirmière",
|
||||
"nursery_aide": "Institutrice",
|
||||
"officer": "Policier",
|
||||
"parasol_lady": "Sœur Parasol",
|
||||
"pilot": "Pilote",
|
||||
"poké_fan": "Poké Fan",
|
||||
"poké_fan_family": "Couple de Pokéfans",
|
||||
"pokefan": "Poké Fan",
|
||||
"pokefan_family": "Couple de Pokéfans",
|
||||
"preschooler": "Petit",
|
||||
"preschooler_female": "Petite",
|
||||
"preschoolers": "Petits",
|
||||
@ -80,8 +80,12 @@ export const trainerClasses: SimpleTranslationEntries = {
|
||||
"pokémon_rangers": "Pokémon Rangers",
|
||||
"ranger": "Ranger",
|
||||
"restaurant_staff": "Serveurs",
|
||||
"rich_boy": "Richard",
|
||||
"rich": "Rich",
|
||||
"rich_female": "Mondaine",
|
||||
"rich_boy": "Gentleman",
|
||||
"rich_couple": "Couple de Bourgeois",
|
||||
"rich_kid": "Richard",
|
||||
"rich_kid_female": "Mademoiselle",
|
||||
"rich_kids": "Richards",
|
||||
"roughneck": "Loubard",
|
||||
"scientist": "Scientifique",
|
||||
|
@ -39,6 +39,6 @@ export const weather: SimpleTranslationEntries = {
|
||||
"harshSunClearMessage": "Les rayons du soleil s’affaiblissent !",
|
||||
|
||||
"strongWindsStartMessage": "Un vent mystérieux se lève !",
|
||||
"strongWindsLapseMessage": "Le vent mystérieux violemment !",
|
||||
"strongWindsLapseMessage": "Le vent mystérieux souffle violemment !",
|
||||
"strongWindsClearMessage": "Le vent mystérieux s’est dissipé…"
|
||||
}
|
||||
|
10
src/locales/it/battle-message-ui-handler.ts
Normal file
10
src/locales/it/battle-message-ui-handler.ts
Normal file
@ -0,0 +1,10 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const battleMessageUiHandler: SimpleTranslationEntries = {
|
||||
"ivBest": "Best",
|
||||
"ivFantastic": "Fantastic",
|
||||
"ivVeryGood": "Very Good",
|
||||
"ivPrettyGood": "Pretty Good",
|
||||
"ivDecent": "Decent",
|
||||
"ivNoGood": "No Good",
|
||||
} as const;
|
48
src/locales/it/berry.ts
Normal file
48
src/locales/it/berry.ts
Normal file
@ -0,0 +1,48 @@
|
||||
import { BerryTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const berry: BerryTranslationEntries = {
|
||||
"SITRUS": {
|
||||
name: "Sitrus Berry",
|
||||
effect: "Restores 25% HP if HP is below 50%",
|
||||
},
|
||||
"LUM": {
|
||||
name: "Lum Berry",
|
||||
effect: "Cures any non-volatile status condition and confusion",
|
||||
},
|
||||
"ENIGMA": {
|
||||
name: "Enigma Berry",
|
||||
effect: "Restores 25% HP if hit by a super effective move",
|
||||
},
|
||||
"LIECHI": {
|
||||
name: "Liechi Berry",
|
||||
effect: "Raises Attack if HP is below 25%",
|
||||
},
|
||||
"GANLON": {
|
||||
name: "Ganlon Berry",
|
||||
effect: "Raises Defense if HP is below 25%",
|
||||
},
|
||||
"PETAYA": {
|
||||
name: "Petaya Berry",
|
||||
effect: "Raises Sp. Atk if HP is below 25%",
|
||||
},
|
||||
"APICOT": {
|
||||
name: "Apicot Berry",
|
||||
effect: "Raises Sp. Def if HP is below 25%",
|
||||
},
|
||||
"SALAC": {
|
||||
name: "Salac Berry",
|
||||
effect: "Raises Speed if HP is below 25%",
|
||||
},
|
||||
"LANSAT": {
|
||||
name: "Lansat Berry",
|
||||
effect: "Raises critical hit ratio if HP is below 25%",
|
||||
},
|
||||
"STARF": {
|
||||
name: "Starf Berry",
|
||||
effect: "Sharply raises a random stat if HP is below 25%",
|
||||
},
|
||||
"LEPPA": {
|
||||
name: "Leppa Berry",
|
||||
effect: "Restores 10 PP to a move if its PP reaches 0",
|
||||
},
|
||||
} as const;
|
@ -15,13 +15,14 @@ import { partyUiHandler } from "./party-ui-handler";
|
||||
import { pokeball } from "./pokeball";
|
||||
import { pokemon } from "./pokemon";
|
||||
import { pokemonStat } from "./pokemon-stat";
|
||||
import { splashMessages } from "./splash-messages";
|
||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { SummaryUiHandler } from "./summary-ui-handler";
|
||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { titles,trainerClasses,trainerNames } from "./trainers";
|
||||
import { splashMessages } from "./splash-messages"
|
||||
import { weather } from "./weather";
|
||||
|
||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||
import { berry } from "./berry";
|
||||
|
||||
export const itConfig = {
|
||||
ability: ability,
|
||||
@ -30,12 +31,16 @@ export const itConfig = {
|
||||
commandUiHandler: commandUiHandler,
|
||||
egg: egg,
|
||||
fightUiHandler: fightUiHandler,
|
||||
menuUiHandler: menuUiHandler,
|
||||
growth: growth,
|
||||
menu: menu,
|
||||
menuUiHandler: menuUiHandler,
|
||||
modifierType: modifierType,
|
||||
move: move,
|
||||
nature: nature,
|
||||
pokeball: pokeball,
|
||||
pokemonStat: pokemonStat,
|
||||
pokemon: pokemon,
|
||||
pokemonStat: pokemonStat,
|
||||
splashMessages: splashMessages,
|
||||
starterSelectUiHandler: starterSelectUiHandler,
|
||||
titles: titles,
|
||||
trainerClasses: trainerClasses,
|
||||
@ -48,5 +53,6 @@ export const itConfig = {
|
||||
summaryUiHandler: SummaryUiHandler,
|
||||
biome: biome,
|
||||
weather: weather,
|
||||
modifierType: modifierType,
|
||||
}
|
||||
battleMessageUiHandler: battleMessageUiHandler,
|
||||
berry: berry,
|
||||
}
|
@ -4,320 +4,320 @@ export const modifierType: ModifierTypeTranslationEntries = {
|
||||
ModifierType: {
|
||||
"AddPokeballModifierType": {
|
||||
name: "{{modifierCount}}x {{pokeballName}}",
|
||||
description: "Receive {{pokeballName}} x{{modifierCount}} (Inventory: {{pokeballAmount}}) \nCatch Rate: {{catchRate}}",
|
||||
description: "Ricevi {{pokeballName}} x{{modifierCount}} (Inventario: {{pokeballAmount}}) \nTasso di cattura: {{catchRate}}",
|
||||
},
|
||||
"AddVoucherModifierType": {
|
||||
name: "{{modifierCount}}x {{voucherTypeName}}",
|
||||
description: "Receive {{voucherTypeName}} x{{modifierCount}}",
|
||||
description: "Ricevi {{voucherTypeName}} x{{modifierCount}}",
|
||||
},
|
||||
"PokemonHeldItemModifierType": {
|
||||
extra: {
|
||||
"inoperable": "{{pokemonName}} can't take\nthis item!",
|
||||
"tooMany": "{{pokemonName}} has too many\nof this item!",
|
||||
"inoperable": "{{pokemonName}} non può prendere\nquesto oggetto!",
|
||||
"tooMany": "{{pokemonName}} ne ha troppi\ndi questo oggetto!",
|
||||
}
|
||||
},
|
||||
"PokemonHpRestoreModifierType": {
|
||||
description: "Restores {{restorePoints}} HP or {{restorePercent}}% HP for one Pokémon, whichever is higher",
|
||||
description: "Restituisce {{restorePoints}} PS o {{restorePercent}}% PS ad un Pokémon, a seconda del valore più alto",
|
||||
extra: {
|
||||
"fully": "Fully restores HP for one Pokémon",
|
||||
"fullyWithStatus": "Fully restores HP for one Pokémon and heals any status ailment",
|
||||
"fully": "Restituisce tutti gli PS ad un Pokémon",
|
||||
"fullyWithStatus": "Restituisce tutti gli PS ad un Pokémon e lo cura da ogni stato",
|
||||
}
|
||||
},
|
||||
"PokemonReviveModifierType": {
|
||||
description: "Revives one Pokémon and restores {{restorePercent}}% HP",
|
||||
description: "Rianima un Pokémon esausto e gli restituisce il {{restorePercent}}% PS",
|
||||
},
|
||||
"PokemonStatusHealModifierType": {
|
||||
description: "Heals any status ailment for one Pokémon",
|
||||
description: "Cura tutti i problemi di stato di un Pokémon",
|
||||
},
|
||||
"PokemonPpRestoreModifierType": {
|
||||
description: "Restores {{restorePoints}} PP for one Pokémon move",
|
||||
description: "Restituisce {{restorePoints}} PP per una mossa di un Pokémon ",
|
||||
extra: {
|
||||
"fully": "Restores all PP for one Pokémon move",
|
||||
"fully": "Restituisce tutti i PP di una mossa",
|
||||
}
|
||||
},
|
||||
"PokemonAllMovePpRestoreModifierType": {
|
||||
description: "Restores {{restorePoints}} PP for all of one Pokémon's moves",
|
||||
description: "Restituisce {{restorePoints}} PP a tutte le mosse di un Pokémon",
|
||||
extra: {
|
||||
"fully": "Restores all PP for all of one Pokémon's moves",
|
||||
"fully": "Restituisce tutti i PP a tutte le mosse di un Pokémon",
|
||||
}
|
||||
},
|
||||
"PokemonPpUpModifierType": {
|
||||
description: "Permanently increases PP for one Pokémon move by {{upPoints}} for every 5 maximum PP (maximum 3)",
|
||||
description: "Aumenta i PP di una mossa di {{upPoints}} per ogni 5 PP (massimo 3)",
|
||||
},
|
||||
"PokemonNatureChangeModifierType": {
|
||||
name: "{{natureName}} Mint",
|
||||
description: "Changes a Pokémon's nature to {{natureName}} and permanently unlocks the nature for the starter.",
|
||||
name: "Menta {{natureName}}",
|
||||
description: "Cambia la natura del Pokémon in {{natureName}} e sblocca la natura per il Pokémon iniziale",
|
||||
},
|
||||
"DoubleBattleChanceBoosterModifierType": {
|
||||
description: "Doubles the chance of an encounter being a double battle for {{battleCount}} battles",
|
||||
description: "Raddoppia la possibilità di imbattersi in doppie battaglie per {{battleCount}} battaglie",
|
||||
},
|
||||
"TempBattleStatBoosterModifierType": {
|
||||
description: "Increases the {{tempBattleStatName}} of all party members by 1 stage for 5 battles",
|
||||
description: "Aumenta {{tempBattleStatName}} di un livello a tutti i Pokémon nel gruppo per 5 battaglie",
|
||||
},
|
||||
"AttackTypeBoosterModifierType": {
|
||||
description: "Increases the power of a Pokémon's {{moveType}}-type moves by 20%",
|
||||
description: "Aumenta la potenza delle mosse di tipo {{moveType}} del 20% per un Pokémon",
|
||||
},
|
||||
"PokemonLevelIncrementModifierType": {
|
||||
description: "Increases a Pokémon's level by 1",
|
||||
description: "Fa salire un Pokémon di un livello",
|
||||
},
|
||||
"AllPokemonLevelIncrementModifierType": {
|
||||
description: "Increases all party members' level by 1",
|
||||
description: "Aumenta il livello di tutti i Pokémon nel gruppo di 1",
|
||||
},
|
||||
"PokemonBaseStatBoosterModifierType": {
|
||||
description: "Increases the holder's base {{statName}} by 10%. The higher your IVs, the higher the stack limit.",
|
||||
description: "Aumenta {{statName}} di base del possessore del 10%",
|
||||
},
|
||||
"AllPokemonFullHpRestoreModifierType": {
|
||||
description: "Restores 100% HP for all Pokémon",
|
||||
description: "Recupera il 100% degli PS per tutti i Pokémon",
|
||||
},
|
||||
"AllPokemonFullReviveModifierType": {
|
||||
description: "Revives all fainted Pokémon, fully restoring HP",
|
||||
description: "Rianima tutti i Pokémon esausti restituendogli tutti i PS",
|
||||
},
|
||||
"MoneyRewardModifierType": {
|
||||
description: "Grants a {{moneyMultiplier}} amount of money (₽{{moneyAmount}})",
|
||||
description: "Garantisce una {{moneyMultiplier}} quantità di soldi (₽{{moneyAmount}})",
|
||||
extra: {
|
||||
"small": "small",
|
||||
"moderate": "moderate",
|
||||
"large": "large",
|
||||
"small": "poca",
|
||||
"moderate": "moderata",
|
||||
"large": "grande",
|
||||
},
|
||||
},
|
||||
"ExpBoosterModifierType": {
|
||||
description: "Increases gain of EXP. Points by {{boostPercent}}%",
|
||||
description: "Aumenta il guadagno di Punti Esperienza del {{boostPercent}}%",
|
||||
},
|
||||
"PokemonExpBoosterModifierType": {
|
||||
description: "Increases the holder's gain of EXP. Points by {{boostPercent}}%",
|
||||
description: "Aumenta il guadagno di Punti Esperienza del possessore del {{boostPercent}}%",
|
||||
},
|
||||
"PokemonFriendshipBoosterModifierType": {
|
||||
description: "Increases friendship gain per victory by 50%",
|
||||
description: "Aumenta del 50% il guadagno di amicizia per vittoria",
|
||||
},
|
||||
"PokemonMoveAccuracyBoosterModifierType": {
|
||||
description: "Increases move accuracy by {{accuracyAmount}} (maximum 100)",
|
||||
description: "Aumenta l'accuratezza delle mosse di {{accuracyAmount}} (massimo 100)",
|
||||
},
|
||||
"PokemonMultiHitModifierType": {
|
||||
description: "Attacks hit one additional time at the cost of a 60/75/82.5% power reduction per stack respectively",
|
||||
description: "Gli attacchi colpiscono una volta in più al costo di una riduzione di potenza del 60/75/82,5% per mossa",
|
||||
},
|
||||
"TmModifierType": {
|
||||
name: "TM{{moveId}} - {{moveName}}",
|
||||
description: "Teach {{moveName}} to a Pokémon",
|
||||
name: "MT{{moveId}} - {{moveName}}",
|
||||
description: "Insegna {{moveName}} a un Pokémon",
|
||||
},
|
||||
"EvolutionItemModifierType": {
|
||||
description: "Causes certain Pokémon to evolve",
|
||||
description: "Fa evolvere determinate specie di Pokémon",
|
||||
},
|
||||
"FormChangeItemModifierType": {
|
||||
description: "Causes certain Pokémon to change form",
|
||||
description: "Fa cambiare forma a determinati Pokémon",
|
||||
},
|
||||
"FusePokemonModifierType": {
|
||||
description: "Combines two Pokémon (transfers Ability, splits base stats and types, shares move pool)",
|
||||
description: "Combina due Pokémon (trasferisce i poteri, divide le statistiche e i tipi base, condivide il pool di mosse)",
|
||||
},
|
||||
"TerastallizeModifierType": {
|
||||
name: "{{teraType}} Tera Shard",
|
||||
description: "{{teraType}} Terastallizes the holder for up to 10 battles",
|
||||
name: "Teralite {{teraType}}",
|
||||
description: "Teracristallizza in {{teraType}} il possessore per massimo 10 battaglie",
|
||||
},
|
||||
"ContactHeldItemTransferChanceModifierType": {
|
||||
description: "Upon attacking, there is a {{chancePercent}}% chance the foe's held item will be stolen",
|
||||
description: "Quando si attacca, c'è una probabilità del {{chancePercent}}% che l'oggetto in possesso del nemico venga rubato",
|
||||
},
|
||||
"TurnHeldItemTransferModifierType": {
|
||||
description: "Every turn, the holder acquires one held item from the foe",
|
||||
description: "Ogni turno, il possessore acquisisce un oggetto posseduto dal nemico",
|
||||
},
|
||||
"EnemyAttackStatusEffectChanceModifierType": {
|
||||
description: "Adds a {{chancePercent}}% chance to inflict {{statusEffect}} with attack moves",
|
||||
description: "Aggiunge una probabilità del {{chancePercent}}% di infliggere {{statusEffect}} con le mosse d'attacco",
|
||||
},
|
||||
"EnemyEndureChanceModifierType": {
|
||||
description: "Adds a {{chancePercent}}% chance of enduring a hit",
|
||||
description: "Aggiunge una probabilità del {{probabilitàPercent}}% di resistere ad un colpo",
|
||||
},
|
||||
|
||||
"RARE_CANDY": { name: "Rare Candy" },
|
||||
"RARER_CANDY": { name: "Rarer Candy" },
|
||||
"RARE_CANDY": { name: "Caramella Rara" },
|
||||
"RARER_CANDY": { name: "Caramella Molto Rara" },
|
||||
|
||||
"MEGA_BRACELET": { name: "Mega Bracelet", description: "Mega Stones become available" },
|
||||
"DYNAMAX_BAND": { name: "Dynamax Band", description: "Max Mushrooms become available" },
|
||||
"TERA_ORB": { name: "Tera Orb", description: "Tera Shards become available" },
|
||||
"MEGA_BRACELET": { name: "Megapolsiera", description: "Le Megapietre sono disponibili" },
|
||||
"DYNAMAX_BAND": { name: "Polsino Dynamax", description: "I Fungomax sono disponibili" },
|
||||
"TERA_ORB": { name: "Terasfera", description: "I Teraliti sono disponibili" },
|
||||
|
||||
"MAP": { name: "Map", description: "Allows you to choose your destination at a crossroads" },
|
||||
"MAP": { name: "Mappa", description: "Permette di scegliere la propria strada a un bivio" },
|
||||
|
||||
"POTION": { name: "Potion" },
|
||||
"SUPER_POTION": { name: "Super Potion" },
|
||||
"HYPER_POTION": { name: "Hyper Potion" },
|
||||
"MAX_POTION": { name: "Max Potion" },
|
||||
"FULL_RESTORE": { name: "Full Restore" },
|
||||
"POTION": { name: "Pozione" },
|
||||
"SUPER_POTION": { name: "Superpozione" },
|
||||
"HYPER_POTION": { name: "Iperpozione" },
|
||||
"MAX_POTION": { name: "Pozione Max" },
|
||||
"FULL_RESTORE": { name: "Ricarica Totale" },
|
||||
|
||||
"REVIVE": { name: "Revive" },
|
||||
"MAX_REVIVE": { name: "Max Revive" },
|
||||
"REVIVE": { name: "Revitalizzante" },
|
||||
"MAX_REVIVE": { name: "Revitalizzante Max" },
|
||||
|
||||
"FULL_HEAL": { name: "Full Heal" },
|
||||
"FULL_HEAL": { name: "Cura Totale" },
|
||||
|
||||
"SACRED_ASH": { name: "Sacred Ash" },
|
||||
"SACRED_ASH": { name: "Cenere Magica" },
|
||||
|
||||
"REVIVER_SEED": { name: "Reviver Seed", description: "Revives the holder for 1/2 HP upon fainting" },
|
||||
"REVIVER_SEED": { name: "Revitalseme", description: "Il possessore recupera 1/2 di PS in caso di svenimento" },
|
||||
|
||||
"ETHER": { name: "Ether" },
|
||||
"MAX_ETHER": { name: "Max Ether" },
|
||||
"ETHER": { name: "Etere" },
|
||||
"MAX_ETHER": { name: "Etere Max" },
|
||||
|
||||
"ELIXIR": { name: "Elixir" },
|
||||
"MAX_ELIXIR": { name: "Max Elixir" },
|
||||
"ELIXIR": { name: "Elisir" },
|
||||
"MAX_ELIXIR": { name: "Elisir Max" },
|
||||
|
||||
"PP_UP": { name: "PP Up" },
|
||||
"PP_MAX": { name: "PP Max" },
|
||||
"PP_UP": { name: "PP-su" },
|
||||
"PP_MAX": { name: "PP-max" },
|
||||
|
||||
"LURE": { name: "Lure" },
|
||||
"SUPER_LURE": { name: "Super Lure" },
|
||||
"MAX_LURE": { name: "Max Lure" },
|
||||
"LURE": { name: "Profumo Invito" },
|
||||
"SUPER_LURE": { name: "Profumo Invito Super" },
|
||||
"MAX_LURE": { name: "Profumo Invito Max" },
|
||||
|
||||
"MEMORY_MUSHROOM": { name: "Memory Mushroom", description: "Recall one Pokémon's forgotten move" },
|
||||
"MEMORY_MUSHROOM": { name: "Fungo della Memoria", description: "Ricorda la mossa dimenticata di un Pokémon" },
|
||||
|
||||
"EXP_SHARE": { name: "EXP. All", description: "Non-participants receive 20% of a single participant's EXP. Points" },
|
||||
"EXP_BALANCE": { name: "EXP. Balance", description: "Weighs EXP. Points received from battles towards lower-leveled party members" },
|
||||
"EXP_SHARE": { name: "Condividi Esperienza", description: "Tutti i Pokémon della squadra ricevono il 20% dei Punti Esperienza dalla lotta anche se non vi hanno partecipato" },
|
||||
"EXP_BALANCE": { name: "Bilancia Esperienza", description: "Bilancia i Punti Esperienza ricevuti verso i Pokémon del gruppo di livello inferiore" },
|
||||
|
||||
"OVAL_CHARM": { name: "Oval Charm", description: "When multiple Pokémon participate in a battle, each gets an extra 10% of the total EXP" },
|
||||
"OVAL_CHARM": { name: "Ovamuleto", description: "Quando più Pokémon partecipano a una battaglia, ognuno di essi riceve il 10% in più dell'esperienza totale" },
|
||||
|
||||
"EXP_CHARM": { name: "EXP. Charm" },
|
||||
"SUPER_EXP_CHARM": { name: "Super EXP. Charm" },
|
||||
"GOLDEN_EXP_CHARM": { name: "Golden EXP. Charm" },
|
||||
"EXP_CHARM": { name: "Esperienzamuleto" },
|
||||
"SUPER_EXP_CHARM": { name: "Esperienzamuleto Super" },
|
||||
"GOLDEN_EXP_CHARM": { name: "Esperienzamuleto Oro" },
|
||||
|
||||
"LUCKY_EGG": { name: "Lucky Egg" },
|
||||
"GOLDEN_EGG": { name: "Golden Egg" },
|
||||
"LUCKY_EGG": { name: "Uovo Fortunato" },
|
||||
"GOLDEN_EGG": { name: "Uovo d'Oro" },
|
||||
|
||||
"SOOTHE_BELL": { name: "Soothe Bell" },
|
||||
"SOOTHE_BELL": { name: "Calmanella" },
|
||||
|
||||
"SOUL_DEW": { name: "Soul Dew", description: "Increases the influence of a Pokémon's nature on its stats by 10% (additive)" },
|
||||
"SOUL_DEW": { name: "Cuorugiada", description: "Aumenta del 10% l'influenza della natura di un Pokémon sulle sue statistiche (Aggiuntivo)" },
|
||||
|
||||
"NUGGET": { name: "Nugget" },
|
||||
"BIG_NUGGET": { name: "Big Nugget" },
|
||||
"RELIC_GOLD": { name: "Relic Gold" },
|
||||
"NUGGET": { name: "Pepita" },
|
||||
"BIG_NUGGET": { name: "Granpepita" },
|
||||
"RELIC_GOLD": { name: " Dobloantico" },
|
||||
|
||||
"AMULET_COIN": { name: "Amulet Coin", description: "Increases money rewards by 20%" },
|
||||
"GOLDEN_PUNCH": { name: "Golden Punch", description: "Grants 50% of damage inflicted as money" },
|
||||
"COIN_CASE": { name: "Coin Case", description: "After every 10th battle, receive 10% of your money in interest" },
|
||||
"AMULET_COIN": { name: "Monetamuleto", description: "Aumenta le ricompense in denaro del 20%" },
|
||||
"GOLDEN_PUNCH": { name: "Pugno Dorato", description: "Garantisce il 50% dei danni inflitti come denaro" },
|
||||
"COIN_CASE": { name: " Salvadanaio", description: "Dopo ogni 10° battaglia, riceverete il 10% del vostro denaro in interessi" },
|
||||
|
||||
"LOCK_CAPSULE": { name: "Lock Capsule", description: "Allows you to lock item rarities when rerolling items" },
|
||||
"LOCK_CAPSULE": { name: "Capsula Scrigno", description: "Permette di bloccare le rarità degli oggetti quando si fa un reroll degli oggetti" },
|
||||
|
||||
"GRIP_CLAW": { name: "Grip Claw" },
|
||||
"WIDE_LENS": { name: "Wide Lens" },
|
||||
"GRIP_CLAW": { name: "Presartigli" },
|
||||
"WIDE_LENS": { name: "Grandelente" },
|
||||
|
||||
"MULTI_LENS": { name: "Multi Lens" },
|
||||
"MULTI_LENS": { name: "Multilente" },
|
||||
|
||||
"HEALING_CHARM": { name: "Healing Charm", description: "Increases the effectiveness of HP restoring moves and items by 10% (excludes Revives)" },
|
||||
"CANDY_JAR": { name: "Candy Jar", description: "Increases the number of levels added by Rare Candy items by 1" },
|
||||
"HEALING_CHARM": { name: "Curamuleto", description: "Aumenta del 10% l'efficacia delle mosse e degli oggetti che ripristinano gli PS (escluse le rianimazioni)" },
|
||||
"CANDY_JAR": { name: "Barattolo di caramelle", description: "Aumenta di 1 il numero di livelli aggiunti dalle Caramelle Rare" },
|
||||
|
||||
"BERRY_POUCH": { name: "Berry Pouch", description: "Adds a 25% chance that a used berry will not be consumed" },
|
||||
"BERRY_POUCH": { name: "Porta Bacche", description: "Aggiunge il 25% di possibilità che una bacca usata non venga consumata" },
|
||||
|
||||
"FOCUS_BAND": { name: "Focus Band", description: "Adds a 10% chance to survive with 1 HP after being damaged enough to faint" },
|
||||
"FOCUS_BAND": { name: "Bandana", description: "Chi ce l'ha ottiene il 10% di possibilità aggiuntivo di evitare un potenziale KO e rimanere con un solo PS" },
|
||||
|
||||
"QUICK_CLAW": { name: "Quick Claw", description: "Adds a 10% chance to move first regardless of speed (after priority)" },
|
||||
"QUICK_CLAW": { name: "Rapidartigli", description: "Aggiunge una probabilità del 10% di muoversi per primi, indipendentemente dalla velocità (dopo la priorità)" },
|
||||
|
||||
"KINGS_ROCK": { name: "King's Rock", description: "Adds a 10% chance an attack move will cause the opponent to flinch" },
|
||||
"KINGS_ROCK": { name: "Roccia di re", description: "Aggiunge il 10% di possibilità che una mossa d'attacco faccia tentennare l'avversario" },
|
||||
|
||||
"LEFTOVERS": { name: "Leftovers", description: "Heals 1/16 of a Pokémon's maximum HP every turn" },
|
||||
"SHELL_BELL": { name: "Shell Bell", description: "Heals 1/8 of a Pokémon's dealt damage" },
|
||||
"LEFTOVERS": { name: "Avanzi", description: "Ripristina 1/16 dei PS massimi di un Pokémon ogni turno" },
|
||||
"SHELL_BELL": { name: "Conchinella", description: "Guarisce 1/8 del danno inflitto a un Pokémon" },
|
||||
|
||||
"BATON": { name: "Baton", description: "Allows passing along effects when switching Pokémon, which also bypasses traps" },
|
||||
"BATON": { name: "Staffetta", description: "Permette di trasmettere gli effetti quando si cambia Pokémon, aggirando anche le trappole" },
|
||||
|
||||
"SHINY_CHARM": { name: "Shiny Charm", description: "Dramatically increases the chance of a wild Pokémon being Shiny" },
|
||||
"ABILITY_CHARM": { name: "Ability Charm", description: "Dramatically increases the chance of a wild Pokémon having a Hidden Ability" },
|
||||
"SHINY_CHARM": { name: "Cromamuleto", description: "Misterioso amuleto luminoso che aumenta la probabilità di incontrare Pokémon cromatici" },
|
||||
"ABILITY_CHARM": { name: "Abilitamuleto", description: "Aumenta drasticamente la possibilità che un Pokémon selvatico abbia un'abilità nascosta" },
|
||||
|
||||
"IV_SCANNER": { name: "IV Scanner", description: "Allows scanning the IVs of wild Pokémon. 2 IVs are revealed per stack. The best IVs are shown first" },
|
||||
"IV_SCANNER": { name: "Scanner IV", description: "Permette di scansionare gli IV dei Pokémon selvatici. Vengono rivelati 2 IV per pila. I migliori IV vengono mostrati per primi" },
|
||||
|
||||
"DNA_SPLICERS": { name: "DNA Splicers" },
|
||||
"DNA_SPLICERS": { name: " Cuneo DNA" },
|
||||
|
||||
"MINI_BLACK_HOLE": { name: "Mini Black Hole" },
|
||||
"MINI_BLACK_HOLE": { name: "Piccolo Buco Nero" },
|
||||
|
||||
"GOLDEN_POKEBALL": { name: "Golden Poké Ball", description: "Adds 1 extra item option at the end of every battle" },
|
||||
"GOLDEN_POKEBALL": { name: "Poké Ball Oro", description: "Aggiunge 1 opzione di oggetto extra alla fine di ogni battaglia" },
|
||||
|
||||
"ENEMY_DAMAGE_BOOSTER": { name: "Damage Token", description: "Increases damage by 5%" },
|
||||
"ENEMY_DAMAGE_REDUCTION": { name: "Protection Token", description: "Reduces incoming damage by 2.5%" },
|
||||
"ENEMY_HEAL": { name: "Recovery Token", description: "Heals 2% of max HP every turn" },
|
||||
"ENEMY_ATTACK_POISON_CHANCE": { name: "Poison Token" },
|
||||
"ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Paralyze Token" },
|
||||
"ENEMY_ATTACK_SLEEP_CHANCE": { name: "Sleep Token" },
|
||||
"ENEMY_ATTACK_FREEZE_CHANCE": { name: "Freeze Token" },
|
||||
"ENEMY_ATTACK_BURN_CHANCE": { name: "Burn Token" },
|
||||
"ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Full Heal Token", description: "Adds a 10% chance every turn to heal a status condition" },
|
||||
"ENEMY_ENDURE_CHANCE": { name: "Endure Token" },
|
||||
"ENEMY_FUSED_CHANCE": { name: "Fusion Token", description: "Adds a 1% chance that a wild Pokémon will be a fusion" },
|
||||
"ENEMY_DAMAGE_BOOSTER": { name: "Gettone del Danno", description: "Aumenta il danno del 5%" },
|
||||
"ENEMY_DAMAGE_REDUCTION": { name: "Gettone della Protezione", description: "Riduce i danni ricevuti del 2.5%" },
|
||||
"ENEMY_HEAL": { name: "Gettone del Recupero", description: "Cura il 2% dei PS massimi ogni turno" },
|
||||
"ENEMY_ATTACK_POISON_CHANCE": { name: "Gettone del Veleno" },
|
||||
"ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Gettone della Paralisi" },
|
||||
"ENEMY_ATTACK_SLEEP_CHANCE": { name: "Gettone del Sonno" },
|
||||
"ENEMY_ATTACK_FREEZE_CHANCE": { name: "Gettone del Congelamento" },
|
||||
"ENEMY_ATTACK_BURN_CHANCE": { name: "Gettone della Bruciatura" },
|
||||
"ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Gettone Guarigione Completa", description: "Aggiunge una probabilità del 10% a ogni turno di curare una condizione di stato" },
|
||||
"ENEMY_ENDURE_CHANCE": { name: "Gettone di Resistenza" },
|
||||
"ENEMY_FUSED_CHANCE": { name: "Gettone della fusione", description: "Aggiunge l'1% di possibilità che un Pokémon selvatico sia una fusione" },
|
||||
},
|
||||
TempBattleStatBoosterItem: {
|
||||
"x_attack": "X Attack",
|
||||
"x_defense": "X Defense",
|
||||
"x_sp_atk": "X Sp. Atk",
|
||||
"x_sp_def": "X Sp. Def",
|
||||
"x_speed": "X Speed",
|
||||
"x_accuracy": "X Accuracy",
|
||||
"dire_hit": "Dire Hit",
|
||||
"x_attack": "Attacco X",
|
||||
"x_defense": "Difesa X",
|
||||
"x_sp_atk": "Att. Speciale X",
|
||||
"x_sp_def": "Dif. Speciale X",
|
||||
"x_speed": "Velocità X",
|
||||
"x_accuracy": "Precisione X",
|
||||
"dire_hit": "Supercolpo",
|
||||
},
|
||||
AttackTypeBoosterItem: {
|
||||
"silk_scarf": "Silk Scarf",
|
||||
"black_belt": "Black Belt",
|
||||
"sharp_beak": "Sharp Beak",
|
||||
"poison_barb": "Poison Barb",
|
||||
"soft_sand": "Soft Sand",
|
||||
"hard_stone": "Hard Stone",
|
||||
"silver_powder": "Silver Powder",
|
||||
"spell_tag": "Spell Tag",
|
||||
"metal_coat": "Metal Coat",
|
||||
"charcoal": "Charcoal",
|
||||
"mystic_water": "Mystic Water",
|
||||
"miracle_seed": "Miracle Seed",
|
||||
"magnet": "Magnet",
|
||||
"twisted_spoon": "Twisted Spoon",
|
||||
"never_melt_ice": "Never-Melt Ice",
|
||||
"dragon_fang": "Dragon Fang",
|
||||
"black_glasses": "Black Glasses",
|
||||
"fairy_feather": "Fairy Feather",
|
||||
"silk_scarf": "Sciarpa seta",
|
||||
"black_belt": "Cinturanera",
|
||||
"sharp_beak": "Beccaffilato",
|
||||
"poison_barb": "Velenaculeo",
|
||||
"soft_sand": "Sabbia soffice",
|
||||
"hard_stone": "Pietradura",
|
||||
"silver_powder": "Argenpolvere",
|
||||
"spell_tag": "Spettrotarga",
|
||||
"metal_coat": "Metalcopertura",
|
||||
"charcoal": "Carbonella",
|
||||
"mystic_water": "Acqua magica",
|
||||
"miracle_seed": "Miracolseme",
|
||||
"magnet": "Magnete",
|
||||
"twisted_spoon": "Cucchiaio torto",
|
||||
"never_melt_ice": "Gelomai",
|
||||
"dragon_fang": "Dente di drago",
|
||||
"black_glasses": "Occhialineri",
|
||||
"fairy_feather": "Piuma fatata",
|
||||
},
|
||||
BaseStatBoosterItem: {
|
||||
"hp_up": "HP Up",
|
||||
"protein": "Protein",
|
||||
"iron": "Iron",
|
||||
"calcium": "Calcium",
|
||||
"zinc": "Zinc",
|
||||
"carbos": "Carbos",
|
||||
"hp_up": "PS-su",
|
||||
"protein": "Proteina",
|
||||
"iron": "Ferro",
|
||||
"calcium": "Calcio",
|
||||
"zinc": "Zinco",
|
||||
"carbos": "Carburante",
|
||||
},
|
||||
EvolutionItem: {
|
||||
"NONE": "None",
|
||||
"NONE": "Nessuno",
|
||||
|
||||
"LINKING_CORD": "Linking Cord",
|
||||
"SUN_STONE": "Sun Stone",
|
||||
"MOON_STONE": "Moon Stone",
|
||||
"LEAF_STONE": "Leaf Stone",
|
||||
"FIRE_STONE": "Fire Stone",
|
||||
"WATER_STONE": "Water Stone",
|
||||
"THUNDER_STONE": "Thunder Stone",
|
||||
"ICE_STONE": "Ice Stone",
|
||||
"DUSK_STONE": "Dusk Stone",
|
||||
"DAWN_STONE": "Dawn Stone",
|
||||
"SHINY_STONE": "Shiny Stone",
|
||||
"CRACKED_POT": "Cracked Pot",
|
||||
"SWEET_APPLE": "Sweet Apple",
|
||||
"TART_APPLE": "Tart Apple",
|
||||
"STRAWBERRY_SWEET": "Strawberry Sweet",
|
||||
"UNREMARKABLE_TEACUP": "Unremarkable Teacup",
|
||||
"LINKING_CORD": "Filo dell'unione",
|
||||
"SUN_STONE": "Pietrasolare",
|
||||
"MOON_STONE": "Pietralunare",
|
||||
"LEAF_STONE": "Pietrafoglia",
|
||||
"FIRE_STONE": "Pietrafocaia",
|
||||
"WATER_STONE": "Pietraidrica",
|
||||
"THUNDER_STONE": "Pietratuono",
|
||||
"ICE_STONE": "Pietragelo",
|
||||
"DUSK_STONE": "Neropietra",
|
||||
"DAWN_STONE": "Pietralbore",
|
||||
"SHINY_STONE": "Pietrabrillo",
|
||||
"CRACKED_POT": "Teiera rotta",
|
||||
"SWEET_APPLE": "Dolcepomo",
|
||||
"TART_APPLE": "Aspropomo",
|
||||
"STRAWBERRY_SWEET": "Bonbonfragola",
|
||||
"UNREMARKABLE_TEACUP": "Tazza dozzinale",
|
||||
|
||||
"CHIPPED_POT": "Chipped Pot",
|
||||
"BLACK_AUGURITE": "Black Augurite",
|
||||
"GALARICA_CUFF": "Galarica Cuff",
|
||||
"GALARICA_WREATH": "Galarica Wreath",
|
||||
"PEAT_BLOCK": "Peat Block",
|
||||
"AUSPICIOUS_ARMOR": "Auspicious Armor",
|
||||
"MALICIOUS_ARMOR": "Malicious Armor",
|
||||
"MASTERPIECE_TEACUP": "Masterpiece Teacup",
|
||||
"METAL_ALLOY": "Metal Alloy",
|
||||
"SCROLL_OF_DARKNESS": "Scroll Of Darkness",
|
||||
"SCROLL_OF_WATERS": "Scroll Of Waters",
|
||||
"SYRUPY_APPLE": "Syrupy Apple",
|
||||
"CHIPPED_POT": "Teiera crepata",
|
||||
"BLACK_AUGURITE": "Augite nera",
|
||||
"GALARICA_CUFF": "Fascia Galarnoce",
|
||||
"GALARICA_WREATH": "Corona Galarnoce",
|
||||
"PEAT_BLOCK": "Blocco di torba",
|
||||
"AUSPICIOUS_ARMOR": "Armatura fausta",
|
||||
"MALICIOUS_ARMOR": "Armatura infausta",
|
||||
"MASTERPIECE_TEACUP": "Tazza eccezionale",
|
||||
"METAL_ALLOY": "Metallo composito",
|
||||
"SCROLL_OF_DARKNESS": "Rotolo del Buio",
|
||||
"SCROLL_OF_WATERS": "Rotolo dell'Acqua",
|
||||
"SYRUPY_APPLE": "Sciroppomo",
|
||||
},
|
||||
FormChangeItem: {
|
||||
"NONE": "None",
|
||||
"NONE": "Nessuno",
|
||||
|
||||
"ABOMASITE": "Abomasite",
|
||||
"ABOMASITE": "Abomasnowite",
|
||||
"ABSOLITE": "Absolite",
|
||||
"AERODACTYLITE": "Aerodactylite",
|
||||
"AGGRONITE": "Aggronite",
|
||||
"ALAKAZITE": "Alakazite",
|
||||
"ALTARIANITE": "Altarianite",
|
||||
"ALAKAZITE": "Alakazamite",
|
||||
"ALTARIANITE": "Altarite",
|
||||
"AMPHAROSITE": "Ampharosite",
|
||||
"AUDINITE": "Audinite",
|
||||
"BANETTITE": "Banettite",
|
||||
"BEEDRILLITE": "Beedrillite",
|
||||
"BLASTOISINITE": "Blastoisinite",
|
||||
"BLASTOISINITE": "Blastoisite",
|
||||
"BLAZIKENITE": "Blazikenite",
|
||||
"CAMERUPTITE": "Cameruptite",
|
||||
"CHARIZARDITE_X": "Charizardite X",
|
||||
@ -327,83 +327,83 @@ export const modifierType: ModifierTypeTranslationEntries = {
|
||||
"GARCHOMPITE": "Garchompite",
|
||||
"GARDEVOIRITE": "Gardevoirite",
|
||||
"GENGARITE": "Gengarite",
|
||||
"GLALITITE": "Glalitite",
|
||||
"GLALITITE": "Glalite",
|
||||
"GYARADOSITE": "Gyaradosite",
|
||||
"HERACRONITE": "Heracronite",
|
||||
"HOUNDOOMINITE": "Houndoominite",
|
||||
"HOUNDOOMINITE": "Houndoomite",
|
||||
"KANGASKHANITE": "Kangaskhanite",
|
||||
"LATIASITE": "Latiasite",
|
||||
"LATIOSITE": "Latiosite",
|
||||
"LOPUNNITE": "Lopunnite",
|
||||
"LUCARIONITE": "Lucarionite",
|
||||
"MANECTITE": "Manectite",
|
||||
"LUCARIONITE": "Lucarite",
|
||||
"MANECTITE": "Manectricite",
|
||||
"MAWILITE": "Mawilite",
|
||||
"MEDICHAMITE": "Medichamite",
|
||||
"METAGROSSITE": "Metagrossite",
|
||||
"MEWTWONITE_X": "Mewtwonite X",
|
||||
"MEWTWONITE_Y": "Mewtwonite Y",
|
||||
"MEWTWONITE_X": "Mewtwoite X",
|
||||
"MEWTWONITE_Y": "Mewtwoite Y",
|
||||
"PIDGEOTITE": "Pidgeotite",
|
||||
"PINSIRITE": "Pinsirite",
|
||||
"RAYQUAZITE": "Rayquazite",
|
||||
"SABLENITE": "Sablenite",
|
||||
"SABLENITE": "Sableyite",
|
||||
"SALAMENCITE": "Salamencite",
|
||||
"SCEPTILITE": "Sceptilite",
|
||||
"SCIZORITE": "Scizorite",
|
||||
"SHARPEDONITE": "Sharpedonite",
|
||||
"SLOWBRONITE": "Slowbronite",
|
||||
"SHARPEDONITE": "Sharpedite",
|
||||
"SLOWBRONITE": "Slowbroite",
|
||||
"STEELIXITE": "Steelixite",
|
||||
"SWAMPERTITE": "Swampertite",
|
||||
"TYRANITARITE": "Tyranitarite",
|
||||
"VENUSAURITE": "Venusaurite",
|
||||
|
||||
"BLUE_ORB": "Blue Orb",
|
||||
"RED_ORB": "Red Orb",
|
||||
"SHARP_METEORITE": "Sharp Meteorite",
|
||||
"HARD_METEORITE": "Hard Meteorite",
|
||||
"SMOOTH_METEORITE": "Smooth Meteorite",
|
||||
"ADAMANT_CRYSTAL": "Adamant Crystal",
|
||||
"LUSTROUS_ORB": "Lustrous Orb",
|
||||
"GRISEOUS_CORE": "Griseous Core",
|
||||
"REVEAL_GLASS": "Reveal Glass",
|
||||
"BLUE_ORB": "Gemma Blu",
|
||||
"RED_ORB": "Gemma Rossa",
|
||||
"SHARP_METEORITE": "Meteorite Tagliente",
|
||||
"HARD_METEORITE": "Meteorite Dura",
|
||||
"SMOOTH_METEORITE": "Meteorite Liscia",
|
||||
"ADAMANT_CRYSTAL": "Adamasferoide",
|
||||
"LUSTROUS_ORB": "Splendisfera",
|
||||
"GRISEOUS_CORE": "Grigiosferoide",
|
||||
"REVEAL_GLASS": "Verispecchio",
|
||||
"GRACIDEA": "Gracidea",
|
||||
"MAX_MUSHROOMS": "Max Mushrooms",
|
||||
"DARK_STONE": "Dark Stone",
|
||||
"LIGHT_STONE": "Light Stone",
|
||||
"PRISON_BOTTLE": "Prison Bottle",
|
||||
"N_LUNARIZER": "N Lunarizer",
|
||||
"N_SOLARIZER": "N Solarizer",
|
||||
"RUSTED_SWORD": "Rusted Sword",
|
||||
"RUSTED_SHIELD": "Rusted Shield",
|
||||
"ICY_REINS_OF_UNITY": "Icy Reins Of Unity",
|
||||
"SHADOW_REINS_OF_UNITY": "Shadow Reins Of Unity",
|
||||
"WELLSPRING_MASK": "Wellspring Mask",
|
||||
"HEARTHFLAME_MASK": "Hearthflame Mask",
|
||||
"CORNERSTONE_MASK": "Cornerstone Mask",
|
||||
"SHOCK_DRIVE": "Shock Drive",
|
||||
"BURN_DRIVE": "Burn Drive",
|
||||
"CHILL_DRIVE": "Chill Drive",
|
||||
"DOUSE_DRIVE": "Douse Drive",
|
||||
"MAX_MUSHROOMS": "Fungomax",
|
||||
"DARK_STONE": "Scurolite",
|
||||
"LIGHT_STONE": "Chiarolite",
|
||||
"PRISON_BOTTLE": "Vaso del Vincolo",
|
||||
"N_LUNARIZER": "Necrolunix",
|
||||
"N_SOLARIZER": "Necrosolix",
|
||||
"RUSTED_SWORD": "Spada Rovinata",
|
||||
"RUSTED_SHIELD": "Scudo Rovinato",
|
||||
"ICY_REINS_OF_UNITY": "Briglie Legame Giaccio",
|
||||
"SHADOW_REINS_OF_UNITY": "Briglie legame Ombra",
|
||||
"WELLSPRING_MASK": "Maschera Pozzo",
|
||||
"HEARTHFLAME_MASK": "Maschera Focolare",
|
||||
"CORNERSTONE_MASK": "Maschera Fondamenta",
|
||||
"SHOCK_DRIVE": "Voltmodulo",
|
||||
"BURN_DRIVE": "Piromodulo",
|
||||
"CHILL_DRIVE": "Gelomodulo",
|
||||
"DOUSE_DRIVE": "Idromodulo",
|
||||
},
|
||||
TeraType: {
|
||||
"UNKNOWN": "Unknown",
|
||||
"NORMAL": "Normal",
|
||||
"FIGHTING": "Fighting",
|
||||
"FLYING": "Flying",
|
||||
"POISON": "Poison",
|
||||
"GROUND": "Ground",
|
||||
"ROCK": "Rock",
|
||||
"BUG": "Bug",
|
||||
"GHOST": "Ghost",
|
||||
"STEEL": "Steel",
|
||||
"FIRE": "Fire",
|
||||
"WATER": "Water",
|
||||
"GRASS": "Grass",
|
||||
"ELECTRIC": "Electric",
|
||||
"PSYCHIC": "Psychic",
|
||||
"ICE": "Ice",
|
||||
"DRAGON": "Dragon",
|
||||
"DARK": "Dark",
|
||||
"FAIRY": "Fairy",
|
||||
"STELLAR": "Stellar",
|
||||
"UNKNOWN": "Sconosciuto",
|
||||
"NORMAL": "Normale",
|
||||
"FIGHTING": "Lotta",
|
||||
"FLYING": "Volante",
|
||||
"POISON": "Veleno",
|
||||
"GROUND": "Terra",
|
||||
"ROCK": "Roccia",
|
||||
"BUG": "Coleottero",
|
||||
"GHOST": "Spettro",
|
||||
"STEEL": "Acciaio",
|
||||
"FIRE": "Fuoco",
|
||||
"WATER": "Acqua",
|
||||
"GRASS": "Erba",
|
||||
"ELECTRIC": "Elettro",
|
||||
"PSYCHIC": "Psico",
|
||||
"ICE": "Ghiaccio",
|
||||
"DRAGON": "Drago",
|
||||
"DARK": "Buio",
|
||||
"FAIRY": "Folletto",
|
||||
"STELLAR": "Astrale",
|
||||
},
|
||||
} as const;
|
@ -44,8 +44,8 @@ export const trainerClasses: SimpleTranslationEntries = {
|
||||
"depot_agent": "Depot Agent",
|
||||
"doctor": "Doctor",
|
||||
"doctor_female": "Doctor",
|
||||
"fishermen": "Fishermen",
|
||||
"fishermen_female": "Fishermen",
|
||||
"fisherman": "Fisherman",
|
||||
"fisherman_female": "Fisherman",
|
||||
"gentleman": "Gentleman",
|
||||
"guitarist": "Guitarist",
|
||||
"guitarist_female": "Guitarist",
|
||||
@ -61,15 +61,15 @@ export const trainerClasses: SimpleTranslationEntries = {
|
||||
"maid": "Maid",
|
||||
"madame": "Madame",
|
||||
"medical_team": "Medical Team",
|
||||
"musican": "Musician",
|
||||
"musician": "Musician",
|
||||
"hex_maniac": "Hex Maniac",
|
||||
"nurse": "Nurse",
|
||||
"nursery_aide": "Nursery Aide",
|
||||
"officer": "Officer",
|
||||
"parasol_lady": "Parasol Lady",
|
||||
"pilot": "Pilot",
|
||||
"poké_fan": "Poké Fan",
|
||||
"poké_fan_family": "Poké Fan Family",
|
||||
"pokefan": "Poké Fan",
|
||||
"pokefan_family": "Poké Fan Family",
|
||||
"preschooler": "Preschooler",
|
||||
"preschooler_female": "Preschooler",
|
||||
"preschoolers": "Preschoolers",
|
||||
@ -80,8 +80,12 @@ export const trainerClasses: SimpleTranslationEntries = {
|
||||
"pokémon_rangers": "Pokémon Ranger",
|
||||
"ranger": "Ranger",
|
||||
"restaurant_staff": "Restaurant Staff",
|
||||
"rich": "Rich",
|
||||
"rich_female": "Rich",
|
||||
"rich_boy": "Rich Boy",
|
||||
"rich_couple": "Rich Couple",
|
||||
"rich_kid": "Rich Kid",
|
||||
"rich_kid_female": "Rich Kid",
|
||||
"rich_kids": "Rich Kids",
|
||||
"roughneck": "Roughneck",
|
||||
"scientist": "Scientist",
|
||||
|
10
src/locales/pt_BR/battle-message-ui-handler.ts
Normal file
10
src/locales/pt_BR/battle-message-ui-handler.ts
Normal file
@ -0,0 +1,10 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const battleMessageUiHandler: SimpleTranslationEntries = {
|
||||
"ivBest": "Best",
|
||||
"ivFantastic": "Fantastic",
|
||||
"ivVeryGood": "Very Good",
|
||||
"ivPrettyGood": "Pretty Good",
|
||||
"ivDecent": "Decent",
|
||||
"ivNoGood": "No Good",
|
||||
} as const;
|
48
src/locales/pt_BR/berry.ts
Normal file
48
src/locales/pt_BR/berry.ts
Normal file
@ -0,0 +1,48 @@
|
||||
import { BerryTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const berry: BerryTranslationEntries = {
|
||||
"SITRUS": {
|
||||
name: "Sitrus Berry",
|
||||
effect: "Restores 25% HP if HP is below 50%",
|
||||
},
|
||||
"LUM": {
|
||||
name: "Lum Berry",
|
||||
effect: "Cures any non-volatile status condition and confusion",
|
||||
},
|
||||
"ENIGMA": {
|
||||
name: "Enigma Berry",
|
||||
effect: "Restores 25% HP if hit by a super effective move",
|
||||
},
|
||||
"LIECHI": {
|
||||
name: "Liechi Berry",
|
||||
effect: "Raises Attack if HP is below 25%",
|
||||
},
|
||||
"GANLON": {
|
||||
name: "Ganlon Berry",
|
||||
effect: "Raises Defense if HP is below 25%",
|
||||
},
|
||||
"PETAYA": {
|
||||
name: "Petaya Berry",
|
||||
effect: "Raises Sp. Atk if HP is below 25%",
|
||||
},
|
||||
"APICOT": {
|
||||
name: "Apicot Berry",
|
||||
effect: "Raises Sp. Def if HP is below 25%",
|
||||
},
|
||||
"SALAC": {
|
||||
name: "Salac Berry",
|
||||
effect: "Raises Speed if HP is below 25%",
|
||||
},
|
||||
"LANSAT": {
|
||||
name: "Lansat Berry",
|
||||
effect: "Raises critical hit ratio if HP is below 25%",
|
||||
},
|
||||
"STARF": {
|
||||
name: "Starf Berry",
|
||||
effect: "Sharply raises a random stat if HP is below 25%",
|
||||
},
|
||||
"LEPPA": {
|
||||
name: "Leppa Berry",
|
||||
effect: "Restores 10 PP to a move if its PP reaches 0",
|
||||
},
|
||||
} as const;
|
@ -17,6 +17,7 @@ import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { SummaryUiHandler } from "./summary-ui-handler";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { weather } from "./weather";
|
||||
import { berry } from "./berry";
|
||||
|
||||
|
||||
export const ptBrConfig = {
|
||||
@ -39,4 +40,5 @@ export const ptBrConfig = {
|
||||
biome: biome,
|
||||
weather: weather,
|
||||
modifierType: modifierType,
|
||||
berry: berry,
|
||||
}
|
@ -44,8 +44,8 @@ export const trainerClasses: SimpleTranslationEntries = {
|
||||
"depot_agent": "Ferroviário",
|
||||
"doctor": "Doutor",
|
||||
"doctor_female": "Doutora",
|
||||
"fishermen": "Pescador",
|
||||
"fishermen_female": "Pescadora",
|
||||
"fisherman": "Pescador",
|
||||
"fisherman_female": "Pescadora",
|
||||
"gentleman": "Gentleman",
|
||||
"guitarist": "Guitarrista",
|
||||
"guitarist_female": "Guitarrista",
|
||||
@ -60,16 +60,16 @@ export const trainerClasses: SimpleTranslationEntries = {
|
||||
"linebacker": "Zagueiro",
|
||||
"maid": "Doméstica",
|
||||
"madame": "Madame",
|
||||
"musican": "Músico",
|
||||
"medical_team": "Medical Team",
|
||||
"musician": "Músico",
|
||||
"hex_maniac": "Ocultista",
|
||||
"nurse": "Enfermeira",
|
||||
"nursery_aide": "Professora do Berçário",
|
||||
"officer": "Policial",
|
||||
"parasol_lady": "Moça de Sombrinha",
|
||||
"pilot": "Piloto",
|
||||
"poké_fan": "Pokefã",
|
||||
"poké_fan_family": "Poké Fan Family",
|
||||
"pokefan": "Pokefã",
|
||||
"pokefan_family": "Poké Fan Family",
|
||||
"preschooler": "Menino do Prezinho",
|
||||
"preschooler_female": "Menina do Prezinho",
|
||||
"preschoolers": "Preschoolers",
|
||||
@ -80,8 +80,12 @@ export const trainerClasses: SimpleTranslationEntries = {
|
||||
"pokémon_rangers": "Pokémon Ranger",
|
||||
"ranger": "Guarda",
|
||||
"restaurant_staff": "Restaurant Staff",
|
||||
"rich": "Rich",
|
||||
"rich_female": "Rich",
|
||||
"rich_boy": "Rich Boy",
|
||||
"rich_couple": "Rich Couple",
|
||||
"rich_kid": "Rich Kid",
|
||||
"rich_kid_female": "Rich Kid",
|
||||
"rich_kids": "Rich Kids",
|
||||
"roughneck": "Arruaceiro",
|
||||
"scientist": "Cientista",
|
||||
|
10
src/locales/zh_CN/battle-message-ui-handler.ts
Normal file
10
src/locales/zh_CN/battle-message-ui-handler.ts
Normal file
@ -0,0 +1,10 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const battleMessageUiHandler: SimpleTranslationEntries = {
|
||||
"ivBest": "Best",
|
||||
"ivFantastic": "Fantastic",
|
||||
"ivVeryGood": "Very Good",
|
||||
"ivPrettyGood": "Pretty Good",
|
||||
"ivDecent": "Decent",
|
||||
"ivNoGood": "No Good",
|
||||
} as const;
|
48
src/locales/zh_CN/berry.ts
Normal file
48
src/locales/zh_CN/berry.ts
Normal file
@ -0,0 +1,48 @@
|
||||
import { BerryTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const berry: BerryTranslationEntries = {
|
||||
"SITRUS": {
|
||||
name: "文柚果",
|
||||
effect: "HP低于50%时,回复最大HP的25%",
|
||||
},
|
||||
"LUM": {
|
||||
name: "木子果",
|
||||
effect: "治愈任何异常状态和混乱状态",
|
||||
},
|
||||
"ENIGMA": {
|
||||
name: "谜芝果",
|
||||
effect: "受到效果绝佳的招式攻击时,回复25%最大HP",
|
||||
},
|
||||
"LIECHI": {
|
||||
name: "枝荔果",
|
||||
effect: "HP低于25%时,攻击提升一个等级",
|
||||
},
|
||||
"GANLON": {
|
||||
name: "龙睛果",
|
||||
effect: "HP低于25%时,防御提升一个等级",
|
||||
},
|
||||
"PETAYA": {
|
||||
name: "龙火果",
|
||||
effect: "HP低于25%时,特攻提升一个等级",
|
||||
},
|
||||
"APICOT": {
|
||||
name: "杏仔果",
|
||||
effect: "HP低于25%时,特防提升一个等级",
|
||||
},
|
||||
"SALAC": {
|
||||
name: "沙鳞果",
|
||||
effect: "HP低于25%时,速度提升一个等级",
|
||||
},
|
||||
"LANSAT": {
|
||||
name: "兰萨果",
|
||||
effect: "HP低于25%时,击中要害率提升两个等级",
|
||||
},
|
||||
"STARF": {
|
||||
name: "星桃果",
|
||||
effect: "HP低于25%时,提高随机一项能力两个等级",
|
||||
},
|
||||
"LEPPA": {
|
||||
name: "苹野果",
|
||||
effect: "有招式的PP降到0时,恢复该招式10PP",
|
||||
},
|
||||
} as const;
|
@ -2,14 +2,20 @@ import { ability } from "./ability";
|
||||
import { abilityTriggers } from "./ability-trigger";
|
||||
import { battle } from "./battle";
|
||||
import { commandUiHandler } from "./command-ui-handler";
|
||||
// import { egg } from "./egg";
|
||||
import { fightUiHandler } from "./fight-ui-handler";
|
||||
import { growth } from "./growth";
|
||||
import { menu } from "./menu";
|
||||
import { menuUiHandler } from "./menu-ui-handler";
|
||||
import { modifierType } from "./modifier-type";
|
||||
import { move } from "./move";
|
||||
import { nature } from "./nature";
|
||||
import { pokeball } from "./pokeball";
|
||||
import { pokemon } from "./pokemon";
|
||||
import { pokemonStat } from "./pokemon-stat";
|
||||
// import { splashMessages } from "./splash-messages";
|
||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { titles,trainerClasses,trainerNames } from "./trainers";
|
||||
import { nature } from "./nature";
|
||||
@ -17,24 +23,27 @@ import { partyUiHandler } from "./party-ui-handler";
|
||||
import { SummaryUiHandler } from "./summary-ui-handler";
|
||||
import { biome } from "./biome";
|
||||
import { weather } from "./weather";
|
||||
import { modifierType } from "./modifier-type";
|
||||
import { growth } from "./growth";
|
||||
|
||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||
import { berry } from "./berry";
|
||||
|
||||
export const zhCnConfig = {
|
||||
ability: ability,
|
||||
abilityTriggers: abilityTriggers,
|
||||
battle: battle,
|
||||
commandUiHandler: commandUiHandler,
|
||||
// egg: egg,
|
||||
fightUiHandler: fightUiHandler,
|
||||
menuUiHandler: menuUiHandler,
|
||||
growth: growth,
|
||||
menu: menu,
|
||||
menuUiHandler: menuUiHandler,
|
||||
modifierType: modifierType,
|
||||
move: move,
|
||||
pokeball: pokeball,
|
||||
pokemonStat: pokemonStat,
|
||||
pokemon: pokemon,
|
||||
starterSelectUiHandler: starterSelectUiHandler,
|
||||
nature: nature,
|
||||
pokeball: pokeball,
|
||||
pokemon: pokemon,
|
||||
pokemonStat: pokemonStat,
|
||||
// splashMessages: splashMessages,
|
||||
starterSelectUiHandler: starterSelectUiHandler,
|
||||
titles: titles,
|
||||
trainerClasses: trainerClasses,
|
||||
trainerNames: trainerNames,
|
||||
@ -45,5 +54,6 @@ export const zhCnConfig = {
|
||||
biome: biome,
|
||||
growth: growth,
|
||||
weather: weather,
|
||||
modifierType: modifierType,
|
||||
}
|
||||
battleMessageUiHandler: battleMessageUiHandler,
|
||||
berry: berry,
|
||||
}
|
@ -2,239 +2,301 @@ import {SimpleTranslationEntries} from "#app/plugins/i18n";
|
||||
|
||||
// Titles of special trainers like gym leaders, elite four, and the champion
|
||||
export const titles: SimpleTranslationEntries = {
|
||||
"elite_four": "Elite Four",
|
||||
"gym_leader": "Gym Leader",
|
||||
"gym_leader_female": "Gym Leader",
|
||||
"champion": "Champion",
|
||||
"rival": "Rival",
|
||||
"professor": "Professor",
|
||||
"frontier_brain": "Frontier Brain",
|
||||
"elite_four": "四天王",
|
||||
"gym_leader": "道馆馆主",
|
||||
"gym_leader_female": "道馆馆主",
|
||||
"champion": "冠军",
|
||||
"rival": "劲敌",
|
||||
"professor": "博士",
|
||||
"frontier_brain": "开拓头脑",
|
||||
// Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc.
|
||||
} as const;
|
||||
|
||||
// Titles of trainers like "Youngster" or "Lass"
|
||||
export const trainerClasses: SimpleTranslationEntries = {
|
||||
"ace_trainer": "Ace Trainer",
|
||||
"ace_trainer_female": "Ace Trainer",
|
||||
"ace_duo": "Ace Duo",
|
||||
"artist": "Artist",
|
||||
"artist_female": "Artist",
|
||||
"backers": "Backers",
|
||||
"backpacker": "Backpacker",
|
||||
"backpacker_female": "Backpacker",
|
||||
"backpackers": "Backpackers",
|
||||
"baker": "Baker",
|
||||
"battle_girl": "Battle Girl",
|
||||
"beauty": "Beauty",
|
||||
"beginners": "Beginners",
|
||||
"biker": "Biker",
|
||||
"black_belt": "Black Belt",
|
||||
"breeder": "Breeder",
|
||||
"breeder_female": "Breeder",
|
||||
"breeders": "Breeders",
|
||||
"clerk": "Clerk",
|
||||
"clerk_female": "Clerk",
|
||||
"colleagues": "Colleagues",
|
||||
"crush_kin": "Crush Kin",
|
||||
"cyclist": "Cyclist",
|
||||
"cyclist_female": "Cyclist",
|
||||
"cyclists": "Cyclists",
|
||||
"dancer": "Dancer",
|
||||
"dancer_female": "Dancer",
|
||||
"depot_agent": "Depot Agent",
|
||||
"doctor": "Doctor",
|
||||
"doctor_female": "Doctor",
|
||||
"fishermen": "Fishermen",
|
||||
"fishermen_female": "Fishermen",
|
||||
"gentleman": "Gentleman",
|
||||
"guitarist": "Guitarist",
|
||||
"guitarist_female": "Guitarist",
|
||||
"harlequin": "Harlequin",
|
||||
"hiker": "Hiker",
|
||||
"hooligans": "Hooligans",
|
||||
"hoopster": "Hoopster",
|
||||
"infielder": "Infielder",
|
||||
"janitor": "Janitor",
|
||||
"lady": "Lady",
|
||||
"lass": "Lass",
|
||||
"linebacker": "Linebacker",
|
||||
"maid": "Maid",
|
||||
"madame": "Madame",
|
||||
"medical_team": "Medical Team",
|
||||
"musican": "Musician",
|
||||
"hex_maniac": "Hex Maniac",
|
||||
"nurse": "Nurse",
|
||||
"nursery_aide": "Nursery Aide",
|
||||
"officer": "Officer",
|
||||
"parasol_lady": "Parasol Lady",
|
||||
"pilot": "Pilot",
|
||||
"poké_fan": "Poké Fan",
|
||||
"poké_fan_family": "Poké Fan Family",
|
||||
"preschooler": "Preschooler",
|
||||
"preschooler_female": "Preschooler",
|
||||
"preschoolers": "Preschoolers",
|
||||
"psychic": "Psychic",
|
||||
"psychic_female": "Psychic",
|
||||
"psychics": "Psychics",
|
||||
"pokémon_ranger": "Pokémon Ranger",
|
||||
"pokémon_rangers": "Pokémon Ranger",
|
||||
"ranger": "Ranger",
|
||||
"restaurant_staff": "Restaurant Staff",
|
||||
"rich_boy": "Rich Boy",
|
||||
"rich_couple": "Rich Couple",
|
||||
"rich_kids": "Rich Kids",
|
||||
"roughneck": "Roughneck",
|
||||
"scientist": "Scientist",
|
||||
"scientist_female": "Scientist",
|
||||
"scientists": "Scientists",
|
||||
"smasher": "Smasher",
|
||||
"snow_worker": "Snow Worker",
|
||||
"snow_worker_female": "Snow Worker",
|
||||
"striker": "Striker",
|
||||
"school_kid": "School Kid",
|
||||
"school_kid_female": "School Kid",
|
||||
"school_kids": "School Kids",
|
||||
"swimmer": "Swimmer",
|
||||
"swimmer_female": "Swimmer",
|
||||
"swimmers": "Swimmers",
|
||||
"twins": "Twins",
|
||||
"veteran": "Veteran",
|
||||
"veteran_female": "Veteran",
|
||||
"veteran_duo": "Veteran Duo",
|
||||
"waiter": "Waiter",
|
||||
"waitress": "Waitress",
|
||||
"worker": "Worker",
|
||||
"worker_female": "Worker",
|
||||
"workers": "Workers",
|
||||
"youngster": "Youngster"
|
||||
"ace_trainer": "精英训练家",
|
||||
"ace_trainer_female": "精英训练家",
|
||||
"ace_duo": "精英组合",
|
||||
"artist": "艺术家",
|
||||
"artist_female": "艺术家",
|
||||
"backers": "啦啦队",
|
||||
"backpacker": "背包客",
|
||||
"backpacker_female": "背包客",
|
||||
"backpackers": "背包客组合",
|
||||
"baker": "面包师",
|
||||
"battle_girl": "对战少女",
|
||||
"beauty": "大姐姐",
|
||||
"beginners": "新人训练家组合",
|
||||
"biker": "飙车族",
|
||||
"black_belt": "空手道王",
|
||||
"breeder": "宝可梦培育家",
|
||||
"breeder_female": "宝可梦培育家",
|
||||
"breeders": "宝可梦培育家组合",
|
||||
"clerk": "商务人士",
|
||||
"clerk_female": "职场OL",
|
||||
"colleagues": "商务伙伴",
|
||||
"crush_kin": "格斗姐弟",
|
||||
"cyclist": "自行车手",
|
||||
"cyclist_female": "自行车手",
|
||||
"cyclists": "自行车手组合",
|
||||
"dancer": "舞者",
|
||||
"dancer_female": "舞者",
|
||||
"depot_agent": "铁路员工",
|
||||
"doctor": "医生",
|
||||
"doctor_female": "医生",
|
||||
"fisherman": "垂钓者",
|
||||
"fisherman_female": "垂钓者",
|
||||
"gentleman": "绅士",
|
||||
"guitarist": "吉他手",
|
||||
"guitarist_female": "吉他手",
|
||||
"harlequin": "滑稽演员",
|
||||
"hiker": "登山男",
|
||||
"hooligans": "坏组合",
|
||||
"hoopster": "篮球选手",
|
||||
"infielder": "棒球选手",
|
||||
"janitor": "清洁员",
|
||||
"lady": "千金小姐",
|
||||
"lass": "迷你裙",
|
||||
"linebacker": "美式橄榄球选手",
|
||||
"maid": "女仆",
|
||||
"madame": "女士",
|
||||
"medical_team": "医疗团队",
|
||||
"musician": "音乐家",
|
||||
"hex_maniac": "灵异迷",
|
||||
"nurse": "护士",
|
||||
"nursery_aide": "幼儿园老师",
|
||||
"officer": "警察",
|
||||
"parasol_lady": "阳伞姐姐",
|
||||
"pilot": "飞行员",
|
||||
"pokefan": "发烧友俱乐部",
|
||||
"pokefan_family": "同好夫妇",
|
||||
"preschooler": "幼儿园小朋友",
|
||||
"preschooler_female": "幼儿园小朋友",
|
||||
"preschoolers": "幼儿园小朋友组合",
|
||||
"psychic": "超能力者",
|
||||
"psychic_female": "超能力者",
|
||||
"psychics": "超能力者组合",
|
||||
"pokémon_ranger": "宝可梦巡护员",
|
||||
"pokémon_rangers": "宝可梦巡护员组合",
|
||||
"ranger": "巡护员",
|
||||
"restaurant_staff": "服务生组合",
|
||||
"rich": "Rich",
|
||||
"rich_female": "Rich",
|
||||
"rich_boy": "富家少爷",
|
||||
"rich_couple": "富豪夫妇",
|
||||
"rich_kid": "Rich Kid",
|
||||
"rich_kid_female": "Rich Kid",
|
||||
"rich_kids": "富二代组合",
|
||||
"roughneck": "光头男",
|
||||
"scientist": "研究员",
|
||||
"scientist_female": "研究员",
|
||||
"scientists": "研究员组合",
|
||||
"smasher": "网球选手",
|
||||
"snow_worker": "雪地工人",
|
||||
"snow_worker_female": "雪地工人",
|
||||
"striker": "足球选手",
|
||||
"school_kid": "补习班学生",
|
||||
"school_kid_female": "补习班学生",
|
||||
"school_kids": "补习班学生组合",
|
||||
"swimmer": "泳裤小伙子",
|
||||
"swimmer_female": "比基尼大姐姐",
|
||||
"swimmers": "泳装情侣",
|
||||
"twins": "双胞胎",
|
||||
"veteran": "资深训练家",
|
||||
"veteran_female": "资深训练家",
|
||||
"veteran_duo": "资深组合",
|
||||
"waiter": "服务生",
|
||||
"waitress": "女服务生",
|
||||
"worker": "工人",
|
||||
"worker_female": "工人",
|
||||
"workers": "工人组合",
|
||||
"youngster": "短裤小子"
|
||||
} as const;
|
||||
|
||||
// Names of special trainers like gym leaders, elite four, and the champion
|
||||
export const trainerNames: SimpleTranslationEntries = {
|
||||
"brock": "Brock",
|
||||
"misty": "Misty",
|
||||
"lt_surge": "Lt Surge",
|
||||
"erika": "Erika",
|
||||
"janine": "Janine",
|
||||
"sabrina": "Sabrina",
|
||||
"blaine": "Blaine",
|
||||
"giovanni": "Giovanni",
|
||||
"falkner": "Falkner",
|
||||
"bugsy": "Bugsy",
|
||||
"whitney": "Whitney",
|
||||
"morty": "Morty",
|
||||
"chuck": "Chuck",
|
||||
"jasmine": "Jasmine",
|
||||
"pryce": "Pryce",
|
||||
"clair": "Clair",
|
||||
"roxanne": "Roxanne",
|
||||
"brawly": "Brawly",
|
||||
"wattson": "Wattson",
|
||||
"flannery": "Flannery",
|
||||
"norman": "Norman",
|
||||
"winona": "Winona",
|
||||
"tate": "Tate",
|
||||
"liza": "Liza",
|
||||
"juan": "Juan",
|
||||
"roark": "Roark",
|
||||
"gardenia": "Gardenia",
|
||||
"maylene": "Maylene",
|
||||
"crasher_wake": "Crasher Wake",
|
||||
"fantina": "Fantina",
|
||||
"byron": "Byron",
|
||||
"candice": "Candice",
|
||||
"volkner": "Volkner",
|
||||
"cilan": "Cilan",
|
||||
"chili": "Chili",
|
||||
"cress": "Cress",
|
||||
"cheren": "Cheren",
|
||||
"lenora": "Lenora",
|
||||
"roxie": "Roxie",
|
||||
"burgh": "Burgh",
|
||||
"elesa": "Elesa",
|
||||
"clay": "Clay",
|
||||
"skyla": "Skyla",
|
||||
"brycen": "Brycen",
|
||||
"drayden": "Drayden",
|
||||
"marlon": "Marlon",
|
||||
"viola": "Viola",
|
||||
"grant": "Grant",
|
||||
"korrina": "Korrina",
|
||||
"ramos": "Ramos",
|
||||
"clemont": "Clemont",
|
||||
"valerie": "Valerie",
|
||||
"olympia": "Olympia",
|
||||
"wulfric": "Wulfric",
|
||||
"milo": "Milo",
|
||||
"nessa": "Nessa",
|
||||
"kabu": "Kabu",
|
||||
"bea": "Bea",
|
||||
"allister": "Allister",
|
||||
"opal": "Opal",
|
||||
"bede": "Bede",
|
||||
"gordie": "Gordie",
|
||||
"melony": "Melony",
|
||||
"piers": "Piers",
|
||||
"marnie": "Marnie",
|
||||
"raihan": "Raihan",
|
||||
"katy": "Katy",
|
||||
"brassius": "Brassius",
|
||||
"iono": "Iono",
|
||||
"kofu": "Kofu",
|
||||
"larry": "Larry",
|
||||
"ryme": "Ryme",
|
||||
"tulip": "Tulip",
|
||||
"grusha": "Grusha",
|
||||
"lorelei": "Lorelei",
|
||||
"bruno": "Bruno",
|
||||
"agatha": "Agatha",
|
||||
"lance": "Lance",
|
||||
"will": "Will",
|
||||
"koga": "Koga",
|
||||
"karen": "Karen",
|
||||
"sidney": "Sidney",
|
||||
"phoebe": "Phoebe",
|
||||
"glacia": "Glacia",
|
||||
"drake": "Drake",
|
||||
"aaron": "Aaron",
|
||||
"bertha": "Bertha",
|
||||
"flint": "Flint",
|
||||
"lucian": "Lucian",
|
||||
"shauntal": "Shauntal",
|
||||
"marshal": "Marshal",
|
||||
"grimsley": "Grimsley",
|
||||
"caitlin": "Caitlin",
|
||||
"malva": "Malva",
|
||||
"siebold": "Siebold",
|
||||
"wikstrom": "Wikstrom",
|
||||
"drasna": "Drasna",
|
||||
"hala": "Hala",
|
||||
"molayne": "Molayne",
|
||||
"olivia": "Olivia",
|
||||
"acerola": "Acerola",
|
||||
"kahili": "Kahili",
|
||||
"rika": "Rika",
|
||||
"poppy": "Poppy",
|
||||
"larry_elite": "Larry", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here)
|
||||
"hassel": "Hassel",
|
||||
"crispin": "Crispin",
|
||||
"amarys": "Amarys",
|
||||
"lacey": "Lacey",
|
||||
"drayton": "Drayton",
|
||||
"blue": "Blue",
|
||||
"red": "Red",
|
||||
"lance_champion": "Lance", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here)
|
||||
"steven": "Steven",
|
||||
"wallace": "Wallace",
|
||||
"cynthia": "Cynthia",
|
||||
"alder": "Alder",
|
||||
"iris": "Iris",
|
||||
"diantha": "Diantha",
|
||||
"hau": "Hau",
|
||||
"geeta": "Geeta",
|
||||
"nemona": "Nemona",
|
||||
"kieran": "Kieran",
|
||||
"leon": "Leon",
|
||||
"rival": "Finn",
|
||||
"rival_female": "Ivy",
|
||||
// ---- 馆主 Gym leader ----
|
||||
// 关都地区 Kanto Region
|
||||
"brock": "小刚",
|
||||
"misty": "小霞",
|
||||
"lt_surge": "马志士",
|
||||
"erika": "莉佳",
|
||||
"janine": "阿杏",
|
||||
"sabrina": "娜姿",
|
||||
"blaine": "夏伯",
|
||||
"giovanni": "坂木",
|
||||
|
||||
// 城都地区 Johto Region
|
||||
"falkner": "阿速",
|
||||
"bugsy": "阿笔",
|
||||
"whitney": "小茜",
|
||||
"morty": "松叶",
|
||||
"chuck": "阿四",
|
||||
"jasmine": "阿蜜",
|
||||
"pryce": "柳伯",
|
||||
"clair": "小椿",
|
||||
|
||||
// 丰缘地区 Hoenn Region
|
||||
"roxanne": "杜娟",
|
||||
"brawly": "藤树",
|
||||
"wattson": "铁旋",
|
||||
"flannery": "亚莎",
|
||||
"norman": "千里",
|
||||
"winona": "娜琪",
|
||||
"tate": "小枫",
|
||||
"liza": "小南",
|
||||
"juan": "亚当",
|
||||
|
||||
// 神奥地区 Sinnoh Region
|
||||
"roark": "瓢太",
|
||||
"gardenia": "菜种",
|
||||
"maylene": "阿李",
|
||||
"crasher_wake": "吉宪",
|
||||
"fantina": "梅丽莎",
|
||||
"byron": "东瓜",
|
||||
"candice": "小菘",
|
||||
"volkner": "电次",
|
||||
|
||||
// 合众地区 Unova Region
|
||||
"cilan": "天桐",
|
||||
"chili": "伯特",
|
||||
"cress": "寇恩",
|
||||
"cheren": "黑连",
|
||||
"lenora": "芦荟",
|
||||
"roxie": "霍米加",
|
||||
"burgh": "亚堤",
|
||||
"elesa": "小菊儿",
|
||||
"clay": "菊老大",
|
||||
"skyla": "风露",
|
||||
"brycen": "哈奇库",
|
||||
"drayden": "夏卡",
|
||||
"marlon": "西子伊",
|
||||
|
||||
// 卡洛斯地区 Kalos Region
|
||||
"viola": "紫罗兰",
|
||||
"grant": "查克洛",
|
||||
"korrina": "可尔妮",
|
||||
"ramos": "福爷",
|
||||
"clemont": "希特隆",
|
||||
"valerie": "玛绣",
|
||||
"olympia": "葛吉花",
|
||||
"wulfric": "得抚",
|
||||
|
||||
// 伽勒尔地区 Galar Region
|
||||
"milo": "亚洛",
|
||||
"nessa": "露璃娜",
|
||||
"kabu": "卡芜",
|
||||
"bea": "彩豆",
|
||||
"allister": "欧尼奥",
|
||||
"opal": "波普菈",
|
||||
"bede": "彼特",
|
||||
"gordie": "玛瓜",
|
||||
"melony": "美蓉",
|
||||
"piers": "聂梓",
|
||||
"marnie": "玛俐",
|
||||
"raihan": "奇巴纳",
|
||||
|
||||
// 帕底亚地区 Paldea Region
|
||||
"katy": "阿枫",
|
||||
"brassius": "寇沙",
|
||||
"iono": "奇树",
|
||||
"kofu": "海岱",
|
||||
"larry": "青木",
|
||||
"ryme": "莱姆",
|
||||
"tulip": "莉普",
|
||||
"grusha": "古鲁夏",
|
||||
|
||||
// ---- 四天王 Elite Four ----
|
||||
// 关都地区 Kanto Region
|
||||
"lorelei": "科拿",
|
||||
"bruno": "希巴",
|
||||
"agatha": "菊子",
|
||||
"lance": "阿渡",
|
||||
|
||||
// 城都地区 Johto Region
|
||||
"will": "一树",
|
||||
"koga": "阿桔",
|
||||
"karen": "梨花",
|
||||
|
||||
// 丰都地区 Hoenn Region
|
||||
"sidney": "花月",
|
||||
"phoebe": "芙蓉",
|
||||
"glacia": "波妮",
|
||||
"drake": "源治",
|
||||
|
||||
// 神奥地区 Sinnoh Region
|
||||
"aaron": "阿柳",
|
||||
"bertha": "菊野",
|
||||
"flint": "大叶",
|
||||
"lucian": "悟松",
|
||||
|
||||
// 合众地区 Unova Region
|
||||
"shauntal": "婉龙",
|
||||
"marshal": "连武",
|
||||
"grimsley": "越橘",
|
||||
"caitlin": "嘉德丽雅",
|
||||
|
||||
// 卡洛斯地区 Kalos Region
|
||||
"malva": "帕琦拉",
|
||||
"siebold": "志米",
|
||||
"wikstrom": "雁铠",
|
||||
"drasna": "朵拉塞娜",
|
||||
|
||||
// 阿罗拉地区 Alola Region
|
||||
"hala": "哈拉",
|
||||
"molayne": "马睿因",
|
||||
"olivia": "丽姿",
|
||||
"acerola": "阿塞萝拉",
|
||||
"kahili": "卡希丽",
|
||||
|
||||
// 帕底亚地区 Paldea Region
|
||||
"rika": "辛俐",
|
||||
"poppy": "波琵",
|
||||
"larry_elite": "青木", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here)
|
||||
"hassel": "八朔",
|
||||
|
||||
// 蓝莓学院 Blueberry Academy
|
||||
"crispin": "赤松",
|
||||
"amarys": "纳莉",
|
||||
"lacey": "紫竽",
|
||||
"drayton": "杜若",
|
||||
|
||||
// ---- 冠军 Champion ----
|
||||
// 关都地区 Kanto Region
|
||||
"blue": "青绿",
|
||||
"red": "赤红",
|
||||
|
||||
// 城都地区 Johto Region
|
||||
"lance_champion": "阿渡", // Does this really need to be an extra entry? (it is in trainer-type.ts so I added it here)
|
||||
|
||||
// 丰缘地区 Hoenn Region
|
||||
"steven": "大吾",
|
||||
"wallace": "米可利",
|
||||
|
||||
// 神奥地区 Sinnoh Region
|
||||
"cynthia": "竹兰",
|
||||
|
||||
// 合众地区 Unova Region
|
||||
"alder": "阿戴克",
|
||||
"iris": "艾莉丝",
|
||||
|
||||
// 卡洛斯地区 Kalos Region
|
||||
"diantha": "卡露妮",
|
||||
|
||||
// 阿罗拉地区 Alola Region
|
||||
"hau": "哈乌",
|
||||
|
||||
// 伽勒尔地区 Galar Region
|
||||
"leon": "丹帝",
|
||||
|
||||
// 帕底亚地区 paldea Region
|
||||
"geeta": "也慈",
|
||||
"nemona": "妮莫",
|
||||
|
||||
// 蓝莓学院 Blueberry academy
|
||||
"kieran": "乌栗",
|
||||
|
||||
// 劲敌 rival
|
||||
"rival": "芬恩",
|
||||
"rival_female": "艾薇",
|
||||
} as const;
|
||||
|
@ -48,6 +48,13 @@ export const POKEBALL_OVERRIDE: { active: boolean, pokeballs: PokeballCounts } =
|
||||
export const STARTER_FORM_OVERRIDE: integer = 0;
|
||||
// default 5 or 20 for Daily
|
||||
export const STARTING_LEVEL_OVERRIDE: integer = 0;
|
||||
/**
|
||||
* SPECIES OVERRIDE
|
||||
* will only apply to the first starter in your party or each enemy pokemon
|
||||
* default is 0 to not override
|
||||
* @example SPECIES_OVERRIDE = Species.Bulbasaur;
|
||||
*/
|
||||
export const STARTER_SPECIES_OVERRIDE: Species | integer = 0;
|
||||
export const ABILITY_OVERRIDE: Abilities = Abilities.NONE;
|
||||
export const PASSIVE_ABILITY_OVERRIDE: Abilities = Abilities.NONE;
|
||||
export const MOVESET_OVERRIDE: Array<Moves> = [];
|
||||
@ -58,21 +65,13 @@ export const VARIANT_OVERRIDE: Variant = 0;
|
||||
* OPPONENT / ENEMY OVERRIDES
|
||||
*/
|
||||
|
||||
export const OPP_SPECIES_OVERRIDE: Species | integer = 0;
|
||||
export const OPP_ABILITY_OVERRIDE: Abilities = Abilities.NONE;
|
||||
export const OPP_PASSIVE_ABILITY_OVERRIDE = Abilities.NONE;
|
||||
export const OPP_MOVESET_OVERRIDE: Array<Moves> = [];
|
||||
export const OPP_SHINY_OVERRIDE: boolean = false;
|
||||
export const OPP_VARIANT_OVERRIDE: Variant = 0;
|
||||
|
||||
/**
|
||||
* SPECIES OVERRIDE
|
||||
* will only apply to the first starter in your party or each enemy pokemon
|
||||
* default is 0 to not override
|
||||
* @example SPECIES_OVERRIDE = Species.Bulbasaur;
|
||||
*/
|
||||
export const STARTER_SPECIES_OVERRIDE: Species | integer = 0;
|
||||
export const OPP_SPECIES_OVERRIDE: Species | integer = 0;
|
||||
|
||||
/**
|
||||
* MODIFIER / ITEM OVERRIDES
|
||||
* if count is not provided, it will default to 1
|
||||
|
161
src/phases.ts
161
src/phases.ts
@ -37,7 +37,7 @@ import { BattleType, BattlerIndex, TurnCommand } from "./battle";
|
||||
import { BattleSpec } from "./enums/battle-spec";
|
||||
import { Species } from "./data/enums/species";
|
||||
import { HealAchv, LevelAchv, achvs } from "./system/achv";
|
||||
import { TrainerSlot, trainerConfigs } from "./data/trainer-config";
|
||||
import { TrainerConfig, TrainerSlot, trainerConfigs } from "./data/trainer-config";
|
||||
import { TrainerType } from "./data/enums/trainer-type";
|
||||
import { EggHatchPhase } from "./egg-hatch-phase";
|
||||
import { Egg } from "./data/egg";
|
||||
@ -46,7 +46,7 @@ import { loggedInUser, updateUserInfo } from "./account";
|
||||
import { PlayerGender, SessionSaveData } from "./system/game-data";
|
||||
import { addPokeballCaptureStars, addPokeballOpenParticles } from "./field/anims";
|
||||
import { SpeciesFormChangeActiveTrigger, SpeciesFormChangeManualTrigger, SpeciesFormChangeMoveLearnedTrigger, SpeciesFormChangePostMoveTrigger, SpeciesFormChangePreMoveTrigger } from "./data/pokemon-forms";
|
||||
import { battleSpecDialogue, getCharVariantFromDialogue } from "./data/dialogue";
|
||||
import { battleSpecDialogue, getCharVariantFromDialogue, miscDialogue } from "./data/dialogue";
|
||||
import ModifierSelectUiHandler, { SHOP_OPTIONS_ROW_LIMIT } from "./ui/modifier-select-ui-handler";
|
||||
import { Setting } from "./system/settings";
|
||||
import { Tutorial, handleTutorial } from "./tutorial";
|
||||
@ -59,6 +59,9 @@ import PokemonSpecies, { getPokemonSpecies, getPokemonSpeciesForm, speciesStarte
|
||||
import i18next from './plugins/i18n';
|
||||
import { Abilities } from "./data/enums/abilities";
|
||||
import * as Overrides from './overrides';
|
||||
import { TextStyle, addTextObject } from "./ui/text";
|
||||
import { Type } from "./data/type";
|
||||
|
||||
|
||||
export class LoginPhase extends Phase {
|
||||
private showText: boolean;
|
||||
@ -160,7 +163,6 @@ export class TitlePhase extends Phase {
|
||||
this.scene.gameData.getSession(loggedInUser.lastSessionSlot).then(sessionData => {
|
||||
if (sessionData) {
|
||||
this.lastSessionData = sessionData;
|
||||
console.log(sessionData);
|
||||
const biomeKey = getBiomeKey(sessionData.arena.biome);
|
||||
const bgTexture = `${biomeKey}_bg`;
|
||||
this.scene.arenaBg.setTexture(bgTexture);
|
||||
@ -1816,7 +1818,14 @@ export class CommandPhase extends FieldPhase {
|
||||
if (!isSwitch && this.fieldIndex)
|
||||
this.scene.currentBattle.turnCommands[this.fieldIndex - 1].skip = true;
|
||||
} else if (trapTag) {
|
||||
if (!isSwitch) {
|
||||
if(trapTag.sourceMove === Moves.INGRAIN && this.scene.getPokemonById(trapTag.sourceId).isOfType(Type.GHOST)) {
|
||||
success = true;
|
||||
this.scene.currentBattle.turnCommands[this.fieldIndex] = isSwitch
|
||||
? { command: Command.POKEMON, cursor: cursor, args: args }
|
||||
: { command: Command.RUN };
|
||||
break;
|
||||
}
|
||||
if (!isSwitch) {
|
||||
this.scene.ui.setMode(Mode.COMMAND, this.fieldIndex);
|
||||
this.scene.ui.setMode(Mode.MESSAGE);
|
||||
}
|
||||
@ -3219,11 +3228,10 @@ export class FaintPhase extends PokemonPhase {
|
||||
if (defeatSource?.isOnField()) {
|
||||
applyPostVictoryAbAttrs(PostVictoryAbAttr, defeatSource);
|
||||
const pvmove = allMoves[pokemon.turnData.attacksReceived[0].move];
|
||||
const pvattrs = pvmove.getAttrs(PostVictoryStatChangeAttr);
|
||||
const pvattrs = pvmove.getAttrs(PostVictoryStatChangeAttr) as PostVictoryStatChangeAttr[];
|
||||
if (pvattrs.length) {
|
||||
for (let pvattr of pvattrs) {
|
||||
for (let pvattr of pvattrs)
|
||||
pvattr.applyPostVictory(defeatSource, defeatSource, pvmove);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3538,10 +3546,10 @@ export class GameOverModifierRewardPhase extends ModifierRewardPhase {
|
||||
this.scene.playSound('level_up_fanfare');
|
||||
this.scene.ui.setMode(Mode.MESSAGE);
|
||||
this.scene.ui.fadeIn(250).then(() => {
|
||||
this.scene.ui.showText(`You received\n${newModifier.type.name}!`, null, () => {
|
||||
this.scene.time.delayedCall(1500, () => this.scene.arenaBg.setVisible(true));
|
||||
resolve();
|
||||
}, null, true, 1500);
|
||||
this.scene.ui.showText(`You received\n${newModifier.type.name}!`, null, () => {
|
||||
this.scene.time.delayedCall(1500, () => this.scene.arenaBg.setVisible(true));
|
||||
resolve();
|
||||
}, null, true, 1500);
|
||||
});
|
||||
});
|
||||
})
|
||||
@ -3563,11 +3571,9 @@ export class RibbonModifierRewardPhase extends ModifierRewardPhase {
|
||||
this.scene.addModifier(newModifier).then(() => {
|
||||
this.scene.playSound('level_up_fanfare');
|
||||
this.scene.ui.setMode(Mode.MESSAGE);
|
||||
this.scene.ui.fadeIn(250).then(() => {
|
||||
this.scene.ui.showText(`${this.species.name} beat ${this.scene.gameMode.getName()} Mode for the first time!\nYou received ${newModifier.type.name}!`, null, () => {
|
||||
resolve();
|
||||
}, null, true, 1500);
|
||||
});
|
||||
this.scene.ui.showText(`${this.species.name} beat ${this.scene.gameMode.getName()} Mode for the first time!\nYou received ${newModifier.type.name}!`, null, () => {
|
||||
resolve();
|
||||
}, null, true, 1500);
|
||||
});
|
||||
})
|
||||
}
|
||||
@ -3619,6 +3625,7 @@ export class GameOverPhase extends BattlePhase {
|
||||
|
||||
handleGameOver(): void {
|
||||
const doGameOver = (newClear: boolean) => {
|
||||
this.scene.disableMenu = true;
|
||||
this.scene.time.delayedCall(1000, () => {
|
||||
let firstClear = false;
|
||||
if (this.victory && newClear) {
|
||||
@ -3640,20 +3647,40 @@ export class GameOverPhase extends BattlePhase {
|
||||
const activeBattlers = this.scene.getField().filter(p => p?.isActive(true));
|
||||
activeBattlers.map(p => p.hideInfo());
|
||||
this.scene.ui.fadeOut(fadeDuration).then(() => {
|
||||
[ this.scene.field, ...activeBattlers ].map(a => a.setVisible(false));
|
||||
activeBattlers.map(a => a.setVisible(false));
|
||||
this.scene.setFieldScale(1, true);
|
||||
this.scene.clearPhaseQueue();
|
||||
this.scene.ui.clearText();
|
||||
if (newClear)
|
||||
this.handleUnlocks();
|
||||
if (this.victory && newClear) {
|
||||
for (let species of this.firstRibbons)
|
||||
this.scene.unshiftPhase(new RibbonModifierRewardPhase(this.scene, modifierTypes.VOUCHER_PLUS, species));
|
||||
if (!firstClear)
|
||||
this.scene.unshiftPhase(new GameOverModifierRewardPhase(this.scene, modifierTypes.VOUCHER_PREMIUM));
|
||||
|
||||
const clear = (endCardPhase?: EndCardPhase) => {
|
||||
if (newClear)
|
||||
this.handleUnlocks();
|
||||
if (this.victory && newClear) {
|
||||
for (let species of this.firstRibbons)
|
||||
this.scene.unshiftPhase(new RibbonModifierRewardPhase(this.scene, modifierTypes.VOUCHER_PLUS, species));
|
||||
if (!firstClear)
|
||||
this.scene.unshiftPhase(new GameOverModifierRewardPhase(this.scene, modifierTypes.VOUCHER_PREMIUM));
|
||||
}
|
||||
this.scene.pushPhase(new PostGameOverPhase(this.scene, endCardPhase));
|
||||
this.end();
|
||||
}
|
||||
this.scene.pushPhase(new PostGameOverPhase(this.scene));
|
||||
this.end();
|
||||
|
||||
if (this.victory && this.scene.gameMode.isClassic) {
|
||||
this.scene.ui.fadeIn(500).then(() => {
|
||||
this.scene.charSprite.showCharacter(`rival_${this.scene.gameData.gender === PlayerGender.FEMALE ? 'm' : 'f'}`, getCharVariantFromDialogue(miscDialogue.ending[this.scene.gameData.gender === PlayerGender.FEMALE ? 0 : 1])).then(() => {
|
||||
this.scene.ui.showDialogue(miscDialogue.ending[this.scene.gameData.gender === PlayerGender.FEMALE ? 0 : 1], this.scene.gameData.gender === PlayerGender.FEMALE ? trainerConfigs[TrainerType.RIVAL].name : trainerConfigs[TrainerType.RIVAL].nameFemale, null, () => {
|
||||
this.scene.ui.fadeOut(500).then(() => {
|
||||
this.scene.charSprite.hide().then(() => {
|
||||
const endCardPhase = new EndCardPhase(this.scene);
|
||||
this.scene.unshiftPhase(endCardPhase);
|
||||
clear(endCardPhase);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
} else
|
||||
clear();
|
||||
});
|
||||
});
|
||||
};
|
||||
@ -3696,6 +3723,41 @@ export class GameOverPhase extends BattlePhase {
|
||||
}
|
||||
}
|
||||
|
||||
export class EndCardPhase extends Phase {
|
||||
public endCard: Phaser.GameObjects.Image;
|
||||
public text: Phaser.GameObjects.Text;
|
||||
|
||||
constructor(scene: BattleScene) {
|
||||
super(scene);
|
||||
}
|
||||
|
||||
start(): void {
|
||||
super.start();
|
||||
|
||||
this.scene.ui.getMessageHandler().bg.setVisible(false);
|
||||
this.scene.ui.getMessageHandler().nameBoxContainer.setVisible(false);
|
||||
|
||||
this.endCard = this.scene.add.image(0, 0, `end_${this.scene.gameData.gender === PlayerGender.FEMALE ? 'f' : 'm'}`);
|
||||
this.endCard.setOrigin(0);
|
||||
this.endCard.setScale(0.5);
|
||||
this.scene.field.add(this.endCard);
|
||||
|
||||
this.text = addTextObject(this.scene, this.scene.game.canvas.width / 12, (this.scene.game.canvas.height / 6) - 16, 'Congratulations!', TextStyle.SUMMARY, { fontSize: '128px' });
|
||||
this.text.setOrigin(0.5);
|
||||
this.scene.field.add(this.text);
|
||||
|
||||
this.scene.ui.clearText();
|
||||
|
||||
this.scene.ui.fadeIn(1000).then(() => {
|
||||
|
||||
this.scene.ui.showText('', null, () => {
|
||||
this.scene.ui.getMessageHandler().bg.setVisible(true);
|
||||
this.end();
|
||||
}, null, true);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export class UnlockPhase extends Phase {
|
||||
private unlockable: Unlockables;
|
||||
|
||||
@ -3710,35 +3772,50 @@ export class UnlockPhase extends Phase {
|
||||
this.scene.gameData.unlocks[this.unlockable] = true;
|
||||
this.scene.playSound('level_up_fanfare');
|
||||
this.scene.ui.setMode(Mode.MESSAGE);
|
||||
this.scene.ui.fadeIn(250).then(() => {
|
||||
this.scene.ui.showText(`${getUnlockableName(this.unlockable)}\nhas been unlocked.`, null, () => {
|
||||
this.scene.time.delayedCall(1500, () => this.scene.arenaBg.setVisible(true));
|
||||
this.end();
|
||||
}, null, true, 1500);
|
||||
});
|
||||
this.scene.ui.showText(`${getUnlockableName(this.unlockable)}\nhas been unlocked.`, null, () => {
|
||||
this.scene.time.delayedCall(1500, () => this.scene.arenaBg.setVisible(true));
|
||||
this.end();
|
||||
}, null, true, 1500);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export class PostGameOverPhase extends Phase {
|
||||
constructor(scene: BattleScene) {
|
||||
private endCardPhase: EndCardPhase;
|
||||
|
||||
constructor(scene: BattleScene, endCardPhase: EndCardPhase) {
|
||||
super(scene);
|
||||
|
||||
this.endCardPhase = endCardPhase;
|
||||
}
|
||||
|
||||
start() {
|
||||
super.start();
|
||||
|
||||
this.scene.gameData.saveAll(this.scene, true, true, true).then(success => {
|
||||
if (!success)
|
||||
return this.scene.reset(true);
|
||||
this.scene.gameData.tryClearSession(this.scene, this.scene.sessionSlotId).then((success: boolean | [boolean, boolean]) => {
|
||||
if (!success[0])
|
||||
const saveAndReset = () => {
|
||||
this.scene.gameData.saveAll(this.scene, true, true, true).then(success => {
|
||||
if (!success)
|
||||
return this.scene.reset(true);
|
||||
this.scene.reset();
|
||||
this.scene.unshiftPhase(new TitlePhase(this.scene));
|
||||
this.end();
|
||||
this.scene.gameData.tryClearSession(this.scene, this.scene.sessionSlotId).then((success: boolean | [boolean, boolean]) => {
|
||||
if (!success[0])
|
||||
return this.scene.reset(true);
|
||||
this.scene.reset();
|
||||
this.scene.unshiftPhase(new TitlePhase(this.scene));
|
||||
this.end();
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
if (this.endCardPhase) {
|
||||
this.scene.ui.fadeOut(500).then(() => {
|
||||
this.scene.ui.getMessageHandler().bg.setVisible(true);
|
||||
|
||||
this.endCardPhase.endCard.destroy();
|
||||
this.endCardPhase.text.destroy();
|
||||
saveAndReset();
|
||||
});
|
||||
} else
|
||||
saveAndReset();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -46,6 +46,15 @@ export interface ModifierTypeTranslationEntries {
|
||||
TeraType: SimpleTranslationEntries,
|
||||
}
|
||||
|
||||
export interface BerryTranslationEntry {
|
||||
name: string,
|
||||
effect: string
|
||||
}
|
||||
|
||||
export interface BerryTranslationEntries {
|
||||
[key: string]: BerryTranslationEntry
|
||||
}
|
||||
|
||||
export interface Localizable {
|
||||
localize(): void;
|
||||
}
|
||||
@ -142,6 +151,8 @@ declare module 'i18next' {
|
||||
egg: SimpleTranslationEntries;
|
||||
weather: SimpleTranslationEntries;
|
||||
modifierType: ModifierTypeTranslationEntries;
|
||||
battleMessageUiHandler: SimpleTranslationEntries;
|
||||
berry: BerryTranslationEntries;
|
||||
};
|
||||
}
|
||||
}
|
||||
@ -152,4 +163,4 @@ export function getIsInitialized(): boolean {
|
||||
return isInitialized;
|
||||
}
|
||||
|
||||
let isInitialized = false;
|
||||
let isInitialized = false;
|
||||
|
@ -260,8 +260,23 @@ export default class BattleInfo extends Phaser.GameObjects.Container {
|
||||
if (!this.player) {
|
||||
const dexEntry = pokemon.scene.gameData.dexData[pokemon.species.speciesId];
|
||||
this.ownedIcon.setVisible(!!dexEntry.caughtAttr);
|
||||
const dexAttr = pokemon.getDexAttr();
|
||||
if ((dexEntry.caughtAttr & dexAttr) < dexAttr || !(pokemon.scene.gameData.starterData[pokemon.species.getRootSpeciesId()].abilityAttr & Math.pow(2, pokemon.abilityIndex)))
|
||||
const opponentPokemonDexAttr = pokemon.getDexAttr();
|
||||
|
||||
// Check if Player owns all genders and forms of the Pokemon
|
||||
const missingDexAttrs = ((dexEntry.caughtAttr & opponentPokemonDexAttr) < opponentPokemonDexAttr);
|
||||
|
||||
/**
|
||||
* If the opposing Pokemon only has 1 normal ability and is using the hidden ability it should have the same behavior
|
||||
* if it had 2 normal abilities. This code checks if that is the case and uses the correct opponent Pokemon abilityIndex (2)
|
||||
* for calculations so it aligns with where the hidden ability is stored in the starter data's abilityAttr (4)
|
||||
*/
|
||||
const opponentPokemonOneNormalAbility = (pokemon.species.getAbilityCount() === 2);
|
||||
const opponentPokemonAbilityIndex = (opponentPokemonOneNormalAbility && pokemon.abilityIndex === 1) ? 2 : pokemon.abilityIndex;
|
||||
const opponentPokemonAbilityAttr = Math.pow(2, opponentPokemonAbilityIndex);
|
||||
|
||||
const rootFormHasHiddenAbility = pokemon.scene.gameData.starterData[pokemon.species.getRootSpeciesId()].abilityAttr & opponentPokemonAbilityAttr;
|
||||
|
||||
if (missingDexAttrs || !rootFormHasHiddenAbility)
|
||||
this.ownedIcon.setTint(0x808080);
|
||||
|
||||
if (this.boss)
|
||||
|
@ -7,6 +7,7 @@ import { getStatName, Stat } from "../data/pokemon-stat";
|
||||
import { addWindow } from "./ui-theme";
|
||||
import BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext";
|
||||
import {Button} from "../enums/buttons";
|
||||
import i18next from '../plugins/i18n';
|
||||
|
||||
export default class BattleMessageUiHandler extends MessageUiHandler {
|
||||
private levelUpStatsContainer: Phaser.GameObjects.Container;
|
||||
@ -31,7 +32,7 @@ export default class BattleMessageUiHandler extends MessageUiHandler {
|
||||
this.textCallbackTimer = null;
|
||||
|
||||
const bg = this.scene.add.sprite(0, 0, 'bg', this.scene.windowType);
|
||||
bg.setOrigin(0, 1);
|
||||
bg.setOrigin(0, 1);
|
||||
ui.add(bg);
|
||||
|
||||
this.bg = bg;
|
||||
@ -234,20 +235,20 @@ export default class BattleMessageUiHandler extends MessageUiHandler {
|
||||
const textStyle: TextStyle = isBetter ? TextStyle.SUMMARY_GREEN : TextStyle.SUMMARY;
|
||||
const color = getTextColor(textStyle, false, uiTheme);
|
||||
return `[color=${color}][shadow=${getTextColor(textStyle, true, uiTheme)}]${text}[/shadow][/color]`;
|
||||
};
|
||||
};
|
||||
|
||||
if (value > 30)
|
||||
return coloredText('Best', value > starterIvs[typeIv]);
|
||||
if (value === 30)
|
||||
return coloredText('Fantastic', value > starterIvs[typeIv]);
|
||||
if (value > 20)
|
||||
return coloredText('Very Good', value > starterIvs[typeIv]);
|
||||
if (value > 10)
|
||||
return coloredText('Pretty Good', value > starterIvs[typeIv]);
|
||||
if (value > 0)
|
||||
return coloredText('Decent', value > starterIvs[typeIv]);
|
||||
if (value > 30)
|
||||
return coloredText(i18next.t('battleMessageUiHandler:ivBest'), value > starterIvs[typeIv]);
|
||||
if (value === 30)
|
||||
return coloredText(i18next.t('battleMessageUiHandler:ivFantastic'), value > starterIvs[typeIv]);
|
||||
if (value > 20)
|
||||
return coloredText(i18next.t('battleMessageUiHandler:ivVeryGood'), value > starterIvs[typeIv]);
|
||||
if (value > 10)
|
||||
return coloredText(i18next.t('battleMessageUiHandler:ivPrettyGood'), value > starterIvs[typeIv]);
|
||||
if (value > 0)
|
||||
return coloredText(i18next.t('battleMessageUiHandler:ivDecent'), value > starterIvs[typeIv]);
|
||||
|
||||
return coloredText('No Good', value > starterIvs[typeIv]);
|
||||
return coloredText(i18next.t('battleMessageUiHandler:ivNoGood'), value > starterIvs[typeIv]);
|
||||
}
|
||||
|
||||
showNameText(name: string): void {
|
||||
|
Loading…
Reference in New Issue
Block a user