mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-05 16:02:20 +02:00
Compare commits
10 Commits
7561521020
...
a44c1587d4
Author | SHA1 | Date | |
---|---|---|---|
|
a44c1587d4 | ||
|
250142083a | ||
|
61938869c1 | ||
|
b4f643f0fa | ||
|
0cd305d78a | ||
|
f2dff2cd25 | ||
|
f2b5a1b6f4 | ||
|
1bd3ec2fd6 | ||
|
dd3d38b5d8 | ||
|
e035e85811 |
@ -15,6 +15,7 @@ import { TerrainType } from "./terrain";
|
||||
import { WeatherType } from "./weather";
|
||||
import { BattleStat } from "./battle-stat";
|
||||
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;
|
||||
|
@ -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),
|
||||
|
@ -378,17 +378,30 @@ export default class Trainer extends Phaser.GameObjects.Container {
|
||||
};
|
||||
const sprites = this.getSprites();
|
||||
const tintSprites = this.getTintSprites();
|
||||
|
||||
// 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
|
||||
};
|
||||
|
||||
// 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?`);
|
||||
}
|
||||
}
|
||||
|
||||
getSprites(): Phaser.GameObjects.Sprite[] {
|
||||
|
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;
|
@ -18,6 +18,7 @@ import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { weather } from "./weather";
|
||||
import { berry } from "./berry";
|
||||
|
||||
|
||||
export const deConfig = {
|
||||
@ -43,4 +44,5 @@ export const deConfig = {
|
||||
trainerNames: trainerNames,
|
||||
tutorial: tutorial,
|
||||
weather: weather,
|
||||
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": "What?\n{{pokemonName}} is evolving!",
|
||||
"stoppedEvolving": "{{pokemonName}} stopped evolving.",
|
||||
"pauseEvolutionsQuestion": "Would you like to pause evolutions for {{pokemonName}}?\nEvolutions can be re-enabled from the party screen.",
|
||||
"evolutionsPaused": "Evolutions have been paused for {{pokemonName}}.",
|
||||
"evolutionDone": "Congratulations!\nYour {{pokemonName}} evolved into {{evolvedPokemonName}}!",
|
||||
"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",
|
||||
|
@ -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",
|
||||
|
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;
|
@ -18,6 +18,8 @@ import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { weather } from "./weather";
|
||||
import { berry } from "./berry";
|
||||
|
||||
|
||||
export const enConfig = {
|
||||
ability: ability,
|
||||
@ -42,4 +44,5 @@ export const enConfig = {
|
||||
trainerNames: trainerNames,
|
||||
tutorial: tutorial,
|
||||
weather: weather,
|
||||
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",
|
||||
|
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;
|
@ -18,6 +18,7 @@ import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { weather } from "./weather";
|
||||
import { berry } from "./berry";
|
||||
|
||||
|
||||
export const esConfig = {
|
||||
@ -43,4 +44,5 @@ export const esConfig = {
|
||||
trainerNames: trainerNames,
|
||||
tutorial: tutorial,
|
||||
weather: weather,
|
||||
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",
|
||||
|
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: "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;
|
@ -18,6 +18,7 @@ import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { weather } from "./weather";
|
||||
import { berry } from "./berry";
|
||||
|
||||
|
||||
export const frConfig = {
|
||||
@ -43,5 +44,6 @@ export const frConfig = {
|
||||
trainerNames: trainerNames,
|
||||
tutorial: tutorial,
|
||||
weather: weather,
|
||||
berry: berry,
|
||||
}
|
||||
|
||||
|
@ -52,7 +52,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
|
||||
description: "Double les chances de tomber sur un combat double pendant {{battleCount}} combats",
|
||||
},
|
||||
"TempBattleStatBoosterModifierType": {
|
||||
description: "Augmente d’1 cran {{tempBattleStatName}} pour tout l’équipe pendant 5 combats",
|
||||
description: "Augmente d’1 cran {{tempBattleStatName}} pour toute l’équipe pendant 5 combats",
|
||||
},
|
||||
"AttackTypeBoosterModifierType": {
|
||||
description: "Augmente de 20% la puissance des capacités de type {{moveType}} d’un Pokémon",
|
||||
@ -129,7 +129,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
|
||||
"RARER_CANDY": { name: "Hyper Bonbon" },
|
||||
|
||||
"MEGA_BRACELET": { name: "Méga-Bracelet", description: "Débloque les Méga-Gemmes" },
|
||||
"DYNAMAX_BAND": { name: "Poignet Dynamax", description: "Débloque les Maxi Champis" },
|
||||
"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: "Carte", description: "Vous permet de choisir votre destination à un croisement" },
|
||||
@ -264,7 +264,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
|
||||
"fairy_feather": "Plume Enchantée",
|
||||
},
|
||||
BaseStatBoosterItem: {
|
||||
"hp_up": "PP Plus",
|
||||
"hp_up": "PV Plus",
|
||||
"protein": "Protéine",
|
||||
"iron": "Fer",
|
||||
"calcium": "Calcium",
|
||||
|
@ -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",
|
||||
|
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;
|
@ -18,6 +18,7 @@ import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { weather } from "./weather";
|
||||
import { berry } from "./berry";
|
||||
|
||||
|
||||
export const itConfig = {
|
||||
@ -43,4 +44,5 @@ export const itConfig = {
|
||||
trainerNames: trainerNames,
|
||||
tutorial: tutorial,
|
||||
weather: weather,
|
||||
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",
|
||||
|
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;
|
@ -14,6 +14,7 @@ import { pokemonStat } from "./pokemon-stat";
|
||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { weather } from "./weather";
|
||||
import { berry } from "./berry";
|
||||
|
||||
|
||||
export const ptBrConfig = {
|
||||
@ -33,4 +34,5 @@ export const ptBrConfig = {
|
||||
growth: growth,
|
||||
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",
|
||||
|
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: "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;
|
@ -18,6 +18,7 @@ import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { weather } from "./weather";
|
||||
import { berry } from "./berry";
|
||||
|
||||
|
||||
export const zhCnConfig = {
|
||||
@ -43,4 +44,5 @@ export const zhCnConfig = {
|
||||
trainerNames: trainerNames,
|
||||
tutorial: tutorial,
|
||||
weather: weather,
|
||||
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;
|
||||
|
@ -60,6 +60,8 @@ 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;
|
||||
@ -1816,6 +1818,13 @@ export class CommandPhase extends FieldPhase {
|
||||
if (!isSwitch && this.fieldIndex)
|
||||
this.scene.currentBattle.turnCommands[this.fieldIndex - 1].skip = true;
|
||||
} else if (trapTag) {
|
||||
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);
|
||||
@ -3654,7 +3663,7 @@ export class GameOverPhase extends BattlePhase {
|
||||
this.end();
|
||||
}
|
||||
|
||||
if (this.victory) {
|
||||
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, () => {
|
||||
|
@ -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;
|
||||
}
|
||||
@ -139,6 +148,7 @@ declare module 'i18next' {
|
||||
egg: SimpleTranslationEntries;
|
||||
weather: SimpleTranslationEntries;
|
||||
modifierType: ModifierTypeTranslationEntries;
|
||||
berry: BerryTranslationEntries;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user