mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-06 00:12:16 +02:00
Compare commits
19 Commits
a44c1587d4
...
0a871fb0d0
Author | SHA1 | Date | |
---|---|---|---|
|
0a871fb0d0 | ||
|
6880c7afe0 | ||
|
04a345a6cc | ||
|
7935f28089 | ||
|
b55fb8db37 | ||
|
d2a8c4a150 | ||
|
a2299ee055 | ||
|
8c21bdc0a1 | ||
|
09b820161f | ||
|
3cc9c93643 | ||
|
03c4b1b821 | ||
|
bfa12fd48d | ||
|
10437142b6 | ||
|
edf3a6aa36 | ||
|
4362d49e6b | ||
|
0c660f599d | ||
|
48c745deee | ||
|
b0fd32b1a4 | ||
|
96af567cd4 |
@ -15,7 +15,6 @@ 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,
|
||||
@ -120,9 +119,8 @@ export class TrappedTag extends BattlerTag {
|
||||
canAdd(pokemon: Pokemon): boolean {
|
||||
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);
|
||||
return !isTrapped && !isGhost;
|
||||
}
|
||||
|
||||
onAdd(pokemon: Pokemon): void {
|
||||
@ -503,11 +501,26 @@ export class HelpingHandTag extends BattlerTag {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Applies the Ingrain tag to a pokemon
|
||||
* @extends TrappedTag
|
||||
*/
|
||||
export class IngrainTag extends TrappedTag {
|
||||
constructor(sourceId: integer) {
|
||||
super(BattlerTagType.INGRAIN, BattlerTagLapseType.TURN_END, 1, Moves.INGRAIN, sourceId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the Ingrain tag can be added to the pokemon
|
||||
* @param pokemon {@linkcode Pokemon} The pokemon to check if the tag can be added to
|
||||
* @returns boolean True if the tag can be added, false otherwise
|
||||
*/
|
||||
canAdd(pokemon: Pokemon): boolean {
|
||||
const isTrapped = pokemon.getTag(BattlerTagType.TRAPPED);
|
||||
|
||||
return !isTrapped;
|
||||
}
|
||||
|
||||
lapse(pokemon: Pokemon, lapseType: BattlerTagLapseType): boolean {
|
||||
const ret = lapseType !== BattlerTagLapseType.CUSTOM || super.lapse(pokemon, lapseType);
|
||||
|
||||
|
@ -909,7 +909,8 @@ export const trainerTypeDialogue = {
|
||||
},
|
||||
[TrainerType.MORTY]: {
|
||||
encounter: [
|
||||
`With a little more, I could see a future in which I meet the legendary Pokémon. You're going to help me reach that level!`,
|
||||
`With a little more, I could see a future in which I meet the legendary Pokémon.
|
||||
$You're going to help me reach that level!`,
|
||||
`It's said that a rainbow-hued Pokémon will come down to appear before a truly powerful Trainer.
|
||||
$I believed that tale, so I have secretly trained here all my life. As a result, I can now see what others cannot.
|
||||
$I see a shadow of the person who will make the Pokémon appear.
|
||||
@ -924,7 +925,8 @@ export const trainerTypeDialogue = {
|
||||
`I see… Your journey has taken you to far-away places and you have witnessed much more than I.
|
||||
$I envy you for that…`,
|
||||
`How is this possible…`,
|
||||
`I don't think our potentials are so different. But you seem to have something more than that… So be it.`,
|
||||
`I don't think our potentials are so different.
|
||||
$But you seem to have something more than that… So be it.`,
|
||||
`Guess I need more training.`,
|
||||
`That's a shame.`
|
||||
],
|
||||
|
@ -13,22 +13,22 @@ export function getStatName(stat: Stat, shorten: boolean = false) {
|
||||
let ret: string;
|
||||
switch (stat) {
|
||||
case Stat.HP:
|
||||
ret = !shorten ? i18next.t('pokemonStat:HP') : i18next.t('pokemonStat:HPshortened');
|
||||
ret = !shorten ? i18next.t('pokemonInfo:Stat.HP') : i18next.t('pokemonInfo:Stat.HPshortened');
|
||||
break;
|
||||
case Stat.ATK:
|
||||
ret = !shorten ? i18next.t('pokemonStat:ATK') : i18next.t('pokemonStat:ATKshortened');
|
||||
ret = !shorten ? i18next.t('pokemonInfo:Stat.ATK') : i18next.t('pokemonInfo:Stat.ATKshortened');
|
||||
break;
|
||||
case Stat.DEF:
|
||||
ret = !shorten ? i18next.t('pokemonStat:DEF') : i18next.t('pokemonStat:DEFshortened');
|
||||
ret = !shorten ? i18next.t('pokemonInfo:Stat.DEF') : i18next.t('pokemonInfo:Stat.DEFshortened');
|
||||
break;
|
||||
case Stat.SPATK:
|
||||
ret = !shorten ? i18next.t('pokemonStat:SPATK') : i18next.t('pokemonStat:SPATKshortened');
|
||||
ret = !shorten ? i18next.t('pokemonInfo:Stat.SPATK') : i18next.t('pokemonInfo:Stat.SPATKshortened');
|
||||
break;
|
||||
case Stat.SPDEF:
|
||||
ret = !shorten ? i18next.t('pokemonStat:SPDEF') : i18next.t('pokemonStat:SPDEFshortened');
|
||||
ret = !shorten ? i18next.t('pokemonInfo:Stat.SPDEF') : i18next.t('pokemonInfo:Stat.SPDEFshortened');
|
||||
break;
|
||||
case Stat.SPD:
|
||||
ret = !shorten ? i18next.t('pokemonStat:SPD') : i18next.t('pokemonStat:SPDshortened');
|
||||
ret = !shorten ? i18next.t('pokemonInfo:Stat.SPD') : i18next.t('pokemonInfo:Stat.SPDshortened');
|
||||
break;
|
||||
}
|
||||
return ret;
|
||||
|
@ -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;
|
||||
|
@ -370,6 +370,34 @@ export default class Trainer extends Phaser.GameObjects.Container {
|
||||
this.getTintSprites().map((tintSprite, i) => tintSprite.setTexture(this.getKey(!!i)).setFrame(0));
|
||||
}
|
||||
|
||||
/**
|
||||
* Attempts to animate a given set of {@linkcode Phaser.GameObjects.Sprite}
|
||||
* @see {@linkcode Phaser.GameObjects.Sprite.play}
|
||||
* @param sprite {@linkcode Phaser.GameObjects.Sprite} to animate
|
||||
* @param tintSprite {@linkcode Phaser.GameObjects.Sprite} placed on top of the sprite to add a color tint
|
||||
* @param animConfig {@linkcode Phaser.Types.Animations.PlayAnimationConfig} to pass to {@linkcode Phaser.GameObjects.Sprite.play}
|
||||
* @returns true if the sprite was able to be animated
|
||||
*/
|
||||
tryPlaySprite(sprite: Phaser.GameObjects.Sprite, tintSprite: Phaser.GameObjects.Sprite, animConfig: Phaser.Types.Animations.PlayAnimationConfig): boolean {
|
||||
// Show an error in the console if there isn't a texture loaded
|
||||
if (sprite.texture.key === '__MISSING') {
|
||||
console.error(`No texture found for '${animConfig.key}'!`);
|
||||
|
||||
return false;
|
||||
}
|
||||
// Don't try to play an animation when there isn't one
|
||||
if (sprite.texture.frameTotal <= 1) {
|
||||
console.warn(`No animation found for '${animConfig.key}'. Is this intentional?`);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
sprite.play(animConfig);
|
||||
tintSprite.play(animConfig);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
playAnim(): void {
|
||||
const trainerAnimConfig = {
|
||||
key: this.getKey(),
|
||||
@ -379,14 +407,9 @@ 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?`);
|
||||
this.tryPlaySprite(sprites[0], tintSprites[0], trainerAnimConfig);
|
||||
|
||||
// Queue an animation for the second trainer if this is a double battle against two separate trainers
|
||||
if (this.variant === TrainerVariant.DOUBLE && !this.config.doubleOnly) {
|
||||
const partnerTrainerAnimConfig = {
|
||||
key: this.getKey(true),
|
||||
@ -394,13 +417,7 @@ export default class Trainer extends Phaser.GameObjects.Container {
|
||||
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?`);
|
||||
this.tryPlaySprite(sprites[1], tintSprites[1], partnerTrainerAnimConfig);
|
||||
}
|
||||
}
|
||||
|
||||
|
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;
|
@ -2,47 +2,47 @@ import { BerryTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const berry: BerryTranslationEntries = {
|
||||
"SITRUS": {
|
||||
name: "Sitrus Berry",
|
||||
effect: "Restores 25% HP if HP is below 50%",
|
||||
name: "Tsitrubeere",
|
||||
effect: "Stellt 25% der KP wieder her, wenn die KP unter 50% sind"
|
||||
},
|
||||
"LUM": {
|
||||
name: "Lum Berry",
|
||||
effect: "Cures any non-volatile status condition and confusion",
|
||||
name: "Prunusbeere",
|
||||
effect: "Heilt jede nichtflüchtige Statusveränderung und Verwirrung"
|
||||
},
|
||||
"ENIGMA": {
|
||||
name: "Enigma Berry",
|
||||
effect: "Restores 25% HP if hit by a super effective move",
|
||||
name: "Enigmabeere",
|
||||
effect: "Stellt 25% der KP wieder her, wenn der Träger von einer sehr effektiven Attacke getroffen wird",
|
||||
},
|
||||
"LIECHI": {
|
||||
name: "Liechi Berry",
|
||||
effect: "Raises Attack if HP is below 25%",
|
||||
name: "Lydzibeere",
|
||||
effect: "Steigert den Angriff, wenn die KP unter 25% sind"
|
||||
},
|
||||
"GANLON": {
|
||||
name: "Ganlon Berry",
|
||||
effect: "Raises Defense if HP is below 25%",
|
||||
name: "Linganbeere",
|
||||
effect: "Steigert die Verteidigung, wenn die KP unter 25% sind"
|
||||
},
|
||||
"PETAYA": {
|
||||
name: "Petaya Berry",
|
||||
effect: "Raises Sp. Atk if HP is below 25%",
|
||||
name: "Tahaybeere",
|
||||
effect: "Steigert den Spezial-Angriff, wenn die KP unter 25% sind"
|
||||
},
|
||||
"APICOT": {
|
||||
name: "Apicot Berry",
|
||||
effect: "Raises Sp. Def if HP is below 25%",
|
||||
name: "Apikobeere",
|
||||
effect: "Steigert die Spezial-Verteidigung, wenn die KP unter 25% sind"
|
||||
},
|
||||
"SALAC": {
|
||||
name: "Salac Berry",
|
||||
effect: "Raises Speed if HP is below 25%",
|
||||
name: "Salkabeere",
|
||||
effect: "Steigert die Initiative, wenn die KP unter 25% sind"
|
||||
},
|
||||
"LANSAT": {
|
||||
name: "Lansat Berry",
|
||||
effect: "Raises critical hit ratio if HP is below 25%",
|
||||
name: "Lansatbeere",
|
||||
effect: "Erhöht die Volltrefferchance, wenn die KP unter 25% sind"
|
||||
},
|
||||
"STARF": {
|
||||
name: "Starf Berry",
|
||||
effect: "Sharply raises a random stat if HP is below 25%",
|
||||
name: "Krambobeere",
|
||||
effect: "Erhöht eine Statuswert stark, wenn die KP unter 25% sind"
|
||||
},
|
||||
"LEPPA": {
|
||||
name: "Leppa Berry",
|
||||
effect: "Restores 10 PP to a move if its PP reaches 0",
|
||||
name: "Jonagobeere",
|
||||
effect: "Stellt 10 AP für eine Attacke wieder her, wenn deren AP auf 0 fallen"
|
||||
},
|
||||
} as const;
|
@ -12,15 +12,15 @@ import { move } from "./move";
|
||||
import { nature } from "./nature";
|
||||
import { pokeball } from "./pokeball";
|
||||
import { pokemon } from "./pokemon";
|
||||
import { pokemonStat } from "./pokemon-stat";
|
||||
import { pokemonInfo } from "./pokemon-info";
|
||||
import { splashMessages } from "./splash-messages";
|
||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { weather } from "./weather";
|
||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||
import { berry } from "./berry";
|
||||
|
||||
|
||||
export const deConfig = {
|
||||
ability: ability,
|
||||
abilityTriggers: abilityTriggers,
|
||||
@ -36,7 +36,7 @@ export const deConfig = {
|
||||
nature: nature,
|
||||
pokeball: pokeball,
|
||||
pokemon: pokemon,
|
||||
pokemonStat: pokemonStat,
|
||||
pokemonInfo: pokemonInfo,
|
||||
splashMessages: splashMessages,
|
||||
starterSelectUiHandler: starterSelectUiHandler,
|
||||
titles: titles,
|
||||
@ -44,5 +44,6 @@ export const deConfig = {
|
||||
trainerNames: trainerNames,
|
||||
tutorial: tutorial,
|
||||
weather: weather,
|
||||
battleMessageUiHandler: battleMessageUiHandler,
|
||||
berry: berry,
|
||||
}
|
@ -385,26 +385,4 @@ export const modifierType: ModifierTypeTranslationEntries = {
|
||||
"CHILL_DRIVE": "Gefriermodul",
|
||||
"DOUSE_DRIVE": "Aquamodul",
|
||||
},
|
||||
TeraType: {
|
||||
"UNKNOWN": "Unbekannt",
|
||||
"NORMAL": "Normal",
|
||||
"FIGHTING": "Kampf",
|
||||
"FLYING": "Flug",
|
||||
"POISON": "Gift",
|
||||
"GROUND": "Boden",
|
||||
"ROCK": "Gestein",
|
||||
"BUG": "Käfer",
|
||||
"GHOST": "Geist",
|
||||
"STEEL": "Stahl",
|
||||
"FIRE": "Feuer",
|
||||
"WATER": "Wasser",
|
||||
"GRASS": "Pflanze",
|
||||
"ELECTRIC": "Elektro",
|
||||
"PSYCHIC": "Psycho",
|
||||
"ICE": "Eis",
|
||||
"DRAGON": "Drache",
|
||||
"DARK": "Unlicht",
|
||||
"FAIRY": "Fee",
|
||||
"STELLAR": "Stellar",
|
||||
},
|
||||
} as const;
|
41
src/locales/de/pokemon-info.ts
Normal file
41
src/locales/de/pokemon-info.ts
Normal file
@ -0,0 +1,41 @@
|
||||
import { PokemonInfoTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const pokemonInfo: PokemonInfoTranslationEntries = {
|
||||
Stat: {
|
||||
"HP": "Max. KP",
|
||||
"HPshortened": "MaxKP",
|
||||
"ATK": "Angriff",
|
||||
"ATKshortened": "Ang",
|
||||
"DEF": "Verteidigung",
|
||||
"DEFshortened": "Vert",
|
||||
"SPATK": "Sp. Ang",
|
||||
"SPATKshortened": "SpAng",
|
||||
"SPDEF": "Sp. Vert",
|
||||
"SPDEFshortened": "SpVert",
|
||||
"SPD": "Initiative",
|
||||
"SPDshortened": "Init",
|
||||
},
|
||||
|
||||
Type: {
|
||||
"UNKNOWN": "Unbekannt",
|
||||
"NORMAL": "Normal",
|
||||
"FIGHTING": "Kampf",
|
||||
"FLYING": "Flug",
|
||||
"POISON": "Gift",
|
||||
"GROUND": "Boden",
|
||||
"ROCK": "Gestein",
|
||||
"BUG": "Käfer",
|
||||
"GHOST": "Geist",
|
||||
"STEEL": "Stahl",
|
||||
"FIRE": "Feuer",
|
||||
"WATER": "Wasser",
|
||||
"GRASS": "Pflanze",
|
||||
"ELECTRIC": "Elektro",
|
||||
"PSYCHIC": "Psycho",
|
||||
"ICE": "Eis",
|
||||
"DRAGON": "Drache",
|
||||
"DARK": "Unlicht",
|
||||
"FAIRY": "Fee",
|
||||
"STELLAR": "Stellar",
|
||||
},
|
||||
} as const;
|
@ -1,16 +0,0 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const pokemonStat: SimpleTranslationEntries = {
|
||||
"HP": "Max. KP",
|
||||
"HPshortened": "MaxKP",
|
||||
"ATK": "Angriff",
|
||||
"ATKshortened": "Ang",
|
||||
"DEF": "Verteidigung",
|
||||
"DEFshortened": "Vert",
|
||||
"SPATK": "Sp. Ang",
|
||||
"SPATKshortened": "SpAng",
|
||||
"SPDEF": "Sp. Vert",
|
||||
"SPDEFshortened": "SpVert",
|
||||
"SPD": "Initiative",
|
||||
"SPDshortened": "Init"
|
||||
} as const;
|
@ -1,37 +1,37 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const splashMessages: SimpleTranslationEntries = {
|
||||
"battlesWon": "Battles Won!",
|
||||
"joinTheDiscord": "Join the Discord!",
|
||||
"infiniteLevels": "Infinite Levels!",
|
||||
"everythingStacks": "Everything Stacks!",
|
||||
"optionalSaveScumming": "Optional Save Scumming!",
|
||||
"biomes": "35 Biomes!",
|
||||
"battlesWon": "Kämpfe gewonnen!",
|
||||
"joinTheDiscord": "Tritt dem Discord bei!",
|
||||
"infiniteLevels": "Unendliche Level!",
|
||||
"everythingStacks": "Alles stapelt sich!",
|
||||
"optionalSaveScumming": "Optionales Save Scumming!",
|
||||
"biomes": "35 Biome!",
|
||||
"openSource": "Open Source!",
|
||||
"playWithSpeed": "Play with 5x Speed!",
|
||||
"liveBugTesting": "Live Bug Testing!",
|
||||
"heavyInfluence": "Heavy RoR2 Influence!",
|
||||
"playWithSpeed": "Spiele mit fünffacher Geschwindigkeit!",
|
||||
"liveBugTesting": "Live-Bug-Tests!",
|
||||
"heavyInfluence": "Starker RoR2-Einfluss!",
|
||||
"pokemonRiskAndPokemonRain": "Pokémon Risk and Pokémon Rain!",
|
||||
"nowWithMoreSalt": "Now with 33% More Salt!",
|
||||
"infiniteFusionAtHome": "Infinite Fusion at Home!",
|
||||
"brokenEggMoves": "Broken Egg Moves!",
|
||||
"magnificent": "Magnificent!",
|
||||
"mubstitute": "Mubstitute!",
|
||||
"thatsCrazy": "That\'s Crazy!",
|
||||
"oranceJuice": "Orance Juice!",
|
||||
"questionableBalancing": "Questionable Balancing!",
|
||||
"coolShaders": "Cool Shaders!",
|
||||
"aiFree": "AI-Free!",
|
||||
"suddenDifficultySpikes": "Sudden Difficulty Spikes!",
|
||||
"basedOnAnUnfinishedFlashGame": "Based on an Unfinished Flash Game!",
|
||||
"moreAddictiveThanIntended": "More Addictive than Intended!",
|
||||
"mostlyConsistentSeeds": "Mostly Consistent Seeds!",
|
||||
"achievementPointsDontDoAnything": "Achievement Points Don\'t Do Anything!",
|
||||
"youDoNotStartAtLevel": "You Do Not Start at Level 2000!",
|
||||
"dontTalkAboutTheManaphyEggIncident": "Don\'t Talk About the Manaphy Egg Incident!",
|
||||
"alsoTryPokengine": "Also Try Pokéngine!",
|
||||
"alsoTryEmeraldRogue": "Also Try Emerald Rogue!",
|
||||
"alsoTryRadicalRed": "Also Try Radical Red!",
|
||||
"eeveeExpo": "Eevee Expo!",
|
||||
"ynoproject": "YNOproject!",
|
||||
"nowWithMoreSalt": "Jetzt mit 33% mehr Salz!",
|
||||
"infiniteFusionAtHome": "Wir haben Infinite Fusionen zu Hause!",
|
||||
"brokenEggMoves": "Übermächtige Ei-Attacken!",
|
||||
"magnificent": "Herrlich!",
|
||||
"mubstitute": "Melegator!",
|
||||
"thatsCrazy": "Das ist verrückt!",
|
||||
"oranceJuice": "Orangensaft!",
|
||||
"questionableBalancing": "Fragwürdiges Balancing!",
|
||||
"coolShaders": "Coole Shader!",
|
||||
"aiFree": "Ohne KI!",
|
||||
"suddenDifficultySpikes": "Plötzliche Schwierigkeitsspitzen!",
|
||||
"basedOnAnUnfinishedFlashGame": "Basierend auf einem unfertigen Flash-Spiel!",
|
||||
"moreAddictiveThanIntended": "Süchtig machender als beabsichtigt!",
|
||||
"mostlyConsistentSeeds": "Meistens konsistente Seeds!",
|
||||
"achievementPointsDontDoAnything": "Erungenschaftspunkte tun nichts!",
|
||||
"youDoNotStartAtLevel": "Du startest nicht auf Level 2000!",
|
||||
"dontTalkAboutTheManaphyEggIncident": "Wir reden nicht über den Manaphy-Ei-Vorfall!",
|
||||
"alsoTryPokengine": "Versuche auch Pokéngine!",
|
||||
"alsoTryEmeraldRogue": "Versuche auch Emerald Rogue!",
|
||||
"alsoTryRadicalRed": "Versuche auch Radical Red!",
|
||||
"eeveeExpo": "Evoli-Expo!",
|
||||
"ynoproject": "YNO-Projekt!",
|
||||
} as const;
|
@ -4,41 +4,41 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
* The weather namespace holds text displayed when weather is active during a battle
|
||||
*/
|
||||
export const weather: SimpleTranslationEntries = {
|
||||
"sunnyStartMessage": "Die Sonne hellt auf!",
|
||||
"sunnyLapseMessage": "Die Sonne blendet.",
|
||||
"sunnyClearMessage": "Die Sonne schwächt ab.",
|
||||
"sunnyStartMessage": "Die Sonnenlicht wird stärker!",
|
||||
"sunnyLapseMessage": "Die Sonnenlicht ist stark.",
|
||||
"sunnyClearMessage": "Die Sonnenlicht verliert wieder an Intensität.",
|
||||
|
||||
"rainStartMessage": "Es fängt an zu regnen!",
|
||||
"rainLapseMessage": "Es regnet weiterhin.",
|
||||
"rainClearMessage": "Es hört auf zu regnen.",
|
||||
"rainLapseMessage": "Es regnet weiter.",
|
||||
"rainClearMessage": "Der Regen lässt nach.",
|
||||
|
||||
"sandstormStartMessage": "Ein Sandsturm braut sich zusammen!",
|
||||
"sandstormStartMessage": "Ein Sandsturm kommt auf!",
|
||||
"sandstormLapseMessage": "Der Sandsturm tobt.",
|
||||
"sandstormClearMessage": "Der Sandsturm lässt nach.",
|
||||
"sandstormDamageMessage": "{{pokemonPrefix}}{{pokemonName}} ist vom\nSandsturm beeinträchtigt!",
|
||||
"sandstormClearMessage": "Der Sandsturm legt sich.",
|
||||
"sandstormDamageMessage": " Der Sandsturm fügt {{pokemonPrefix}}{{pokemonName}} Schaden zu!",
|
||||
|
||||
"hailStartMessage": "Es fängt an zu hageln!",
|
||||
"hailLapseMessage": "Es hagelt weiterhin.",
|
||||
"hailClearMessage": "Es hört auf zu hageln.",
|
||||
"hailDamageMessage": "{{pokemonPrefix}}{{pokemonName}} ist vom\nHagel beeinträchtigt!",
|
||||
"hailLapseMessage": "Der Hagelsturm tobt.",
|
||||
"hailClearMessage": "Der Hagelsturm legt sich.",
|
||||
"hailDamageMessage": "{{pokemonPrefix}}{{pokemonName}} wird von Hagelkörnern getroffen!",
|
||||
|
||||
"snowStartMessage": "Es fängt an zu schneien!",
|
||||
"snowLapseMessage": "Es schneit weiterhin.",
|
||||
"snowClearMessage": "Es hört auf zu schneien.",
|
||||
"snowLapseMessage": "Der Schneesturm tobt.",
|
||||
"snowClearMessage": "Der Schneesturm legt sich.",
|
||||
|
||||
"fogStartMessage": "Es fängt an zu nebeln!",
|
||||
"fogLapseMessage": "Es nebelt weiterhin.",
|
||||
"fogClearMessage": "Es hört auf zu nebeln.",
|
||||
"fogStartMessage": "Am Boden breitet sich dichter Nebel aus!",
|
||||
"fogLapseMessage": "Der Nebel bleibt dicht.",
|
||||
"fogClearMessage": "Der Nebel lichtet sich.",
|
||||
|
||||
"heavyRainStartMessage": "Ein Starkregen beginnt!",
|
||||
"heavyRainLapseMessage": "Der Starkregen hält an.",
|
||||
"heavyRainClearMessage": "Der Starkregen lässt nach.",
|
||||
"heavyRainStartMessage": "Es fängt an, in Strömen zu regnen!",
|
||||
"heavyRainLapseMessage": "Der strömende Regen hält an.",
|
||||
"heavyRainClearMessage": "Der strömende Regen lässt nach.",
|
||||
|
||||
"harshSunStartMessage": "Das Sonnenlicht wird wärmer!",
|
||||
"harshSunLapseMessage": "Das Sonnenlicht brennt.",
|
||||
"harshSunClearMessage": "Das Sonnenlicht schwächt ab.",
|
||||
"harshSunStartMessage": "Das Sonnenlicht wird sehr viel stärker!",
|
||||
"harshSunLapseMessage": "Das Sonnenlicht ist sehr stark.",
|
||||
"harshSunClearMessage": "Das Sonnenlicht verliert an Intensität.",
|
||||
|
||||
"strongWindsStartMessage": "Ein starker Wind zieht auf!",
|
||||
"strongWindsLapseMessage": "Der starke Wind tobt.",
|
||||
"strongWindsClearMessage": "Der starke Wind legt sich."
|
||||
"strongWindsStartMessage": "Alle Flug-Pokémon werden von rätselhaften Luftströmungen geschützt!",
|
||||
"strongWindsLapseMessage": "Die rätselhafte Luftströmung hält an.",
|
||||
"strongWindsClearMessage": "Die rätselhafte Luftströmung hat sich wieder geleget.",
|
||||
}
|
||||
|
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;
|
@ -12,15 +12,15 @@ import { move } from "./move";
|
||||
import { nature } from "./nature";
|
||||
import { pokeball } from "./pokeball";
|
||||
import { pokemon } from "./pokemon";
|
||||
import { pokemonStat } from "./pokemon-stat";
|
||||
import { pokemonInfo } from "./pokemon-info";
|
||||
import { splashMessages } from "./splash-messages";
|
||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { weather } from "./weather";
|
||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||
import { berry } from "./berry";
|
||||
|
||||
|
||||
export const enConfig = {
|
||||
ability: ability,
|
||||
abilityTriggers: abilityTriggers,
|
||||
@ -36,7 +36,7 @@ export const enConfig = {
|
||||
nature: nature,
|
||||
pokeball: pokeball,
|
||||
pokemon: pokemon,
|
||||
pokemonStat: pokemonStat,
|
||||
pokemonInfo: pokemonInfo,
|
||||
splashMessages: splashMessages,
|
||||
starterSelectUiHandler: starterSelectUiHandler,
|
||||
titles: titles,
|
||||
@ -44,5 +44,6 @@ export const enConfig = {
|
||||
trainerNames: trainerNames,
|
||||
tutorial: tutorial,
|
||||
weather: weather,
|
||||
battleMessageUiHandler: battleMessageUiHandler,
|
||||
berry: berry,
|
||||
}
|
@ -384,26 +384,4 @@ export const modifierType: ModifierTypeTranslationEntries = {
|
||||
"CHILL_DRIVE": "Chill Drive",
|
||||
"DOUSE_DRIVE": "Douse Drive",
|
||||
},
|
||||
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",
|
||||
},
|
||||
} as const;
|
41
src/locales/en/pokemon-info.ts
Normal file
41
src/locales/en/pokemon-info.ts
Normal file
@ -0,0 +1,41 @@
|
||||
import { PokemonInfoTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const pokemonInfo: PokemonInfoTranslationEntries = {
|
||||
Stat: {
|
||||
"HP": "Max. HP",
|
||||
"HPshortened": "MaxHP",
|
||||
"ATK": "Attack",
|
||||
"ATKshortened": "Atk",
|
||||
"DEF": "Defense",
|
||||
"DEFshortened": "Def",
|
||||
"SPATK": "Sp. Atk",
|
||||
"SPATKshortened": "SpAtk",
|
||||
"SPDEF": "Sp. Def",
|
||||
"SPDEFshortened": "SpDef",
|
||||
"SPD": "Speed",
|
||||
"SPDshortened": "Spd"
|
||||
},
|
||||
|
||||
Type: {
|
||||
"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",
|
||||
},
|
||||
} as const;
|
@ -1,16 +0,0 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const pokemonStat: SimpleTranslationEntries = {
|
||||
"HP": "Max. HP",
|
||||
"HPshortened": "MaxHP",
|
||||
"ATK": "Attack",
|
||||
"ATKshortened": "Atk",
|
||||
"DEF": "Defense",
|
||||
"DEFshortened": "Def",
|
||||
"SPATK": "Sp. Atk",
|
||||
"SPATKshortened": "SpAtk",
|
||||
"SPDEF": "Sp. Def",
|
||||
"SPDEFshortened": "SpDef",
|
||||
"SPD": "Speed",
|
||||
"SPDshortened": "Spd"
|
||||
} as const;
|
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;
|
@ -12,15 +12,15 @@ import { move } from "./move";
|
||||
import { nature } from "./nature";
|
||||
import { pokeball } from "./pokeball";
|
||||
import { pokemon } from "./pokemon";
|
||||
import { pokemonStat } from "./pokemon-stat";
|
||||
import { pokemonInfo } from "./pokemon-info";
|
||||
import { splashMessages } from "./splash-messages";
|
||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { weather } from "./weather";
|
||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||
import { berry } from "./berry";
|
||||
|
||||
|
||||
export const esConfig = {
|
||||
ability: ability,
|
||||
abilityTriggers: abilityTriggers,
|
||||
@ -36,7 +36,7 @@ export const esConfig = {
|
||||
nature: nature,
|
||||
pokeball: pokeball,
|
||||
pokemon: pokemon,
|
||||
pokemonStat: pokemonStat,
|
||||
pokemonInfo: pokemonInfo,
|
||||
splashMessages: splashMessages,
|
||||
starterSelectUiHandler: starterSelectUiHandler,
|
||||
titles: titles,
|
||||
@ -44,5 +44,6 @@ export const esConfig = {
|
||||
trainerNames: trainerNames,
|
||||
tutorial: tutorial,
|
||||
weather: weather,
|
||||
battleMessageUiHandler: battleMessageUiHandler,
|
||||
berry: berry,
|
||||
}
|
@ -384,26 +384,4 @@ export const modifierType: ModifierTypeTranslationEntries = {
|
||||
"CHILL_DRIVE": "Chill Drive",
|
||||
"DOUSE_DRIVE": "Douse Drive",
|
||||
},
|
||||
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",
|
||||
},
|
||||
} as const;
|
41
src/locales/es/pokemon-info.ts
Normal file
41
src/locales/es/pokemon-info.ts
Normal file
@ -0,0 +1,41 @@
|
||||
import { PokemonInfoTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const pokemonInfo: PokemonInfoTranslationEntries = {
|
||||
Stat: {
|
||||
"HP": "PV",
|
||||
"HPshortened": "PV",
|
||||
"ATK": "Ataque",
|
||||
"ATKshortened": "Ata",
|
||||
"DEF": "Defensa",
|
||||
"DEFshortened": "Def",
|
||||
"SPATK": "At. Esp.",
|
||||
"SPATKshortened": "AtEsp",
|
||||
"SPDEF": "Def. Esp.",
|
||||
"SPDEFshortened": "DefEsp",
|
||||
"SPD": "Velocidad",
|
||||
"SPDshortened": "Veloc."
|
||||
},
|
||||
|
||||
Type: {
|
||||
"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",
|
||||
},
|
||||
} as const;
|
@ -1,16 +0,0 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const pokemonStat: SimpleTranslationEntries = {
|
||||
"HP": "PV",
|
||||
"HPshortened": "PV",
|
||||
"ATK": "Ataque",
|
||||
"ATKshortened": "Ata",
|
||||
"DEF": "Defensa",
|
||||
"DEFshortened": "Def",
|
||||
"SPATK": "At. Esp.",
|
||||
"SPATKshortened": "AtEsp",
|
||||
"SPDEF": "Def. Esp.",
|
||||
"SPDEFshortened": "DefEsp",
|
||||
"SPD": "Velocidad",
|
||||
"SPDshortened": "Veloc."
|
||||
} as const;
|
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;
|
@ -2,47 +2,47 @@ import { BerryTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const berry: BerryTranslationEntries = {
|
||||
"SITRUS": {
|
||||
name: "Sitrus Berry",
|
||||
effect: "Restores 25% HP if HP is below 50%",
|
||||
name: "Baie Sitrus",
|
||||
effect: "Restaure 25% des PV s’ils sont inférieurs à 50%",
|
||||
},
|
||||
"LUM": {
|
||||
name: "Lum Berry",
|
||||
effect: "Cures any non-volatile status condition and confusion",
|
||||
name: "Baie Prine",
|
||||
effect: "Soigne tout problème de statut permanant et la confusion",
|
||||
},
|
||||
"ENIGMA": {
|
||||
name: "Enigma Berry",
|
||||
effect: "Restores 25% HP if hit by a super effective move",
|
||||
name: "Baie Enigma",
|
||||
effect: "Restaure 25% des PV si touché par une capacité super efficace",
|
||||
},
|
||||
"LIECHI": {
|
||||
name: "Liechi Berry",
|
||||
effect: "Raises Attack if HP is below 25%",
|
||||
name: "Baie Lichii",
|
||||
effect: "Augmente l’Attaque si les PV sont inférieurs à 25%",
|
||||
},
|
||||
"GANLON": {
|
||||
name: "Ganlon Berry",
|
||||
effect: "Raises Defense if HP is below 25%",
|
||||
name: "Baie Lingan",
|
||||
effect: "Augmente la Défense si les PV sont inférieurs à 25%",
|
||||
},
|
||||
"PETAYA": {
|
||||
name: "Petaya Berry",
|
||||
effect: "Raises Sp. Atk if HP is below 25%",
|
||||
name: "Baie Pitaye",
|
||||
effect: "Augmente l’Atq. Spé. si les PV sont inférieurs à 25%",
|
||||
},
|
||||
"APICOT": {
|
||||
name: "Apicot Berry",
|
||||
effect: "Raises Sp. Def if HP is below 25%",
|
||||
name: "Baie Abriko",
|
||||
effect: "Augmente la Déf. Spé. si les PV sont inférieurs à 25%",
|
||||
},
|
||||
"SALAC": {
|
||||
name: "Salac Berry",
|
||||
effect: "Raises Speed if HP is below 25%",
|
||||
name: "Baie Sailak",
|
||||
effect: "Augmente la Vitesse si les PV sont inférieurs à 25%",
|
||||
},
|
||||
"LANSAT": {
|
||||
name: "Lansat Berry",
|
||||
effect: "Raises critical hit ratio if HP is below 25%",
|
||||
name: "Baie Lansat",
|
||||
effect: "Augmente le taux de coups critiques si les PV sont inférieurs à 25%",
|
||||
},
|
||||
"STARF": {
|
||||
name: "Starf Berry",
|
||||
effect: "Sharply raises a random stat if HP is below 25%",
|
||||
name: "Baie Frista",
|
||||
effect: "Augmente énormément une statistique au hasard si les PV sont inférieurs à 25%",
|
||||
},
|
||||
"LEPPA": {
|
||||
name: "Leppa Berry",
|
||||
effect: "Restores 10 PP to a move if its PP reaches 0",
|
||||
name: "Baie Mepo",
|
||||
effect: "Restaure 10 PP à une capacité dès que ses PP tombent à 0",
|
||||
},
|
||||
} as const;
|
@ -12,15 +12,15 @@ import { move } from "./move";
|
||||
import { nature } from "./nature";
|
||||
import { pokeball } from "./pokeball";
|
||||
import { pokemon } from "./pokemon";
|
||||
import { pokemonStat } from "./pokemon-stat";
|
||||
import { pokemonInfo } from "./pokemon-info";
|
||||
import { splashMessages } from "./splash-messages";
|
||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { weather } from "./weather";
|
||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||
import { berry } from "./berry";
|
||||
|
||||
|
||||
export const frConfig = {
|
||||
ability: ability,
|
||||
abilityTriggers: abilityTriggers,
|
||||
@ -36,7 +36,7 @@ export const frConfig = {
|
||||
nature: nature,
|
||||
pokeball: pokeball,
|
||||
pokemon: pokemon,
|
||||
pokemonStat: pokemonStat,
|
||||
pokemonInfo: pokemonInfo,
|
||||
splashMessages: splashMessages,
|
||||
starterSelectUiHandler: starterSelectUiHandler,
|
||||
titles: titles,
|
||||
@ -44,6 +44,6 @@ export const frConfig = {
|
||||
trainerNames: trainerNames,
|
||||
tutorial: tutorial,
|
||||
weather: weather,
|
||||
battleMessageUiHandler: battleMessageUiHandler,
|
||||
berry: berry,
|
||||
}
|
||||
|
||||
|
@ -384,26 +384,4 @@ export const modifierType: ModifierTypeTranslationEntries = {
|
||||
"CHILL_DRIVE": "Module Aqua",
|
||||
"DOUSE_DRIVE": "Module Choc",
|
||||
},
|
||||
TeraType: {
|
||||
"UNKNOWN": "Inconnu",
|
||||
"NORMAL": "Normal",
|
||||
"FIGHTING": "Combat",
|
||||
"FLYING": "Vol",
|
||||
"POISON": "Poison",
|
||||
"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": "Ténèbres",
|
||||
"FAIRY": "Fée",
|
||||
"STELLAR": "Stellaire",
|
||||
},
|
||||
} as const;
|
||||
|
41
src/locales/fr/pokemon-info.ts
Normal file
41
src/locales/fr/pokemon-info.ts
Normal file
@ -0,0 +1,41 @@
|
||||
import { PokemonInfoTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const pokemonInfo: PokemonInfoTranslationEntries = {
|
||||
Stat: {
|
||||
"HP": "PV",
|
||||
"HPshortened": "PV",
|
||||
"ATK": "Attaque",
|
||||
"ATKshortened": "Atq",
|
||||
"DEF": "Défense",
|
||||
"DEFshortened": "Déf",
|
||||
"SPATK": "Atq. Spé.",
|
||||
"SPATKshortened": "AtqSp",
|
||||
"SPDEF": "Déf. Spé.",
|
||||
"SPDEFshortened": "DéfSp",
|
||||
"SPD": "Vitesse",
|
||||
"SPDshortened": "Vit"
|
||||
},
|
||||
|
||||
Type: {
|
||||
"UNKNOWN": "Inconnu",
|
||||
"NORMAL": "Normal",
|
||||
"FIGHTING": "Combat",
|
||||
"FLYING": "Vol",
|
||||
"POISON": "Poison",
|
||||
"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": "Ténèbres",
|
||||
"FAIRY": "Fée",
|
||||
"STELLAR": "Stellaire",
|
||||
},
|
||||
} as const;
|
@ -1,16 +0,0 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const pokemonStat: SimpleTranslationEntries = {
|
||||
"HP": "PV",
|
||||
"HPshortened": "PV",
|
||||
"ATK": "Attaque",
|
||||
"ATKshortened": "Atq",
|
||||
"DEF": "Défense",
|
||||
"DEFshortened": "Déf",
|
||||
"SPATK": "Atq. Spé.",
|
||||
"SPATKshortened": "AtqSp",
|
||||
"SPDEF": "Déf. Spé.",
|
||||
"SPDEFshortened": "DéfSp",
|
||||
"SPD": "Vitesse",
|
||||
"SPDshortened": "Vit"
|
||||
} as const;
|
@ -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",
|
||||
|
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": "Stellare",
|
||||
"ivFantastic": "Eccellente",
|
||||
"ivVeryGood": "Notevole",
|
||||
"ivPrettyGood": "Normale",
|
||||
"ivDecent": "Sufficiente",
|
||||
"ivNoGood": "Mediocre",
|
||||
} as const;
|
@ -23,16 +23,16 @@ export const battle: SimpleTranslationEntries = {
|
||||
"attackFailed": "Ma ha fallito!",
|
||||
"attackHitsCount": `Colpito {{count}} volta/e!`,
|
||||
"expGain": "{{pokemonName}} ha guadagnato\n{{exp}} Punti Esperienza!",
|
||||
"levelUp": "{{pokemonName}} è salito al \nlivello {{level}}!",
|
||||
"learnMove": "{{pokemonName}} impara \n{{moveName}}!",
|
||||
"levelUp": "{{pokemonName}} è salito al\nlivello {{level}}!",
|
||||
"learnMove": "{{pokemonName}} impara\n{{moveName}}!",
|
||||
"learnMovePrompt": "{{pokemonName}} vorrebbe imparare\n{{moveName}}.",
|
||||
"learnMoveLimitReached": "Tuttavia, {{pokemonName}} \nconosce già quattro mosse.",
|
||||
"learnMoveReplaceQuestion": "Vuoi che ne dimentichi una e al suo \nposto la sostituisca con {{moveName}}?",
|
||||
"learnMoveStopTeaching": "Vuoi smettere di fargli imparare \n{{moveName}}?",
|
||||
"learnMoveLimitReached": "Tuttavia, {{pokemonName}}\nconosce già quattro mosse.",
|
||||
"learnMoveReplaceQuestion": "Vuoi che ne dimentichi una e al suo\nposto apprenda {{moveName}}?",
|
||||
"learnMoveStopTeaching": "Vuoi smettere di fargli imparare\n{{moveName}}?",
|
||||
"learnMoveNotLearned": "{{pokemonName}} non ha imparato\n{{moveName}}.",
|
||||
"learnMoveForgetQuestion": "Quale mossa deve dimenticare?",
|
||||
"learnMoveForgetSuccess": "{{pokemonName}} ha dimenticato la mossa\n{{moveName}}.",
|
||||
"countdownPoof": "@d{32}1, @d{15}2, @d{15}e@d{15}… @d{15}… @d{15}… @d{15}@s{pb_bounce_1}Puff!",
|
||||
"countdownPoof": "@d{32}1, @d{15}2, @d{15}e@d{15}… @d{15}… @d{15}… @d{15}@s{pb_bounce_1}ta-daaaa!",
|
||||
"learnMoveAnd": "E…",
|
||||
"levelCapUp": "Il livello massimo\nè aumentato a {{levelCap}}!",
|
||||
"moveNotImplemented": "{{moveName}} non è ancora implementata e non può essere selezionata.",
|
||||
@ -51,6 +51,6 @@ export const battle: SimpleTranslationEntries = {
|
||||
"escapeVerbFlee": "fuggendo",
|
||||
"notDisabled": "{{pokemonName}}'s {{moveName}} non è più\ndisabilitata!",
|
||||
"skipItemQuestion": "Sei sicuro di non voler prendere nessun oggetto?",
|
||||
"eggHatching": "Oh?",
|
||||
"eggHatching": "Oh!",
|
||||
"ivScannerUseQuestion": "Vuoi usare lo scanner di IV su {{pokemonName}}?"
|
||||
} as const;
|
@ -2,47 +2,47 @@ import { BerryTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const berry: BerryTranslationEntries = {
|
||||
"SITRUS": {
|
||||
name: "Sitrus Berry",
|
||||
effect: "Restores 25% HP if HP is below 50%",
|
||||
name: "Baccacedro",
|
||||
effect: "Restituisce il 25% dei PS se i PS sono sotto il 50%",
|
||||
},
|
||||
"LUM": {
|
||||
name: "Lum Berry",
|
||||
effect: "Cures any non-volatile status condition and confusion",
|
||||
name: "Baccaprugna",
|
||||
effect: "Se tenuta da un Pokémon risolve qualsiasi problema di stato",
|
||||
},
|
||||
"ENIGMA": {
|
||||
name: "Enigma Berry",
|
||||
effect: "Restores 25% HP if hit by a super effective move",
|
||||
name: "Baccaenigma",
|
||||
effect: "Restituisce il 25% dei PS se viene colpito da una mossa superefficace",
|
||||
},
|
||||
"LIECHI": {
|
||||
name: "Liechi Berry",
|
||||
effect: "Raises Attack if HP is below 25%",
|
||||
name: "Baccalici",
|
||||
effect: "Aumenta l'Attacco se i PS sono sotto il 25%",
|
||||
},
|
||||
"GANLON": {
|
||||
name: "Ganlon Berry",
|
||||
effect: "Raises Defense if HP is below 25%",
|
||||
name: "Baccalongan",
|
||||
effect: "Aumenta la Difesa se i PS sono sotto il 25%",
|
||||
},
|
||||
"PETAYA": {
|
||||
name: "Petaya Berry",
|
||||
effect: "Raises Sp. Atk if HP is below 25%",
|
||||
name: "Baccapitaya",
|
||||
effect: "Aumenta l'Attacco Speciale se i PS sono sotto il 25%",
|
||||
},
|
||||
"APICOT": {
|
||||
name: "Apicot Berry",
|
||||
effect: "Raises Sp. Def if HP is below 25%",
|
||||
name: "Baccacocca",
|
||||
effect: "Aumenta la Difesa Speciale se i PS sono sotto il 25%",
|
||||
},
|
||||
"SALAC": {
|
||||
name: "Salac Berry",
|
||||
effect: "Raises Speed if HP is below 25%",
|
||||
name: "Baccasalak",
|
||||
effect: "Aumenta la Velocità se i PS sono sotto il 25%",
|
||||
},
|
||||
"LANSAT": {
|
||||
name: "Lansat Berry",
|
||||
effect: "Raises critical hit ratio if HP is below 25%",
|
||||
name: "Baccalangsa",
|
||||
effect: "Aumenta la probabilità di Colpo Critico se i PS sono sotto il 25%",
|
||||
},
|
||||
"STARF": {
|
||||
name: "Starf Berry",
|
||||
effect: "Sharply raises a random stat if HP is below 25%",
|
||||
name: "Baccambola",
|
||||
effect: "Aumenta drasticamente una statistica casuale se i PS sono sotto il 25%",
|
||||
},
|
||||
"LEPPA": {
|
||||
name: "Leppa Berry",
|
||||
effect: "Restores 10 PP to a move if its PP reaches 0",
|
||||
name: "Baccamela",
|
||||
effect: "Ripristina 10 PP a una mossa se i suoi PP raggiungono lo 0",
|
||||
},
|
||||
} as const;
|
@ -12,15 +12,15 @@ import { move } from "./move";
|
||||
import { nature } from "./nature";
|
||||
import { pokeball } from "./pokeball";
|
||||
import { pokemon } from "./pokemon";
|
||||
import { pokemonStat } from "./pokemon-stat";
|
||||
import { pokemonInfo } from "./pokemon-info";
|
||||
import { splashMessages } from "./splash-messages";
|
||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { weather } from "./weather";
|
||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||
import { berry } from "./berry";
|
||||
|
||||
|
||||
export const itConfig = {
|
||||
ability: ability,
|
||||
abilityTriggers: abilityTriggers,
|
||||
@ -36,7 +36,7 @@ export const itConfig = {
|
||||
nature: nature,
|
||||
pokeball: pokeball,
|
||||
pokemon: pokemon,
|
||||
pokemonStat: pokemonStat,
|
||||
pokemonInfo: pokemonInfo,
|
||||
splashMessages: splashMessages,
|
||||
starterSelectUiHandler: starterSelectUiHandler,
|
||||
titles: titles,
|
||||
@ -44,5 +44,6 @@ export const itConfig = {
|
||||
trainerNames: trainerNames,
|
||||
tutorial: tutorial,
|
||||
weather: weather,
|
||||
battleMessageUiHandler: battleMessageUiHandler,
|
||||
berry: berry,
|
||||
}
|
@ -384,26 +384,4 @@ export const modifierType: ModifierTypeTranslationEntries = {
|
||||
"CHILL_DRIVE": "Gelomodulo",
|
||||
"DOUSE_DRIVE": "Idromodulo",
|
||||
},
|
||||
TeraType: {
|
||||
"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;
|
41
src/locales/it/pokemon-info.ts
Normal file
41
src/locales/it/pokemon-info.ts
Normal file
@ -0,0 +1,41 @@
|
||||
import { PokemonInfoTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const pokemonInfo: PokemonInfoTranslationEntries = {
|
||||
Stat: {
|
||||
"HP": "PS Max",
|
||||
"HPshortened": "PS",
|
||||
"ATK": "Attacco",
|
||||
"ATKshortened": "Att",
|
||||
"DEF": "Difesa",
|
||||
"DEFshortened": "Dif",
|
||||
"SPATK": "Att. Sp.",
|
||||
"SPATKshortened": "AttSp",
|
||||
"SPDEF": "Dif. Sp.",
|
||||
"SPDEFshortened": "DifSp",
|
||||
"SPD": "Velocità",
|
||||
"SPDshortened": "Vel"
|
||||
},
|
||||
|
||||
Type: {
|
||||
"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;
|
@ -1,16 +0,0 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const pokemonStat: SimpleTranslationEntries = {
|
||||
"HP": "PS Max",
|
||||
"HPshortened": "PS",
|
||||
"ATK": "Attacco",
|
||||
"ATKshortened": "Att",
|
||||
"DEF": "Difesa",
|
||||
"DEFshortened": "Dif",
|
||||
"SPATK": "Att. Sp.",
|
||||
"SPATKshortened": "AttSp",
|
||||
"SPDEF": "Dif. Sp.",
|
||||
"SPDEFshortened": "DifSp",
|
||||
"SPD": "Velocità",
|
||||
"SPDshortened": "Vel"
|
||||
} as const;
|
@ -2,13 +2,13 @@ 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": "Superquattro",
|
||||
"gym_leader": "Capopalestra",
|
||||
"gym_leader_female": "Capopalestra",
|
||||
"champion": "Campione",
|
||||
"rival": "Rivale",
|
||||
"professor": "Professore",
|
||||
"frontier_brain": "Asso Lotta",
|
||||
// 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;
|
||||
|
||||
|
5
src/locales/pt_BR/ability-trigger.ts
Normal file
5
src/locales/pt_BR/ability-trigger.ts
Normal file
@ -0,0 +1,5 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const abilityTriggers: SimpleTranslationEntries = {
|
||||
'blockRecoilDamage' : `{{abilityName}} de {{pokemonName}}\nprotegeu-o do dano de recuo!`,
|
||||
} as const;
|
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": "Melhor",
|
||||
"ivFantastic": "Fantástico",
|
||||
"ivVeryGood": "Muito Bom",
|
||||
"ivPrettyGood": "Bom",
|
||||
"ivDecent": "Regular",
|
||||
"ivNoGood": "Ruim",
|
||||
} as const;
|
@ -3,13 +3,13 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
export const battle: SimpleTranslationEntries = {
|
||||
"bossAppeared": "{{bossName}} apareceu.",
|
||||
"trainerAppeared": "{{trainerName}}\nquer batalhar!",
|
||||
"trainerAppearedDouble": "{{trainerName}}\nwould like to battle!",
|
||||
"trainerAppearedDouble": "{{trainerName}}\nquerem batalhar!",
|
||||
"singleWildAppeared": "Um {{pokemonName}} selvagem apareceu!",
|
||||
"multiWildAppeared": "Um {{pokemonName1}} e um {{pokemonName2}} selvagens\napareceram!",
|
||||
"playerComeBack": "{{pokemonName}}, retorne!",
|
||||
"trainerComeBack": "{{trainerName}} retirou {{pokemonName}} da batalha!",
|
||||
"playerGo": "{{pokemonName}}, eu escolho você!",
|
||||
"trainerGo": "{{trainerName}} enviou {{pokemonName}}!",
|
||||
"trainerGo": "{{trainerName}} escolheu {{pokemonName}}!",
|
||||
"switchQuestion": "Quer trocar\nde {{pokemonName}}?",
|
||||
"trainerDefeated": "Você derrotou\n{{trainerName}}!",
|
||||
"pokemonCaught": "{{pokemonName}} foi capturado!",
|
||||
|
@ -2,47 +2,47 @@ import { BerryTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const berry: BerryTranslationEntries = {
|
||||
"SITRUS": {
|
||||
name: "Sitrus Berry",
|
||||
effect: "Restores 25% HP if HP is below 50%",
|
||||
name: "Fruta Sitrus",
|
||||
effect: "Restaura 25% dos PS se os PS estiverem abaixo de 50%",
|
||||
},
|
||||
"LUM": {
|
||||
name: "Lum Berry",
|
||||
effect: "Cures any non-volatile status condition and confusion",
|
||||
name: "Fruta Lum",
|
||||
effect: "Cura qualquer mudança de estado ou confusão",
|
||||
},
|
||||
"ENIGMA": {
|
||||
name: "Enigma Berry",
|
||||
effect: "Restores 25% HP if hit by a super effective move",
|
||||
name: "Fruta Enigma",
|
||||
effect: "Restaura 25% dos PS se atingido por um golpe supereficaz",
|
||||
},
|
||||
"LIECHI": {
|
||||
name: "Liechi Berry",
|
||||
effect: "Raises Attack if HP is below 25%",
|
||||
name: "Fruta Liechi",
|
||||
effect: "Aumenta o Ataque se os PS estiverem abaixo de 25%",
|
||||
},
|
||||
"GANLON": {
|
||||
name: "Ganlon Berry",
|
||||
effect: "Raises Defense if HP is below 25%",
|
||||
name: "Fruta Ganlon",
|
||||
effect: "Aumenta a Defesa se os PS estiverem abaixo de 25%",
|
||||
},
|
||||
"PETAYA": {
|
||||
name: "Petaya Berry",
|
||||
effect: "Raises Sp. Atk if HP is below 25%",
|
||||
name: "Fruta Petaya",
|
||||
effect: "Aumenta o Ataque Especial se os PS estiverem abaixo de 25%",
|
||||
},
|
||||
"APICOT": {
|
||||
name: "Apicot Berry",
|
||||
effect: "Raises Sp. Def if HP is below 25%",
|
||||
name: "Fruta Apicot",
|
||||
effect: "Aumenta a Defesa Especial se os PS estiverem abaixo de 25%",
|
||||
},
|
||||
"SALAC": {
|
||||
name: "Salac Berry",
|
||||
effect: "Raises Speed if HP is below 25%",
|
||||
name: "Fruta Salac",
|
||||
effect: "Aumenta a Velocidade se os PS estiverem abaixo de 25%",
|
||||
},
|
||||
"LANSAT": {
|
||||
name: "Lansat Berry",
|
||||
effect: "Raises critical hit ratio if HP is below 25%",
|
||||
name: "Fruta Lansat",
|
||||
effect: "Aumenta a chance de acerto crítico se os PS estiverem abaixo de 25%",
|
||||
},
|
||||
"STARF": {
|
||||
name: "Starf Berry",
|
||||
effect: "Sharply raises a random stat if HP is below 25%",
|
||||
name: "Fruta Starf",
|
||||
effect: "Aumenta drasticamente um atributo aleatório se os PS estiverem abaixo de 25%",
|
||||
},
|
||||
"LEPPA": {
|
||||
name: "Leppa Berry",
|
||||
effect: "Restores 10 PP to a move if its PP reaches 0",
|
||||
name: "Fruta Leppa",
|
||||
effect: "Restaura 10 PP de um movimento se seus PP acabarem",
|
||||
},
|
||||
} as const;
|
@ -1,6 +1,8 @@
|
||||
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";
|
||||
@ -10,8 +12,10 @@ import { move } from "./move";
|
||||
import { nature } from "./nature";
|
||||
import { pokeball } from "./pokeball";
|
||||
import { pokemon } from "./pokemon";
|
||||
import { pokemonStat } from "./pokemon-stat";
|
||||
import { pokemonInfo } from "./pokemon-info";
|
||||
import { splashMessages } from "./splash-messages";
|
||||
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";
|
||||
@ -19,17 +23,23 @@ import { berry } from "./berry";
|
||||
|
||||
export const ptBrConfig = {
|
||||
ability: ability,
|
||||
abilityTriggers: abilityTriggers,
|
||||
battle: battle,
|
||||
commandUiHandler: commandUiHandler,
|
||||
egg: egg,
|
||||
fightUiHandler: fightUiHandler,
|
||||
menuUiHandler: menuUiHandler,
|
||||
menu: menu,
|
||||
move: move,
|
||||
pokeball: pokeball,
|
||||
pokemonStat: pokemonStat,
|
||||
pokemonInfo: pokemonInfo,
|
||||
pokemon: pokemon,
|
||||
starterSelectUiHandler: starterSelectUiHandler,
|
||||
titles: titles,
|
||||
trainerClasses: trainerClasses,
|
||||
trainerNames: trainerNames,
|
||||
tutorial: tutorial,
|
||||
splashMessages: splashMessages,
|
||||
nature: nature,
|
||||
growth: growth,
|
||||
weather: weather,
|
||||
|
21
src/locales/pt_BR/egg.ts
Normal file
21
src/locales/pt_BR/egg.ts
Normal file
@ -0,0 +1,21 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const egg: SimpleTranslationEntries = {
|
||||
"egg": "Ovo",
|
||||
"greatTier": "Raro",
|
||||
"ultraTier": "Épico",
|
||||
"masterTier": "Lendário",
|
||||
"defaultTier": "Comum",
|
||||
"hatchWavesMessageSoon": "Barulhos podem ser ouvidos vindo de dentro! Vai chocar em breve!",
|
||||
"hatchWavesMessageClose": "Parece se mover ocasionalmente. Pode estar perto de chocar.",
|
||||
"hatchWavesMessageNotClose": "O que vai nascer disso? Não parece estar perto de chocar.",
|
||||
"hatchWavesMessageLongTime": "Parece que este ovo vai demorar bastante para chocar.",
|
||||
"gachaTypeLegendary": "Chance de Lendário Aumentada",
|
||||
"gachaTypeMove": "Chance de Movimento de Ovo Raro Aumentada",
|
||||
"gachaTypeShiny": "Chance de Shiny Aumentada",
|
||||
"selectMachine": "Escolha uma máquina.",
|
||||
"notEnoughVouchers": "Você não tem vouchers suficientes!",
|
||||
"tooManyEggs": "Você já tem muitos ovos!",
|
||||
"pull": "Prêmio",
|
||||
"pulls": "Prêmios"
|
||||
} as const;
|
@ -4,406 +4,384 @@ export const modifierType: ModifierTypeTranslationEntries = {
|
||||
ModifierType: {
|
||||
"AddPokeballModifierType": {
|
||||
name: "{{modifierCount}}x {{pokeballName}}",
|
||||
description: "Receive {{pokeballName}} x{{modifierCount}} (Inventory: {{pokeballAmount}}) \nCatch Rate: {{catchRate}}",
|
||||
description: "Ganhe x{{modifierCount}} {{pokeballName}} (Mochila: {{pokeballAmount}}) \nChance de captura: {{catchRate}}",
|
||||
},
|
||||
"AddVoucherModifierType": {
|
||||
name: "{{modifierCount}}x {{voucherTypeName}}",
|
||||
description: "Receive {{voucherTypeName}} x{{modifierCount}}",
|
||||
description: "Ganhe x{{modifierCount}} {{voucherTypeName}}",
|
||||
},
|
||||
"PokemonHeldItemModifierType": {
|
||||
extra: {
|
||||
"inoperable": "{{pokemonName}} can't take\nthis item!",
|
||||
"tooMany": "{{pokemonName}} has too many\nof this item!",
|
||||
"inoperable": "{{pokemonName}} não pode\nsegurar esse item!",
|
||||
"tooMany": "{{pokemonName}} tem muitos\nmuitos deste item!",
|
||||
}
|
||||
},
|
||||
"PokemonHpRestoreModifierType": {
|
||||
description: "Restores {{restorePoints}} HP or {{restorePercent}}% HP for one Pokémon, whichever is higher",
|
||||
description: "Restaura {{restorePoints}} PS ou {{restorePercent}}% PS de um Pokémon, o que for maior",
|
||||
extra: {
|
||||
"fully": "Fully restores HP for one Pokémon",
|
||||
"fullyWithStatus": "Fully restores HP for one Pokémon and heals any status ailment",
|
||||
"fully": "Restaura totalmente os PS de um Pokémon",
|
||||
"fullyWithStatus": "Restaura totalmente os PS de um Pokémon e cura qualquer mudança de estado",
|
||||
}
|
||||
},
|
||||
"PokemonReviveModifierType": {
|
||||
description: "Revives one Pokémon and restores {{restorePercent}}% HP",
|
||||
description: "Reanima um Pokémon e restaura {{restorePercent}}% PS",
|
||||
},
|
||||
"PokemonStatusHealModifierType": {
|
||||
description: "Heals any status ailment for one Pokémon",
|
||||
description: "Cura uma mudança de estado de um Pokémon",
|
||||
},
|
||||
"PokemonPpRestoreModifierType": {
|
||||
description: "Restores {{restorePoints}} PP for one Pokémon move",
|
||||
description: "Restaura {{restorePoints}} PP para um movimento de um Pokémon",
|
||||
extra: {
|
||||
"fully": "Restores all PP for one Pokémon move",
|
||||
"fully": "Restaura todos os PP para um movimento de um Pokémon",
|
||||
}
|
||||
},
|
||||
"PokemonAllMovePpRestoreModifierType": {
|
||||
description: "Restores {{restorePoints}} PP for all of one Pokémon's moves",
|
||||
description: "Restaura {{restorePoints}} PP para todos os movimentos de um Pokémon",
|
||||
extra: {
|
||||
"fully": "Restores all PP for all of one Pokémon's moves",
|
||||
"fully": "Restaura todos os PP para todos os movimentos de um Pokémon",
|
||||
}
|
||||
},
|
||||
"PokemonPpUpModifierType": {
|
||||
description: "Permanently increases PP for one Pokémon move by {{upPoints}} for every 5 maximum PP (maximum 3)",
|
||||
description: "Aumenta permanentemente os PP para o movimento de um Pokémon em {{upPoints}} para cada 5 PP máximos (máximo 3)",
|
||||
},
|
||||
"PokemonNatureChangeModifierType": {
|
||||
name: "{{natureName}} Mint",
|
||||
description: "Changes a Pokémon's nature to {{natureName}} and permanently unlocks the nature for the starter.",
|
||||
description: "Muda a natureza de um Pokémon para {{natureName}} e a desbloqueia permanentemente para seu inicial",
|
||||
},
|
||||
"DoubleBattleChanceBoosterModifierType": {
|
||||
description: "Doubles the chance of an encounter being a double battle for {{battleCount}} battles",
|
||||
description: "Dobra as chances de encontrar uma batalha em dupla por {{battleCount}} batalhas",
|
||||
},
|
||||
"TempBattleStatBoosterModifierType": {
|
||||
description: "Increases the {{tempBattleStatName}} of all party members by 1 stage for 5 battles",
|
||||
description: "Aumenta o atributo de {{tempBattleStatName}} para todos os membros da equipe por 5 batalhas",
|
||||
},
|
||||
"AttackTypeBoosterModifierType": {
|
||||
description: "Increases the power of a Pokémon's {{moveType}}-type moves by 20%",
|
||||
description: "Aumenta o poder dos ataques do tipo {{moveType}} de um Pokémon em 20%",
|
||||
},
|
||||
"PokemonLevelIncrementModifierType": {
|
||||
description: "Increases a Pokémon's level by 1",
|
||||
description: "Aumenta em 1 o nível de um Pokémon",
|
||||
},
|
||||
"AllPokemonLevelIncrementModifierType": {
|
||||
description: "Increases all party members' level by 1",
|
||||
description: "Aumenta em 1 os níveis de todos os Pokémon",
|
||||
},
|
||||
"PokemonBaseStatBoosterModifierType": {
|
||||
description: "Increases the holder's base {{statName}} by 10%. The higher your IVs, the higher the stack limit.",
|
||||
description: "Aumenta o atributo base de {{statName}} em 10%. Quanto maior os IVs, maior o limite de aumento",
|
||||
},
|
||||
"AllPokemonFullHpRestoreModifierType": {
|
||||
description: "Restores 100% HP for all Pokémon",
|
||||
description: "Restaura totalmente os PS de todos os Pokémon",
|
||||
},
|
||||
"AllPokemonFullReviveModifierType": {
|
||||
description: "Revives all fainted Pokémon, fully restoring HP",
|
||||
description: "Reanima todos os Pokémon, restaurando totalmente seus PS",
|
||||
},
|
||||
"MoneyRewardModifierType": {
|
||||
description: "Grants a {{moneyMultiplier}} amount of money (₽{{moneyAmount}})",
|
||||
description: "Garante uma quantidade {{moneyMultiplier}} de dinheiro (₽{{moneyAmount}})",
|
||||
extra: {
|
||||
"small": "small",
|
||||
"moderate": "moderate",
|
||||
"large": "large",
|
||||
"small": "pequena",
|
||||
"moderate": "moderada",
|
||||
"large": "grande",
|
||||
},
|
||||
},
|
||||
"ExpBoosterModifierType": {
|
||||
description: "Increases gain of EXP. Points by {{boostPercent}}%",
|
||||
description: "Aumenta o ganho de pontos de experiência em {{boostPercent}}%",
|
||||
},
|
||||
"PokemonExpBoosterModifierType": {
|
||||
description: "Increases the holder's gain of EXP. Points by {{boostPercent}}%",
|
||||
description: "Aumenta o ganho de pontos de experiência de quem segura em {{boostPercent}}%",
|
||||
},
|
||||
"PokemonFriendshipBoosterModifierType": {
|
||||
description: "Increases friendship gain per victory by 50%",
|
||||
description: "Aumenta o ganho de amizade por vitória em 50%",
|
||||
},
|
||||
"PokemonMoveAccuracyBoosterModifierType": {
|
||||
description: "Increases move accuracy by {{accuracyAmount}} (maximum 100)",
|
||||
description: "Aumenta a precisão dos movimentos em {{accuracyAmount}} (máximo 100)",
|
||||
},
|
||||
"PokemonMultiHitModifierType": {
|
||||
description: "Attacks hit one additional time at the cost of a 60/75/82.5% power reduction per stack respectively",
|
||||
description: "Ataques acertam uma vez adicional ao custo de uma redução de poder de 60/75/82.5% por item, respectivamente",
|
||||
},
|
||||
"TmModifierType": {
|
||||
name: "TM{{moveId}} - {{moveName}}",
|
||||
description: "Teach {{moveName}} to a Pokémon",
|
||||
description: "Ensina {{moveName}} a um Pokémon",
|
||||
},
|
||||
"EvolutionItemModifierType": {
|
||||
description: "Causes certain Pokémon to evolve",
|
||||
description: "Faz certos Pokémon evoluírem",
|
||||
},
|
||||
"FormChangeItemModifierType": {
|
||||
description: "Causes certain Pokémon to change form",
|
||||
description: "Faz certos Pokémon mudarem de forma",
|
||||
},
|
||||
"FusePokemonModifierType": {
|
||||
description: "Combines two Pokémon (transfers Ability, splits base stats and types, shares move pool)",
|
||||
description: "Combina dois Pokémon (transfere Habilidade, divide os atributos base e tipos, compartilha os movimentos)",
|
||||
},
|
||||
"TerastallizeModifierType": {
|
||||
name: "{{teraType}} Tera Shard",
|
||||
description: "{{teraType}} Terastallizes the holder for up to 10 battles",
|
||||
name: "{{teraType}} Fragmento Tera",
|
||||
description: "{{teraType}} Terastaliza um Pokémon por até 10 batalhas",
|
||||
},
|
||||
"ContactHeldItemTransferChanceModifierType": {
|
||||
description: "Upon attacking, there is a {{chancePercent}}% chance the foe's held item will be stolen",
|
||||
description: "Quando atacar, tem {{chancePercent}}% de chance de roubar um item do oponente",
|
||||
},
|
||||
"TurnHeldItemTransferModifierType": {
|
||||
description: "Every turn, the holder acquires one held item from the foe",
|
||||
description: "Todo turno, o Pokémon ganha um item aleatório do oponente",
|
||||
},
|
||||
"EnemyAttackStatusEffectChanceModifierType": {
|
||||
description: "Adds a {{chancePercent}}% chance to inflict {{statusEffect}} with attack moves",
|
||||
description: "Ganha {{chancePercent}}% de chance de infligir {{statusEffect}} com ataques",
|
||||
},
|
||||
"EnemyEndureChanceModifierType": {
|
||||
description: "Adds a {{chancePercent}}% chance of enduring a hit",
|
||||
description: "Ganha {{chancePercent}}% de chance de sobreviver a um ataque que o faria desmaiar",
|
||||
},
|
||||
|
||||
"RARE_CANDY": { name: "Rare Candy" },
|
||||
"RARER_CANDY": { name: "Rarer Candy" },
|
||||
"RARE_CANDY": { name: "Doce Raro" },
|
||||
"RARER_CANDY": { name: "Doce Raríssimo" },
|
||||
|
||||
"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: "Mega Bracelete", description: "Mega Stones become available" },
|
||||
"DYNAMAX_BAND": { name: "Bracelete Dynamax", description: "Max Mushrooms become available" },
|
||||
"TERA_ORB": { name: "Orbe Tera", description: "Fragmentos Tera ficam disponíveis" },
|
||||
|
||||
"MAP": { name: "Map", description: "Allows you to choose your destination at a crossroads" },
|
||||
"MAP": { name: "Mapa", description: "Permite escolher a próxima rota" },
|
||||
|
||||
"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: "Poção" },
|
||||
"SUPER_POTION": { name: "Super Poção" },
|
||||
"HYPER_POTION": { name: "Hiper Poção" },
|
||||
"MAX_POTION": { name: "Poção Máxima" },
|
||||
"FULL_RESTORE": { name: "Restaurador" },
|
||||
|
||||
"REVIVE": { name: "Revive" },
|
||||
"MAX_REVIVE": { name: "Max Revive" },
|
||||
"REVIVE": { name: "Reanimador" },
|
||||
"MAX_REVIVE": { name: "Reanimador Máximo" },
|
||||
|
||||
"FULL_HEAL": { name: "Full Heal" },
|
||||
"FULL_HEAL": { name: "Cura Total" },
|
||||
|
||||
"SACRED_ASH": { name: "Sacred Ash" },
|
||||
"SACRED_ASH": { name: "Cinza Sagrada" },
|
||||
|
||||
"REVIVER_SEED": { name: "Reviver Seed", description: "Revives the holder for 1/2 HP upon fainting" },
|
||||
"REVIVER_SEED": { name: "Semente Reanimadora", description: "Após desmaiar, reanima com 50% de PS" },
|
||||
|
||||
"ETHER": { name: "Ether" },
|
||||
"MAX_ETHER": { name: "Max Ether" },
|
||||
"ETHER": { name: "Éter" },
|
||||
"MAX_ETHER": { name: "Éter Máximo" },
|
||||
|
||||
"ELIXIR": { name: "Elixir" },
|
||||
"MAX_ELIXIR": { name: "Max Elixir" },
|
||||
"MAX_ELIXIR": { name: "Elixir Máximo" },
|
||||
|
||||
"PP_UP": { name: "PP Up" },
|
||||
"PP_MAX": { name: "PP Max" },
|
||||
"PP_UP": { name: "Mais PP" },
|
||||
"PP_MAX": { name: "PP Máximo" },
|
||||
|
||||
"LURE": { name: "Lure" },
|
||||
"SUPER_LURE": { name: "Super Lure" },
|
||||
"MAX_LURE": { name: "Max Lure" },
|
||||
"LURE": { name: "Incenso" },
|
||||
"SUPER_LURE": { name: "Super Incenso" },
|
||||
"MAX_LURE": { name: "Incenso Máximo" },
|
||||
|
||||
"MEMORY_MUSHROOM": { name: "Memory Mushroom", description: "Recall one Pokémon's forgotten move" },
|
||||
"MEMORY_MUSHROOM": { name: "Cogumemória", description: "Relembra um movimento esquecido" },
|
||||
|
||||
"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: "Compart. de Exp.", description: "Distribui pontos de experiência para todos os membros da equipe" },
|
||||
"EXP_BALANCE": { name: "Balanceador de Exp.", description: "Distribui pontos de experiência principalmente para os Pokémon mais fracos" },
|
||||
|
||||
"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: "Amuleto Oval", description: "Quando vários Pokémon participam de uma batalha, cada um recebe 10% extra de pontos de experiência" },
|
||||
|
||||
"EXP_CHARM": { name: "EXP. Charm" },
|
||||
"SUPER_EXP_CHARM": { name: "Super EXP. Charm" },
|
||||
"GOLDEN_EXP_CHARM": { name: "Golden EXP. Charm" },
|
||||
"EXP_CHARM": { name: "Amuleto de Exp." },
|
||||
"SUPER_EXP_CHARM": { name: "Super Amuleto de Exp." },
|
||||
"GOLDEN_EXP_CHARM": { name: "Amuleto de Exp. Dourado" },
|
||||
|
||||
"LUCKY_EGG": { name: "Lucky Egg" },
|
||||
"GOLDEN_EGG": { name: "Golden Egg" },
|
||||
"LUCKY_EGG": { name: "Ovo da Sorte" },
|
||||
"GOLDEN_EGG": { name: "Ovo Dourado" },
|
||||
|
||||
"SOOTHE_BELL": { name: "Soothe Bell" },
|
||||
"SOOTHE_BELL": { name: "Guizo" },
|
||||
|
||||
"SOUL_DEW": { name: "Soul Dew", description: "Increases the influence of a Pokémon's nature on its stats by 10% (additive)" },
|
||||
"SOUL_DEW": { name: "Joia da Alma", description: "Aumenta a influência da natureza de um Pokémon em seus atributos em 10% (cumulativo)" },
|
||||
|
||||
"NUGGET": { name: "Nugget" },
|
||||
"BIG_NUGGET": { name: "Big Nugget" },
|
||||
"RELIC_GOLD": { name: "Relic Gold" },
|
||||
"NUGGET": { name: "Pepita" },
|
||||
"BIG_NUGGET": { name: "Pepita Grande" },
|
||||
"RELIC_GOLD": { name: "Relíquia de Ouro" },
|
||||
|
||||
"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: "Moeda Amuleto", description: "Aumenta a recompensa de dinheiro em 50%" },
|
||||
"GOLDEN_PUNCH": { name: "Soco Dourado", description: "Concede 50% do dano causado em dinheiro" },
|
||||
"COIN_CASE": { name: "Moedeira", description: "Após cada 10ª batalha, recebe 10% de seu dinheiro em juros" },
|
||||
|
||||
"LOCK_CAPSULE": { name: "Lock Capsule", description: "Allows you to lock item rarities when rerolling items" },
|
||||
"LOCK_CAPSULE": { name: "Cápsula de Travamento", description: "Permite que você trave raridades de itens ao rolar novamente" },
|
||||
|
||||
"GRIP_CLAW": { name: "Grip Claw" },
|
||||
"WIDE_LENS": { name: "Wide Lens" },
|
||||
"GRIP_CLAW": { name: "Garra-Aperto" },
|
||||
"WIDE_LENS": { name: "Lente Ampla" },
|
||||
|
||||
"MULTI_LENS": { name: "Multi Lens" },
|
||||
"MULTI_LENS": { name: "Multi Lentes" },
|
||||
|
||||
"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: "Amuleto de Cura", description: "Aumenta a eficácia dos movimentos e itens que restauram PS em 10% (exceto Reanimador)" },
|
||||
"CANDY_JAR": { name: "Pote de Doces", description: "Aumenta o número de níveis adicionados pelo Doce Raro em 1" },
|
||||
|
||||
"BERRY_POUCH": { name: "Berry Pouch", description: "Adds a 25% chance that a used berry will not be consumed" },
|
||||
"BERRY_POUCH": { name: "Bolsa de Berries", description: "Adiciona uma chance de 25% de que uma berry usada não seja consumida" },
|
||||
|
||||
"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: "Adiciona uma chance de 10% de sobreviver com 1 PS após ser danificado o suficiente para desmaiar" },
|
||||
|
||||
"QUICK_CLAW": { name: "Quick Claw", description: "Adds a 10% chance to move first regardless of speed (after priority)" },
|
||||
"QUICK_CLAW": { name: "Garra Rápida", description: "Adiciona uma chance de 10% de atacar primeiro, ignorando sua velocidade (após prioridades)" },
|
||||
|
||||
"KINGS_ROCK": { name: "King's Rock", description: "Adds a 10% chance an attack move will cause the opponent to flinch" },
|
||||
"KINGS_ROCK": { name: "Pedra do Rei", description: "Adiciona uma chance de 10% de movimentos fazerem o oponente hesitar" },
|
||||
|
||||
"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: "Sobras", description: "Cura 1/16 dos PS máximos de um Pokémon a cada turno" },
|
||||
"SHELL_BELL": { name: "Concha-Sino", description: "Cura 1/8 do dano causado por um Pokémon" },
|
||||
|
||||
"BATON": { name: "Baton", description: "Allows passing along effects when switching Pokémon, which also bypasses traps" },
|
||||
"BATON": { name: "Bastão", description: "Permite passar mudanças de atributo ao trocar Pokémon, ignorando armadilhas" },
|
||||
|
||||
"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: "Amuleto Brilhante", description: "Aumenta drasticamente a chance de um Pokémon selvagem ser Shiny" },
|
||||
"ABILITY_CHARM": { name: "Amuleto de Habilidade", description: "Aumenta drasticamente a chance de um Pokémon selvagem ter uma Habilidade Oculta" },
|
||||
|
||||
"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 de IVs", description: "Permite escanear os IVs de Pokémon selvagens. 2 IVs são revelados por item. Os melhores IVs são mostrados primeiro" },
|
||||
|
||||
"DNA_SPLICERS": { name: "DNA Splicers" },
|
||||
"DNA_SPLICERS": { name: "Splicer de DNA" },
|
||||
|
||||
"MINI_BLACK_HOLE": { name: "Mini Black Hole" },
|
||||
"MINI_BLACK_HOLE": { name: "Mini Buraco Negro" },
|
||||
|
||||
"GOLDEN_POKEBALL": { name: "Golden Poké Ball", description: "Adds 1 extra item option at the end of every battle" },
|
||||
"GOLDEN_POKEBALL": { name: "Poké Bola Dourada", description: "Adiciona 1 opção de item extra ao final de cada batalha" },
|
||||
|
||||
"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: "Token de Dano", description: "Aumenta o dano em 5%" },
|
||||
"ENEMY_DAMAGE_REDUCTION": { name: "Token de Proteção", description: "Reduz o dano recebido em 2,5%" },
|
||||
"ENEMY_HEAL": { name: "Token de Recuperação", description: "Cura 2% dos PS máximos a cada turno" },
|
||||
"ENEMY_ATTACK_POISON_CHANCE": { name: "Token de Veneno" },
|
||||
"ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Token de Paralisia" },
|
||||
"ENEMY_ATTACK_SLEEP_CHANCE": { name: "Token de Sono" },
|
||||
"ENEMY_ATTACK_FREEZE_CHANCE": { name: "Token de Congelamento" },
|
||||
"ENEMY_ATTACK_BURN_CHANCE": { name: "Token de Queimadura" },
|
||||
"ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Token de Cura Total", description: "Adiciona uma chance de 10% a cada turno de curar uma condição de status" },
|
||||
"ENEMY_ENDURE_CHANCE": { name: "Token de Persistência" },
|
||||
"ENEMY_FUSED_CHANCE": { name: "Token de Fusão", description: "Adiciona uma chance de 1% de que um Pokémon selvagem seja uma fusão" },
|
||||
},
|
||||
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": "Ataque X",
|
||||
"x_defense": "Defesa X",
|
||||
"x_sp_atk": "Ataque Esp. X",
|
||||
"x_sp_def": "Defesa Esp. X",
|
||||
"x_speed": "Velocidade X",
|
||||
"x_accuracy": "Precisão X",
|
||||
"dire_hit": "Direto",
|
||||
},
|
||||
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": "Lenço de Seda",
|
||||
"black_belt": "Faixa Preta",
|
||||
"sharp_beak": "Bico Afiado",
|
||||
"poison_barb": "Farpa Venenosa",
|
||||
"soft_sand": "Areia Macia",
|
||||
"hard_stone": "Pedra Dura",
|
||||
"silver_powder": "Pó de Prata",
|
||||
"spell_tag": "Talismã de Feitiço",
|
||||
"metal_coat": "Revestimento Metálico",
|
||||
"charcoal": "Carvão",
|
||||
"mystic_water": "Água Mística",
|
||||
"miracle_seed": "Semente Milagrosa",
|
||||
"magnet": "Ímã",
|
||||
"twisted_spoon": "Colher Torcida",
|
||||
"never_melt_ice": "Gelo Eterno",
|
||||
"dragon_fang": "Presa de Dragão",
|
||||
"black_glasses": "Óculos Escuros",
|
||||
"fairy_feather": "Pena de Fada",
|
||||
},
|
||||
BaseStatBoosterItem: {
|
||||
"hp_up": "HP Up",
|
||||
"protein": "Protein",
|
||||
"iron": "Iron",
|
||||
"calcium": "Calcium",
|
||||
"zinc": "Zinc",
|
||||
"carbos": "Carbos",
|
||||
"hp_up": "Mais PS",
|
||||
"protein": "Proteína",
|
||||
"iron": "Ferro",
|
||||
"calcium": "Cálcio",
|
||||
"zinc": "Zinco",
|
||||
"carbos": "Carboidrato",
|
||||
},
|
||||
EvolutionItem: {
|
||||
"NONE": "None",
|
||||
|
||||
"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": "Cabo de Conexão",
|
||||
"SUN_STONE": "Pedra do Sol",
|
||||
"MOON_STONE": "Pedra da Lua",
|
||||
"LEAF_STONE": "Pedra da Folha",
|
||||
"FIRE_STONE": "Pedra do Fogo",
|
||||
"WATER_STONE": "Pedra da Água",
|
||||
"THUNDER_STONE": "Pedra do Trovão",
|
||||
"ICE_STONE": "Pedra do Gelo",
|
||||
"DUSK_STONE": "Pedra do Crepúsculo",
|
||||
"DAWN_STONE": "Pedra da Alvorada",
|
||||
"SHINY_STONE": "Pedra Brilhante",
|
||||
"CRACKED_POT": "Vaso Quebrado",
|
||||
"SWEET_APPLE": "Maçã Doce",
|
||||
"TART_APPLE": "Maçã Azeda",
|
||||
"STRAWBERRY_SWEET": "Doce de Morango",
|
||||
"UNREMARKABLE_TEACUP": "Xícara Comum",
|
||||
|
||||
"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": "Pote Lascado",
|
||||
"BLACK_AUGURITE": "Mineral Negro",
|
||||
"GALARICA_CUFF": "Bracelete de Galar",
|
||||
"GALARICA_WREATH": "Coroa de Galar",
|
||||
"PEAT_BLOCK": "Bloco de Turfa",
|
||||
"AUSPICIOUS_ARMOR": "Armadura Prometida",
|
||||
"MALICIOUS_ARMOR": "Armadura Maldita",
|
||||
"MASTERPIECE_TEACUP": "Xícara Excepcional",
|
||||
"METAL_ALLOY": "Liga de Metal",
|
||||
"SCROLL_OF_DARKNESS": "Pergaminho da Escuridão",
|
||||
"SCROLL_OF_WATERS": "Pergaminho da Água",
|
||||
"SYRUPY_APPLE": "Xarope de Maçã",
|
||||
},
|
||||
FormChangeItem: {
|
||||
"NONE": "None",
|
||||
|
||||
"ABOMASITE": "Abomasite",
|
||||
"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",
|
||||
"DIANCITE": "Diancite",
|
||||
"GALLADITE": "Galladite",
|
||||
"GARCHOMPITE": "Garchompite",
|
||||
"GARDEVOIRITE": "Gardevoirite",
|
||||
"GENGARITE": "Gengarite",
|
||||
"GLALITITE": "Glalitite",
|
||||
"GYARADOSITE": "Gyaradosite",
|
||||
"HERACRONITE": "Heracronite",
|
||||
"HOUNDOOMINITE": "Houndoominite",
|
||||
"KANGASKHANITE": "Kangaskhanite",
|
||||
"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",
|
||||
"RAYQUAZITE": "Rayquazite",
|
||||
"SABLENITE": "Sablenite",
|
||||
"SALAMENCITE": "Salamencite",
|
||||
"SCEPTILITE": "Sceptilite",
|
||||
"SCIZORITE": "Scizorite",
|
||||
"SHARPEDONITE": "Sharpedonite",
|
||||
"SLOWBRONITE": "Slowbronite",
|
||||
"STEELIXITE": "Steelixite",
|
||||
"SWAMPERTITE": "Swampertite",
|
||||
"TYRANITARITE": "Tyranitarite",
|
||||
"VENUSAURITE": "Venusaurite",
|
||||
"ABOMASITE": "Abomasita",
|
||||
"ABSOLITE": "Absolita",
|
||||
"AERODACTYLITE": "Aerodactylita",
|
||||
"AGGRONITE": "Aggronita",
|
||||
"ALAKAZITE": "Alakazita",
|
||||
"ALTARIANITE": "Altarianita",
|
||||
"AMPHAROSITE": "Ampharosita",
|
||||
"AUDINITE": "Audinita",
|
||||
"BANETTITE": "Banettita",
|
||||
"BEEDRILLITE": "Beedrillita",
|
||||
"BLASTOISINITE": "Blastoisinita",
|
||||
"BLAZIKENITE": "Blazikenita",
|
||||
"CAMERUPTITE": "Cameruptita",
|
||||
"CHARIZARDITE X": "Charizardita X",
|
||||
"CHARIZARDITE Y": "Charizardita Y",
|
||||
"DIANCITE": "Diancita",
|
||||
"GALLADITE": "Galladita",
|
||||
"GARCHOMPITE": "Garchompita",
|
||||
"GARDEVOIRITE": "Gardevoirita",
|
||||
"GENGARITE": "Gengarita",
|
||||
"GLALITITE": "Glalitita",
|
||||
"GYARADOSITE": "Gyaradosita",
|
||||
"HERACRONITE": "Heracronita",
|
||||
"HOUNDOOMINITE": "Houndoominita",
|
||||
"KANGASKHANITE": "Kangaskhanita",
|
||||
"LATIASITE": "Latiasita",
|
||||
"LATIOSITE": "Latiosita",
|
||||
"LOPUNNITE": "Lopunnita",
|
||||
"LUCARIONITE": "Lucarionita",
|
||||
"MANECTITE": "Manectita",
|
||||
"MAWILITE": "Mawilita",
|
||||
"MEDICHAMITE": "Medichamita",
|
||||
"METAGROSSITE": "Metagrossita",
|
||||
"MEWTWONITE X": "Mewtwonita X",
|
||||
"MEWTWONITE Y": "Mewtwonita Y",
|
||||
"PIDGEOTITE": "Pidgeotita",
|
||||
"PINSIRITE": "Pinsirita",
|
||||
"SABLENITE": "Sablenita",
|
||||
"RAYQUAZITE": "Rayquazita",
|
||||
"SALAMENCITE": "Salamencita",
|
||||
"SCEPTILITE": "Sceptilita",
|
||||
"SCIZORITE": "Scizorita",
|
||||
"SHARPEDONITE": "Sharpedonita",
|
||||
"SLOWBRONITE": "Slowbronita",
|
||||
"STEELIXITE": "Steelixita",
|
||||
"SWAMPERTITE": "Swampertita",
|
||||
"TYRANITARITE": "Tyranitarita",
|
||||
"VENUSAURITE": "Venusaurita",
|
||||
|
||||
"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",
|
||||
},
|
||||
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",
|
||||
"BLUE_ORB": "Orbe Azul",
|
||||
"RED_ORB": "Orbe Vermelha",
|
||||
"SHARP_METEORITE": "Meteorito Afiado",
|
||||
"HARD_METEORITE": "Meteorito Duro",
|
||||
"SMOOTH_METEORITE": " Meteorito Liso",
|
||||
"ADAMANT_CRYSTAL": "Cristal Adamante",
|
||||
"LUSTROUS_ORB": "Orbe Pérola",
|
||||
"GRISEOUS_CORE": "Núcleo Platinado",
|
||||
"REVEAL_GLASS": "Espelho da Verdade",
|
||||
"GRACIDEA": "Gracídea",
|
||||
"MAX_MUSHROOMS": "Cogumax",
|
||||
"DARK_STONE": "Pedra das Trevas",
|
||||
"LIGHT_STONE": "Pedra da Luz",
|
||||
"PRISON_BOTTLE": "Garrafa Prisão",
|
||||
"N_LUNARIZER": "Lunarizador N",
|
||||
"N_SOLARIZER": "Solarizador N",
|
||||
"RUSTED_SWORD": "Espada Enferrujada",
|
||||
"RUSTED_SHIELD": "Escudo Enferrujado",
|
||||
"ICY_REINS_OF_UNITY": "Rédeas de Gelo da União",
|
||||
"SHADOW_REINS_OF_UNITY": "Rédeas Sombrias da União",
|
||||
"WELLSPRING_MASK": "Máscara Nascente",
|
||||
"HEARTHFLAME_MASK": "Máscara Fornalha",
|
||||
"CORNERSTONE_MASK": "Máscara Alicerce",
|
||||
"SHOCK_DRIVE": "MagneDisco",
|
||||
"BURN_DRIVE": "IgneDisco",
|
||||
"CHILL_DRIVE": "CrioDisco",
|
||||
"DOUSE_DRIVE": "HidroDisco",
|
||||
},
|
||||
} as const;
|
@ -3583,7 +3583,7 @@ export const move: MoveTranslationEntries = {
|
||||
},
|
||||
"revivalBlessing": {
|
||||
name: "Revival Blessing",
|
||||
effect: "O usuário concede uma bênção amorosa, revivendo um Pokémon da equipe que tenha desmaiado e restaurando metade do máximo de PS desse Pokémon."
|
||||
effect: "O usuário concede uma bênção amorosa, reanimando um Pokémon da equipe que tenha desmaiado e restaurando metade do máximo de PS desse Pokémon."
|
||||
},
|
||||
"saltCure": {
|
||||
name: "Salt Cure",
|
||||
|
@ -4,7 +4,7 @@ export const pokeball: SimpleTranslationEntries = {
|
||||
"pokeBall": "Poké Bola",
|
||||
"greatBall": "Grande Bola",
|
||||
"ultraBall": "Ultra Bola",
|
||||
"rogueBall": "Rogue Bola",
|
||||
"masterBall": "Master Bola",
|
||||
"luxuryBall": "Bola de Luxo",
|
||||
"rogueBall": "Bola Rogue",
|
||||
"masterBall": "Bola Mestra",
|
||||
"luxuryBall": "Bola Luxo",
|
||||
} as const;
|
41
src/locales/pt_BR/pokemon-info.ts
Normal file
41
src/locales/pt_BR/pokemon-info.ts
Normal file
@ -0,0 +1,41 @@
|
||||
import { PokemonInfoTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const pokemonInfo: PokemonInfoTranslationEntries = {
|
||||
Stat: {
|
||||
"HP": "PS",
|
||||
"HPshortened": "PS",
|
||||
"ATK": "Ataque",
|
||||
"ATKshortened": "Ata",
|
||||
"DEF": "Defesa",
|
||||
"DEFshortened": "Def",
|
||||
"SPATK": "At. Esp.",
|
||||
"SPATKshortened": "AtEsp",
|
||||
"SPDEF": "Def. Esp.",
|
||||
"SPDEFshortened": "DefEsp",
|
||||
"SPD": "Veloc.",
|
||||
"SPDshortened": "Veloc."
|
||||
},
|
||||
|
||||
Type: {
|
||||
"UNKNOWN": "Desconhecido",
|
||||
"NORMAL": "Normal",
|
||||
"FIGHTING": "Lutador",
|
||||
"FLYING": "Voador",
|
||||
"POISON": "Veneno",
|
||||
"GROUND": "Terra",
|
||||
"ROCK": "Pedra",
|
||||
"BUG": "Inseto",
|
||||
"GHOST": "Fantasma",
|
||||
"STEEL": "Aço",
|
||||
"FIRE": "Fogo",
|
||||
"WATER": "Água",
|
||||
"GRASS": "Grama",
|
||||
"ELECTRIC": "Elétrico",
|
||||
"PSYCHIC": "Psíquico",
|
||||
"ICE": "Gelo",
|
||||
"DRAGON": "Dragão",
|
||||
"DARK": "Sombrio",
|
||||
"FAIRY": "Fada",
|
||||
"STELLAR": "Estelar"
|
||||
},
|
||||
} as const;
|
@ -1,16 +0,0 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const pokemonStat: SimpleTranslationEntries = {
|
||||
"HP": "PS",
|
||||
"HPshortened": "PS",
|
||||
"ATK": "Ataque",
|
||||
"ATKshortened": "Ata",
|
||||
"DEF": "Defesa",
|
||||
"DEFshortened": "Def",
|
||||
"SPATK": "At. Esp.",
|
||||
"SPATKshortened": "AtEsp",
|
||||
"SPDEF": "Def. Esp.",
|
||||
"SPDEFshortened": "DefEsp",
|
||||
"SPD": "Veloc.",
|
||||
"SPDshortened": "Veloc."
|
||||
} as const;
|
37
src/locales/pt_BR/splash-messages.ts
Normal file
37
src/locales/pt_BR/splash-messages.ts
Normal file
@ -0,0 +1,37 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const splashMessages: SimpleTranslationEntries = {
|
||||
"battlesWon": "Batalhas Ganhas!",
|
||||
"joinTheDiscord": "Junte-se ao Discord!",
|
||||
"infiniteLevels": "Níveis Infinitos!",
|
||||
"everythingStacks": "Tudo Acumula!",
|
||||
"optionalSaveScumming": "Você Pode Dar F5!",
|
||||
"biomes": "35 Biomas!",
|
||||
"openSource": "Código Aberto!",
|
||||
"playWithSpeed": "Jogue na Velocidade 5x!",
|
||||
"liveBugTesting": "Testamos os Bugs Ao Vivo!",
|
||||
"heavyInfluence": "Grande Influência de RoR2!",
|
||||
"pokemonRiskAndPokemonRain": "Pokémon Risk e Pokémon Rain!",
|
||||
"nowWithMoreSalt": "O Choro é Livre!",
|
||||
"infiniteFusionAtHome": "Infinite Fusion da Shopee!",
|
||||
"brokenEggMoves": "Mov. de Ovo Apelões!",
|
||||
"magnificent": "Magnífico!",
|
||||
"mubstitute": "Mubstituto!",
|
||||
"thatsCrazy": "Que Doidera!",
|
||||
"oranceJuice": "Suco de Laranja!",
|
||||
"questionableBalancing": "Balanceamento Questionável!",
|
||||
"coolShaders": "Shader Maneiros!",
|
||||
"aiFree": "Livre de IA!",
|
||||
"suddenDifficultySpikes": "Ficou Difícil do Nada!",
|
||||
"basedOnAnUnfinishedFlashGame": "Baseado num Jogo Online Inacabado!",
|
||||
"moreAddictiveThanIntended": "Mais Viciante do que Planejado!",
|
||||
"mostlyConsistentSeeds": "Consistente (na Maioria das Vezes)!",
|
||||
"achievementPointsDontDoAnything": "Pontos de Conquista Não Fazem Nada!",
|
||||
"youDoNotStartAtLevel": "Você Não Começa no Nível 2000!",
|
||||
"dontTalkAboutTheManaphyEggIncident": "Não Fale do Incidente do Ovo de Manaphy!",
|
||||
"alsoTryPokengine": "Também Jogue Pokéngine!",
|
||||
"alsoTryEmeraldRogue": "Também Jogue Emerald Rogue!",
|
||||
"alsoTryRadicalRed": "Também Jogue Radical Red!",
|
||||
"eeveeExpo": "Eevee Expo!",
|
||||
"ynoproject": "YNOproject!",
|
||||
} as const;
|
@ -16,10 +16,10 @@ export const titles: SimpleTranslationEntries = {
|
||||
export const trainerClasses: SimpleTranslationEntries = {
|
||||
"ace_trainer": "Trinador Ás",
|
||||
"ace_trainer_female": "Trinadora Ás",
|
||||
"ace_duo": "Ace Duo",
|
||||
"ace_duo": "Dupla Ás",
|
||||
"artist": "Artista",
|
||||
"artist_female": "Artista",
|
||||
"backpackers": "Backpackers",
|
||||
"backpackers": "Mochileiros",
|
||||
"backers": "Torcedores",
|
||||
"backpacker": "Mochileiro",
|
||||
"backpacker_female": "Mochileira",
|
||||
@ -31,36 +31,36 @@ export const trainerClasses: SimpleTranslationEntries = {
|
||||
"black_belt": "Faixa Preta",
|
||||
"breeder": "Criador",
|
||||
"breeder_female": "Criadora",
|
||||
"breeders": "Breeders",
|
||||
"breeders": "Criadores",
|
||||
"clerk": "Funcionário",
|
||||
"clerk_female": "Funcionária",
|
||||
"colleagues": "Colleagues",
|
||||
"crush_kin": "Crush Kin",
|
||||
"colleagues": "Funcionários",
|
||||
"crush_kin": "Casal Lutador",
|
||||
"cyclist": "Ciclista",
|
||||
"cyclist_female": "Ciclista",
|
||||
"cyclists": "Cyclists",
|
||||
"cyclists": "Ciclistas",
|
||||
"dancer": "Dançarino",
|
||||
"dancer_female": "Dançarina",
|
||||
"depot_agent": "Ferroviário",
|
||||
"doctor": "Doutor",
|
||||
"doctor_female": "Doutora",
|
||||
"fisherman": "Pescador",
|
||||
"fisherman_female": "Pescadora",
|
||||
"gentleman": "Gentleman",
|
||||
"fishermen": "Pescador",
|
||||
"fishermen_female": "Pescadora",
|
||||
"gentleman": "Cavalheiro",
|
||||
"guitarist": "Guitarrista",
|
||||
"guitarist_female": "Guitarrista",
|
||||
"harlequin": "Arlequim",
|
||||
"hiker": "Montanhista",
|
||||
"hooligans": "Bandoleiro",
|
||||
"hoopster": "Jogador de basquete",
|
||||
"infielder": "Jogador de baseball",
|
||||
"hoopster": "Jogador de Basquete",
|
||||
"infielder": "Jogador de Baseball",
|
||||
"janitor": "Faxineiro",
|
||||
"lady": "Dama",
|
||||
"lass": "Senhorita",
|
||||
"linebacker": "Zagueiro",
|
||||
"maid": "Doméstica",
|
||||
"madame": "Madame",
|
||||
"medical_team": "Medical Team",
|
||||
"medical_team": "Equipe Médica",
|
||||
"musician": "Músico",
|
||||
"hex_maniac": "Ocultista",
|
||||
"nurse": "Enfermeira",
|
||||
@ -68,48 +68,48 @@ export const trainerClasses: SimpleTranslationEntries = {
|
||||
"officer": "Policial",
|
||||
"parasol_lady": "Moça de Sombrinha",
|
||||
"pilot": "Piloto",
|
||||
"pokefan": "Pokefã",
|
||||
"pokefan_family": "Poké Fan Family",
|
||||
"poké_fan": "Pokefã",
|
||||
"poké_fan_family": "Família Pokefã",
|
||||
"preschooler": "Menino do Prezinho",
|
||||
"preschooler_female": "Menina do Prezinho",
|
||||
"preschoolers": "Preschoolers",
|
||||
"preschoolers": "Alunos do Prezinho",
|
||||
"psychic": "Médium",
|
||||
"psychic_female": "Médium",
|
||||
"psychics": "Psychics",
|
||||
"pokémon_ranger": "Pokémon Ranger",
|
||||
"pokémon_rangers": "Pokémon Ranger",
|
||||
"psychics": "Médiuns",
|
||||
"pokémon_ranger": "Guarda Pokémon",
|
||||
"pokémon_rangers": "Guardas Pokémon",
|
||||
"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",
|
||||
"restaurant_staff": "Equipe do Restaurante",
|
||||
"rich": "Burguês",
|
||||
"rich_female": "Burguesa",
|
||||
"rich_boy": "Riquinho",
|
||||
"rich_couple": "Casal Burguês",
|
||||
"rich_kid": "Garoto Rico",
|
||||
"rich_kid_female": "Garota Rica",
|
||||
"rich_kids": "Garotos Ricos",
|
||||
"roughneck": "Arruaceiro",
|
||||
"scientist": "Cientista",
|
||||
"scientist_female": "Cientista",
|
||||
"scientists": "Scientists",
|
||||
"scientists": "Cientistas",
|
||||
"smasher": "Tenista",
|
||||
"snow_worker": "Operário da Neve",
|
||||
"snow_worker_female": "Operária da Neve",
|
||||
"striker": "Atacante",
|
||||
"school_kid": "Estudante",
|
||||
"school_kid_female": "Estudante",
|
||||
"school_kids": "School Kids",
|
||||
"school_kids": "Estudantes",
|
||||
"swimmer": "Nadador",
|
||||
"swimmer_female": "Nadadora",
|
||||
"swimmers": "Swimmers",
|
||||
"swimmers": "Nadadores",
|
||||
"twins": "Gêmeos",
|
||||
"veteran": "Veterano",
|
||||
"veteran_female": "Veterana",
|
||||
"veteran_duo": "Veteran Duo",
|
||||
"veteran_duo": "Dupla Veterana",
|
||||
"waiter": "Garçom",
|
||||
"waitress": "Garçonete",
|
||||
"worker": "Operário",
|
||||
"worker_female": "Operária",
|
||||
"workers": "Workers",
|
||||
"workers": "Operários",
|
||||
"youngster": "Jovem",
|
||||
} as const;
|
||||
|
||||
|
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;
|
@ -2,47 +2,47 @@ import { BerryTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const berry: BerryTranslationEntries = {
|
||||
"SITRUS": {
|
||||
name: "Sitrus Berry",
|
||||
effect: "Restores 25% HP if HP is below 50%",
|
||||
name: "文柚果",
|
||||
effect: "HP低于50%时,回复最大HP的25%",
|
||||
},
|
||||
"LUM": {
|
||||
name: "Lum Berry",
|
||||
effect: "Cures any non-volatile status condition and confusion",
|
||||
name: "木子果",
|
||||
effect: "治愈任何异常状态和混乱状态",
|
||||
},
|
||||
"ENIGMA": {
|
||||
name: "Enigma Berry",
|
||||
effect: "Restores 25% HP if hit by a super effective move",
|
||||
name: "谜芝果",
|
||||
effect: "受到效果绝佳的招式攻击时,回复25%最大HP",
|
||||
},
|
||||
"LIECHI": {
|
||||
name: "Liechi Berry",
|
||||
effect: "Raises Attack if HP is below 25%",
|
||||
name: "枝荔果",
|
||||
effect: "HP低于25%时,攻击提升一个等级",
|
||||
},
|
||||
"GANLON": {
|
||||
name: "Ganlon Berry",
|
||||
effect: "Raises Defense if HP is below 25%",
|
||||
name: "龙睛果",
|
||||
effect: "HP低于25%时,防御提升一个等级",
|
||||
},
|
||||
"PETAYA": {
|
||||
name: "Petaya Berry",
|
||||
effect: "Raises Sp. Atk if HP is below 25%",
|
||||
name: "龙火果",
|
||||
effect: "HP低于25%时,特攻提升一个等级",
|
||||
},
|
||||
"APICOT": {
|
||||
name: "Apicot Berry",
|
||||
effect: "Raises Sp. Def if HP is below 25%",
|
||||
name: "杏仔果",
|
||||
effect: "HP低于25%时,特防提升一个等级",
|
||||
},
|
||||
"SALAC": {
|
||||
name: "Salac Berry",
|
||||
effect: "Raises Speed if HP is below 25%",
|
||||
name: "沙鳞果",
|
||||
effect: "HP低于25%时,速度提升一个等级",
|
||||
},
|
||||
"LANSAT": {
|
||||
name: "Lansat Berry",
|
||||
effect: "Raises critical hit ratio if HP is below 25%",
|
||||
name: "兰萨果",
|
||||
effect: "HP低于25%时,击中要害率提升两个等级",
|
||||
},
|
||||
"STARF": {
|
||||
name: "Starf Berry",
|
||||
effect: "Sharply raises a random stat if HP is below 25%",
|
||||
name: "星桃果",
|
||||
effect: "HP低于25%时,提高随机一项能力两个等级",
|
||||
},
|
||||
"LEPPA": {
|
||||
name: "Leppa Berry",
|
||||
effect: "Restores 10 PP to a move if its PP reaches 0",
|
||||
name: "苹野果",
|
||||
effect: "有招式的PP降到0时,恢复该招式10PP",
|
||||
},
|
||||
} as const;
|
@ -12,12 +12,13 @@ import { move } from "./move";
|
||||
import { nature } from "./nature";
|
||||
import { pokeball } from "./pokeball";
|
||||
import { pokemon } from "./pokemon";
|
||||
import { pokemonStat } from "./pokemon-stat";
|
||||
import { pokemonInfo } from "./pokemon-info";
|
||||
// import { splashMessages } from "./splash-messages";
|
||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { weather } from "./weather";
|
||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||
import { berry } from "./berry";
|
||||
|
||||
|
||||
@ -36,7 +37,7 @@ export const zhCnConfig = {
|
||||
nature: nature,
|
||||
pokeball: pokeball,
|
||||
pokemon: pokemon,
|
||||
pokemonStat: pokemonStat,
|
||||
pokemonInfo: pokemonInfo,
|
||||
// splashMessages: splashMessages,
|
||||
starterSelectUiHandler: starterSelectUiHandler,
|
||||
titles: titles,
|
||||
@ -44,5 +45,6 @@ export const zhCnConfig = {
|
||||
trainerNames: trainerNames,
|
||||
tutorial: tutorial,
|
||||
weather: weather,
|
||||
battleMessageUiHandler: battleMessageUiHandler,
|
||||
berry: berry,
|
||||
}
|
@ -384,26 +384,4 @@ export const modifierType: ModifierTypeTranslationEntries = {
|
||||
"CHILL_DRIVE": "冰冻卡带",
|
||||
"DOUSE_DRIVE": "水流卡带",
|
||||
},
|
||||
TeraType: {
|
||||
"UNKNOWN": "Unknown",
|
||||
"NORMAL": "一般",
|
||||
"FIGHTING": "格斗",
|
||||
"FLYING": "飞行",
|
||||
"POISON": "毒",
|
||||
"GROUND": "地面",
|
||||
"ROCK": "岩石",
|
||||
"BUG": "虫",
|
||||
"GHOST": "幽灵",
|
||||
"STEEL": "钢",
|
||||
"FIRE": "火",
|
||||
"WATER": "水",
|
||||
"GRASS": "草",
|
||||
"ELECTRIC": "电",
|
||||
"PSYCHIC": "超能力",
|
||||
"ICE": "冰",
|
||||
"DRAGON": "龙",
|
||||
"DARK": "恶",
|
||||
"FAIRY": "妖精",
|
||||
"STELLAR": "星晶",
|
||||
},
|
||||
} as const;
|
41
src/locales/zh_CN/pokemon-info.ts
Normal file
41
src/locales/zh_CN/pokemon-info.ts
Normal file
@ -0,0 +1,41 @@
|
||||
import { PokemonInfoTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const pokemonInfo: PokemonInfoTranslationEntries = {
|
||||
Stat: {
|
||||
"HP": "最大HP",
|
||||
"HPshortened": "最大HP",
|
||||
"ATK": "攻击",
|
||||
"ATKshortened": "攻击",
|
||||
"DEF": "防御",
|
||||
"DEFshortened": "防御",
|
||||
"SPATK": "特攻",
|
||||
"SPATKshortened": "特攻",
|
||||
"SPDEF": "特防",
|
||||
"SPDEFshortened": "特防",
|
||||
"SPD": "速度",
|
||||
"SPDshortened": "速度"
|
||||
},
|
||||
|
||||
Type: {
|
||||
"UNKNOWN": "Unknown",
|
||||
"NORMAL": "一般",
|
||||
"FIGHTING": "格斗",
|
||||
"FLYING": "飞行",
|
||||
"POISON": "毒",
|
||||
"GROUND": "地面",
|
||||
"ROCK": "岩石",
|
||||
"BUG": "虫",
|
||||
"GHOST": "幽灵",
|
||||
"STEEL": "钢",
|
||||
"FIRE": "火",
|
||||
"WATER": "水",
|
||||
"GRASS": "草",
|
||||
"ELECTRIC": "电",
|
||||
"PSYCHIC": "超能力",
|
||||
"ICE": "冰",
|
||||
"DRAGON": "龙",
|
||||
"DARK": "恶",
|
||||
"FAIRY": "妖精",
|
||||
"STELLAR": "星晶",
|
||||
},
|
||||
} as const;
|
@ -1,16 +0,0 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const pokemonStat: SimpleTranslationEntries = {
|
||||
"HP": "最大HP",
|
||||
"HPshortened": "最大HP",
|
||||
"ATK": "攻击",
|
||||
"ATKshortened": "攻击",
|
||||
"DEF": "防御",
|
||||
"DEFshortened": "防御",
|
||||
"SPATK": "特攻",
|
||||
"SPATKshortened": "特攻",
|
||||
"SPDEF": "特防",
|
||||
"SPDEFshortened": "特防",
|
||||
"SPD": "速度",
|
||||
"SPDshortened": "速度"
|
||||
} as const;
|
@ -511,7 +511,7 @@ export class AttackTypeBoosterModifierType extends PokemonHeldItemModifierType i
|
||||
|
||||
getDescription(scene: BattleScene): string {
|
||||
// TODO: Need getTypeName?
|
||||
return i18next.t(`modifierType:ModifierType.AttackTypeBoosterModifierType.description`, { moveType: Utils.toReadableString(Type[this.moveType]) });
|
||||
return i18next.t(`modifierType:ModifierType.AttackTypeBoosterModifierType.description`, { moveType: i18next.t(`pokemonInfo:Type.${Type[this.moveType]}`) });
|
||||
}
|
||||
|
||||
getPregenArgs(): any[] {
|
||||
@ -898,11 +898,11 @@ export class TerastallizeModifierType extends PokemonHeldItemModifierType implem
|
||||
}
|
||||
|
||||
get name(): string {
|
||||
return i18next.t(`modifierType:ModifierType.TerastallizeModifierType.name`, { teraType: i18next.t(`modifierType:TeraType.${Type[this.teraType]}`) });
|
||||
return i18next.t(`modifierType:ModifierType.TerastallizeModifierType.name`, { teraType: i18next.t(`pokemonInfo:Type.${Type[this.teraType]}`) });
|
||||
}
|
||||
|
||||
getDescription(scene: BattleScene): string {
|
||||
return i18next.t(`modifierType:ModifierType.TerastallizeModifierType.description`, { teraType: i18next.t(`modifierType:TeraType.${Type[this.teraType]}`) });
|
||||
return i18next.t(`modifierType:ModifierType.TerastallizeModifierType.description`, { teraType: i18next.t(`pokemonInfo:Type.${Type[this.teraType]}`) });
|
||||
}
|
||||
|
||||
getPregenArgs(): any[] {
|
||||
@ -1194,11 +1194,11 @@ const modifierPool: ModifierPool = {
|
||||
return thresholdPartyMemberCount;
|
||||
}, 3),
|
||||
new WeightedModifierType(modifierTypes.ETHER, (party: Pokemon[]) => {
|
||||
const thresholdPartyMemberCount = Math.min(party.filter(p => p.hp && p.getMoveset().filter(m => (m.getMove().pp - m.ppUsed) <= 5).length).length, 3);
|
||||
const thresholdPartyMemberCount = Math.min(party.filter(p => p.hp && p.getMoveset().filter(m => (m.getMovePp() - m.ppUsed) <= 5).length).length, 3);
|
||||
return thresholdPartyMemberCount * 3;
|
||||
}, 9),
|
||||
new WeightedModifierType(modifierTypes.MAX_ETHER, (party: Pokemon[]) => {
|
||||
const thresholdPartyMemberCount = Math.min(party.filter(p => p.hp && p.getMoveset().filter(m => (m.getMove().pp - m.ppUsed) <= 5).length).length, 3);
|
||||
const thresholdPartyMemberCount = Math.min(party.filter(p => p.hp && p.getMoveset().filter(m => (m.getMovePp() - m.ppUsed) <= 5).length).length, 3);
|
||||
return thresholdPartyMemberCount;
|
||||
}, 3),
|
||||
new WeightedModifierType(modifierTypes.LURE, 2),
|
||||
@ -1237,11 +1237,11 @@ const modifierPool: ModifierPool = {
|
||||
return thresholdPartyMemberCount;
|
||||
}, 3),
|
||||
new WeightedModifierType(modifierTypes.ELIXIR, (party: Pokemon[]) => {
|
||||
const thresholdPartyMemberCount = Math.min(party.filter(p => p.hp && p.getMoveset().filter(m => (m.getMove().pp - m.ppUsed) <= 5).length).length, 3);
|
||||
const thresholdPartyMemberCount = Math.min(party.filter(p => p.hp && p.getMoveset().filter(m => (m.getMovePp() - m.ppUsed) <= 5).length).length, 3);
|
||||
return thresholdPartyMemberCount * 3;
|
||||
}, 9),
|
||||
new WeightedModifierType(modifierTypes.MAX_ELIXIR, (party: Pokemon[]) => {
|
||||
const thresholdPartyMemberCount = Math.min(party.filter(p => p.hp && p.getMoveset().filter(m => (m.getMove().pp - m.ppUsed) <= 5).length).length, 3);
|
||||
const thresholdPartyMemberCount = Math.min(party.filter(p => p.hp && p.getMoveset().filter(m => (m.getMovePp() - m.ppUsed) <= 5).length).length, 3);
|
||||
return thresholdPartyMemberCount;
|
||||
}, 3),
|
||||
new WeightedModifierType(modifierTypes.DIRE_HIT, 4),
|
||||
|
@ -3545,11 +3545,13 @@ export class GameOverModifierRewardPhase 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(`You received\n${newModifier.type.name}!`, null, () => {
|
||||
this.scene.time.delayedCall(1500, () => this.scene.arenaBg.setVisible(true));
|
||||
resolve();
|
||||
}, null, true, 1500);
|
||||
});
|
||||
});
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@ -43,7 +43,10 @@ export interface ModifierTypeTranslationEntries {
|
||||
BaseStatBoosterItem: SimpleTranslationEntries,
|
||||
EvolutionItem: SimpleTranslationEntries,
|
||||
FormChangeItem: SimpleTranslationEntries,
|
||||
TeraType: SimpleTranslationEntries,
|
||||
}
|
||||
export interface PokemonInfoTranslationEntries {
|
||||
Stat: SimpleTranslationEntries,
|
||||
Type: SimpleTranslationEntries,
|
||||
}
|
||||
|
||||
export interface BerryTranslationEntry {
|
||||
@ -134,7 +137,7 @@ declare module 'i18next' {
|
||||
ability: AbilityTranslationEntries;
|
||||
pokeball: SimpleTranslationEntries;
|
||||
pokemon: SimpleTranslationEntries;
|
||||
pokemonStat: SimpleTranslationEntries;
|
||||
pokemonInfo: PokemonInfoTranslationEntries;
|
||||
commandUiHandler: SimpleTranslationEntries;
|
||||
fightUiHandler: SimpleTranslationEntries;
|
||||
titles: SimpleTranslationEntries;
|
||||
@ -148,6 +151,7 @@ declare module 'i18next' {
|
||||
egg: SimpleTranslationEntries;
|
||||
weather: SimpleTranslationEntries;
|
||||
modifierType: ModifierTypeTranslationEntries;
|
||||
battleMessageUiHandler: SimpleTranslationEntries;
|
||||
berry: BerryTranslationEntries;
|
||||
};
|
||||
}
|
||||
|
@ -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;
|
||||
@ -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]);
|
||||
return coloredText(i18next.t('battleMessageUiHandler:ivBest'), value > starterIvs[typeIv]);
|
||||
if (value === 30)
|
||||
return coloredText('Fantastic', value > starterIvs[typeIv]);
|
||||
return coloredText(i18next.t('battleMessageUiHandler:ivFantastic'), value > starterIvs[typeIv]);
|
||||
if (value > 20)
|
||||
return coloredText('Very Good', value > starterIvs[typeIv]);
|
||||
return coloredText(i18next.t('battleMessageUiHandler:ivVeryGood'), value > starterIvs[typeIv]);
|
||||
if (value > 10)
|
||||
return coloredText('Pretty Good', value > starterIvs[typeIv]);
|
||||
return coloredText(i18next.t('battleMessageUiHandler:ivPrettyGood'), value > starterIvs[typeIv]);
|
||||
if (value > 0)
|
||||
return coloredText('Decent', value > starterIvs[typeIv]);
|
||||
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